| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Return a flat message list on boot, not nested lists by channel. | Owen Jacobson | 2024-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 Jacobson | 2024-10-09 |
| | | |||
| * | Simplify channel IDs in events. Remove redundant ones. | Owen Jacobson | 2024-10-09 |
| | | |||
| * | Use a two-tier hierarchy for events. | Owen Jacobson | 2024-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 Jacobson | 2024-10-09 |
| | | | | | This structure didn't accomplish anything and made certain refactorings harder. | ||
| * | All kinds of styling | Kit La Touche | 2024-10-08 |
| | | |||
| * | Style more things | Kit La Touche | 2024-10-08 |
| | | |||
| * | Rough in create forms at bottom | Kit La Touche | 2024-10-08 |
| | | |||
| * | Remove Flowbite, add Skeleton, add Markdown rendering | Kit La Touche | 2024-10-08 |
| | | |||
| * | Merge branch 'wip/boot' | Owen Jacobson | 2024-10-05 |
| |\ | |||
| | * | Separate `/api/boot` into its own module. | Owen Jacobson | 2024-10-05 |
| | | | |||
| | * | Use `/api/boot` to bootstrap the client. | Owen Jacobson | 2024-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 Jacobson | 2024-10-05 |
| |/ | |||
| * | Turns out this flag does not do what I thought it did | Owen Jacobson | 2024-10-05 |
| | | |||
| * | Merge branch 'wip/ui' | Owen Jacobson | 2024-10-05 |
| |\ | |||
| | * | Pre-commit needs the UI available, so make it available. | Owen Jacobson | 2024-10-05 |
| | | | |||
| | * | Render the UI at /. | Owen Jacobson | 2024-10-05 |
| | | | |||
| | * | Configure the SvelteKit build process to build a static site. | Owen Jacobson | 2024-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 buttons | Kit La Touche | 2024-10-05 |
| | | | | | | | | | They're badly styled and don't do anything yet anyway. | ||
| | * | Merge branch 'main' into feature-frontend | Kit La Touche | 2024-10-04 |
| | |\ | |||
| | * | | Add some Flowbite | Kit La Touche | 2024-10-04 |
| | | | | | | | | | | | | | For the styling. | ||
| | * | | Merge branch 'main' into feature-frontend | Kit La Touche | 2024-10-03 |
| | |\ \ | |||
| | * | | | Handle basics of interface scrolling | Kit La Touche | 2024-10-03 |
| | | | | | |||
| | * | | | Absorb and display events | Kit La Touche | 2024-09-30 |
| | | | | | | | | | | | | | | | | | | | | | At least message-type ones, and at least without styling or memory-limit concerns. | ||
| | * | | | Merge branch 'main' into feature-frontend | Kit La Touche | 2024-09-30 |
| | |\ \ \ | |||
| | * | | | | Move layout concerns into layout | Kit La Touche | 2024-09-30 |
| | | | | | | |||
| | * | | | | Merge branch 'main' into feature-frontend | Kit La Touche | 2024-09-28 |
| | |\ \ \ \ | |||
| | * | | | | | Make message input tolerable as mock-up | Kit La Touche | 2024-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 layout | Kit La Touche | 2024-09-27 |
| | | | | | | | |||
| | * | | | | | Add basic browser client | Kit La Touche | 2024-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 Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Replace `unsafe` impl of backups with `rusqlite`. | Owen Jacobson | 2024-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 Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Use the right functions for determining error messages. | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Improve ergonomics of `Backup` | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Limit unsafe{} blocks even more tightly. | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Remove an unchecked operation in favour of a panic | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Wrote down the DB recovery process | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Tighten up `unsafe{}` blocks in backup logic. | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Use sqlx's API, not SQL groveling, to find unwanted migrations. | Owen Jacobson | 2024-10-05 |
| | | | | | | | |||
| * | | | | | | Make a backup of the `.hi` database before applying migrations. | Owen Jacobson | 2024-10-05 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This was motivated by Kit and I both independently discovering that sqlite3 will happily partially apply migrations, leaving the DB in a broken state. | ||
| * | | | | | | Start fresh with database migrations. | Owen Jacobson | 2024-10-04 |
| | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | The migration path from the original project inception to now was complicated and buggy, and stranded _both_ Kit and I with broken databases due to oversights and incomplete migrations. We've agreed to start fresh, once. If this is mistakenly started with an original-schema-flavour DB, startup will be aborted. | ||
| * | | | | | Clean up naming and semantics of history accessors. | Owen Jacobson | 2024-10-04 |
| | |_|_|/ |/| | | | |||
| * | | | | Stray warnings | Owen Jacobson | 2024-10-03 |
| | | | | | |||
| * | | | | List messages per channel. | Owen Jacobson | 2024-10-03 |
| | | | | | |||
| * | | | | Add endpoints for deleting channels and messages. | Owen Jacobson | 2024-10-03 |
| | | | | | | | | | | | | | | | | | It is deliberate that the expire() functions do not use them. To avoid races, the transactions must be committed before events get sent, in both cases, which makes them structurally pretty different. | ||
| * | | | | Represent channels and messages using a split "History" and "Snapshot" model. | Owen Jacobson | 2024-10-03 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This separates the code that figures out what happened to an entity from the code that represents it to a user, and makes it easier to compute a snapshot at a point in time (for things like bootstrap). It also makes the internal logic a bit easier to follow, since it's easier to tell whether you're working with a point in time or with the whole recorded history. This hefty. | ||
| * | | | | Package up common event fields as Instant | Owen Jacobson | 2024-10-02 |
| | | | | | |||
| * | | | | Retire top-level `repo`. | Owen Jacobson | 2024-10-02 |
| | | | | | | | | | | | | | | | | | This helped me discover an organizational scheme I like more. | ||
| * | | | | Split login and token handling. | Owen Jacobson | 2024-10-02 |
| | | | | | |||
