| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
the DOM.
Prevents this from breaking during DOM unmounting, when leaving a channel.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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".
|
| |\| |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
If you're setting it to a static value, use set.
|
| | | |
|
| | |
| |
| |
| |
| | |
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.
|
| | | | | |
|
| | |_|/
|/| | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
|/|
| |
| | |
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.
|
| | | |
|
| |/
|
|
|
|
| |
I generally don't love globals, and the scope of this global is pretty narrow. Let's use the context hierarchy for this, instead.
(Kit mentioned that it might be possible to use CSS variables for this.)
|
| | |
|
| | |
|
| |
|
|
| |
Does not use runes in stores (yet).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
On Safari, `overflow: scroll` forces scrollbars even where not required, leading to a really janky display studded with stray scrollbars.
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| | |
This was causing problems for changing passwords: if the user didn't type anything in the "original password" field, the code path to sending that field to the server was just straight-up omitting the field from the message, rather than setting it to empty string, causing a 422 Unprocessable Entity.
On investigation we had latent bugs related to this in a bunch of spots.
|
| |\| |
|
| | | |
|
| | |
| |
| |
| | |
The protocol here re-checks the caller's password, as a "I left myself logged in" anti-pranking check.
|
| | | |
|
| | | |
|
| |/
|
|
|
|
| |
Mobile-friendly anyway. Thanks to
[Miriam](https://www.miriamsuzanne.com/) for the CSS that enables a
sliding menu on mobile size, constant menu on larger.
|