| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This requires both the channels and messages stores to be available, so
we do it in the page file where we've got those stores handy. It's a bit
inefficient (it recreates the entire enrichedChannels array every time
one of them changes), but it'll do for now.
There's also a TODO hinting that we might want an idea of unread-count.
I think that would require a distinct idea of mentions, because we just
want "fact of unread" for general-availability channels, not "this many
messages since you were last here".
|
| | |
| |
| |
| | |
Even when they get mapped to snake_case searchParams.
|
| | |
| |
| |
| | |
I dunno, I like the fleuron. Maybe it's too twee?
|
| | |
| |
| |
| |
| |
| | |
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).
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| |
| |
| | |
Svelte's lint complains if you add interaction to a div but don't give that div an ARIA role.
|
| | | |
|
| | |
| |
| |
| | |
If you're setting it to a static value, use set.
|
| | |
| |
| |
| | |
Just use state, don't derive from a non-state local variable.
|
| | | |
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | | |
Hide and show channel menu thus. It doesn't gradually pull it out, which
is less than ideal, but it's good enough for now.
|
| | | |\ |
|
| | | |\ \ |
|
| | | |\ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This includes a change to tools/run that exposes the dev server on my
local network. This change should not make it into the final form of
this branch.
This is so I can use actual for real touch events on my actual for real
phone, hooked up for remote debugging to my computer so I can see
console events etc.
|
| | | | | | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Just basic "will it mount?" tests for more components.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Turns out a number of our components are a pain to run via a mounting
test, but Svelte does suggest that this is the dispreferred way to test
anyway. Using use:, triggering navigation after logout, and
scrollIntoView all make the headless node test process with the janky
in-memory mount have a Very Bad Day.
But this is still progress! We will press on.
|
| | | | | | | | |
|
| | | | |_|_|/
| | |/| | | |
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
rendered.
~16% of the `hi development` channel's rendering time was taken up on this.
|
| |\| | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |\ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Service worker basics I guess.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's not very legible at small sizes, but it's a first draft, it'll be
fine.
|
| | | | | | | |
|
| | | | | | | |
|
| | |\ \ \ \ \
| | | |_|_|/
| | |/| | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
| | |\ \ \ \ \ \
| | | |_|_|_|/
| | |/| | | | |
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | |_|_|_|/ /
| |/| | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
yielding an invite.
|
| | |\ \ \ \ \ \
| | | |_|_|/ /
| | |/| | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This also fixes some rendering jank with the message timestamp chip.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We weren't awaiting data.invite, so were trying to operate on the
promise itself.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
But it's not working. Why?
|
| | |/ / / / /
|/| | | | | |
|