summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix invalid migration.Owen Jacobson2024-10-10
| | | | | | The original version of this migration happened to work correctly, by accident, for databases with exactly one login. I missed this, and so did Kit, because both of our test databases _actually do_ contain exactly one login, and because I didn't run the tests before committing the migration. The fixed version works correctly for all scenarios I tested (zero, one, and two users, not super thorough). I've added code to patch out the original migration hash in databases that have it; no further corrective work is needed, as if the migration failed, then it got backed out anyways, and if it succeeded, you fell into the "one user" case.
* Oops. Fixes stray debug from 2f0b77e8.Owen Jacobson2024-10-10
|
* Return an instance of the client when opening a channel URL directly.Owen Jacobson2024-10-10
|
* Merge branch 'main' into wip/path-routing-for-channelsKit La Touche2024-10-10
|\
| * Automatically delete database backups if automatic restore is successful.Owen Jacobson2024-10-10
| | | | | | | | Operational experience with the server has shown that leaving the backup in place is not helpful. The near-automatic choice is to immediately delete it, and the server won't start until it has been deleted. If the backup restore succeeded, then we know the user has a copy of their database, since the sqlite3 online backups API promises to make the target database bitwise-identical to the source database, so there's little chance the user will need a duplicate.
| * Fix tests broken in f624a6a49c7a924cbaae41b3f73ee3fa655c459eOwen Jacobson2024-10-10
| |
| * Normalize `not found` errors a bit.Owen Jacobson2024-10-09
| |
| * Naming errorOwen Jacobson2024-10-09
| |
| * Disable server-side rendering for the root layout.Owen Jacobson2024-10-09
| |
| * Align send request fields with message fields by renaming `message` to `body`.Owen Jacobson2024-10-09
| |
| * Merge branch 'wip/event-vocabulary'Owen Jacobson2024-10-09
| |\
| | * Return a flat message list on boot, not nested lists by channel.Owen Jacobson2024-10-09
| | | | | | | | | | | | This is a bit easier to compute, and sets us up nicely for pulling message boot out of the `/api/boot` response entirely.
| | * Provide a view of logins to clients.Owen Jacobson2024-10-09
| | |
| | * Simplify channel IDs in events. Remove redundant ones.Owen Jacobson2024-10-09
| | |
| | * Use a two-tier hierarchy for events.Owen Jacobson2024-10-09
| | | | | | | | | | | | This will make it much easier to slot in new event types (login events!).
| | * Flatten nested `channel` and `message` structs in events and API responses.Owen Jacobson2024-10-09
| |/ | | | | | | This structure didn't accomplish anything and made certain refactorings harder.
* | Adjust app container height down a bit.Kit La Touche2024-10-10
| | | | | | | | | | I would love to make the whole-thing container 100vh, and let the row of the interface sort out its own height. I will, eventually, I guess.
* | Fix up on-navigation data loadingKit La Touche2024-10-09
| | | | | | | | Maybe this isn't ideal, but whatever.
* | Move a lot of things aroundKit La Touche2024-10-09
|/
* All kinds of stylingKit La Touche2024-10-08
|
* Style more thingsKit La Touche2024-10-08
|
* Rough in create forms at bottomKit La Touche2024-10-08
|
* Remove Flowbite, add Skeleton, add Markdown renderingKit La Touche2024-10-08
|
* Merge branch 'wip/boot'Owen Jacobson2024-10-05
|\
| * Separate `/api/boot` into its own module.Owen Jacobson2024-10-05
| |
| * Use `/api/boot` to bootstrap the client.Owen Jacobson2024-10-05
| | | | | | | | | | | | | | | | | | | | | | The client now takes an initial snapshot from the response to `/api/boot`, then picks up the event stream at the immediately-successive event to the moment the snapshot was taken. This commit removes the following unused endpoints: * `/api/channels` (GET) * `/api/channels/:channel/messages` (GET) The information therein is now part of the boot response. We can always add 'em back, but I wanted to clear the deck for designing something more capable, for dealing with client needs.
| * Provide named operations for stored state.Owen Jacobson2024-10-05
|/
* Turns out this flag does not do what I thought it didOwen Jacobson2024-10-05
|
* Merge branch 'wip/ui'Owen Jacobson2024-10-05
|\
| * Pre-commit needs the UI available, so make it available.Owen Jacobson2024-10-05
| |
| * Render the UI at /.Owen Jacobson2024-10-05
| |
| * Configure the SvelteKit build process to build a static site.Owen Jacobson2024-10-05
| | | | | | | | | | | | This is the [recommended] adapter for a single-page app. That's approximately how I expect to deploy the UI. [recommended]: https://kit.svelte.dev/docs/single-page-apps
| * Remove delete-message buttonsKit La Touche2024-10-05
| | | | | | | | They're badly styled and don't do anything yet anyway.
| * Merge branch 'main' into feature-frontendKit La Touche2024-10-04
| |\
| * | Add some FlowbiteKit La Touche2024-10-04
| | | | | | | | | | | | For the styling.
| * | Merge branch 'main' into feature-frontendKit La Touche2024-10-03
| |\ \
| * | | Handle basics of interface scrollingKit La Touche2024-10-03
| | | |
| * | | Absorb and display eventsKit La Touche2024-09-30
| | | | | | | | | | | | | | | | | | | | At least message-type ones, and at least without styling or memory-limit concerns.
| * | | Merge branch 'main' into feature-frontendKit La Touche2024-09-30
| |\ \ \
| * | | | Move layout concerns into layoutKit La Touche2024-09-30
| | | | |
| * | | | Merge branch 'main' into feature-frontendKit La Touche2024-09-28
| |\ \ \ \
| * | | | | Make message input tolerable as mock-upKit La Touche2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not robust, and it's not yet able to handle multiline or rich input. We'll get there.
| * | | | | Add lots of style and layoutKit La Touche2024-09-27
| | | | | |
| * | | | | Add basic browser clientKit La Touche2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using Svelte. No tests, no linting, yet. This is just starting to get familiar with things. You'll still have to run the dev server and the dev client builder each in their own terminals. Enjoy!
* | | | | | Dependency update.Owen Jacobson2024-10-05
| | | | | |
* | | | | | Replace `unsafe` impl of backups with `rusqlite`.Owen Jacobson2024-10-05
| | | | | | | | | | | | | | | | | | | | | | | | The unsafe code still exists, but I have more faith in the rusqlite authors than in myself to ensure that the code is correct.
* | | | | | Implement `sqlite3_backup_step`'s multi-step protocol.Owen Jacobson2024-10-05
| | | | | |
* | | | | | Use the right functions for determining error messages.Owen Jacobson2024-10-05
| | | | | |
* | | | | | Improve ergonomics of `Backup`Owen Jacobson2024-10-05
| | | | | |
* | | | | | Limit unsafe{} blocks even more tightly.Owen Jacobson2024-10-05
| | | | | |