Commit graph

104 commits

Author SHA1 Message Date
hippoz
6c3d6a09fb
frontend: make generic fullscreen message class 2022-04-24 21:31:22 +03:00
hippoz
a5ade22483
frontend: add "connecting" indicator 2022-04-24 21:29:25 +03:00
hippoz
9122434a36
frontend: improve channel switch latency by reducing reflows due to scroll-related getters 2022-04-24 20:14:04 +03:00
hippoz
15e57c2372
frontend: improve logging 2022-04-23 23:07:46 +03:00
hippoz
2574e7e0e6
frontend: add username to top bar and improve paddings 2022-04-23 03:38:19 +03:00
hippoz
3668b45a30
frontend: separate more elements into different components 2022-04-23 01:06:04 +03:00
hippoz
6a1e89c288
frontend: remove debug function 2022-04-23 00:31:36 +03:00
hippoz
164545bb26
frontend: add placeholder color for message input 2022-04-22 23:34:02 +03:00
hippoz
9bfc645a32
frontend: improve messages container padding 2022-04-22 23:10:00 +03:00
hippoz
e552de269b
frontend: improve readability and css 2022-04-22 23:01:44 +03:00
hippoz
f7f536b318
frontend: preserve scroll position when loading more messages 2022-04-22 16:43:26 +03:00
hippoz
e19a3aa6cc
frontend: fix unnecessary requests being sent when switching between channels 2022-04-21 02:11:44 +03:00
hippoz
459b1c6703
frontend: show pending messages in a different color 2022-04-21 01:55:37 +03:00
hippoz
addfddd3ac
frontend: fix autoscroll breaking message loading 2022-04-20 17:53:20 +03:00
hippoz
e267ca4fc4
frontend: implement autoscroll 2022-04-20 17:49:31 +03:00
hippoz
0d95b02401
frontend: send messages 2022-04-20 03:44:48 +03:00
hippoz
7260525eec
frontend: message loading
This command finalizes support for dynamic message loading. The behavior is as follows:
When a user selects a channel for the first time, an "initial load" of messages will happen.
When the user is scrolled all the way to the bottom of the message view,
the store will continuously remove old messages to save memory.
Scrolling all the way to the top loads more messages.
2022-04-20 03:14:28 +03:00
da7e57fe82 frontend: add experimental message loading and display support 2022-04-19 21:21:55 +03:00
hippoz
efae331f99
frontend: move value assignment into Store constructor 2022-04-19 02:22:32 +03:00
hippoz
ce4592c6c0
frontend: fix array index checks in channels store 2022-04-19 02:19:24 +03:00
hippoz
abdaa80d1a
frontend: simplify store code
This commit simplifies the store code by removing the _init method, and instead initializing
everything on instantiation. This leads to not missing events and less complexity.
2022-04-19 02:17:24 +03:00
hippoz
59145c3dc2
frontend/design: move border from channelview to sidebar 2022-04-17 21:32:11 +03:00
hippoz
fea7d24166
frontend: allow users to select channels 2022-04-17 20:50:04 +03:00
hippoz
304cef3c11
frontend: add loading screen for initially loading the js and connecting to the gateway 2022-04-17 20:23:20 +03:00
hippoz
541464cdd9
frontend+backend: fix gateway-updated channel order 2022-04-17 17:56:03 +03:00
hippoz
381f1ae454
frontend: link up channel sidebar with gateway and fix channel button layout issue 2022-04-17 04:08:40 +03:00
hippoz
01649150a4
frontend/design: lay out basic design and layout 2022-04-16 04:17:48 +03:00
hippoz
2466b91f52
frontend: very basic layout prototype 2022-04-15 02:39:13 +03:00
hippoz
1885653815
frontend: add basic gateway debug messages 2022-04-14 22:08:08 +03:00
hippoz
fdbf6c9839
frontend: fix reconnect timeout 2022-04-14 22:04:41 +03:00
hippoz
e329c64eb7
backend/gateway: add session count limit per user id 2022-04-14 21:52:42 +03:00
hippoz
bf5e4f554e
backend/gateway: enforce d field to be a single numeric 0 for ping payloads 2022-04-14 21:32:52 +03:00
hippoz
538717cfc9
backend/gateway: block comically large string payloads 2022-04-14 21:29:46 +03:00
hippoz
fec30b7ec9
backend: disallow gateway clients from authenticating if they're already authenticated 2022-04-14 21:10:05 +03:00
hippoz
9c9f764e6d
backend: add gateway ratelimit 2022-04-14 17:17:54 +03:00
hippoz
2f19cb211d
increase ping and batch intervals 2022-04-14 17:02:51 +03:00
hippoz
d21408ac63
frontend: gateway reconnect + add frontend directory to express server 2022-04-14 16:56:01 +03:00
hippoz
a9a4cdbb5c
add basic frontend modules to access the api 2022-04-14 02:12:38 +03:00
hippoz
3a81b952c4
initialize frontend 2022-04-14 00:31:03 +03:00
hippoz
5acb3ceaf0
update all messages endpoints to also return author_username for easier display 2022-04-12 22:34:54 +03:00
hippoz
94192979a8
avoid dispatching channel events to all clients 2022-04-12 00:19:29 +03:00
hippoz
6a6cc1aafd
add message resource crud and gateway events (messages + message history) 2022-04-12 00:02:43 +03:00
hippoz
ce9d331bc6
dispatch a gateway event when a channel is created, updated or removed 2022-04-10 22:14:10 +03:00
hippoz
701f6ae1ac
replace broadcast with dispatch in the gateway code 2022-04-10 21:28:36 +03:00
hippoz
dcb4983302
add gateway broadcast channels 2022-04-10 21:10:19 +03:00
hippoz
a9162c245e
add basic gatewayt 2022-04-10 01:22:07 +03:00
hippoz
3bc166bfb0
add route to get all channels 2022-04-07 13:35:36 +03:00
hippoz
2956bf10fc
move json middleware use call into server object 2022-04-06 21:27:52 +03:00
hippoz
144a46fa3c
remove unused variable 2022-04-06 21:22:55 +03:00
hippoz
aa320e1b54
add crud api for channels 2022-04-06 18:50:36 +03:00