Commit Graph

111 Commits

Author SHA1 Message Date
Cristian Le 9270761b20 Missing invite for bridgebot
Most evident at room creation, but more might need to be added
2021-06-07 10:05:36 +09:00
Andrew Ferrazzutti 9d1d6e379c Support LINE users with no discoverable ID
AKA "strangers". Should only happen to non-friends in rooms (not groups!)
2021-06-06 18:24:44 -04:00
Andrew Ferrazzutti ec14b90711 Allow syncing pathless avatar images
But only if a path wasn't yet found for that image
2021-06-06 18:24:42 -04:00
Andrew Ferrazzutti 14de373787 Startup fixes 2021-06-06 18:24:42 -04:00
Andrew Ferrazzutti 54507f8aaf Catch getting logged out
Happens when logging into Line on Chrome somewhere else
2021-06-06 18:24:34 -04:00
Andrew Ferrazzutti 34ea2021ec Attempt to respect bridge.initial_conversation_sync
But probably doing it wrong
2021-06-06 18:21:32 -04:00
Andrew Ferrazzutti 27fda19567 Allow enabling encryption after room creation
Also forbid reactions
2021-06-06 18:20:17 -04:00
Andrew Ferrazzutti 11ba99e17b Fix mistake in receipt sending
And possible mistake in member kicking
2021-06-06 18:19:36 -04:00
Andrew Ferrazzutti c89c59e7fc Handle incoming line breaks 2021-06-06 18:18:57 -04:00
Andrew Ferrazzutti 6d646e082b Inbound sync & sticker improvements
- Handle "decrypting" state of messages
- Handle lazy loading of emoji
- Better handle lazy loading of images/stickers
- Improve reliability of message sending, especially when sending
  several messages quickly
- Use m.sticker events for inbound stickers instead of m.image, and add
  a config to optionally use m.image if desired
- Use proper sizing for emoji, and add config to scale them since they
  are somewhat small
- Deduplicate stickers as best as possible (works until they get a
  different blob URL)
- Add config to disable bridging stickers/emoji
- Send m.notice for inbound messages of unknown type
2021-06-06 18:15:38 -04:00
Andrew Ferrazzutti 712a256dee Fix incorrect time parsing
For some reason, string-interpolating the result of chrono.parseDate
can set the time of day-only dates to noon, instead of midnight, which
is much more useful as a baseline time.

To get midnight, prepend "00:00" to all day-only date strings before
parsing them with chrono.parseDate.
2021-06-05 23:56:54 -04:00
Andrew Ferrazzutti 6583815301 Dismiss error dialog for getting disconnected
If the connection to LINE is lost, when it comes back, and error dialog
appears. Detect that dialog and click it automatically.

