Skip R
654e3fd898
auth: remove channel
2026-03-26 20:19:24 -07:00
Skip R
82b1645e00
auth: add initial sketch
2026-03-26 20:18:16 -07:00
Skip R
c88ffbc9ba
directmedia: reimplement in-memory URL cache
2026-03-23 21:58:05 -07:00
Skip R
dd2c2ec0c9
directmedia: sketch implementation
2026-03-20 02:39:40 -07:00
Skip R
744ba4190b
msgconv/from-discord: improve look of backfilled user joins
2026-03-18 23:59:25 -07:00
Skip R
8270a9462d
handlediscord: bridge live user joins as membership events
2026-03-18 23:58:50 -07:00
Skip R
134c5ed446
capabilities: more explicitly advertise support for all file types
2026-03-18 23:54:55 -07:00
Skip R
b71744a287
chatinfo: support configurable channel name template
2026-03-18 22:43:25 -07:00
Skip R
672f4b8c23
handlediscord: make sure all parent spaces exist before their children
...
Using `QueueRemoteEvent` to blindly fire off the resyncing of spaces as
well as their child rooms effectively races, resulting in the child
rooms lacking a `network` in their `m.bridge` state.
To fix this, synchronously ensure that the spaces exist before bridging
their children.
This patch also makes it so that empty categories (categories that are
literally empty as well as categories exclusively consisting of channels
that can't be viewed by the user) are no longer bridged.
2026-03-18 22:38:06 -07:00
Skip R
c1b90ef84e
downgrade log level of "Computed visibility of guild channel" logs
...
These are really noisy.
2026-03-18 22:19:50 -07:00
Skip R
f041f78c09
msgconv/from-matrix: support voice messages
2026-03-17 10:20:31 -07:00
Skip R
f796e4cef6
msgconv/from-discord: tweak incoming call message
2026-03-12 19:26:58 -07:00
Skip R
961a89beba
msgconv/formatter: escape role and channel names
2026-03-12 18:59:59 -07:00
Skip R
a2c65ee47c
msgconv/formatter: fix inbound mention handling
...
* Check for user logins as well as fetching a ghost. This fixes
mentioning other Matrix users (when split portals are off), or
yourself.
* Escape display names.
* Gracefully fail when failing to locate any useful information.
2026-03-12 18:56:54 -07:00
Skip R
1dce5fa9ff
msgconv/from-matrix: don't send allowed_mentions for now
2026-03-12 18:18:31 -07:00
Skip R
2b3b058750
msgconv/from-matrix: convert user pills
2026-03-12 18:17:18 -07:00
Skip R
cb9bf5b04b
handlediscord: sync group dm membership changes
2026-03-11 19:48:14 -07:00
Skip R
7363538bae
sync private channel deletions that occur while the bridge is offline
2026-03-11 19:13:51 -07:00
Skip R
3ae8e8d585
router: log when creating an uncertain route
2026-03-11 19:13:07 -07:00
Skip R
1534b2b984
handlediscord: handle CHANNEL_DELETE
2026-03-11 19:11:51 -07:00
Skip R
6959888bbd
msgconv: change animated sticker mime type
...
This matches with what Beeper Desktop expects.
2026-03-11 17:33:02 -07:00
Skip R
03fb7bc83e
handlediscord: sync gateway-created dm channels
2026-03-11 11:16:10 -07:00
Skip R
02b35812ab
userinfo: make sure we're logged in
2026-03-10 23:12:10 -07:00
Skip R
4f2dc2bf30
provisioning: check for logged in state
2026-03-10 23:01:48 -07:00
Skip R
edcad997ac
client: don't set a up session if we lack a token entirely
2026-03-10 23:01:24 -07:00
Skip R
cd1f9ddd85
connector: check for nil session before disconnecting
2026-03-10 22:59:28 -07:00
Skip R
51473cf210
connector: check if we're logged out much more
2026-03-10 22:58:40 -07:00
Skip R
2e7e39a91c
properly handle our credentials becoming invalidated
...
Further support cancellation (via concurrent Disconnect call) while
we're "sleeping" in connectRetrying. This is sorta half baked because we
don't handle cancellation post-Open, which should really be added so we
can avoid the sync.
2026-03-10 22:08:35 -07:00
Skip R
261d041ebb
client: refuse to connect if token is empty
...
This is in preparation of us intentionally emptying the token if our
credentials become invalid.
2026-03-10 22:05:52 -07:00
Skip R
a06b09f201
handlediscord: add error constants
2026-03-10 22:04:07 -07:00
Skip R
2cd22e0100
properly handle 40002 errors
2026-03-10 21:04:23 -07:00
Skip R
9719c6d1d5
add proper support for remote profiles
2026-03-06 21:54:15 -08:00
Skip R
833085bd95
usercache: add self user to cache
2026-03-06 19:57:57 -08:00
Skip R
3f5993e6e4
provisioning: deeply delete portals when unbridging
2026-03-05 18:46:31 -08:00
Skip R
0c0aa7e212
handlematrix: implement bridgev2.MuteHandlingNetworkAPI
...
(When used with Beeper, this is only effectively invoked when the bridge
is being used locally.)
2026-03-05 16:30:43 -08:00
Skip R
1bb9b0c244
chatinfo: bridge discord mute state to matrix
...
Note that mute_only_on_create in the config seems to default to true.
When that is the case, the remote mute state only makes a difference
during initial portal creation.
2026-03-05 16:29:41 -08:00
Skip R
35dcea1f03
client,handlediscord: keep track of user guild settings
...
These contain information about mutes, notification settings, etc.
2026-03-05 16:28:21 -08:00
Skip R
25cf272ca1
events: remove unused field that made the linter mad
2026-03-04 20:51:04 -08:00
Skip R
03d733da42
router: cope with database failures, making routing infallible
...
Even if the DB is dead for some reason, we should still be able to route
from in-memory data.
2026-03-04 20:47:45 -08:00
Skip R
4c14457c52
lint
2026-03-04 20:43:34 -08:00
Skip R
7e01e8aec3
dbmeta: stash discord channel type in portal metadata
2026-03-04 20:42:02 -08:00
Skip R
55501bf50f
handlediscord: avoid queueing remote events for unbridged channels
...
This avoids the implicit creation of portals that have zero-valued
metadata. Other methods like GetPortalByKey also do this.
2026-03-04 20:42:00 -08:00
Skip R
3c53f7ed2d
connector: fix forward backfill heuristic
2026-03-04 20:37:45 -08:00
Skip R
a2933d989b
msgconv: do not create stub portals when formatting channel mentions
2026-03-04 20:23:23 -08:00
Skip R
cfe1d24d19
connector: handle receivers correctly and consolidate thread routing
...
* The split_portals config option is finally respected.
* This should prevent future room duplication when migrating from the
pre-bridgev2 version of the bridge, as we'll finally address guild
channels properly (that is, without a Receiver set, unless
split_portals is true).
2026-03-04 19:15:46 -08:00
Skip R
786a6712fd
backfill: implement bridgev2.BackfillingNetworkAPIWithLimits
...
This lets DMs backfill properly when the user scrolls to the top of the
room in a Beeper client.
2026-03-03 22:18:10 -08:00
Skip R
8e51cf25aa
msgconv: populate reply information even when target isn't in db
...
We can't rely on the reply target to be in the database because that
won't be true during backwards backfill. Populate it more eagerly.
2026-03-03 22:12:49 -08:00
Skip R
c1f82b9157
backfill: set MarkRead if all messages in a batch are read
2026-03-03 21:25:29 -08:00
Skip R
1ead5baf2f
client: handle read states
2026-03-03 21:23:49 -08:00
Skip R
5d9e2373d9
msgconv/from-discord: propagate reply log to context
2026-03-03 20:13:12 -08:00