Commit Graph

96 Commits

Author SHA1 Message Date
Tim Black
24612002cb fix radisk (#1416)
Previously, when a file split occurred, the operations to write the new
split file and update (truncate) the existing file were initiated in
parallel. This created a race condition: if writing the new file failed
but updating the existing file succeeded, the data intended for the new
file would be permanently lost.

This change strictly sequences the operations. The existing file is now
only updated after the new split file has been successfully written and
acknowledged, ensuring data integrity even in the event of partial write
failures.
2026-02-04 17:47:28 -08:00
Dimitris Apostolou
9e616ea3a9 Fix typos (#1299) 2023-02-25 17:09:54 -08:00
Mark Nadal
9ceb86b208 revert tower tying while publishing AXE fix 2022-12-23 01:11:13 -08:00
Mark Nadal
680f871aa3 PANIC 4: AXE get subscriptions 2022-08-13 14:01:54 -07:00
Martti Malmi
7123207c66 Panic tests for rod & radix.js try / catch (#1269)
* try/catch radix.js

* rod test/panic/chat.js

rod test/panic/holy-grail.js

rod panic tests
2022-08-13 11:58:00 -07:00
Mark Nadal
ac52811880 put sampling, mob, tests. 2022-06-06 18:20:18 -07:00
Mark Nadal
46d926e831 put sampling, mob, tests 2022-06-06 18:08:43 -07:00
Mark Nadal
2beb258b4c OK start 2022-05-29 19:43:24 -07:00
Mark Nadal
589a7784dc PANIC tests + AXE get dedup + fix DAM add by id 2022-05-08 20:34:06 -07:00
Mark Nadal
ebe6f0cf3b @rococtz fix + @dreader AXE tests 2022-04-26 23:12:52 -07:00
Mark Nadal
4f19440262 axe tweaks 2022-03-23 00:10:57 -07:00
Mark Nadal
c4a613a971 json is lame 2022-03-11 05:17:01 -08:00
Mark Nadal
2bbbe36e13 prep for stash 2022-03-06 04:53:15 -08:00
Mark Nadal
087704ec6b Begin 1 Years worth of Merges... (#1116)
* tmp for hn issue

* log top to stats

* test for guntest peer

* try big messages

* parse time?

* what bin/node is 11ms?

* be normal for hnoon

* tolerate 0.5s

* try 3s for hnoon?

* stop empty gets

* tmp for guntest

* back to normal

* check hash time

* back to normal in hear

* screen / upload / play / pause

* merge latest npm release into manhattan

* merge master 0.2020.421 into manhattan manually

* WIP

* manually merge from master

* gatling

* Update upload.html

* work in progress...

* yson panic chat basic

* after `.put(` walk

* restructure acks

* messy but 2 units passing!

* put recursive once on map

* basics

* have NTS use DAM + fix other utils

* Rewrote nts

* Allow passing test cli args.

Before, no CLI args would be passed when running `npm test`. Keeping the `mocha` at the end of the test script allows passing CLI args to Mocha.

* put back scan & once tweak

* PANIC user paste OK

* manhattan sea

* stub out nts for now

* AXE tweak

* tweak for quick first prod testing

* tweak for first in-prod testing

* tweak

* tweak

* sketchy in-prod debug attempt

* caught it? maybe? now restore

* Create download-log.html

* stub out yson test prod?

* ugh, gotta see what is going on

* move dl

* gonna stop doing commit messages for in-prod test/tweaks/debugging

* a

* p

* squelch

* console stats

* stats

* stop travis

* restore yson

* ahhh no file access without sudo

* mem

* no stub

* fix axe

* bump

* back to in-prod testing, isolate/stub out code

* stub all out for 17K ? CPU ? test

* stub dup gc

* ugh main stub

* does this stop url format blocking?

* re-add dup

* no top :(

* will this work?

* get ack stats?

* a map chain may ask for data not a root soul chain

* move proper logic into .get(

* how 2019 compat?

* a couple more!

* more tests passing! :D :)

* even more! SO EXCITING :D

* Am I alive?

* wow I can't believe it works like this

* THANK YOU @rogowski !!!!!!

* Create trace.html

Adding tracing to debuging.

* @rogowski is a super star :) :) :)

* Update trace.js

Change `Gun.logs` to `Gun.traces` and `Gun._log` to `Gun._trace`.

* Update trace.html

Change `Gun.logs` to `Gun.traces` and `Gun._log` to `Gun._trace`.
Overload get,put,on,map

* @rogowski approved of these trace changes :)

* Update trace.html

More decoupled.

* Update trace.js

More decoupled

* 2 steps backwards, 1 step forward?

* back where we ( @rogowski ) started :P

* YAYAYAYAYAYAYAY past where we started at!

* safer to have it here

* slight tweak? Let's see how long it lasts.

* merge checks we left out during consolidation

* ugly common.js for @rogowski

* slightly better

* amazing map discovery + don't clear on not found if data exists

* onto next test...

* all caught up!!! Now update tests from graphify to statedisk

* Update common.js

Tests updated from graphify to statedisk.

* easy to debug & fix thanks to @rogowski 's test upgrades & trace!

* hmm, IDK if we should support this anymore?

* support once chaining?

* check if listener order is earlier than write

* in-process message passing needs to clean itself of flags for now

* ack to chains that can't be reached

* call sub chains on clear/empty WIP

* call sub chains clear/empty OK!

* into unlink. Clean/refactor later.

* oh that was nice

* self check not needed?

* test was poorly constructed?

* refactor unlink to cleaner logic

* Will you blame me for this? Special case, maybe later move to cleaner place?

* use stun's run id instead.

* cleaner unlink logic

* better map, link, and unlink logic.

* unstub relay

* refactor unlink

* invert

* if prev value would have caused unlink, do not unlink again.

* w000h00! Best unlink so far.

* woops, fix unlinking nested

* unsubscribe nested maps (working, tho possible perf regression? check)

* put check soul

* add default uuid

* improved browser peer retry logic, let devices sleep, etc.

* Chaining API unit tests passing!

* merge new panic tests into here to test

* add panic utils

* fix long streaming timeout/expiry issue, update examples

* yield generating test data

* yeah, adapter errors (like out of storage) should not affect sync/networking logic, that was a bad experiment

* git glitch?

* some mid debugging fixes but maybe scary changes, hopefully safe to revert here except dub

* SEA unit tests passing!!! Needed quite a few fixes on async write queue stuff.

* optionally make auth async

* revise/correct set

* Fix reverse boundary check

* Add extra tests, catch bad guy, obliterate bug.

* chat app with emoji examples

* handle empty string keyed objects

* starting lex support

* tweak for lex

* woops! lexical alphabetical oopsies. That was bad.

* upload either way

* debug

* start

* fix

* fix

* clean + feature

* update dependencies in package.json (#1086)

* rad lex once map once

* axe polyfill for now

* oops log

* oops maybe without this it crashed the peer

* what on earth happened to my browser/OS? "unplug & plug it back in" restart seemed to fix it.

* oh, don't memory leak req/res asks. :/ duh!

* no accidental #soul.""

* ugh, still have to sort :(, really should polyfill weakmap then

* oops, pluck needs new object to go into

* oops, make sure soul is passed

* updating deprecated functions

* begin AXE. Next: load balance!

* Update sea.js

* keys are dangerous!

* AXE round robin load balance

* better ash hash checking

* lS reuse in-mem reply chunking

* state machine!!!

* RAD needs to pass cache misses.

* updating deprecated functions (#1088)

* update dependencies in package.json

* updating deprecated functions

* remove where.gundb.io

* Bring SEA.certify into manhattan branch (#1092)

Co-authored-by: Radu Cioienaru <radu@projectmanager.com>

* fix rad, make get() hookable

* rad browser tests seem to be passing!

* reverse user random side, add err, update styles, + more

* fix pack/max, update dom

* paste!

* of course it'll dedup cause it just called track on hear, fix

* 📦 Adding the hub feature to this branch & improvements. (#1102)

* 📦 Adding the hub feature to this branch.

* 🗑 Removed the container for speed improvement !

* 📝 I added some comments to the code.

Co-authored-by: Hector <fairfairytotor@gmail.com>
Co-authored-by: Hector <pro.hector.kub@gmail.com>

* Update axe.js

* 🦅 Wrap everything in a try & catch for error handling…  (#1105)

* 🦅 Wrap everything in a try & catch for error handling & speed improvement.

* 📦 Finally here : opt.file for the hub feature !

* 📦 Finally here : opt.file for the hub feature !

And also : fixed indentation 😋

Co-authored-by: noctisatrae <pro.hector.kub@gmail.com>

* probs better this way, safer

* moved test/axe tests to test/panic/axe.

* New test: axe load balance.

* axe test: webrtc data balance(fix paths and file renamed).

* test axe: renaming webrtc file.

* axe test: separating webrtc test for data_balance.

* axe test: test only with the relay(without webrtc).

* Update sea.js

Same as https://github.com/amark/gun/pull/1062

* Update gun.js

var tmp

* Update upload.js

* merge, update stun

* SEA.certify wire logic + unit tests (#1110)

* SEA.certify wire logic + unit tests

* picking white hair

* ack err

* axe tests using puppeteer.

* change stun system

* ~20lines

* put use parent soul link if need

* handle errors

* finally seems fixed

* cb not to

* relay

* nasty bug! Don't crash, tho need to find what causes it

* undo local changes/notes to self

* deprecation warnings

* "old" data to test against

* oops, forgot I played with ascii

* debug

* in-prod check: sites

* in-prod isolate

* gotta find this, by stubbing out

* where?

* will this work?

* clearly not, lol what's the point then? maybe like this

* and again

* must we?

* USE THIS MANHATTAN VERSION

* clean

* better panic hints

Co-authored-by: Robin Bron <finwo@pm.me>
Co-authored-by: Pavel Diatchenko <diatche@users.noreply.github.com>
Co-authored-by: rogowski <163828+rogowski@users.noreply.github.com>
Co-authored-by: I001962 <i001962@gmail.com>
Co-authored-by: Adriano Rogowski <rogowski.adriano@gmail.com>
Co-authored-by: Radu <cetatuie@gmail.com>
Co-authored-by: Radu Cioienaru <radu@projectmanager.com>
Co-authored-by: Hector <46224745+noctisatrae@users.noreply.github.com>
Co-authored-by: Hector <fairfairytotor@gmail.com>
Co-authored-by: Hector <pro.hector.kub@gmail.com>
Co-authored-by: Martti Malmi <sirius@iki.fi>
Co-authored-by: mimiza <dev@mimiza.com>
2021-08-21 21:19:29 -07:00
nsreed
10b42525ad update on-recovery PANIC test to run default & radisk configurations (#1078) 2021-06-16 11:56:34 -07:00
nsreed
fc10c250c9 add load-browser-scripts utility (#1077) 2021-06-02 16:23:47 -07:00
Mark Nadal
0875201558 Merge pull request #1013 from rogowski/test-panic-lexical
Test RAD lexical queries.
2020-11-08 23:04:18 -08:00
Robin Bron
84097d7e68 Added radless leveldb adapter 2020-09-27 01:55:12 +02:00
Adriano Rogowski
69165f69f5 Test RAD lexical queries. 2020-09-24 21:46:29 -03:00
Mark Nadal
05349a5c68 Merge pull request #1010 from mmalmi/infinite-scroll-test
infinite scrolling example
2020-09-21 13:26:03 -07:00
Martti Malmi
fe57813721 simple panic test that scrolls through 1500 entries 2020-09-18 15:05:23 +03:00
Martti Malmi
773d5cba25 cleanup 2020-09-18 11:25:08 +03:00
Mark Nadal
7e9ec5d93a Merge pull request #1007 from diatche/feature/panic2
PANIC test semi-automation using Puppeteer
2020-09-17 22:30:56 -07:00
Martti Malmi
811a1b8963 infinite scrolling example, panic test wip 2020-09-17 17:16:14 +03:00
Pavel Diatchenko
a607bdd004 Cleanup puppeteer on exit. 2020-09-17 12:37:47 +12:00
Pavel Diatchenko
33b29f4ee6 Added puppeteer cleanup method. 2020-09-17 12:33:04 +12:00
Pavel Diatchenko
fee7473ccb Use puppeteer if available. 2020-09-14 16:12:50 +12:00
Pavel Diatchenko
fd6752cbd6 Added browser open utility method. 2020-09-14 16:06:49 +12:00
Mark Nadal
a89ca678bb Merge pull request #1001 from shocknet/shocknet-tests
Shocknet tests
2020-09-11 14:05:18 -07:00
Daniel Lugo
a394a23aa1 saner name 2020-07-10 20:09:56 -04:00
boufni95
8161f14553 once -> then 2020-07-08 17:39:43 +02:00
boufni95
87b2dbe03d 6 -> 4 servers 2020-07-08 16:46:12 +02:00
boufni95
85191e8042 alice -> peer1 -> peer2 -> bob 2020-07-08 16:34:10 +02:00
boufni95
18aebaa4a1 handshake tests 2020-07-08 15:55:24 +02:00
boufni95
34f1be198e shocknet tests 2020-07-06 14:55:28 +02:00
Jonathan Commins
2ddb526323 Test if gun.on() callback fires after relay peer crashes 2020-06-24 22:08:57 -07:00
Mark Nadal
880947afe8 fix cache miss of cache hit 2020-05-16 01:23:40 -07:00
Mark Nadal
fc58d3552a important offline fixes & assumption/default changes 2020-04-05 17:41:51 -07:00
Mark Nadal
88a5c8fea0 .open / .load opt meta , axe mob , music -> wave 2019-12-30 11:57:28 -08:00
Mark Nadal
bc87faa8d9 tweak doc 2019-12-10 03:42:09 -08:00
Mark Nadal
1cd0c08ab0 axe doc music dht :) 2019-12-06 16:24:12 -08:00
Mark Nadal
14b1ea1896 Update 4dht.js 2019-11-22 17:59:47 -08:00
Mark Nadal
e048b897da stuff 2019-11-17 03:35:12 -08:00
Mark Nadal
026b278311 temporary push for @Dletta to update stats 2019-10-25 15:44:07 -07:00
Mark Nadal
df272501c0 update panic test 2019-09-30 13:36:43 -07:00
Mark Nadal
b40a6a50fc Create 3puts.js 2019-09-30 01:13:13 -07:00
Mark Nadal
cfd7d1042d "fix" holy grail, unbuild. 2019-05-28 00:14:23 -07:00
Mark Nadal
4aac986e94 distribute & cap load 2019-05-27 22:06:38 -07:00
Mark Nadal
209bdf2b06 refactor DAM & add PANIC tests 2019-05-26 04:33:00 -07:00
Mark Nadal
bc742aab0d RAD rindexed radisk! 2019-03-23 15:21:58 -07:00