Michael Telatynski
f10d35cb18
Add try-catch around blurhash loading ( #8830 )
2022-06-13 13:25:32 +01:00
Šimon Brandner
9b8b1d193e
Disable redacting reactions if we don't have sufficient permissions ( #8767 )
2022-06-10 18:41:05 +00:00
Kerry
2bdb4d396a
Live location share - show loading UI for beacons with start timestamp in the future (PSF-1081) ( #8775 )
...
* check for beacons that are yet to start and show loading ui
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update snapshots for js-sdk rename
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove debug
Signed-off-by: Kerry Archibald <kerrya@element.io>
* Update test/components/views/messages/MBeaconBody-test.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/beacon/displayStatus.ts
Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-06-09 13:25:30 +01:00
Michael Telatynski
21d0aaf524
Use updates stable relations from js-sdk ( #8715 )
...
* Use updates stable relations from js-sdk
* Relations is now accessible on the Room instead
* Reuse more existing code and ditch confusing `isThreadRelation`
* Fix last usage of removed `isThreadRelation`
* Update tests to match removal of isThreadRelation
* Tweak method naming to closer match spec
* Fix missing method name change
2022-06-07 11:16:54 +01:00
Germain
f14374a51c
Improve composer visiblity ( #8578 )
...
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-06-07 07:28:29 +00:00
Kerry
79a2dfe171
Live location share - enable reply and react to tiles ( #8721 )
...
* test most basic paths in messageactionbar
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use rtl for MessageActionBar test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make beacon_info events semi actionable
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove log
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test thread exception for beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* eat click events in beacon status to stop jumping from reply tile
Signed-off-by: Kerry Archibald <kerrya@element.io>
* set max width on beaconbody for render in thread panel
2022-06-02 15:43:19 +00:00
Michael Telatynski
fe21ec8715
Consolidate random string generation to make Sonar happier ( #8675 )
...
* Consolidate random string generation to make Sonar happier
* Update snapshots
2022-05-24 09:05:11 +01:00
Kerry
804ddbb332
Live location sharing - update live location tiles (PSF-1027) ( #8649 )
...
* update map svg
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add map fallback component, update styls
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update purple location icon style
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fussy import ordering
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-05-20 09:49:01 +00:00
Šimon Brandner
efc36acf93
Don't open the regular browser or our context menu on right-clicking the Options
button in the message action bar ( #8648 )
2022-05-19 15:26:35 +00:00
Michael Telatynski
ce73b9988e
Hide image banner on stickers, they have a tooltip already ( #8641 )
2022-05-18 10:08:33 +01:00
Michael Telatynski
007b8816df
Tweak ReactionsRow to make saner use of its RoomContext ( #8623 )
...
* Tweak ReactionsRow to make saner use of its RoomContext
* `this.context.canReact` already asserts membership=join
2022-05-17 14:17:27 +01:00
Travis Ralston
12cee6e29f
Add missing key
to ReplyInThreadButton
as used in MessageActionBar
( #8616 )
2022-05-16 18:09:38 -04:00
Travis Ralston
f51a6b6da4
Show file name and size on images on hover ( #6511 )
...
* Show simple file name and size on images/videos
Fixes https://github.com/vector-im/element-web/issues/18197
* i18n
* Fix bad merge
* Add hover state tracking
* Only show on timeline-like objects
* Match new design requirements
* Remove video support (deemed not needed)
* Colouring and sizing from design
* Include file name in lightbox
* Revert changes to videos since we don't need them
* i18n
* Iterate PR
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-05-14 10:31:53 +02:00
Šimon Brandner
a0c3a3ab06
Fix download button not working on events that were decrypted too late ( #8556 )
2022-05-10 17:22:39 +00:00
Robin
97c99c6aae
Only jump to date after pressing the 'go' button ( #8548 )
2022-05-10 12:49:05 -04:00
Travis Ralston
548290b006
Run a minor code quality checker over the repo ( #8524 )
...
* Run a minor code quality checker over the repo
Largely targeted at spelling of common words and misc code issues.
* Update snapshots
2022-05-09 22:52:05 +00:00
Kerry
12af3038a8
fix message indent in thread view ( #8462 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-05-03 13:51:50 +02:00
Kerry
472222c195
LLS: error handling on stopping beacon ( #8406 )
...
* shared stopping error state for timeline, maxi and room warnign
Signed-off-by: Kerry Archibald <kerrya@element.io>
* check for stopping errors in roomlist share warning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test stopping errors in OwnBeaconStore
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update LeftPanelLiveShareWarning tests for stopping errors
Signed-off-by: Kerry Archibald <kerrya@element.io>
* reinstate try/catch for stopping beacons in create
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove unnecessary and buggy beacon stopping on creation
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-28 12:03:51 +00:00
RiotRobot
ba624c8ef2
Merge branch 'master' into develop
2022-04-26 11:50:38 +01:00
Michael Telatynski
6b0156d876
Merge remote-tracking branch 'origin/release-v3.43.0'
...
# Conflicts:
# CHANGELOG.md
# package.json
# src/components/views/messages/MessageActionBar.tsx
2022-04-26 11:49:16 +01:00
Michael Telatynski
f85e178fc1
Fix centering issue with sticker placeholder ( #8404 )
2022-04-25 17:36:32 +00:00
Michael Telatynski
a3f9123f6c
Disable download option on <video/> , preferring dedicated download button ( #8403 )
2022-04-25 12:33:49 +00:00
Kerry
4a38cbd550
Live location sharing: beacon list view tiles ( #8363 )
...
* add basic sidebar container
Signed-off-by: Kerry Archibald <kerrya@element.io>
* optionally show icon in beaconstatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add avatar and style list item
Signed-off-by: Kerry Archibald <kerrya@element.io>
* formatted last update time
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beacon list item
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move makeRoomWithState events to test utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move beacon test helpers into utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* newline
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add copyable text to beacon list item
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add copyable geo uri to list item
Signed-off-by: Kerry Archibald <kerrya@element.io>
* improve spacing
Signed-off-by: Kerry Archibald <kerrya@element.io>
* overflow scroll on list
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-20 11:57:50 +00:00
Suguru Hirahara
a471742e97
Fix UnknownBody error message unalignment ( #8346 )
2022-04-20 07:48:38 +00:00
Kerry
f70186ea9b
Live location sharing: set map bounds to include all locations ( #8324 )
...
* open a dialog with map centered around first beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test dialog opening from beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beaconmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add bounds to Map comp
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add focusBeacon to beaconviewdialog, use bounds
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use membercolor on beacon view markers
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add lnglatbounds to maplibre mock
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update snapshots for expanded maplibre Map mock
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test map bounds
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy copy paste comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add fallback when no more live locations
Signed-off-by: Kerry Archibald <kerrya@element.io>
* accurate signature for getBoundsCenter
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-19 11:35:39 +00:00
Šimon Brandner
511965b840
Cleanup MessageContextMenu
code ( #8351 )
2022-04-19 07:59:23 +00:00
Šimon Brandner
11e0a3a8fa
Enable the message right-click context menu in the browser ( #8336 )
...
* Enable the message right-click context menu in the browser
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Move `getSelectedText()` to `strings.ts`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Move `canCancel()` to `EventUtils.ts`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-04-15 12:12:40 -06:00
Robin
7335b35fbb
Avoid looking up settings during timeline rendering ( #8313 )
...
* Avoid showHiddenEventsInTimeline lookups
* Avoid MSC3531 feature lookups
* Test that showHiddenEventsInTimeline doesn't get looked up while
rendering
* Fix code review nits
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 23:23:22 +00:00
Janne Mareike Koschinski
1436f23e2f
Fix image preview sizing for edge cases ( #8322 )
2022-04-14 20:07:34 +02:00
Kerry
f95106d2c6
Live location sharing - basic maximised beacon map ( #8310 )
...
* open a dialog with map centered around first beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add room member markers
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix unmount issue in smart marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* dont throw on no more live locations
Signed-off-by: Kerry Archibald <kerrya@element.io>
* cursor on beacon maps
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fussy import ordering
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test dialog opening from beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beaconmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test BeaconViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use unstable prefix for wk tile_Server
Signed-off-by: Kerry Archibald <kerrya@element.io>
* unstable prefix for new m.tile_server use in test
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-14 13:14:05 +00:00
Kerry
1c215e2b71
Live location sharing - render users own beacons in timeline ( #8296 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* working map in location body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove skinned sdk
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use new ZoomButtons in MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test LocationViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update commentt
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extract livetimeremaining into own component
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extract more beacon state utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update tests for roomlivesharewarning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add beacon map and status chin
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add handling for bubbles
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tests for BeaconBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move displaystatus check up to mbeaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rename BeaconStatusChin -> BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make BeaconStatus generic
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* adjust spinner size
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add static time remaining option to beacon status
Signed-off-by: Kerry Archibald <kerrya@element.io>
* render time differently for own beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use children to add actions to BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add OwnBeaconStatus wrapper with stop button
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add error states for own beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test OwnBeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move ownbeaconstatus to write dir
Signed-off-by: Kerry Archibald <kerrya@element.io>
* improve button styling
Signed-off-by: Kerry Archibald <kerrya@element.io>
* i18n
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-14 14:41:28 +02:00
Michael Telatynski
1c1d5ea5a9
[Release] Fixes around threads beta in degraded mode ( #8319 )
...
* Fix soft crash around the thread panel in degraded mode
* Better specify fallback key
* Hide MAB Threads prompt if user would have degraded mode
* Confirm user wants to enable Threads beta if in degraded mode
* Fix copy
2022-04-14 12:07:43 +01:00
Michael Telatynski
7a1a2c41d2
Improve Threads beta around degraded mode ( #8318 )
...
* Hide MAB Threads prompt if user would have degraded mode
* Confirm user wants to enable Threads beta if in degraded mode
* fix
* Fix copy
2022-04-14 11:50:55 +01:00
Kerry
e59edb7101
Live location sharing - beacon in timeline happy path ( #8285 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* working map in location body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove skinned sdk
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use new ZoomButtons in MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test LocationViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update commentt
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extract livetimeremaining into own component
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extract more beacon state utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update tests for roomlivesharewarning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add idle status to live beacon icon
* add beacon map and status chin
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add handling for bubbles
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tests for BeaconBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* i18n
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move displaystatus check up to mbeaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rename BeaconStatusChin -> BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make BeaconStatus generic
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* adjust spinner size
Signed-off-by: Kerry Archibald <kerrya@element.io>
* polish and copyrights
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* better comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-13 10:44:15 +02:00
Michael Telatynski
ceae8bb39a
Hide the reply in thread button in deployments where beta is forcibly disabled ( #8294 )
2022-04-12 14:24:23 +00:00
Michael Telatynski
59fda5273f
When selecting reply in thread on a thread response open existing thread ( #8291 )
2022-04-12 14:42:47 +01:00
Kerry
661e2c2aa5
Live location sharing - beacon map in timeline ( #8286 )
...
* add displaystatus util
Signed-off-by: Kerry Archibald <kerrya@element.io>
* map fallback svg
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add Map to mbeaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add bubble layout handling
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* typo
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use randomString from js-sdk
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-12 09:13:55 +01:00
Kerry
9ba55d1d14
Live location sharing - consolidate maps ( #8236 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* working map in location body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test Map
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove skinned sdk
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update snaps with new mocks
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use new ZoomButtons in MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make LocationViewDialog map interactive
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test LocationViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add copyrights, shrink snapshot
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 18:40:06 +02:00
Suguru Hirahara
f648140d0c
Use a consistent alignment for all text items in a list ( #8276 )
...
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-04-11 12:39:47 +00:00
Kerry
b760ec9392
Location sharing - extract isSelfLocation util ( #8279 )
...
* extract isSelfLocation into utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* replace use of isSelfLocation
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 13:58:35 +02:00
Kerry
aecd71ad15
Live location sharing - update beacon tile with latest location ( #8265 )
...
* add useBeacon hook
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update message tile types to work with function comp with ref
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use beacon hook in beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update beacon body with (textual) latest locations, test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* language in comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comments
Signed-off-by: Kerry Archibald <kerrya@element.io>
* copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 09:16:32 +00:00
Kerry
94385169f1
Live location sharing - smart location marker ( #8232 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove skinned-sdk
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* better types for LocationBodyContent
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 10:29:24 +02:00
Kerry
f63923d60f
Live location sharing - add configs to render beacon_info in timeline ( #8251 )
...
* add configs to render beacon_info in timeline
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
* one more comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use special case for beacon_info tile mapper
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-08 09:05:26 +00:00
Kerry
b98739056e
Live location sharing - extract location markers into generic Marker ( #8225 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comments
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove skinned
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-06 12:40:39 +01:00
Travis Ralston
0280c27bfd
post-merge fixes
2022-04-05 10:57:16 -06:00
Travis Ralston
4057833036
Merge branch 'develop' into travis/remove-skinning
2022-04-05 10:50:37 -06:00
Germain
694c39e72d
Enable threads by default and mark it as a beta feature ( #8081 )
2022-04-05 17:15:31 +01:00
Michael Telatynski
27e48062b6
Apply tweaks to Thread list as per design spec ( #8149 )
...
Co-authored-by: Germain Souquet <germains@element.io>
2022-04-05 17:01:34 +01:00
Robin
39f001e7f5
Make "Jump to date" translatable ( #8218 )
2022-04-04 07:32:36 -04:00
Travis Ralston
66401c844f
Step 8.5: Move right panel context
2022-03-28 14:02:31 -06:00