braidfs 0.0.103 → 0.0.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +30 -45
  2. package/package.json +3 -3
package/index.js CHANGED
@@ -884,57 +884,13 @@ async function sync_url(url) {
884
884
  await send_new_stuff()
885
885
  if (freed || closed) return
886
886
 
887
- // attempt to download the initial stuff in one go,
888
- // using transfer-encoding dt
889
- //
890
- // first check for support..
891
- //
892
- var res = await my_fetch({
893
- method: 'HEAD',
894
- headers: { 'accept-transfer-encoding': 'dt' },
895
- })
896
- if (freed || closed) return
897
-
898
- if (res.ok && res.headers.get('x-transfer-encoding') === 'dt') {
899
- var res = await my_fetch({
900
- headers: { 'accept-transfer-encoding': 'dt' },
901
- parents: self.fork_point,
902
- })
903
- if (freed || closed) return
904
- console.log(`got external updates about ${url}`)
905
-
906
- // manually apply the dt bytes..
907
- // ..code bits taken from braid-text put..
908
- var bytes = new Uint8Array(await res.arrayBuffer())
909
- if (freed || closed) return
910
-
911
- var start_i = 1 + resource.doc.getLocalVersion().reduce((a, b) => Math.max(a, b), -1)
912
- resource.doc.mergeBytes(bytes)
913
-
914
- // update resource.actor_seqs
915
- var end_i = resource.doc.getLocalVersion().reduce((a, b) => Math.max(a, b), -1)
916
- for (var i = start_i; i <= end_i; i++) {
917
- var v = resource.doc.localToRemoteVersion([i])[0]
918
- if (!resource.actor_seqs[v[0]]) resource.actor_seqs[v[0]] = new braid_text.RangeSet()
919
- resource.actor_seqs[v[0]].add_range(v[1], v[1])
920
- }
921
-
922
- resource.val = resource.doc.get()
923
- resource.need_defrag = true
924
- await resource.db_delta(bytes)
925
- if (freed || closed) return
926
-
927
- // ..do the things we do when getting subscribe updates..
928
- self.update_fork_point(JSON.parse(`[${res.headers.get('current-version')}]`), self.fork_point)
929
- self.signal_file_needs_writing()
930
- }
931
-
932
887
  var a = new AbortController()
933
888
  aborts.add(a)
934
889
  var res = await braid_fetch(url, {
935
890
  signal: a.signal,
936
891
  headers: {
937
892
  "Merge-Type": "dt",
893
+ 'accept-encoding': 'updates(dt)',
938
894
  Accept: 'text/plain',
939
895
  ...(x => x && {Cookie: x})(config.cookies?.[new URL(url).hostname]),
940
896
  },
@@ -961,6 +917,35 @@ async function sync_url(url) {
961
917
  initial_connect_done()
962
918
  res.subscribe(async update => {
963
919
  if (freed || closed) return
920
+
921
+ if (!update.status) {
922
+ console.log(`got initial update about ${url}`)
923
+
924
+ // manually apply the dt bytes..
925
+ // ..code bits taken from braid-text put..
926
+ var bytes = update.body
927
+
928
+ var start_i = 1 + resource.doc.getLocalVersion().reduce((a, b) => Math.max(a, b), -1)
929
+ resource.doc.mergeBytes(bytes)
930
+
931
+ // update resource.actor_seqs
932
+ var end_i = resource.doc.getLocalVersion().reduce((a, b) => Math.max(a, b), -1)
933
+ for (var i = start_i; i <= end_i; i++) {
934
+ var v = resource.doc.localToRemoteVersion([i])[0]
935
+ if (!resource.actor_seqs[v[0]]) resource.actor_seqs[v[0]] = new braid_text.RangeSet()
936
+ resource.actor_seqs[v[0]].add_range(v[1], v[1])
937
+ }
938
+
939
+ resource.val = resource.doc.get()
940
+ resource.need_defrag = true
941
+ await resource.db_delta(bytes)
942
+ if (freed || closed) return
943
+
944
+ self.update_fork_point(JSON.parse(`[${res.headers.get('current-version')}]`), self.fork_point)
945
+ self.signal_file_needs_writing()
946
+ return
947
+ }
948
+
964
949
  console.log(`got external update about ${url}`)
965
950
 
966
951
  if (update.body) update.body = update.body_text
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "braidfs",
3
- "version": "0.0.103",
3
+ "version": "0.0.105",
4
4
  "description": "braid technology synchronizing files and webpages",
5
5
  "author": "Braid Working Group",
6
6
  "repository": "braid-org/braidfs",
7
7
  "homepage": "https://braid.org",
8
8
  "dependencies": {
9
- "braid-http": "^1.3.76",
10
- "braid-text": "^0.2.40",
9
+ "braid-http": "~1.3.79",
10
+ "braid-text": "~0.2.44",
11
11
  "chokidar": "^3.6.0"
12
12
  },
13
13
  "bin": {