braidfs 0.0.123 → 0.0.124

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 +21 -6
  2. package/package.json +5 -5
package/index.js CHANGED
@@ -59,7 +59,8 @@ if (require('fs').existsSync(sync_base)) {
59
59
  cookies: { 'example.com': 'secret_pass' },
60
60
  port: 45678,
61
61
  scan_interval_ms: 1000 * 20,
62
- reconnect_delay_ms: 1000 * 3
62
+ reconnect_delay_ms: 1000 * 3,
63
+ retry_delay_ms: 1000,
63
64
  }
64
65
  require('fs').mkdirSync(braidfs_config_dir, { recursive: true })
65
66
  require('fs').writeFileSync(braidfs_config_file, JSON.stringify(config, null, 4))
@@ -520,18 +521,31 @@ async function sync_url(url) {
520
521
  if (freed || closed) return
521
522
  var p = self.disconnect()
522
523
 
523
- console.log(`reconnecting in ${waitTime}s: ${url} after error: ${e}`)
524
+ var delay = waitTime * (config.retry_delay_ms ?? 1000)
525
+ console.log(`reconnecting in ${(delay / 1000).toFixed(2)}s: ${url} after error: ${e}`)
524
526
  last_connect_timer = setTimeout(async () => {
525
527
  await p
526
528
  last_connect_timer = null
527
529
  connect()
528
- }, waitTime * 1000)
530
+ }, delay)
529
531
  waitTime = Math.min(waitTime + 1, 3)
530
532
  }
531
533
 
532
534
  try {
533
535
  var a = new AbortController()
534
536
  aborts.add(a)
537
+
538
+ var fork_point
539
+ if (self.version) {
540
+ // Check if server has our version
541
+ var r = await braid_fetch(url, {
542
+ signal: a.signal,
543
+ method: "HEAD",
544
+ version: ['' + self.version]
545
+ })
546
+ if (r.ok) fork_point = ['' + self.version]
547
+ }
548
+
535
549
  var res = await braid_fetch(url, {
536
550
  signal: a.signal,
537
551
  headers: {
@@ -540,7 +554,7 @@ async function sync_url(url) {
540
554
  subscribe: true,
541
555
  heartbeats: 120,
542
556
  peer: self.peer,
543
- parents: self.version != null ? ['' + self.version] : []
557
+ parents: fork_point || []
544
558
  })
545
559
  if (freed || closed) return
546
560
 
@@ -1026,12 +1040,13 @@ async function sync_url(url) {
1026
1040
  if (freed || closed) return
1027
1041
  var p = self.disconnect()
1028
1042
 
1029
- console.log(`reconnecting in ${waitTime}s: ${url} after error: ${e}`)
1043
+ var delay = waitTime * (config.retry_delay_ms ?? 1000)
1044
+ console.log(`reconnecting in ${(delay / 1000).toFixed(2)}s: ${url} after error: ${e}`)
1030
1045
  last_connect_timer = setTimeout(async () => {
1031
1046
  await p
1032
1047
  last_connect_timer = null
1033
1048
  connect()
1034
- }, waitTime * 1000)
1049
+ }, delay)
1035
1050
  waitTime = Math.min(waitTime + 1, 3)
1036
1051
  }
1037
1052
 
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "braidfs",
3
- "version": "0.0.123",
3
+ "version": "0.0.124",
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.79",
10
- "braid-text": "~0.2.64",
11
- "braid-blob": "~0.0.8",
12
- "chokidar": "^4.0.3"
9
+ "braid-http": "~1.3.83",
10
+ "braid-text": "~0.2.83",
11
+ "braid-blob": "~0.0.30",
12
+ "chokidar": "^5.0.0"
13
13
  },
14
14
  "bin": {
15
15
  "braidfs": "./index.sh"