urbit-os-v2.49
This release will be pushed to the network as an over-the-air update.
Base hash (check with +trouble):
0v1f.umieh.nvtlq.v21he.obni1.ls0ef.o86gt.so0i8.rlpg4.h9eqn.0tvgq
Breaking changes:
- The graph-update and metadata-update have been upgraded, with corresponding
new marks
Release notes:
- Adds the ability to link to chat messages, notes, links, and comments, and
jump to them across the interface. These permalinks can also be added to
collections and shared as links outside of Urbit (if the recipient, too, has
Landscape). Permalinks also allow people to automatically join groups and
channels if both are public, jumping straight to the content.
- Adds a protocol handler, web+urbitgraph://, on Chrome and Firefox over HTTPS,
that allows the browser to redirect permalinks to your Landscape session.
- Adds a new module, the group feed, as an option for each group. Hosts, admins
and members can be permissioned to a group feed, posting and replying in
threaded conversations.
Contributions:
James Acklin (3):
chat: adjust unread banner corners
interface: trunc channel names & descriptions in header
resourceSkeleton: remove imports
Joe Bryan (2):
test: check that nock 9 with axis 1 is handled correctly
test: move nock tests
Liam Fitzgerald (68):
group-view: add hidden field
interface: support group-view %hide
interface: dont pin invites to top
metadata-push-hook: do not crash on new hidden metadata
ProfileOverlay: refactor, fixed pos
Post: prompt for permissions
Post: code, links input
interface: virtualscroll style fixes
hark-graph-hook: notifications for group feed
notifications: render post notifications
graph: permalinks
wip
permalinks: restructure paths
permalinks: support in apps
permalinks: add transclusion
permalinks: cap transclusion depth
graph-store: upgrade reference content
interface: fix private permalinks
graph-store: +on-load
interface: update transclusion for reference content
interface: register permalink handler
interface: styling fixes for permalinks
permalinks: cleanup styling
glob: update to 0va6530.ql5e0.5cb4q.m1gq5.d7mdk
md-pull-hook: fix on-load
pull-hook: delay scry in on-load
glob: update to 0v4.vahcq.smjic.02aim.lrbn7.qfpmv
graph-store: fix crash in JSON
Sidebar: fix render on safari
permalinks: fix parsing
GroupFeed: fix crash on enable
embeds: fix protocol
glob: update to 0v2.cr29j.cb5a2.64vl5.rumn3.34r76
chat: cap block content at 500px
ProfileOverlay: fix contact render
chat: fix showing contact in transclusion
invites: render correctly
chat: update links to match spec
Post: fix various crashes
Post: fix virtscroller position on replies
collections: update link copy
collections: allow %reference
interface: support %reference in collections
Invites: fix prop passing
group-view: add %started update
interface: support %started update
post: do not notify on top level content
Post: allow transclusion of and into
interface: update md version
Post: allow submission with ctrl+enter
Post: enable feed modal fixes
GroupFeed: add settings page
GroupHome: description by default
interface: fix protocol handler
AddFeedBanner: update design to match spec
PostInput: adjust resize behaviour
interface: normalize headers to 600 font weight
Post: show reply if main post
AddFeedBanner: show only to owner
GroupSettings: hide feed settings to non-owners
Post: refactor permission variations
Post: update permissions to support admins properly
Post: tweak permissions to match designs
interface: tweak permissions copy
interface: remove duplicate import
interface: prevent crash in non-group workspace
VirtualScroller: repaint on loaded
glob: update to 0v6.i86m5.f4rs9.l09fu.a7d86.v00sl
Logan Allen (82):
graph-validator-post: built initial graph-validator for group feed
interface: built out initial navigation and routes for group feed
interface: reorganize components into respective files, add feed banner
metadata-store: modify module from @t to (each @t (unit (unit md-resource))) so as to allow for setting an optional group feed associated with a group
metadata-store: do not discard preview parameter
interface + -group-create thread: group homepage asks if you want to enable feed
metadata-store: based on discussion with @ixv, made differences between graphs and groups in metadatum more clear
interface: update to use new config variable instead of module
-group and -graph threads: update to use new module data structure
metadata-store, observe-hook, threads: auto-joining group feeds works for groups you're already a part of, and so does group feed creation
graph-validator-post: reject invalid input
signatures: properly use life instead of signed data in scry for deed
-graph-add-nodes: sign nodes
push-hook: refactored to transform-proxy-update within forward-update when appropriate. changed a manual |- into +murn
push-hook: cache transform and fail if transform fails
group-view: automatically join the group feed if one is present when we first join a group
metadata + post validator + -graph-create-group-feed: end to end create group feed
graph-view: add json conversion and -graph-dismiss-group-feed thread
thread: change name from disable-group-feed to dismiss-group-feed
interface: hooked up basic enable/disable feed API, updated sidebar and display stuff
interface: cleaning up Home components to ready for building full group feed
interface: initial skeleton of post feed, breaking out into different components
interface: group feed post input with API actions works
interface: render basic posts
interface: reorganized post item and got virtual scroller working
interface: fleshing out PostItem with footer, use of MentionText instead of copied code from chat
interface: make PostItem properly resize
interface: style fixes after talking with Jimmy
interface: fully support pagination
interface: submitting replies works
interface: possible to navigate to proper reply path, reply view next up to work on
interface: make renderer in PostFeed stable, style tweaks
interface: populating group feed header and correctly indicating navigation location
interface: use Author component for proper display name rendering and overlay sigil
interface: fix up issues from zustand merge
interface: fix more merge issues
interface: re-render post feed on pending change
interface: buggy implementation of reply view
interface: feed header closer to correct, virtual scroller working better
interface: make nested reply views work and empty reply view work
interface: reset virtual scroller properly for reply view and render empty state better
interface: group feed header matches mocks
graph-validator-post: fix indentation
metadata: updated all mark usage from %0 to incompatible %1
tally: fix for metadata
interface: fix a grab bag of group feed design issues, including header spacing, highlighting message upon hovering, collapsing text content of large posts, ensuring overflow of content works properly, ensuring scroll works properly for large content items, etc
group-feed: fix reply view top margin
group-feed: fix text overflow to make it not cut-off horizontally incorrectly
group-feed: prevent event propagation for links so as not to trigger page navigation, enable remote content embeds properly
group-feed: copy permalinks from group feed posts
group-feed: prevent crash by temporarily using Spaces icon
interface: post permalinks work
interface: borders changed from washedGray to lightGray to match Figma mocks
interface: share profile banner washedGray to lightGray
interface: profile and settings light gray
interface: terminal and permalink embeds washedGray -> lightGray
group-feed: improve performance and make mobile load
interface: remove worthless withMemo
interface: moved around post items
interface: missing contacts in PostReplies
interface: re-render reply view properly by modifying locationUrl prop
interface: group feed prop drilling reduced, purecomponent approach discarded, subscription restart rewritten
interface: fix PostReplies crash
interface: fix empty group home
graph-push-hook: add hc where appropriate and enforce type-checking to prevent issue in future
graph-validators: speed up validators by adding type casts
graph-validator-post: added type-casts where appropriate
group-feed: tons of post item touch-ups
group-feed: finalize timeline padding
graph-view: add %vip field to %create-group-feed
interface: update frontend api actions
interface: vip prop drilling for group feed
interface: group feed permissions work properly
interface: remove log
interface: redirect properly upon create and dismiss of group feed
graph-disable-group-feed: archive the graph if necessary
interface: fix group feed settings render
interface: api, fix disable group feed
interface: group feed history goBack works
interface: fix back button not showing up on mobile
interface: replace baseurl + feed
interface: back button works again in group feed
Matilde Park (7):
interface: rename web+urbit URI -> web+urbit-graph
landscape: stubbing empty functions
RemoteContent: flex truncate links
landscape: delete console.logs, revert instant timeout
landscape: don't build serviceworker in dev
groupFeed: flex width of parent row of 'add feed'
api/graph: adding fallback vip
fang (1):
gen: delete |wash-gall
raghu (5):
ddiff: add generator
dojo: print thread results as tang if they are tang
ddiff: c/r
ddiff: always show full beam in diffs
renaming ddiff to diff
tinnus-napbus (1):
strandio: fix await-thread and thread-result