The same detection works for any error dialog.
2021-06-05 23:51:12 -04:00
Andrew Ferrazzutti 94788a21dd Various fixes and cleanups 2021-06-05 23:41:05 -04:00
Andrew Ferrazzutti 2fb9be2037 Small doc update 2021-06-04 02:19:46 -04:00
Andrew Ferrazzutti 1e8c64a31a Update docs with steps to download and extract the LINE extension 2021-05-17 02:06:41 -04:00
Andrew Ferrazzutti 6f8a8fd6a0 Remove Puppeteer timeout for prep script 2021-05-17 02:05:07 -04:00
Andrew Ferrazzutti 862398c00e Update READMEs with xvfb instructions (and more) 2021-05-06 02:58:27 -04:00
Andrew Ferrazzutti baf7db73b7 Kick own puppets when turning on double puppeting
And invite them when turning it off
2021-05-06 02:15:21 -04:00
Andrew Ferrazzutti a2a21927cd Fix image/file sending 2021-05-06 00:43:26 -04:00
Andrew Ferrazzutti 2117685df7 Post startup messages in notice room 2021-05-05 02:42:41 -04:00
Andrew Ferrazzutti 27c66887c3 Catch some inbound sync errors 2021-05-05 02:41:06 -04:00
Andrew Ferrazzutti b197d90118 Fix shared secret double-puppeting 2021-05-05 02:40:28 -04:00
Andrew Ferrazzutti d894eafc21 Catch IncompleteReadError
It can happen when the input stream closes after a timeout.
2021-05-04 22:00:37 -04:00
Andrew Ferrazzutti 6f62eb0054 Update dependencies 2021-05-04 22:00:13 -04:00
Andrew Ferrazzutti 6a9d625d69 Bypass input stream buffer overruns
This fixes crashes that could otherwise happen when receiving animated
stickers.
2021-05-04 03:09:24 -04:00
Andrew Ferrazzutti d080590c54 Document minimum requirements
Also bump the LINE extension version mentioned in SETUP.md (which the
bridge still works with, as far as I can tell)
2021-05-03 02:44:11 -04:00
Andrew Ferrazzutti a7b1f3bea2 Update roadmap 2021-04-30 03:10:50 -04:00
Andrew Ferrazzutti 635151d079 Remove unneeded functions in ReceiptReaction 2021-04-30 02:56:15 -04:00
Andrew Ferrazzutti 4305d8f994 Fix tracking "Read by" counts in group chats 2021-04-30 02:56:15 -04:00
Andrew Ferrazzutti e13f59a8f3 Rework message syncing and sending 2021-04-27 02:59:16 -04:00
Andrew Ferrazzutti 7f937d34e2 WIP read receipt improvements 2021-04-23 03:38:13 -04:00
Andrew Ferrazzutti c8d1d38d21 Incoming read receipts for MRU chats
TODO: poll other chats for read receipts
2021-04-22 02:40:50 -04:00
Andrew Ferrazzutti d30402a98f More robust message syncing and room cleaning 2021-04-22 02:39:52 -04:00
Andrew Ferrazzutti 99aa333bc2 Replace semaphore with queue 2021-04-21 18:09:21 -04:00
Andrew Ferrazzutti 0ce6b833e3 Attempt to fix ordering of incoming messages 2021-04-21 02:38:10 -04:00
Andrew Ferrazzutti 3126543321 Deduplicate emotes 2021-04-09 00:23:12 -04:00
Andrew Ferrazzutti a743d149df Touch up JS comment blocks 2021-04-06 01:57:15 -04:00
Andrew Ferrazzutti 935bc6bdb8 Maybe fix message sorting 2021-04-06 01:57:15 -04:00
Andrew Ferrazzutti fc8bc79ffd Inbound sticons (emoticons)
MAJOR TODO: Non-duplication of uploaded image data
2021-04-05 03:56:01 -04:00
Andrew Ferrazzutti 5aa3cf8b81 Add missing paren 2021-04-05 03:56:01 -04:00
Andrew Ferrazzutti 4f288b1754 Support EmojiOne for inbound messages
Use their Unicode format, which is available in alt text
2021-04-03 03:11:51 -04:00
Andrew Ferrazzutti fa6d3b5279 Just-in-case sort of synced messages 2021-04-03 03:11:05 -04:00
Andrew Ferrazzutti 510018a51d Inbound stickers (same as images)
This also covers sticons, but only when a single one is sent as the sole
content of a message, in which case it behaves like a sticker/image.
2021-04-02 03:21:30 -04:00
Andrew Ferrazzutti 4edf0cdaa5 Set room avatar on room creation
Also set proper power levels
2021-04-01 02:24:27 -04:00
Andrew Ferrazzutti d09a6c443a Don't error-out on re-encountered message ID
Instead, post notice that bridging the message may have failed.
2021-03-31 01:57:18 -04:00
Andrew Ferrazzutti 9d6c7efa70 Confirm this works with extension version 2.4.3
Just update SETUP.md to mention the version, and remove the TODO for
adding phone number login, which LINE Chrome will disable soon.
2021-03-31 01:55:11 -04:00
Andrew Ferrazzutti 85653c355a Update roadmap again, stickers work 2021-03-29 18:06:22 -04:00
Andrew Ferrazzutti 204a0ec640 Update roadmap 2021-03-29 01:26:57 -04:00
Andrew Ferrazzutti afcc206a93 Wait for outbound images to be sent
Also prevent possible race condition in waiting for inbound images, and
generally tighten up file sending/receiving.
2021-03-29 01:25:05 -04:00
Andrew Ferrazzutti 5a33500765 Wait for inbound images to load 2021-03-28 04:23:07 -04:00