| Commit message (Collapse) | Author | Age |
| | |
|
| |
|
|
|
|
| |
This includes jamming the "at" of a message into a data- attribute on
the Message component, so that it can later be used by parent components
via Plain Old Javascript and the .dataset attribute of an HTML node.
|
| |
|
|
|
|
|
|
| |
I tried to have a custom class for Channel objects, but Svelte's
automatic proxy logic works only on bare objects, as far as I could
tell. So that broke everything. I resorted to a function that would
build the bare objects, but we still lack methods that I think would
make life easier ("touch last read" etc).
|
| |
|
|
|
|
| |
rendered.
~16% of the `hi development` channel's rendering time was taken up on this.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
On Safari (iOS and macOS), the permissions prompt can only be done during a user gesture; mounting is sufficiently disconnected from any user gestures that it's not allowed. The browser raises an exception, which, since it is unhandled, then leaks out and interrupts SvelteKit's element unmounting, leading to the whole UI being duplicated when switching channels (the old UI is not unmounted).
|
| | |
|
| |
|
|
| |
message display.
|
| | |
|
| |
|