Commit graph

382 commits

Author SHA1 Message Date
Simon Ser
61e35dd68a Bump direct message unread priority 2021-06-10 18:57:57 +02:00
Simon Ser
e56deb35c9 Ensure config has a server object
Simplifies code accessing the config.
2021-06-10 18:34:34 +02:00
Simon Ser
093eecff91 readme: make it clear server.url can be a path in config.json 2021-06-10 18:28:44 +02:00
Simon Ser
77030931cb Reset config.server.auth when using custom server URL 2021-06-10 18:28:01 +02:00
Simon Ser
4df9328be8 Move auto-join field out of advanced options if pre-filled
Closes: https://todo.sr.ht/~emersion/gamja/82
2021-06-10 18:21:18 +02:00
Simon Ser
8972130252 s/var/let/ 2021-06-10 18:11:11 +02:00
Simon Ser
4db845a4b1 Show again connect form when last server is closed 2021-06-10 18:06:45 +02:00
Drew DeVault
eef2093c88 Add "auth" parameter to tune connect form 2021-06-10 17:59:49 +02:00
Simon Ser
6039e13411 Add notification tags
This makes it so multiple messages from the same user will only
produce a single notification.
2021-06-10 17:11:21 +02:00
Simon Ser
63773f99ee Add Notification workaround for Chrome on Android
Closes: https://todo.sr.ht/~emersion/gamja/78
2021-06-10 17:08:24 +02:00
Simon Ser
a952742d86 Make Client.roundtripChatHistory return an array of messages 2021-06-10 12:47:28 +02:00
Simon Ser
5b0bb43a24 Make Client.fetchBatch more reliable 2021-06-10 12:43:09 +02:00
Simon Ser
ba92b3f677 lib/client: fix batch cleanup 2021-06-10 12:10:08 +02:00
Simon Ser
20f20b18df Linkify MOTD 2021-06-10 12:09:07 +02:00
Simon Ser
02800dd21b Don't open a new buffer on NOTICE 2021-06-10 12:07:17 +02:00
Simon Ser
dd8eca1cfe Switch to server buffer on server name click
Closes: https://todo.sr.ht/~emersion/gamja/68
2021-06-10 12:03:50 +02:00
Simon Ser
d2e41666ad lib/client: set a default server prefix
Set the default server prefix to "*". This allows the rest of the
code to assume all messages always have a prefix.
2021-06-10 11:53:53 +02:00
Simon Ser
e28769216a Remove callback arg from App.createBuffer 2021-06-10 10:56:18 +02:00
Simon Ser
bf76eaa669 Add State.createServer 2021-06-10 10:54:33 +02:00
Simon Ser
5fcbfa446c Use server buffer if name is unspecified in State.getBuffer 2021-06-10 09:25:17 +02:00
Simon Ser
41354d3035 lib/client: gracefully handle null in isMyNick/isChannel 2021-06-10 08:51:59 +02:00
Simon Ser
0705f4b182 lib/client: always populate prefix for incoming messages 2021-06-10 08:49:17 +02:00
Simon Ser
52ca3bb91c lib/linkify: add comma to punctuation in channel regex 2021-06-09 16:28:07 +02:00
Simon Ser
0c0f0ab79e Fix /me failing in user query buffers
This is a regression.
2021-06-09 10:17:32 +02:00
Simon Ser
2546d31af0 Blur the composer when hiding it
This should make toggling the composer in a server buffer more
reliable.
2021-06-07 15:18:15 +02:00
Simon Ser
a9c1abb064 Route channel mode and invite/except list to channel buffer 2021-06-07 14:13:00 +02:00
Simon Ser
dd753aab2e Add support for /mode without arguments 2021-06-07 14:12:49 +02:00
Simon Ser
5b7ab2652b Improve buffer header layout on mobile
Put buffer title above buffer description.
2021-06-06 17:27:05 +02:00
Simon Ser
a419e660c0 Don't match punctuation suffix when linkifying channels 2021-06-06 16:00:37 +02:00
Simon Ser
403d7ec7f7 Add case-mapping support to irc.isHighlight
Closes: https://todo.sr.ht/~emersion/gamja/77
2021-06-06 15:52:58 +02:00
Simon Ser
b9dc17db97 Disallow selecting text in <summary role="button">
This supersedes the cursor rule.
2021-06-06 12:08:21 +02:00
Simon Ser
6b75985f96 Make <summary> easier to click on Firefox Mobile
Add role=button to mark the element as a touch target.

Closes: https://todo.sr.ht/~emersion/gamja/80
2021-06-06 12:05:57 +02:00
Simon Ser
41c113be9a Show connect form during connection
This improves UX when the connection parameters (server URL,
username, password, and so on) are incorrect.
2021-06-06 11:33:00 +02:00
Simon Ser
48ae55942f Make @media queries whitespace consistent 2021-06-06 10:53:06 +02:00
Simon Ser
efabd69476 Increase buffer/member list item height on mobile
Closes: https://todo.sr.ht/~emersion/gamja/62
2021-06-06 10:46:41 +02:00
Simon Ser
0dfb7623db Add support for labeled-response
It's just used to avoid mixing up messages coming from the server
so far.
2021-06-04 20:38:01 +02:00
Simon Ser
34078d5da7 Add support for draft/event-playback 2021-06-04 19:45:51 +02:00
Simon Ser
651e255ddb Use ISUPPORT CHANTYPES in Client.isChannel 2021-06-04 19:17:39 +02:00
Simon Ser
db7aa337cb Remove App.isChannel
Replace all remaining usage with Client.isChannel. Client will be
able to use the ISUPPORT tokens to check if a name is a channel.
2021-06-04 19:13:59 +02:00
Simon Ser
87588abf27 Add State.addMessage 2021-06-04 19:07:14 +02:00
Simon Ser
04362644bf Handle TOPIC in State.handleMessage 2021-06-04 18:57:02 +02:00
Simon Ser
30a345298f Handle JOIN/PART in State.handleMessage 2021-06-04 18:53:06 +02:00
Simon Ser
2af58f8d0b Move createBuffer to State 2021-06-04 18:37:34 +02:00
Simon Ser
2c1bb4ce6a Introduce State.handleMessage
Takes an IRC message, updates the state.

Doesn't yet handle all messages, this will be a step-by-step process.
2021-06-04 18:27:21 +02:00
Simon Ser
4d988cafeb Move some state utilities to state.js 2021-06-04 18:03:03 +02:00
Simon Ser
791b742684 Allow config.server.ping to be a String
Workaround for existing config files in the wild.
2021-06-04 17:50:49 +02:00
Simon Ser
6e20ad872e Add support for STATUSMSG
Closes: https://todo.sr.ht/~emersion/gamja/65
2021-06-03 13:31:43 +02:00
Simon Ser
3b5b693403 Use bufName in addMessage, fix missing Client.isMyNick() 2021-06-03 13:29:32 +02:00
Simon Ser
283f8af4b1 lib/irc: rename IRC prefix utilities 2021-06-03 13:18:28 +02:00
Simon Ser
04c9f0211a Fix undefined server variable in BufferHeader 2021-06-03 13:10:44 +02:00