summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* 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.
* | | | | 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
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Don't erroneously try to get an invite ID as a property of a promise ↵Owen Jacobson2024-11-11
| | | | | | | | | | | | | | | | | | | | | | | | yielding an invite.
* | | | | | Merge branch 'main' into prop/message-deleteKit La Touche2024-11-11
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
* | | | | | Deletable messages.Owen Jacobson2024-11-08
| | | | | | | | | | | | | | | | | | | | | | | | This also fixes some rendering jank with the message timestamp chip.
| | * | | | 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
| | | | | |
| | * | | | Replace favicon and logo with Pilcrow logoKit La Touche2024-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not very legible at small sizes, but it's a first draft, it'll be fine.
| | * | | | Remove stray reference to "hi"Kit La Touche2024-11-08
| | | | | |
| | * | | | Fix start path in manifestKit La Touche2024-11-08
| | | | | |
| | * | | | Merge branch 'main' into wip/pwaKit La Touche2024-11-08
| | |\ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Don't run the service as root.Owen Jacobson2024-11-08
| | | | | |
| * | | | | Rename `hi` service unitOwen Jacobson2024-11-08
| | | | | |
| * | | | | Rename the project to `pilcrow`.Owen Jacobson2024-11-08
|/ / / / /