| Filename | Latest commit message | Latest commit date |
|---|---|---|
A client with a persistent user wrote every change in its personal space: an update or delete of a row in a shared space it is a member of found no row and threw, and a new row could reach a shared space only through transactionForUser, which a host calls at each write itself. A write without a transaction now acts in the space it touches, through transactionForUser, which checks membership and role as before: an update or delete in the space its rows are stored in, a new row in the one `newRowSpace` names (null, or no hook, for the personal space). One call touches one space and is refused, with a StateError, where it would touch two. A write within a transaction acts in its space, as before; the server, without a persistent user, is unchanged. Tested on the client: a writing member updates and deletes a shared row, by row and by condition; a reading member is refused; a call naming rows of two spaces is refused; new rows go where the hook says, refused for a space only read or not a member's; a transaction of the caller's own still decides. The integration suite passes (994 tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me> |
||
| .. | ||
| .test_databases | ||
| bin | ||
| config | ||
| lib | ||
| migrations | ||
| test | ||
| .gitignore | ||
| analysis_options.yaml | ||
| CHANGELOG.md | ||
| dart_test.yaml | ||
| pubspec.yaml | ||
| README.md | ||
serverpod_offline_sync_test_server
This is the starting point for your Serverpod server.
To run your server, you first need to start Postgres and Redis. It's easiest to do with Docker.
docker compose up --build --detach
Then you can start the Serverpod server.
dart bin/main.dart
When you are finished, you can shut down Serverpod with Ctrl-C, then stop Postgres and Redis.
docker compose stop