Releases: tloncorp/tlon-apps
v5.2.0
Over-the-air (OTA) update to %groups and %talk. This release fixes inadvertent Gallery channel spamming and several other infinite-fetching issues.
What's new
- Fixes an issue where the Gallery uploader would post to the channel in an infinite loop, resulting in inadvertent channel spamming.
- Fixes an issue where navigating into a thread in a Chat channel would cause infinite refetching in the main chat pane.
- Fixes an issue where starting/opening a thread in a DM caused an infinite fetching loop.
- Fixes an issue where replying to a Chat message (using a quote-reference) would wipe the message input.
- Fixes several rendering issues which contributed to the desktop sidebar sliding in and out slowly.
- Fixes an issue with the connection status indicator incorrectly reporting disconnections from group hosts.
- Adds a check to mitigate risky code in embedded HTML blocks.
- Fixes an issue where WEBM videos were not properly embedding
Contributions
- chat: fix infinite refetch bug with scrollTo, fix chat bug, navigate to thread parent by @patosullivan in #3113
- chat: when replying, only reset the message editor if we don't already have the mention by @latter-bolden in #3118
- perf: tweaks to speed up sidebar transition on desktop by @patosullivan in #3120
- groups: fix broken "requested to join" notifications by @latter-bolden in #3121
- group actions: fix broken connection status by @latter-bolden in #3123
- chat: mitigate unnecessarily risky code in third party oembed html by @darighost in #3115
- gallery: clear uploader state after attempting to add a gallery block by @latter-bolden in #3131
- dm threads: account for mismatched keys when checking if we have a message after refetching by @latter-bolden in #3129
- treat webm urls as videos by @alecananian in #3135
Full Changelog: v5.1.0...v5.2.0
v5.1.0
Over-the-air (OTA) update for %groups and %talk. This release makes many improvements and fixes several bugs in the post-migration user experience.
Desk hashes:
%groups 0vp.ulf29.qkuhl.en06e.u0h2c.q7fl9.78i9j.k5dif.hcm3k.3otq5.5iuvk
%talk 0v18.d3ojq.0pci5.3t3fh.bjido.ejcqj.ba33r.ehtl7.bq9nb.ufheh.6sc2k
What's new
- Adds support for "all" notifications in channels
- Adjusts rich-text-encoded links to only allow "safe" URL protocols
- Fixes an issue where unreads can be de-synced between clients
- Fixes an issue where sent arrows never disappear after posting in a thread
- Fixes an issue where the unread banner appeared in strange places
- Fixes an issue where copy actions don't fall back correctly if not on SSL
- Fixes an issue where message text/content spacing is slightly off
- Fixes an issue where images have a lot of whitespace at the bottom
- Fixes an issue where the delete modal UI doesn't spin while the delete is in progress
- Fixes an issue where joining a group from talk redirects to blank screen
- Fixes an issue where leaving a reaction in a Chat thread is impossible
- Fixes an issue where the delete modal flickers if not scrolled to bottom
- Fixes an issue where unreads sometimes include your own messages
- Fixes an issue in Notebooks where references in note comments don't render
- Fixes an issue where reading all the messages in a Chat thread did not mark the channel as read
- Fixes an issue where duplicate messages would appear on send
- Fixes an issue where Chat search can crash if the
reacts
object in the render function is undefined - Fixes an isse where Chat channels can't be marked read from the sidebar
- Fixes an issue where Chat rows have too much vertical padding
- Fixes an issue where a
Cannot destructure property 'reference' of 'l' as it is null
crashes the interface - Fixes an issue where replies in Notebook comments are broken
- Fixes an issue where Gallery references in DMs fail to parse
Contributions
- dms: ensure rsvp'ing for a pending dm triggers an update by @latter-bolden in #3069
- channels: dont include self in unreads by @arthyn in #3074
- chat: prevent children of message options from unmounting upon moving mouse out of app by @patosullivan in #3078
- emojis: fix issues with adding emojis in chat by @patosullivan in #3080
- dms: optimistically update cache on hearing sub facts, fix duplicate chat messages on send by @patosullivan in #3083
- ops: fix external deploy for kernel moon by @arthyn in #3084
- join modal: don't automatically navigate after join if in Talk by @latter-bolden in #3086
- unreads: add markreads back to threads by @patosullivan in #3087
- Revert "Revert "talk-cli: import chat structures v2 always"" by @Fang- in #3088
- curio ref: pass cite nest along since we cant get it from the nav params by @latter-bolden in #3090
- chat/dms: update delete modal to spin while loading and close when complete by @latter-bolden in #3089
- notifications: add support for receiving a notification for all messages in a channel by @patosullivan in #3093
- refs: allow posting of refs in notebook and gallery comments by @patosullivan in #3094
- fix notebook/gallery comment refs copying and replying by @alecananian in #3064
- chat: fix excess image padding & chat message indentation by @latter-bolden in #3096
- refs: show as unavailable when remote post data is null by @patosullivan in #3099
- clipboard: add fallback function for non-secure contexts by @patosullivan in #3102
- unreads: use the right point in the list by @arthyn in #3103
- chat: only allow "safe" URL protocols in links by @darighost in #3056
- threads: account for the fact that we sometimes only hear facts via the subscription in useChannels by @patosullivan in #3104
- chat: make sure we load in appropriate data when scrolling to a message outside of our current messages by @patosullivan in #3092
- chat spacing: resolve sent time width being too small by @latter-bolden in #3106
- unreads: mark a chat as read when we hear that fact on unreads subscription by @patosullivan in #3105
- unreads: fix placement in threads by @arthyn in #3107
- talk: fix issue with marking read from sidebar by @patosullivan in #3110
- chat: remove useMemo, make sure reacts is defined before calling object.keys() in ChatSearchResult by @patosullivan in #3109
- Revert PR #3092, temporary fix for LAND-1364 by @patosullivan in #3111
- chat: defensively prevent sent time from wrapping by @latter-bolden in #3112
New Contributors
- @darighost made their first contribution in #3056
Full Changelog: v5.0.0...v5.1.0-rc1
v5.0.0
Over-the-air (OTA) update for %groups and %talk. This release introduces a major overhaul to the back-end architecture of %groups and %talk and updates the front-ends to match.
Desk hashes:
%groups 0v1s.7ep87.aiap9.3roit.05gnb.tcjct.8ogng.jo78m.sbd8k.ghh61.cn9dr
%talk 0v10.cfb40.mgbrc.vntu6.c3uns.rs2d5.jtn48.foaav.2023b.fukbk.9st9c
What's new
Until now, Groups had separate backend agents for channel types like Chats, Notebooks, and Galleries, each handling publishing and subscribing to content. This approach treated channel contents as distinct and merged publisher, subscriber, and client roles, resulting in slow interaction speeds - for example, interacting with a slow Notebook channel would slow down all Notebooks you interacted with.
The upcoming refactor introduces a "horizontal split," consolidating all channel types within a single agent while separating agents for publishing (%channels-server) and subscribing (%channels). This structure utilizes a single tagged union type to handle channel-specific content, allowing for more generalized behavior for publishing and subscriptions.
We are replacing each channel's subtly different data types with a single message type, $post, divided into metadata ($seal) and content ($essay). The metadata includes identifiers, unabridged replies, and reactions, while the content contains authorship, timestamp, the main post body ($story), and $kind-data. The $kind-data, varying for different channel types, contains specific data like post titles and header images for notebooks, optional block titles for collections, and join notification flags for DMs. This approach simplifies the content structure across various channels.
The refactor also involves splitting agents and types based on their interaction function (publisher, subscriber, client) rather than channel types, recognizing that each role has distinct data handling requirements. We introduce a new communication method between the publisher and subscriber to facilitate arbitrary and partial backlog loading.
This change significantly speeds up group joins, allowing quick access to recent messages and enabling piecemeal backlog retrieval. Crucially, these improvements are uniformly applied across all channel types, leveraging the shared logic of the system.
Contributions
- HAK-26: Documentation for channels API after refactor by @midsum-salrux in #2883
- channels: fix various cache issues, and then some. by @patosullivan in #2998
- chat: fix issues with sent indicators, various issues with replies by @patosullivan in #3003
- hackweek: show incompatibility message on newly joined, pre-migrated channels by @patosullivan in #3005
- replies: add hide/show to replies by @patosullivan in #3004
- hackweek: only show 'go to latest' button when we're not already at the latest by @patosullivan in #3006
- hackweek: use isLoading from useMutations for loading indicator in delete modal by @patosullivan in #3008
- hackweek: make unreads work with threads/comments by @arthyn in #3013
- DMs: frontend state management rewrite by @latter-bolden in #2996
- dms: smoother joins & leaves by @latter-bolden in #3017
- version negotiation: make additional info accessible in the hooks by @latter-bolden in #3019
- negotiation: insert facts into cache as we hear them by @patosullivan in #3020
- dms: fix delivery tracking when a dm is first created by @latter-bolden in #3022
- references: fix issue with reference paths causing notebook/gallery comment references to display improperly by @patosullivan in #3024
- dms: fix image link detection when sending messages by @latter-bolden in #3025
- dms: fix loading placeholder by @latter-bolden in #3026
- negotiation: switch to using status from negotiation rather than boolean by @patosullivan in #3027
- groups: visual fix omnibus by @jamesacklin in #3002
- chat: backwards compatibility with pre-hw dms by @Fang- in #3028
- negotiation: host connection should always be matched, shouldn't assume by @patosullivan in #3030
- dms: block new club creation if some of the ships have version mismatch by @latter-bolden in #3031
- unreads: fix issue with closing unread banner by @patosullivan in #3029
- negotiation: fix bad status in useChannelCompatibility by @patosullivan in #3032
- chat, heap, diary: migrate chat refs properly by @Fang- in #3035
- groups: refactor to improve join speed, stability, and API by @arthyn in #2817
- always show author avatar if last post was notice by @alecananian in #3038
- fix reacts popup not showing on mobile by @alecananian in #3037
- fix paging issues on infinite scroll for channels and DMs by @patosullivan in #3036
- chat: fixing duplicate message issues by @arthyn in #3040
- Land-1253 chat search doesn't work by @mrozanski in #3039
- perf: fix cpu pegging issue in chat threads by @patosullivan in #3041
- channels: better refetch handling by @arthyn in #3042
- groups: properly invalidate queries when leaving by @arthyn in #3043
- Fix some scroller issues by @dnbrwstr in #3045
- emojis: update posts in cache within onMutate, show emoji reactions optimistically by @patosullivan in #3047
- posts: prevent actions on undelivered posts by @latter-bolden in #3048
- Mariano / land-1210 landscape e2e testing group tests to run in parallel by by @mrozanski in #3016
- chat, heap, diary: send migration edits to hosts by @Fang- in #3044
- fix leap launch button in sidebar by @alecananian in #3054
- notebook: fix issue with creating notes with refs by @patosullivan in #3052
- scroller: fix jumping in threads by @dnbrwstr in #3053
- chat: thread fix omnibus by @patosullivan in #3051
- unreads: cleanup bad marker placement, wrong counts, sorting by @arthyn in #3049
- pins: fix adding and removing pinned DMs & Groups by @latter-bolden in #3050
- channels: fix issue with posting code blocks by @patosullivan in #3057
- scroller: fix issue that would cause chat input to lose focus after sending while in the scrollback by @patosullivan in #3058
- refs: show user when reference content is unavailable by @patosullivan in #3059
- chat: fix duplicate messages in threads by @patosullivan in #3060
- sidebars: better defaulting, moving constants around by @arthyn in #3061
- dms: fix missing messages after getting an unread banner by @latter-bolden in #3063
- chat: use correct ship for notice by @arthyn in #3062
- dms: fix new multidm negotiation blocking by @latter-bolden in #3065
- sort: need better defaulting since we switched from override by @arthyn in #3066
- notifications: make sure user is routed to appropriate path from a reply notification by @patosullivan in #3068
- channels: allow admins to delete posts by @patosullivan in #3071
- channels: update cache when we hear a fact about showing/hiding a post by @patosullivan in #3072
- replies: don't refetch in onsettled, caused rescry that squashed cached sent message by @patosullivan in #3073
- talk-cli: import chat structures v2 always by @Fang- in #3075
- Revert "talk-cli: import chat structures v2 always" by @Fang- in #3076
- chat: need to handle old wires by @arthyn in #3077
- ...
v5.0.0-rc4
What's Changed
Full Changelog: v5.0.0-rc3...v5.0.0-rc4
v5.0.0-rc3
What's Changed
- dms: update DM query data in place when we hear facts by @latter-bolden in #3081
Full Changelog: v5.0.0-rc2...v5.0.0-rc3
v5.0.0-rc2
v5.0.0-rc1
What's Changed
- HAK-26: Documentation for channels API after refactor by @midsum-salrux in #2883
- channels: fix various cache issues, and then some. by @patosullivan in #2998
- chat: fix issues with sent indicators, various issues with replies by @patosullivan in #3003
- hackweek: show incompatibility message on newly joined, pre-migrated channels by @patosullivan in #3005
- replies: add hide/show to replies by @patosullivan in #3004
- hackweek: only show 'go to latest' button when we're not already at the latest by @patosullivan in #3006
- hackweek: use isLoading from useMutations for loading indicator in delete modal by @patosullivan in #3008
- hackweek: make unreads work with threads/comments by @arthyn in #3013
- DMs: frontend state management rewrite by @latter-bolden in #2996
- dms: smoother joins & leaves by @latter-bolden in #3017
- version negotiation: make additional info accessible in the hooks by @latter-bolden in #3019
- negotiation: insert facts into cache as we hear them by @patosullivan in #3020
- dms: fix delivery tracking when a dm is first created by @latter-bolden in #3022
- references: fix issue with reference paths causing notebook/gallery comment references to display improperly by @patosullivan in #3024
- dms: fix image link detection when sending messages by @latter-bolden in #3025
- dms: fix loading placeholder by @latter-bolden in #3026
- negotiation: switch to using status from negotiation rather than boolean by @patosullivan in #3027
- groups: visual fix omnibus by @jamesacklin in #3002
- chat: backwards compatibility with pre-hw dms by @Fang- in #3028
- negotiation: host connection should always be matched, shouldn't assume by @patosullivan in #3030
- dms: block new club creation if some of the ships have version mismatch by @latter-bolden in #3031
- unreads: fix issue with closing unread banner by @patosullivan in #3029
- negotiation: fix bad status in useChannelCompatibility by @patosullivan in #3032
- chat, heap, diary: migrate chat refs properly by @Fang- in #3035
- groups: refactor to improve join speed, stability, and API by @arthyn in #2817
- always show author avatar if last post was notice by @alecananian in #3038
- fix reacts popup not showing on mobile by @alecananian in #3037
- fix paging issues on infinite scroll for channels and DMs by @patosullivan in #3036
- chat: fixing duplicate message issues by @arthyn in #3040
- Land-1253 chat search doesn't work by @mrozanski in #3039
- perf: fix cpu pegging issue in chat threads by @patosullivan in #3041
- channels: better refetch handling by @arthyn in #3042
- groups: properly invalidate queries when leaving by @arthyn in #3043
- Fix some scroller issues by @dnbrwstr in #3045
- emojis: update posts in cache within onMutate, show emoji reactions optimistically by @patosullivan in #3047
- posts: prevent actions on undelivered posts by @latter-bolden in #3048
- Mariano / land-1210 landscape e2e testing group tests to run in parallel by by @mrozanski in #3016
- chat, heap, diary: send migration edits to hosts by @Fang- in #3044
- fix leap launch button in sidebar by @alecananian in #3054
- notebook: fix issue with creating notes with refs by @patosullivan in #3052
- scroller: fix jumping in threads by @dnbrwstr in #3053
- chat: thread fix omnibus by @patosullivan in #3051
- unreads: cleanup bad marker placement, wrong counts, sorting by @arthyn in #3049
- pins: fix adding and removing pinned DMs & Groups by @latter-bolden in #3050
- channels: fix issue with posting code blocks by @patosullivan in #3057
- scroller: fix issue that would cause chat input to lose focus after sending while in the scrollback by @patosullivan in #3058
- refs: show user when reference content is unavailable by @patosullivan in #3059
- chat: fix duplicate messages in threads by @patosullivan in #3060
- sidebars: better defaulting, moving constants around by @arthyn in #3061
- dms: fix missing messages after getting an unread banner by @latter-bolden in #3063
- chat: use correct ship for notice by @arthyn in #3062
- dms: fix new multidm negotiation blocking by @latter-bolden in #3065
- sort: need better defaulting since we switched from override by @arthyn in #3066
- notifications: make sure user is routed to appropriate path from a reply notification by @patosullivan in #3068
- channels: allow admins to delete posts by @patosullivan in #3071
- channels: update cache when we hear a fact about showing/hiding a post by @patosullivan in #3072
- replies: don't refetch in onsettled, caused rescry that squashed cached sent message by @patosullivan in #3073
Full Changelog: v4.9.0...v5.0.0-rc1
v4.9.0
Over-the-air (OTA) update for %groups and %talk. This release enhances channel protocol handling, fixes mobile navigation and image upload issues, resolves problems with S3 storage uploads and drag-and-drop in Chat, and corrects unjoinable groups and infinite loop errors in group joining.
Desk hashes:
%groups: 0v1p.oqs25.t9bhj.ticdk.gh2v8.6itdv.20c6l.pvj9e.fra36.9vkee.qs605
%talk: 0v10.32vf6.58qo0.qqt1u.1897n.hq2pq.etuvi.li532.egthr.hgu8f.m3glm
What's new
- Adds a welcome message for native app users.
- Improves the handling of channel protocol versions by ensuring the negotiation consistently completes.
- Fixes an issue where the mobile navigation would appear when entering a comment on a gallery item or a notebook post.
- Fixes an issue where uploads with Tlon's S3 hosted storage would fail transparently.
- Fixes an issue where images would fail to upload using drag-and-drop in Chat threads.
- Fixes an issue where the three default suggested groups in the Discover tab were unjoinable.
- Fixes an issue where joining a group could throw an infinite loop.
Contributions
- mobile: hide nav on gallery item and diary note comment input focus by @patosullivan in #2993
- images: catch more failed promises in image uploads by @patosullivan in #2994
- images: fix drag and drop in chat threads by @patosullivan in #2995
- LAND-1138 Fix e2e tests (update fakes tars and outdated locators) by @mrozanski in #2997
- refs: prevent joining placeholder group by @dnbrwstr in #3000
- chat: make sure we don't override existing saga values by @arthyn in #3001
- Add e2e.md with notes on automated tests by @mrozanski in #2999
- groups: fix query invalidation loop by @latter-bolden in #3007
- analytics: fix url info logged during opt in event by @alecananian in #3009
- fix discover typo in sidebar by @alecananian in #3011
- docs: update readme by @jamesacklin in #3012
- chat, heap, diary: tighter epic logic by @Fang- in #3014
- add welcome card by @alecananian in #3018
- ops: make deploys for hackweek automatic by @arthyn in #3021
- groups: typographic + color tweaks to welcome message by @jamesacklin in #3023
Full Changelog: v4.8.1...v4.9.0
v4.9.0-rc1
Over-the-air (OTA) update for %groups and %talk. This release enhances channel protocol handling, fixes mobile navigation and image upload issues, resolves problems with S3 storage uploads and drag-and-drop in Chat, and corrects unjoinable groups and infinite loop errors in group joining.
What's new
- Improves the handling of channel protocol versions by ensuring the negotiation consistently completes.
- Fixes an issue where the mobile navigation would appear when entering a comment on a gallery item or a notebook post.
- Fixes an issue where uploads with Tlon's S3 hosted storage would fail transparently.
- Fixes an issue where images would fail to upload using drag-and-drop in Chat threads.
- Fixes an issue where the three default suggested groups in the Discover tab were unjoinable.
- Fixes an issue where joining a group could throw an infinite loop.
Contributions
- mobile: hide nav on gallery item and diary note comment input focus by @patosullivan in #2993
- images: catch more failed promises in image uploads by @patosullivan in #2994
- images: fix drag and drop in chat threads by @patosullivan in #2995
- LAND-1138 Fix e2e tests (update fakes tars and outdated locators) by @mrozanski in #2997
- refs: prevent joining placeholder group by @dnbrwstr in #3000
- chat: make sure we don't override existing saga values by @arthyn in #3001
- Add e2e.md with notes on automated tests by @mrozanski in #2999
- groups: fix query invalidation loop by @latter-bolden in #3007
- analytics: fix url info logged during opt in event by @alecananian in #3009
- fix discover typo in sidebar by @alecananian in #3011
- docs: update readme by @jamesacklin in #3012
- chat, heap, diary: tighter epic logic by @Fang- in #3014
Full Changelog: v4.8.1...v4.9.0-rc1
v4.8.1
Over-the-air (OTA) update for %groups and %talk. This incremental release fixes an issue where the mobile viewport would errantly zoom on random elements.
Contributions
- images: turn off webworker, fixes issue on safari on hosted ships by @patosullivan in #2989
- images: catch every promise rejection in the upload store by @patosullivan in #2990
- meta: prevent user scaling by @latter-bolden in #2988
- images: flip usewebworker back on by @patosullivan in #2991
Full Changelog: v4.8.0...v4.8.1