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

Draft: New Redis extension #285

Merged
merged 106 commits into from
Mar 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
a2eb272
wip
tommoor Sep 21, 2021
6713c04
progress
tommoor Sep 22, 2021
173f294
messy, but passing messages
tommoor Sep 22, 2021
ce4026b
ci: fix code style linting errors
tommoor Sep 22, 2021
a8a944e
doc
tommoor Sep 22, 2021
64298e8
lift MessageReceiver
tommoor Sep 22, 2021
b44e331
test: Awareness propagation
tommoor Sep 22, 2021
a1ce43a
fix: persistWait not configurable, add onPersist test
tommoor Sep 22, 2021
d642db6
docs
tommoor Sep 22, 2021
99a5cb0
fix: Query awareness from other servers on load
tommoor Sep 23, 2021
d6fbfc2
fix: Change import path (for now)
tommoor Sep 23, 2021
e869e30
refactor
tommoor Sep 23, 2021
6999d64
fix: Sync step propagation
tommoor Sep 23, 2021
c607d53
docs
tommoor Sep 26, 2021
409a144
test: onDisconnect
tommoor Sep 26, 2021
5ebbf13
Add onCreatedDocument hook, reduce blocking
tommoor Sep 26, 2021
e9688a4
fix build? Prefer src if available
tommoor Sep 29, 2021
08b3336
Merge branch 'main' into tom/pubsub-178
tommoor Oct 29, 2021
43e52ee
ci: fix code style linting errors
tommoor Oct 29, 2021
41b1460
Merge branch 'main' into tom/pubsub-178
hanspagel Nov 18, 2021
66fba41
docs: update navigation
hanspagel Nov 18, 2021
df5f6b6
install dependencies
hanspagel Nov 18, 2021
e9155c3
update pubsub package.json, rename folder
hanspagel Nov 18, 2021
0631a1a
update imports to use package names
hanspagel Nov 18, 2021
671ad56
move pubsub class to separate class
hanspagel Nov 18, 2021
7786657
refactor tests
hanspagel Nov 18, 2021
c8ccfc1
fix tests
hanspagel Nov 18, 2021
239266b
Merge branch 'main' into tom/pubsub-178
hanspagel Nov 18, 2021
e8e9bef
fix package-lock.json
hanspagel Nov 18, 2021
ca52512
remove yarn lock file
hanspagel Nov 18, 2021
a493100
Merge branch 'main' into tom/pubsub-178
hanspagel Nov 18, 2021
6e5a75d
ci: fix code style linting errors
hanspagel Nov 18, 2021
676c4d1
update the ESLint config
hanspagel Nov 18, 2021
09bb1f4
Merge branch 'tom/pubsub-178' of github.com:ueberdosis/hocuspocus int…
hanspagel Nov 18, 2021
18ab170
add some debugging output to check what happens in CI
hanspagel Nov 19, 2021
4ec7f96
add more debugging output
hanspagel Nov 19, 2021
ea73780
enable all other tests
hanspagel Nov 19, 2021
24fe0fb
Merge branch 'main' into tom/pubsub-178
hanspagel Nov 30, 2021
98ad4aa
merge changes
hanspagel Nov 30, 2021
88b9b3c
Merge branch 'main' into tom/pubsub-178
hanspagel Nov 30, 2021
3be286a
database: story the recent state, and only restore from the recent state
hanspagel Jan 5, 2022
2c34824
rocksdb: revert change
hanspagel Jan 5, 2022
8747af1
update dependencies
hanspagel Jan 5, 2022
0a505c9
fix eslint config
hanspagel Jan 6, 2022
117496d
refactor tests
hanspagel Jan 6, 2022
75f8724
rewrite package-lock.json
hanspagel Jan 6, 2022
031951e
Merge branch 'main' into tom/pubsub-178
hanspagel Jan 6, 2022
9656485
rewrite package-lock.json
hanspagel Jan 6, 2022
89373fa
fix types
hanspagel Jan 6, 2022
ebd64c7
ci: fix code style linting errors
hanspagel Jan 6, 2022
bccc48d
wip
hanspagel Jan 6, 2022
fc671a6
fix tests
hanspagel Jan 6, 2022
a2cf826
Merge branch 'tom/pubsub-178' of github.com:ueberdosis/hocuspocus int…
hanspagel Jan 6, 2022
eb8d429
wip
hanspagel Jan 6, 2022
ed7aa74
upgrade redis to 4.0
hanspagel Jan 6, 2022
fe2fec2
update dependencies
hanspagel Jan 6, 2022
24297ba
refactoring
hanspagel Jan 6, 2022
220cade
clean up
hanspagel Jan 6, 2022
5b26205
replace old redis extension with the new approach
hanspagel Jan 6, 2022
f02273b
ci: fix code style linting errors
hanspagel Jan 6, 2022
3037627
rename test context
hanspagel Jan 6, 2022
f249e01
Merge branch 'tom/pubsub-178' of github.com:ueberdosis/hocuspocus int…
hanspagel Jan 6, 2022
a1d3e90
add new onStoreDocument hook
hanspagel Jan 6, 2022
cf5a431
add onStoreDocument to the logger extension
hanspagel Jan 6, 2022
1985328
make sure documents are removed from the memory after they are persis…
hanspagel Jan 6, 2022
f478da6
skip a failing test
hanspagel Jan 6, 2022
c1736d3
debounce the onStoreDocument hook
hanspagel Jan 6, 2022
b760f08
clean up
hanspagel Jan 6, 2022
bf5fb3c
wip
hanspagel Jan 6, 2022
a12e9b0
update database and sqlite extensions to use the new onStoreDocument …
hanspagel Jan 6, 2022
43d33cf
add two redis instances and two editors to the playground example
hanspagel Jan 6, 2022
90cba8c
fix status bar
hanspagel Jan 6, 2022
e736396
add onAwarenessUpdate hook
hanspagel Jan 6, 2022
34917b5
redis: use unique ids instead of the hostname
hanspagel Jan 6, 2022
8087bc3
introduce new afterStoreDocument hook, rename onLoadedDocument to aft…
hanspagel Jan 6, 2022
eae74d2
use global onStoreDocument hook
hanspagel Jan 6, 2022
2ab9039
refactoring
hanspagel Jan 7, 2022
1979260
make sure to only store document when changes came in through the Web…
hanspagel Jan 7, 2022
56d316d
refactoring
hanspagel Jan 7, 2022
279a2f2
remove Redis specific onPersist hook
hanspagel Jan 7, 2022
922ab92
fix tests
hanspagel Jan 7, 2022
a5bd60c
add a priority to extensions
hanspagel Jan 7, 2022
1279ccd
server: add support for custom reply channels in the server MessageRe…
hanspagel Jan 13, 2022
0e28cae
Merge branch 'main' into feature/new-redis-extension
hanspagel Jan 14, 2022
4da4aea
migrate the server/onStoreDocument test to AVA
hanspagel Jan 14, 2022
56f499f
migrate more Redis tests to AVA
hanspagel Jan 15, 2022
4a866e3
refactor the tests
hanspagel Jan 15, 2022
8d8e555
migrate the onChange test
hanspagel Jan 15, 2022
e190517
provider: improve typings, make removeAllListeners public
hanspagel Jan 15, 2022
62fdaac
migrate the onAwarenessChange test
hanspagel Jan 15, 2022
86956dd
ci: try to fix parcel build
hanspagel Jan 16, 2022
40050fd
ci: remove dashboard build
hanspagel Jan 16, 2022
4b3658b
tests: minor refactorings
hanspagel Jan 16, 2022
53b16e0
clean up
hanspagel Jan 16, 2022
ffd9661
migrate more tests
hanspagel Jan 16, 2022
3e2f492
migrate more tests, add a few known failures for the redis extension
hanspagel Jan 16, 2022
607b1f9
increase the timeout for the redis/onChange test
hanspagel Jan 16, 2022
f09bf4c
migrate even more tests
hanspagel Jan 16, 2022
27a745c
restore broken test
hanspagel Jan 16, 2022
78ef1d0
migrate another test
hanspagel Jan 17, 2022
28d4089
server: allow to pass the configuration to the constructor
hanspagel Jan 17, 2022
e1f9fd0
disable workerThreads for AVA
hanspagel Jan 17, 2022
1c2476d
merge changes
hanspagel Mar 21, 2022
73049a1
Merge branch 'main' into feature/new-redis-extension
hanspagel Mar 21, 2022
850ee42
redis: use new tests, remove old ones
hanspagel Mar 21, 2022
7c6dfb3
redis: enable new tests, fix the MessageReceiver initialisation
hanspagel Mar 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 156 additions & 31 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 13 additions & 4 deletions packages/extension-redis/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@hocuspocus/extension-redis",
"version": "1.0.0-alpha.61",
"description": "hocuspocus persistence driver for Redis",
"description": "Scale Hocuspocus horizontally with Redis",
"homepage": "https://hocuspocus.dev",
"keywords": [
"hocuspocus",
Expand All @@ -26,10 +26,19 @@
"src",
"dist"
],
"devDependencies": {
"@types/ioredis": "^4.28.7",
"@types/lodash.debounce": "^4.0.6",
"@types/redlock": "^4.0.3"
},
"dependencies": {
"@hocuspocus/server": "^1.0.0-alpha.98",
"y-redis": "^1.0.3",
"yjs": "^13.5.29"
"@hocuspocus/server": "^1.0.0-alpha.91",
"ioredis": "^4.28.2",
"lodash.debounce": "^4.0.8",
"redlock": "^4.2.0",
"uuid": "^8.3.2",
"y-protocols": "^1.0.5",
"yjs": "^13.5.23"
},
"gitHead": "b3454a4ca289a84ddfb7fa5607a2d4b8d5c37e9d"
}
Loading