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

WIP version 13.0.0 #3898

Merged
merged 115 commits into from
Aug 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
f176473
RENAME the `ajv-validate` plugin to `validate-ajv` to be in equal wit…
pubkey Jul 19, 2022
5bd77f5
FIX wrong filenames
pubkey Jul 19, 2022
f6b9cbf
REFACTORED the validation plugins
pubkey Jul 20, 2022
b5007b5
FIX ci
pubkey Jul 20, 2022
5f44804
FIX ci
pubkey Jul 20, 2022
e01a8da
FIX ci
pubkey Jul 20, 2022
1bdaf91
FIX tests
pubkey Jul 20, 2022
564b2e6
ADD run test suite once with validation
pubkey Jul 20, 2022
a6bf81b
FIX naming
pubkey Jul 20, 2022
dbd12a9
REFACTORED the [key compression plugin](https://rxdb.info/key-compres…
pubkey Jul 20, 2022
3fe4d14
FIX tests
pubkey Jul 20, 2022
5f5bc99
FIX lint
pubkey Jul 20, 2022
a5fe2af
REFACTORED the encryption plugin, it is no longer a plugin but now a …
pubkey Jul 21, 2022
0ce88c4
REMOVED many unused plugin hooks because they decreased the performance.
pubkey Jul 21, 2022
bc94f9c
FIX tests
pubkey Jul 21, 2022
79b51b6
FIX pouchdb testss
pubkey Jul 21, 2022
e168bc0
FIX loki tests
pubkey Jul 21, 2022
e404a33
REMOVE logs
pubkey Jul 21, 2022
20245e1
FIX node tests
pubkey Jul 21, 2022
34b27e7
ADD debug for loki failure
pubkey Jul 21, 2022
9324a3b
FIX lokijs tests
pubkey Jul 21, 2022
488fc1b
REMOVED support for temporary documents
pubkey Jul 21, 2022
d92b152
FIX lint
pubkey Jul 21, 2022
92581e7
REMOVED RxDatabase.broadcastChannel
pubkey Jul 21, 2022
af3518d
FIX tests
pubkey Jul 21, 2022
3d43853
FIX test
pubkey Jul 21, 2022
e248112
FIX angular example
pubkey Jul 21, 2022
234881c
ADD debug log for loki
pubkey Jul 21, 2022
e42fb00
ADD logs
pubkey Jul 21, 2022
b490580
aDD log
pubkey Jul 21, 2022
0dbed7e
MOVE test
pubkey Jul 21, 2022
a002a57
CHANGE karma use better reporter
pubkey Jul 21, 2022
e283cf3
FIX karma config
pubkey Jul 21, 2022
06dc778
FIX lokijs test
pubkey Jul 21, 2022
55c36f2
fix react-native expo example
msotnikov Jul 22, 2022
3b419ef
rxdb installs from current branch
msotnikov Jul 22, 2022
bdff395
Merge branch 'master' into release/13.0.0
pubkey Jul 22, 2022
b59e025
Merge branch 'fix-example-react-native-expo' of https://github.com/ms…
pubkey Jul 22, 2022
d79fc49
ADD hint for https://github.com/mafintosh/is-my-json-valid/pull/192
pubkey Jul 22, 2022
2e6acf7
CHANGE In RxDB `_meta.lwt` field, we now use 2 decimal number of the …
pubkey Jul 22, 2022
d749159
REPLACE is-my-json-valid with ajv
pubkey Jul 22, 2022
981e57f
REMOVE ajv strict mode
pubkey Jul 22, 2022
a738f61
FIX svelte example
pubkey Jul 23, 2022
c0ec2e8
REFACTOR revision handling step 1
pubkey Jul 23, 2022
92264a0
CHANGE store the password hash in the same write request as the datab…
pubkey Jul 23, 2022
af0e88c
FIX tests
pubkey Jul 23, 2022
b50dff8
FIX tests
pubkey Jul 23, 2022
4c8f45e
MERGE
pubkey Jul 24, 2022
3e2f86d
FIX import
pubkey Jul 24, 2022
072935a
REMOVE RxStorageStatics `.hash` and `.hashKey`
pubkey Jul 24, 2022
849b3cd
FIX tests
pubkey Jul 24, 2022
46cadb3
FIX tests
pubkey Jul 24, 2022
e9f40b4
FIX tests
pubkey Jul 24, 2022
21fc21a
FIX tests
pubkey Jul 24, 2022
746f738
FIX lint
pubkey Jul 24, 2022
948a42c
CHANGE removed default usage of `md5` as default hashing. Use a faste…
pubkey Jul 25, 2022
a4497fe
FIX deps
pubkey Jul 25, 2022
bf7619b
CHANGE use new replication protocol step 1
pubkey Jul 26, 2022
3e1fc8e
FIX stuff for new replication
pubkey Jul 26, 2022
090e6e0
FIX more replication tests
pubkey Jul 28, 2022
4ba3d22
FIX more graphql tests
pubkey Jul 28, 2022
49c39a2
FIX more graphql tests
pubkey Jul 29, 2022
6f2480e
FIX more graphql tests
pubkey Jul 29, 2022
bca585a
FIX pouchdb test
pubkey Jul 29, 2022
8beabe3
FIX pouchdb tset
pubkey Jul 29, 2022
5fa3553
FIX dexie.js tests
pubkey Jul 29, 2022
c19086a
FIX some more tests
pubkey Jul 29, 2022
7b9f558
FIX ci
pubkey Jul 30, 2022
88bdbfe
ADD(docs) new replication protocol
pubkey Jul 30, 2022
d6963cf
REMOVE liveInterval option from replication
pubkey Jul 31, 2022
3789027
ADD logs for randomly failing test
pubkey Jul 31, 2022
88df05e
ADD logs for randomly failing test 2
pubkey Jul 31, 2022
61da26f
ADD logs for randomly failing test 3
pubkey Jul 31, 2022
cb05d15
ADD logs for randomly failing test 4
pubkey Jul 31, 2022
c55bdf9
ADD logs for randomly failing test 5
pubkey Jul 31, 2022
df65123
CHANGE use `Float` instead of `Int` to represent timestamps in GraphQL
pubkey Jul 31, 2022
df1eaaf
REMOVED support for the `deletedFlag` in the GraphQL replication. Use…
pubkey Aug 1, 2022
1975269
REPLACED `RxReplicationPullError` and `RxReplicationPushError` with n…
pubkey Aug 1, 2022
dae44fe
REMOVED the option to filter out replication documents with the push/…
pubkey Aug 1, 2022
14d3417
FIX handle schema validation errors on replication
pubkey Aug 1, 2022
d8b2a26
REFACTOR graphql replication plugin
pubkey Aug 2, 2022
6295e6f
ADD more docs for replication
pubkey Aug 2, 2022
8c489a4
ADD docs
pubkey Aug 2, 2022
189abe3
CHANGE default of replication `live` to be set to `true`. Because mos…
pubkey Aug 2, 2022
e0ecded
ADD(graphql-replication) pull.stream$
pubkey Aug 3, 2022
40214c3
Merge branch 'master' into release/13.0.0
pubkey Aug 3, 2022
4aa02e3
FIX types
pubkey Aug 3, 2022
56e7f4b
FIX closing of sockets
pubkey Aug 3, 2022
daddfb4
FIX import of isomorphic-ws
pubkey Aug 3, 2022
7a675cc
FIX deps check
pubkey Aug 3, 2022
bbc6e24
FIX graphql query builders
pubkey Aug 3, 2022
0108154
FIX graphql example step 1
pubkey Aug 4, 2022
9ac99cf
FIX graphql stream replication
pubkey Aug 4, 2022
e85674c
FIX graphql example
pubkey Aug 4, 2022
fc6015c
FIX lint
pubkey Aug 4, 2022
341af9e
FIX angular example
pubkey Aug 4, 2022
b4e9934
FIX deps check
pubkey Aug 4, 2022
b22af8f
Merge branch 'master' into release/13.0.0
pubkey Aug 4, 2022
2c9fc95
RENAME bulkSize to batchSize
pubkey Aug 4, 2022
0304511
Merge branch 'release/13.0.0' of https://github.com/pubkey/rxdb into …
pubkey Aug 4, 2022
8759d29
ADD deletedFlag
pubkey Aug 4, 2022
ce5a3a0
FIX tests
pubkey Aug 4, 2022
63acbd5
FIX tests
pubkey Aug 4, 2022
1d01df4
FIX handling of deletedField
pubkey Aug 4, 2022
556a81d
CHANGED Attachment data is now always handled as `Blob` because Node.…
pubkey Aug 4, 2022
c6e7cb9
FIX types
pubkey Aug 4, 2022
692e24a
FIX base64 handling of attachments data
pubkey Aug 5, 2022
2c2aebd
FIX pouchdb attachment handling
pubkey Aug 5, 2022
d8976d5
FIX deleted field can be truthy
pubkey Aug 5, 2022
ee6f375
IMPROVE logs
pubkey Aug 5, 2022
aa803f1
FINISH docs for graphql replication
pubkey Aug 5, 2022
cbe3f30
FIX electron example
pubkey Aug 5, 2022
f33e0d0
FIX electron remote example
pubkey Aug 5, 2022
fad00ed
FIX install script
pubkey Aug 5, 2022
42e1184
FIX tests
pubkey Aug 5, 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
6 changes: 6 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ jobs:
with:
run: npm run test:browser:ci:memory

- name: npm run test:fast:memory-validation
run: npm run test:fast:memory-validation


# run the node tests for the LokiJS RxStorage in a different
# task to run in parallel.
node-dexie-worker:
Expand Down Expand Up @@ -389,6 +393,7 @@ jobs:
run: |
npm install --legacy-peer-deps
npm run build

- name: electron install
working-directory: ./examples/electron
run: |
Expand All @@ -404,6 +409,7 @@ jobs:
- name: electron-remote install
working-directory: ./examples/electron-remote
run: |
npm run preinstall
npm install --legacy-peer-deps

- name: electron-remote test
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,41 @@
# RxDB Changelog

<!-- CHANGELOG NEWEST -->
- RENAME the `ajv-validate` plugin to `validate-ajv` to be in equal with the other validation plugins.
- The `is-my-json-valid` validation is no longer supported until [this bug](https://github.com/mafintosh/is-my-json-valid/pull/192) is fixed.
- REFACTORED the [schema validation plugins](https://rxdb.info/schema-validation.html), they are no longer plugins but now they get wrapped around any other RxStorage.
- It allows us to run the validation inside of a [Worker RxStorage](./rx-storage-worker.md) instead of running it in the main JavaScript process.
- It allows us to configure which `RxDatabase` instance must use the validation and which does not. In production it often makes sense to validate user data, but you might not need the validation for data that is only replicated from the backend.
- REFACTORED the [key compression plugin](https://rxdb.info/key-compression.html), it is no longer a plugin but now a wrapper around any other RxStorage.
- It allows to run the key-comresion inside of a [Worker RxStorage](./rx-storage-worker.md) instead of running it in the main JavaScript process.

- REFACTORED the encryption plugin, it is no longer a plugin but now a wrapper around any other RxStorage.
- It allows to run the encryption inside of a [Worker RxStorage](./rx-storage-worker.md) instead of running it in the main JavaScript process.
- It allows do use asynchronous crypto function like [WebCrypto](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API)
- Store the password hash in the same write request as the database token to improve performance.

- REMOVED many unused plugin hooks because they decreased the performance.

- REMOVED support for temporary documents [see here](https://github.com/pubkey/rxdb/pull/3777#issuecomment-1120669088)
- REMOVED RxDatabase.broadcastChannel The broadcast channel has been moved out of the RxDatabase and is part of the RxStorage. So it is not longer exposed via `RxDatabase.broadcastChannel`.

- In the RxDB internal `_meta.lwt` field, we now use 2 decimals number of the unix timestamp in milliseconds.


- REMOVE RxStorageStatics `.hash` and `.hashKey`

- CHANGE removed default usage of `md5` as default hashing. Use a faster non-cryptographic hash instead.
- ADD option to pass a custom hash function when calling `createRxDatabase`.

- Removed the `liveInterval` option of the replication. It was an edge case feature with wrong defaults. If you want to run the pull replication on internval, you can send a `RESYNC` event manually in a loop.

- CHANGE use `Float` instead of `Int` to represent timestamps in GraphQL.

- REPLACED `RxReplicationPullError` and `RxReplicationPushError` with normal `RxError` like in the rest of the RxDB code.
- REMOVED the option to filter out replication documents with the push/pull modifiers [#2552](https://github.com/pubkey/rxdb/issues/2552) because this does not work with the new replication protocol.
- CHANGE default of replication `live` to be set to `true`. Because most people want to do a live replication, not a one time replication.

- CHANGED Attachment data is now always handled as `Blob` because Node.js does support `Blob` since version 18.0.0 so we no longer have to use a `Buffer` but instead can use Blob for browsers and Node.js

<!-- ADD new changes here! -->

Expand Down
13 changes: 11 additions & 2 deletions config/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ const configuration = {
'karma-firefox-launcher',
'karma-ie-launcher',
'karma-opera-launcher',
'karma-detect-browsers'
'karma-detect-browsers',
'karma-spec-reporter'
],

// Source files that you wanna generate coverage for.
Expand All @@ -86,7 +87,15 @@ const configuration = {
},
browserDisconnectTimeout: 12000,
processKillTimeout: 12000,
singleRun: true
singleRun: true,


/**
* Use this reported to fully log all test names
* which makes it easier to debug.
* @link https://github.com/tmcgee123/karma-spec-reporter
*/
reporters: ['spec']
};

if (process.env.CI) {
Expand Down
7 changes: 3 additions & 4 deletions docs-src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
* [insert()](./rx-collection.md#insert)
* [bulkInsert()](./rx-collection.md#bulkinsert)
* [bulkRemove()](./rx-collection.md#bulkremove)
* [newDocument()](./rx-collection.md#newdocument)
* [upsert()](./rx-collection.md#upsert)
* [atomicUpsert()](./rx-collection.md#atomicupsert)
* [find()](./rx-collection.md#find)
Expand Down Expand Up @@ -123,9 +122,9 @@
* [RxStorage Memory Synced](./rx-storage-memory-synced.md)
* [RxStorage Sharding](./rx-storage-sharding.md)

* [Replication CouchDB](./replication-couchdb.md)
* [Replication GraphQL](./replication-graphql.md)
* [Replication Primitives](./replication.md)
* [Replication](./replication.md)
* [Replication GraphQL](./replication-graphql.md)
* [Replication CouchDB](./replication-couchdb.md)

* [Cleanup](./cleanup.md)

Expand Down
Loading