Commit graph

19 commits

Author SHA1 Message Date
liquidex 8aa38ae4c4 change layout of brush editor side panel to limit its height and scroll when it gets too big 2024-08-25 14:37:20 +02:00
liquidex 7465913944 make the app listen to hashchange and move the viewport accordingly, or reload the page when the wall changes 2024-08-25 14:15:24 +02:00
liquidex b1ee244eaa add option to pan with right mouse button instead of left mouse button
this is quite common in other apps with an infinite canvas - such as Miro
also on laptops middle-clicking is a pain in the ass, though we should add more proper touchpad support for that case
2024-08-25 14:06:46 +02:00
liquidex 0d831698e2 add proper error and disconnect handling
error handling shows you the error and offers the ability to reload;
disconnect handling shows you that the page will reload in a few seconds.
it uses exponential backoff with some random sprinkled into it to prevent overwhelming the server once people's clients decide to reconnect.
2024-08-25 12:55:07 +02:00
liquidex 84abba3e0b add loading screens instead of dropping the user into an app that's not ready to use 2024-08-25 00:06:49 +02:00
liquidex 7f78d0ce1b remove some leftover code 2024-08-24 22:03:23 +02:00
liquidex ba89b6eb04 fix haku-wasm/haku.js errors not resetting properly sometimes 2024-08-24 18:40:33 +02:00
liquidex 4761fd40ba fix sizing of the brush-editor textarea 2024-08-24 17:54:59 +02:00
liquidex 3a438359c3 replace the accursed contenteditable text box with an ordinary textarea
you could paste discord convos into it.

discord.
conversations.
and they'd render.
like in Discord.

lmao.

I still do wonder how to do syntax highlighting on it, but I've seen prism-code-editor, which I _think_ hides the textarea's text and overlays a non user-interactable syntax highlighted version on top.
what's cool is that we could theoretically have many such overlays - for things like highlights too
but we'll see how that goes
2024-08-24 17:50:06 +02:00
liquidex be6a47ae13 user authentication through a secret token (NOT AUDITED FOR SECURITY. DO NOT RELY ON THIS CODE.)
it's probably okay, but it's incredibly easy to read localStorage from the frontend and get a hold of the secret
would be nice (would it?) to have more proper session tokens I guess but we're not doing that right now

I'm not entirely sure if generating the password on the server is legit like this, but it leads to an incredibly frictionless experience and I'd like to keep it. if possible.
I don't really see a difference compared to password managers generating passwords for you and showing them in plaintext
obviously actual passwords are stored within the manager which requires a master password, but like. do we really need that. the secret isn't shown to the user and it's very long.
too bad the browser secure storage API or whatever isn't ready yet
2024-08-23 19:50:42 +02:00
liquidex 6ce1389d12 replace console.info with console.debug for received chunk data 2024-08-22 21:50:26 +02:00
liquidex 4ebd150e59 add some logs, fix frontend memory leak with users not deallocating their haku
closes #28
2024-08-22 21:39:31 +02:00
liquidex 1c0fa7197c rudimentary error reporting 2024-08-20 23:00:29 +02:00
liquidex 6eab20bb25 disable image smoothing, add support for wall fragment urls 2024-08-19 23:56:03 +02:00
liquidex 70e979057c persistence in database
only maybe a little bit shitty but it works very well
still needs chunk unloading
2024-08-19 22:39:22 +02:00
liquidex 2594afcc1b a more robust system for syncing chunks
as long as the server tells you there are more chunks, there are definitely more chunks.
just wait for them a bit.
2024-08-18 12:28:19 +02:00
liquidex 2f7bcbb14e sync 2024-08-17 22:16:21 +02:00
liquidex 26ba098183 a whole load of work in progress 2024-08-15 20:01:10 +02:00
liquidex caec0b8ac9 initial commit 2024-08-10 23:10:22 +02:00