summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Strip out Tailwind etcKit La Touche2024-12-30
|
* Merge branch 'main' into wip/stylizeKit La Touche2024-12-03
|\
| * Merge remote-tracking branch 'origin/wip/unreadish'Owen Jacobson2024-12-02
| |\
| | * 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.
| | * Enrich channels with hasUnread attributeKit La Touche2024-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
| | * Prefer camelCase to snake_case in argument namesKit La Touche2024-11-29
| | | | | | | | | | | | Even when they get mapped to snake_case searchParams.
| | * Style Channels differently when they have unreadsKit La Touche2024-11-29
| | | | | | | | | | | | I dunno, I like the fleuron. Maybe it's too twee?
| | * Use Luxon dates on Message store and componentKit La Touche2024-11-29
| | | | | | | | | | | | | | | | | | 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.
| | * Rename and modify channels storeKit La Touche2024-11-29
| | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * Add Luxon to dependenciesKit La Touche2024-11-29
| |/ | | | | | | | | This handles datetimes better than the browser-builtin, and is in many ways a successor to Moment, the previous standard choice.
* | Add styling for pre blocks in messagesKit La Touche2024-11-30
| |
* | Merge branch 'main' into wip/stylizeKit La Touche2024-11-28
|\|
| * Merge branch 'prop/fewer-run-modes'Owen Jacobson2024-11-28
| |\
| | * Add separate runners for a freestanding frontend and the (debug version of) ↵Owen Jacobson2024-11-28
| | | | | | | | | | | | the unified build.
| | * Dedicate `tools/run` to running the development server(s).Owen Jacobson2024-11-22
| | | | | | | | | | | | | | | | | | | | | * It now _always_ runs both the backend and the frontend. * The frontend is now _always_ exposed on both `localhost` and on the machine's local network interfaces. The role of running a consolidated server is now handled by `cargo run` (this has been possible since e7d4b6d7ddbcd0128e47476e6cd1d824a1929f3c anyways).
| * | Don't sink the top bar so far down into the page.Owen Jacobson2024-11-26
| | |
| * | Best-guess an ARIA role for this element.Owen Jacobson2024-11-26
| | | | | | | | | | | | Svelte's lint complains if you add interaction to a div but don't give that div an ARIA role.
| * | HTML-level styling inside non-top-level elements is not actually appliedOwen Jacobson2024-11-26
| | |
| * | Tool scripts for running tests.Owen Jacobson2024-11-25
| | | | | | | | | | | | `test-all` instead of `test` to avoid colliding with a shell builtin.
| * | Merge remote-tracking branch 'origin/prop/state'Owen Jacobson2024-11-25
| |\ \ | | |/ | |/|
| | * Use store.set where appropriateKit La Touche2024-11-22
| | | | | | | | | | | | If you're setting it to a static value, use set.
| | * Clean up extraneous variablesKit La Touche2024-11-22
| | | | | | | | | | | | Just use state, don't derive from a non-state local variable.
| * | Use store.set where appropriateKit La Touche2024-11-22
| |/ | | | | | | If you're setting it to a static value, use set.
| * Patch out --host again; npm run formatOwen Jacobson2024-11-19
| |
| * Merge remote-tracking branch 'origin/prop/touch-events'Owen Jacobson2024-11-19
| |\
| | * Add Tinygesture for swipe eventsKit La Touche2024-11-18
| | | | | | | | | | | | | | | 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.
| | * Merge branch 'main' into wip/touch-eventsKit La Touche2024-11-17
| | |\
| | * \ Merge branch 'main' into wip/touch-eventsKit La Touche2024-11-12
| | |\ \
| | * \ \ Merge branch 'main' into wip/touch-eventsKit La Touche2024-11-09
| | |\ \ \
| | * \ \ \ Merge branch 'main' into wip/touch-eventsKit La Touche2024-11-06
| | |\ \ \ \
| | * | | | | Set up framework for testing touch eventsKit La Touche2024-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | npm run formatOwen Jacobson2024-11-19
| | | | | | |
| * | | | | | Merge remote-tracking branch 'origin/prop/js-tests'Owen Jacobson2024-11-19
| |\ \ \ \ \ \
| | * | | | | | Ratchet up coverageKit La Touche2024-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just basic "will it mount?" tests for more components.
| | * | | | | | Ratchet up Component test coverageKit La Touche2024-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | | Merge branch 'main' into wip/js-testsKit La Touche2024-11-15
| | |\ \ \ \ \ \ | | | | |_|_|_|/ | | | |/| | | |
| | * | | | | | Stub in testsKit La Touche2024-11-14
| | | | | | | |
| | * | | | | | Add in start of testsKit La Touche2024-11-14
| | | | | | | |
| | * | | | | | Add FE test frameworkKit La Touche2024-11-14
| | | |_|_|_|/ | | |/| | | |
| * | | | | | Merge branch 'main' into prop/message-prerenderKit La Touche2024-11-18
| |\ \ \ \ \ \ | | | |/ / / / | | |/| | | |
| | * | | | | Merge branch 'main' into prop/shorter-expiryKit La Touche2024-11-15
| | |\| | | |
| | * | | | | Shorten the default retention, dramatically.Owen Jacobson2024-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original retention values were loosely based on Slack's retention, for lack of a more specific motivator. Today's election results have changed my views; the service now defaults to retention more in line with the needs of communities for which deep message history may be a risk: * Unused channels expire after 7 days. * Used channels expire when their last message expires (as before). * Deleted channels are purged after 6 hours (which is in line with the purge behaviour of messages). * Messages expire after 15 days. * Deleted messages are purged after 6 hours (as before). No changes have been made to token expiry.
| * | | | | | HTML-ify message bodies once, on receipt, and not every time the message is ↵Owen Jacobson2024-11-15
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | rendered. ~16% of the `hi development` channel's rendering time was taken up on this.
* | | | | | Merge branch 'main' into wip/stylizeKit La Touche2024-11-12
|\| | | | |
| * | | | | Match chrome colour to top bar colourOwen Jacobson2024-11-11
| | | | | |
| * | | | | npm run formatOwen Jacobson2024-11-11
| | | | | |
| * | | | | Merge remote-tracking branch 'origin/prop/pwa'Owen Jacobson2024-11-11
| |\ \ \ \ \
| | * \ \ \ \ Merge branch 'main' into prop/pwaKit La Touche2024-11-11
| | |\ \ \ \ \ | | |/ / / / / | |/| | | | |
| | * | | | | Actually return things in the cache, from the cacheKit La Touche2024-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Service worker basics I guess.
| | * | | | | Add extra images macOS PWAs expectKit La Touche2024-11-09
| | | | | | |