summaryrefslogtreecommitdiff
path: root/ui/routes/(app)/ch
Commit message (Collapse)AuthorAge
* Merge branch 'prop/preserve-state'Owen Jacobson2025-02-24
|\
| * Merge branch 'main' into prop/preserve-stateKit La Touche2025-02-21
| |\
| * | Only check for message visibility while a channel is actually attached to ↵Owen Jacobson2025-02-20
| | | | | | | | | | | | | | | | | | the DOM. Prevents this from breaking during DOM unmounting, when leaving a channel.
| * | Separate channel metadata out into its own storeKit La Touche2025-02-20
| | | | | | | | | | | | | | | | | | | | | | | | This is stored locally, and, while parallel to channel info, is not the same as. Eventually, this may hold info about moot/decayed channels, and grow unbounded. That'll need to be addressed.
| * | Merge local channel data and remote to maintain stateKit La Touche2025-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | When we hit the boot endpoint, we get the server's view of things. If we just setChannels with that, we overwrite all our locally-stored info in on things like lastReadAt. So we need to merge data. Eventually, this might militate for a `meta` key containing an object of locally stored data, rather than having to handle each key specially.
* | | Hoist global state access out of individual components.Owen Jacobson2025-02-21
| |/ |/| | | | | | | | | | | | | Access to "global" (maybe "external?") state is now handled at the top level of the component hierarchy, in `+page.svelte`, `+layout.svelte`, and their associated scripts. State is otherwise passed down through props, and changes are passed up through callbacks. This is - hopefully - groundwork for refactoring state management a bit. I wanted to move access to state out to a smaller number of places, so that I have fewer places to update to implement reconnect logic. My broader goal is to make it easier to refactor these kinds of external side effects, as well, though no such changes are in this branch. This change also makes testing a mile easier, since tests can interact with props and callbacks instead of emulating the whole HTTP request stack and the Pilcrow API. This change removes do-very-little tests.
* | Retire use of $page store in favour of Sv5 page stateOwen Jacobson2025-02-21
| |
* | Remove the last lingering Svelte4-style event bindings.Owen Jacobson2025-02-20
|/
* npm run formatOwen Jacobson2025-01-11
|
* Just oh so many stylesKit La Touche2025-01-01
|
* Merge branch 'main' into wip/stylizeKit La Touche2024-12-03
|\
| * Set last-read on a channel on some eventsKit La Touche2024-11-29
| | | | | | | | | | | | | | Esc key, 2 second wait after scroll, and whenever the messages inChannel change. Kinda gross set of things, but, so it goes. This does offer us the option of extending this to include "when you click 'unread from here' on a message" in future.
* | Style sidebar and message inputKit La Touche2024-11-11
|/
* Split message runs after ten minutes' silence.Owen Jacobson2024-11-06
| | | | I've also refactored how runs are processed, to avoid re-splitting runs every time the channel view is rendered. They're generated when messages are ingested into the `$messages` store, instead.
* Run spaces-style prettier formattingKit La Touche2024-11-03
|
* Svelte 5: go through and use runes in components, pages, and layouts.Owen Jacobson2024-11-03
| | | | Does not use runes in stores (yet).
* Stop showing the text input area on the /me pageOwen Jacobson2024-11-02
|
* Run prettier, make lint part of pre-commitOwen Jacobson2024-11-02
|
* Compute the active channel from the current routing state, not from a store.Owen Jacobson2024-10-10
|
* Hoist the UI one step up furtherOwen Jacobson2024-10-10