Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta #198

Merged
merged 120 commits into from
Nov 26, 2024
Merged

Beta #198

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
693831c
v5.4.0-beta.0
jamesgpearce Sep 13, 2024
1e9a96f
[ws] Simple server
jamesgpearce Oct 25, 2024
08519b9
[docs] Reference simple server
jamesgpearce Oct 25, 2024
fe21792
[docs] Home link
jamesgpearce Oct 25, 2024
4bc317f
v5.4.0-beta.1
jamesgpearce Oct 26, 2024
cc03f8e
[do] PartyServer dependency
jamesgpearce Oct 27, 2024
ac79dfd
[do] Boilerplate
jamesgpearce Oct 27, 2024
59cd4fb
[do] Initial implementation
jamesgpearce Oct 27, 2024
6b53173
[synchronizer] Variable name
jamesgpearce Oct 28, 2024
7ac1f50
[hygiene] Lint edge case
jamesgpearce Oct 29, 2024
8395138
[hygiene] Renames
jamesgpearce Oct 30, 2024
3ecf8e5
[package] Include Cloudflare types
jamesgpearce Oct 30, 2024
a52f198
[do] getWsServerDurableObjectFetch
jamesgpearce Oct 30, 2024
7e00856
[do] Richer implementation
jamesgpearce Oct 30, 2024
dd9ee9d
[do] Path and client events
jamesgpearce Oct 30, 2024
d1fb329
[sync] clientId param name
jamesgpearce Oct 31, 2024
e52e58e
[do] getClientIds
jamesgpearce Oct 31, 2024
a8288f5
[docs] Light changes
jamesgpearce Oct 31, 2024
2c3dcde
[docs] Durable Objects
jamesgpearce Oct 31, 2024
933b529
[lint] Fix regex
jamesgpearce Oct 31, 2024
d5e2806
[ts] Fix config error reporting
jamesgpearce Oct 31, 2024
ebaaa82
[do] Add types for dev
jamesgpearce Oct 31, 2024
fcdba39
[hygiene] Lint & tsc fixes
jamesgpearce Oct 31, 2024
36edc43
[lint] Allow cloudflare:workers
jamesgpearce Oct 31, 2024
f8799d1
[lint] Unused arguments
jamesgpearce Oct 31, 2024
6eec77f
v5.4.0-beta.2
jamesgpearce Oct 31, 2024
d533bf0
[docs] Small fixes
jamesgpearce Oct 31, 2024
e86ae58
[docs] Bump
jamesgpearce Oct 31, 2024
37f6553
[docs] Clean up logo
jamesgpearce Oct 31, 2024
6000b81
[docs] Bump
jamesgpearce Oct 31, 2024
7c4c08a
[docs] Small typo
jamesgpearce Oct 31, 2024
66f1894
[sync] Server typo
jamesgpearce Nov 4, 2024
f57eef6
[do] Server persistence
jamesgpearce Nov 4, 2024
a57ea9e
[lint] Long 'as' lines
jamesgpearce Nov 5, 2024
1e961a1
[do] DurableObjectStoragePersister
jamesgpearce Nov 5, 2024
7009585
[do] serverClientSend
jamesgpearce Nov 6, 2024
c3e8fa2
[sync] Rename functions
jamesgpearce Nov 6, 2024
4934f1a
[docs] Remove default export
jamesgpearce Nov 7, 2024
26d5411
[sync] Add hashes to getTransactionMergeableChanges
jamesgpearce Nov 7, 2024
6fa2845
[tests] getTransactionMergeableChanges hashes optional
jamesgpearce Nov 8, 2024
18a9f4a
[persister] Correct types
jamesgpearce Nov 8, 2024
978d0c6
[persisters] Give non-synchronizers hashes
jamesgpearce Nov 8, 2024
8752a35
[tests] Mergeable mocks can be synchronizer-like
jamesgpearce Nov 8, 2024
cacd2f2
[tests] Mergeable persister snapshots
jamesgpearce Nov 8, 2024
7aab6a4
[common] startTimeout
jamesgpearce Nov 9, 2024
0fcea42
[sync] Request Ids in transaction groups
jamesgpearce Nov 9, 2024
fb842a1
[do] Stall sync start
jamesgpearce Nov 9, 2024
178a979
[hygiene] startTimeout improvement
jamesgpearce Nov 9, 2024
b59aa36
[do] onMessage and getPathId
jamesgpearce Nov 9, 2024
988f96b
[do] New types and docs
jamesgpearce Nov 9, 2024
64821fd
[do] storagePrefix
jamesgpearce Nov 9, 2024
ab5de36
[common] More strings
jamesgpearce Nov 12, 2024
1f3eb1e
[ws] Better client error handling
jamesgpearce Nov 12, 2024
d2a8454
[hygiene] Punctuation
jamesgpearce Nov 12, 2024
8cdf53f
[hygiene] Lint fixes
jamesgpearce Nov 13, 2024
5376007
[test] Ignore transaction Id
jamesgpearce Nov 14, 2024
61dd533
[docs] Releases yolo
jamesgpearce Nov 15, 2024
91f8e63
[types] Changes can have hashes
jamesgpearce Nov 15, 2024
b2c71cc
[sync] Swap stampUpdate args
jamesgpearce Nov 17, 2024
34ba36c
[do] Persist to storage
jamesgpearce Nov 17, 2024
90c839e
[do] Nudge sent from server
jamesgpearce Nov 17, 2024
77f1488
[sync] Defaults for new stamps
jamesgpearce Nov 17, 2024
846fcab
[persisters] Get flags set earlier
jamesgpearce Nov 17, 2024
b82f156
[tests] Formatting
jamesgpearce Nov 18, 2024
d9cbf57
[sync] Avoid sync edge cases
jamesgpearce Nov 18, 2024
27ee3cc
[hygiene] Dependencies
jamesgpearce Nov 18, 2024
27fc731
v5.4.0-beta.3
jamesgpearce Nov 18, 2024
e91a211
[docs] 5.4 release notes
jamesgpearce Nov 18, 2024
46c1928
[do] Remove path from client method
jamesgpearce Nov 18, 2024
d7d7b4b
[lint] URLs on long lines
jamesgpearce Nov 18, 2024
bb71a96
[docs] Remove unused imports
jamesgpearce Nov 18, 2024
a35727d
[types] Remove underscores
jamesgpearce Nov 18, 2024
8452c72
[docs] More WsServerDurableObject methods
jamesgpearce Nov 18, 2024
3104a5a
[lint] Tweaks
jamesgpearce Nov 18, 2024
c0e2154
[docs] IdAddedOrRemoved nits
jamesgpearce Nov 18, 2024
af40ecd
[types] Spacing
jamesgpearce Nov 18, 2024
10ac119
[do] Constructor signature
jamesgpearce Nov 18, 2024
7b8cb1b
[do] More docs
jamesgpearce Nov 18, 2024
58f1139
[docs] Tweaks
jamesgpearce Nov 18, 2024
d58bc69
[docs] isMergeable as method
jamesgpearce Nov 18, 2024
692b968
[docs] Tweaks
jamesgpearce Nov 18, 2024
d974afc
[docs] Better examples
jamesgpearce Nov 18, 2024
a56ef75
[docs] Tweaks
jamesgpearce Nov 18, 2024
8b66386
[hygiene] Dependencies
jamesgpearce Nov 18, 2024
a2c43db
v5.4.0-beta.4
jamesgpearce Nov 18, 2024
0718853
[fix] If missing persister
jamesgpearce Nov 18, 2024
8cf3008
v5.4.0-beta.5
jamesgpearce Nov 18, 2024
efd8dd5
[docs] Bump
jamesgpearce Nov 18, 2024
55fe689
[types] Constructor type
jamesgpearce Nov 18, 2024
32d78d7
[docs] Bump
jamesgpearce Nov 18, 2024
61d8669
[docs] Missing params
jamesgpearce Nov 20, 2024
dff0cf5
[docs] Bump
jamesgpearce Nov 20, 2024
0b683bd
[docs] FAQ
jamesgpearce Nov 20, 2024
5db102c
[docs] Social links
jamesgpearce Nov 20, 2024
9e49d75
[docs] Bump
jamesgpearce Nov 20, 2024
2bae5c5
[hygiene] Dependencies
jamesgpearce Nov 20, 2024
cfd3ad6
[docs] Start of architecture guide
jamesgpearce Nov 20, 2024
049593c
[fix] Safari footer
jamesgpearce Nov 21, 2024
aa0e4dd
[svg] Viewbox for sqlite
jamesgpearce Nov 21, 2024
5c6f4ae
[svg] Common app group
jamesgpearce Nov 21, 2024
4926dda
[docs] Resize logos
jamesgpearce Nov 21, 2024
87c1b2e
[docs] Architectural Options
jamesgpearce Nov 24, 2024
036d7f1
[docs] Bump
jamesgpearce Nov 24, 2024
fabfa78
[docs] Home link to guide
jamesgpearce Nov 24, 2024
0e1bf29
[docs] Tweaks
jamesgpearce Nov 24, 2024
8ba5db5
[docs] Release tweaks
jamesgpearce Nov 25, 2024
12439d9
[docs] Bump
jamesgpearce Nov 25, 2024
5b41d0b
[docs] Bump
jamesgpearce Nov 25, 2024
31c01e1
[docs] Bump
jamesgpearce Nov 25, 2024
d742ff7
[docs] Mobile footer
jamesgpearce Nov 25, 2024
98dbdda
[docs] Bump
jamesgpearce Nov 25, 2024
0aa1740
[docs] Integration guides
jamesgpearce Nov 25, 2024
4256ea9
[docs] Cloudflare Durable Objects guide
jamesgpearce Nov 26, 2024
f27e3de
[docs] Tweaks
jamesgpearce Nov 26, 2024
b0961d2
[docs] Fix #197
jamesgpearce Nov 26, 2024
2ec8627
[hygiene] unusedExports changes
jamesgpearce Nov 26, 2024
9770309
[docs] Tweaks
jamesgpearce Nov 26, 2024
de6fd45
[hygiene] Automerge types
jamesgpearce Nov 26, 2024
c90ed4c
[docs] Better link
jamesgpearce Nov 26, 2024
8f47baf
v5.4.0
jamesgpearce Nov 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 7 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@
"ignore": [
"^\\./generated/client$",
"^custom-remote-handlers$",
"^electric-sql/(client/model|notifiers|wa-sqlite)$"
"^electric-sql/(client/model|notifiers|wa-sqlite)$",
"^cloudflare:workers$"
]
}
],
Expand All @@ -60,7 +61,11 @@
],
"max-len": [
2,
{"code": 80, "ignorePattern": "^(\\s+\\* )?(im|ex)ports?\\W.*"}
{
"code": 80,
"ignorePattern": "^(\\s+\\* )?(imports?|exports?|\\} from|(.+ as .+))\\W.*",
"ignoreUrls": true
}
],
"no-var": 2,
"no-console": 2,
Expand Down
9 changes: 6 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@ contact_links:
- name: 🤔 Feature Requests & Questions
url: https://github.com/tinyplex/tinybase/discussions
about: Please ask and answer questions here.
- name: 💬 New Updates (Twitter)
url: https://twitter.com/tinybasejs
about: Link to our twitter account if you want to follow us and stay up to date with news
- name: 💬 New Updates (Bluesky)
url: https://bsky.app/profile/tinybase.bsky.social
about: Link to our Bluesky account if you want to follow us and stay up to date with news
- name: 💬 New Updates (X)
url: https://x.com/tinybasejs
about: Link to our X account
- name: 💬 New Updates (Website)
url: https://tinybase.org
about: Link to our official website and documentation
Expand Down
2 changes: 1 addition & 1 deletion coverage.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"tests":7456,"assertions":33190,"lines":{"total":2284,"covered":2284,"skipped":0,"pct":100},"statements":{"total":2465,"covered":2465,"skipped":0,"pct":100},"functions":{"total":985,"covered":985,"skipped":0,"pct":100},"branches":{"total":851,"covered":851,"skipped":0,"pct":100},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
{"tests":7461,"assertions":33209,"lines":{"total":2286,"covered":2286,"skipped":0,"pct":100},"statements":{"total":2468,"covered":2468,"skipped":0,"pct":100},"functions":{"total":986,"covered":986,"skipped":0,"pct":100},"branches":{"total":854,"covered":854,"skipped":0,"pct":100},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
2 changes: 2 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"beekeeb",
"Benedikt",
"Bhalla",
"Bluesky",
"bndkt",
"Bolin",
"brentvatne",
Expand Down Expand Up @@ -118,6 +119,7 @@
"outfile",
"palerdot",
"partykit",
"partyserver",
"partysocket",
"Pearce",
"Persistable",
Expand Down
1,955 changes: 1,202 additions & 753 deletions docs/api/all.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/api/article.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/api/checkpoints/article.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li></ul></nav><section class="s1" id="/api/checkpoints/" data-id="c"><h1><code>checkpoints</code></h1><p>The <code>checkpoints</code> module of the <a href="/">TinyBase</a> project provides the ability to create and track checkpoints made to the data in <a href="/api/store/interfaces/store/store/"><code>Store</code></a> objects.</p><p>The main entry point to this module is the <a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a> function, which returns a new <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object. From there, you can create new checkpoints, go forwards or backwards to others, and register listeners for when the list of checkpoints change.</p><section class="s2"><h2>Since</h2><p>v1.0.0</p></section><section class="s2" id="/api/checkpoints/interfaces/" data-id="c/I18"><h2><a href="/api/checkpoints/interfaces/">Interfaces</a></h2><p>There is one interface, <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a>, within the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><ul><li><a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a></li></ul></section><section class="s2" id="/api/checkpoints/functions/" data-id="c/F7"><h2><a href="/api/checkpoints/functions/">Functions</a></h2><p>There is one function, <a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a>, within the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><ul><li><a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a></li></ul></section><section class="s2" id="/api/checkpoints/type-aliases/" data-id="c/TA14"><h2><a href="/api/checkpoints/type-aliases/">Type Aliases</a></h2><p>These are the type aliases within the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><ul><li><a href="/api/checkpoints/type-aliases/listener/">Listener type aliases</a></li><li><a href="/api/checkpoints/type-aliases/callback/">Callback type aliases</a></li><li><a href="/api/checkpoints/type-aliases/identity/">Identity type aliases</a></li><li><a href="/api/checkpoints/type-aliases/development/">Development type aliases</a></li></ul></section></section>
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li></ul></nav><section class="s1" id="/api/checkpoints/" data-id="c"><h1><code>checkpoints</code></h1><p>The <code>checkpoints</code> module of the TinyBase project provides the ability to create and track checkpoints made to the data in <a href="/api/store/interfaces/store/store/"><code>Store</code></a> objects.</p><p>The main entry point to this module is the <a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a> function, which returns a new <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object. From there, you can create new checkpoints, go forwards or backwards to others, and register listeners for when the list of checkpoints change.</p><section class="s2"><h2>Since</h2><p>v1.0.0</p></section><section class="s2" id="/api/checkpoints/interfaces/" data-id="c/I17"><h2>Interfaces</h2><ul><li><a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a></li></ul></section><section class="s2" id="/api/checkpoints/functions/" data-id="c/F7"><h2>Functions</h2><ul><li><a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a></li></ul></section><section class="s2" id="/api/checkpoints/type-aliases/" data-id="c/TA14"><h2>Type Aliases</h2><ul><li><a href="/api/checkpoints/type-aliases/listener/">Listener type aliases</a></li><li><a href="/api/checkpoints/type-aliases/callback/checkpointcallback/"><code>CheckpointCallback</code></a> type alias</li><li><a href="/api/checkpoints/type-aliases/identity/checkpointids/"><code>CheckpointIds</code></a> type alias</li><li><a href="/api/checkpoints/type-aliases/development/checkpointslistenerstats/"><code>CheckpointsListenerStats</code></a> type alias</li></ul></section></section>
2 changes: 1 addition & 1 deletion docs/api/checkpoints/functions/article.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li><li><a href="/api/checkpoints/functions/">Functions</a></li></ul></nav><section class="s1" id="/api/checkpoints/functions/" data-id="c/F7"><h1>Functions</h1><p>There is one function, <a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a>, within the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><section class="s2" id="/api/checkpoints/functions/creation/createcheckpoints/" data-id="cC"><h2><a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a></h2><p>The <code>createCheckpoints</code> function creates a <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object, and is the main entry point into the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><a href="/api/checkpoints/functions/creation/createcheckpoints/">Read more</a></section></section>
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li><li><a href="/api/checkpoints/functions/">Functions</a></li></ul></nav><section class="s1" id="/api/checkpoints/functions/" data-id="c/F7"><h1>Functions</h1><section class="s2" id="/api/checkpoints/functions/creation/createcheckpoints/" data-id="cC"><h2><code>createCheckpoints</code></h2><p>The <code>createCheckpoints</code> function creates a <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object, and is the main entry point into the <a href="/api/checkpoints/"><code>checkpoints</code></a> module. <a href="/api/checkpoints/functions/creation/createcheckpoints/">Read more</a>.</p></section></section>
2 changes: 1 addition & 1 deletion docs/api/checkpoints/functions/creation/article.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li><li><a href="/api/checkpoints/functions/">Functions</a></li></ul></nav><section class="s1" id="/api/checkpoints/functions/creation/" data-id="c/F7/C26"><h1>Creation functions</h1><p>This is the collection of creation functions within the <a href="/api/checkpoints/"><code>checkpoints</code></a> module. There is only one function, <a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a>.</p><section class="s2" id="/api/checkpoints/functions/creation/createcheckpoints/" data-id="cC"><h2><a href="/api/checkpoints/functions/creation/createcheckpoints/"><code>createCheckpoints</code></a></h2><p>The <code>createCheckpoints</code> function creates a <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object, and is the main entry point into the <a href="/api/checkpoints/"><code>checkpoints</code></a> module.</p><a href="/api/checkpoints/functions/creation/createcheckpoints/">Read more</a></section></section>
<nav><ul><li><a href="/">TinyBase</a></li><li><a href="/api/">API</a></li><li><a href="/api/checkpoints/"><code>checkpoints</code></a></li><li><a href="/api/checkpoints/functions/">Functions</a></li></ul></nav><section class="s1" id="/api/checkpoints/functions/creation/" data-id="c/F7/C26"><h1>Creation functions</h1><section class="s2" id="/api/checkpoints/functions/creation/createcheckpoints/" data-id="cC"><h2><code>createCheckpoints</code></h2><p>The <code>createCheckpoints</code> function creates a <a href="/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object, and is the main entry point into the <a href="/api/checkpoints/"><code>checkpoints</code></a> module. <a href="/api/checkpoints/functions/creation/createcheckpoints/">Read more</a>.</p></section></section>
Loading