Dweb - web publishing, RESTful web apps, versioned data and

dweb v0.9.1

Download for Win/Mac/Linux available at: dweb releases

Or you can update with: cargo install dweb-cli

Changes

I think we now have dweb publishing and viewing for Windows, MacOS and Linux. :partying_face:

This fixes a bug introduced while enabling sites published from Windows to be displayed - thanks to @aatonnomicc for your help. Your site now displays for me so all good I hope.

Pointers bug

@aatonnomicc However, it also shows the Pointer bug is still lurking as your pointer for History b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82 did not update when you did the update. It did update once, when you first published. This means that folk opening with the History address will not get the most recent version unless you start the server with dweb --ignore-pointers serve which unfortunately slows the initial website down considerably.

The problem seems intermittent and I don’t know if something like the connection being used can make it more likely to not update.

I have included a command to attempt to heal this, but it isn’t 100% reliable:

dweb heal-history <NAME>

NAME is the name you used when publishing and for updates.

You can see whether a Pointer is pointing at the last GraphEntry or stuck at an earlier value using:

dweb inspect-history -pdfe 0: <HISTORY-ADDRESS>

The P> shows which entry the pointer is pointing to and this should always be the last one.

Here’s the current output in this case where the Pointer is still pointing at Entry 1:

$ dweb inspect-history -pdfe 0: b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82
Dweb Autonomi client initialising...
DEBUG loaded wallet: 0xFB8B4DC5e7117835f1D0A08dDe366f4F66ce7909
DEBUG     tokens: 1689051082554790148751
DEBUG     gas   : 88313422171550883
-> public network evm-arbitrum-one
DEBUG History::from_history_address(b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82)
>>TRYING pointer_get() 1 times...
>>TRY 1 of 1
DEBUG pointer counter: 1, head address: aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc
>>OK
DEBUG INSPECT pointer_counter: 1
DEBUG INSPECT pointer_target : aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc
DEBUG History::update_from_graph_internal()
DEBUG get child of GraphEntry index 1 - child...
DEBUG GraphEntry exists
DEBUG get child of GraphEntry index 2 - child...
DEBUG GraphEntry does not exist
DEBUG from_history_address() returning History with num_entries: 3
history address  : b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82
  type           : 89d56e1dd78941e18b36d75d339014aa845bee4d8cce2ca9d608c0e8e432308a
  size           : 3
  pointer address: a6376caed65caff7758403d3e1c2f0e4ea705934f4808bb4251dbb9a27431bc6a346ad6d6ecb410fa0a1ee147bd63f99
  graph root     : b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82
  graph head     : 88945cea3279091ac94d7eecbf316543110ff024824639a09be83e95cbe24168e0915dfe282e872291cd935776bbf8f2
  entries 0 to  2:
DEBUG INSPECT history.pointer_counter(): 1
    entry    0:
    address   : b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82
      owner      : b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82
      parents    : 
      descendents: [aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc] 
      content    : 89d56e1dd78941e18b36d75d339014aa845bee4d8cce2ca9d608c0e8e432308a
      signature  : 98698392c1522fb47cd648fe34f155b96f0fbd4bd89b4df74303ef179696d02585f6b44f6131a1866e355c904f0aa93b050e1f8ef85d3f5684490b174971211ed4ec8c99d41036dd178b164a88cae32c482228906a31d99949384f6fb6bc8ab9
DEBUG GraphEntry exists
DEBUG INSPECT history.pointer_counter(): 1
P>  entry    1:
    address   : aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc
      owner      : aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc
      parents    : [b3f448c9b4820e7ce4ec620220d612fec039155b6754727de7cc1ecf46d3546b6f8bfa18671b266914af3d3acae78e82] 
      descendents: [88945cea3279091ac94d7eecbf316543110ff024824639a09be83e95cbe24168e0915dfe282e872291cd935776bbf8f2] 
      content    : 8728b75d9363d6e96cf84b895dce49b75da706e02641559e9f0469be071263b2
      signature  : b657a1f255a3868f063e6ee8e271fdd6a991e447791a4555355c29165162a8816a4179a06692792b05464bbfb206a0400df21b19d4a9aaac83d4a30942379a27192515f83bb57e6a10bca2b557fa20d831134e84d6756bc5650668e9120d7597
DEBUG GraphEntry exists
DEBUG INSPECT history.pointer_counter(): 1
    entry    2:
    address   : 88945cea3279091ac94d7eecbf316543110ff024824639a09be83e95cbe24168e0915dfe282e872291cd935776bbf8f2
      owner      : 88945cea3279091ac94d7eecbf316543110ff024824639a09be83e95cbe24168e0915dfe282e872291cd935776bbf8f2
      parents    : [aacf5c7cc3e456460f97236423b0e38338de62d773dec3d1a7a8bec1433e27e31e4f4969a7908e1562b1715622e1cdcc] 
      descendents: [8e180744c6b983ab5027325d1ae68efa1454ad2bf98a61db6cbb6f174b0b479edc6482c6f1cd474d6ef7a3b6cc114463] 
      content    : 22f46450f166eec9a89d40aa4c6def899f87c77c60501fb1bc5b339bbc6a094b
      signature  : a0f1d13fcf9f66947aef95d5752d1e2ed8581e7cd7b96b7593973a138178a3521f0c5f2a8734138daf0cac7cc337d2d408158912e69254ea403e9b22785227ee9cd1d826d1e946736e613ed0cd75a9a5cf3db6659c852894b5b887d35ecbf341
7 Likes