Commit Graph

110 Commits (5b2bafacc9213addcfb24cea2b8201adb8be50b6)

Author SHA1 Message Date
Šimon Brandner 787ace9dc5
Add `Reply in thread` button to the right-click message context-menu (#9004) 2022-07-23 12:13:49 +00:00
Will Hunt 7842d5165c
Prefer using the canonical alias in spotlight search (#9055)
* Prefer using the canonical alias in spotlight search

Public rooms on other homeservers are not joinable via the roomId if they haven't been joined by other users on your homeserver.

* Ensure we call the action with the room_alias

* lint

* Drop display

* Always provide roomId

* Add rationale to room_id, room_alias

* whoops

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-07-15 11:22:40 +00:00
Travis Ralston 7f5bb61a79
Support a module API surface for custom functionality (#8246)
* Early implementation of module API surface + functions for ILAG module

* Wire up dialog functions and ILAG-needed surface

* Ensure component renders for modules get overridden

* Respond to changes from module API interface

* Use a real module-api dependency

* Update for new Dialogs interface

* Add support for getConfigValue from module API

* Update the remainder of the module API interface

* Docs & cleanup

* Add some unit tests around module stuff

Needs end-to-end tests still.

* Appease early linters

* Break import cycles by not directly depending on Lifecycle

* Appease the linter

* Fix bad merge
2022-07-05 12:26:44 -06:00
Michael Telatynski 424d33d4b0
Fix PlatformSettingsHandler always returning true due to returning a Promise (#8954)
* Fix PlatformSettingsHandler always returning true due to returning a Promise

* Improve typescript
2022-06-30 14:48:21 +00:00
Michael Telatynski 3c5c2bef6d
Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01:00
Michael Telatynski ba2ce5ecba
Abstract electron settings properly to avoid boilerplate-hell (#8798)
* Remove unused method `BasePlatform::screenCaptureErrorString`

* Improve platform typescripting

* Remove redundant awaits

* Abstract electron settings properly to avoid boilerplate-hell

* i18n

* Fix stray semi-colons

* Fix setting level order for Platform settings
2022-06-10 22:38:50 +01:00
Michael Telatynski 8036985204
Update matrix-analytics-events to @matrix-org/analytics-events (#8778)
* Update matrix-analytics-events to @matrix-org/analytics-events

* Update install-deps.sh

* Update layered.sh

* Update BeaconMarker-test.tsx.snap

* Update BeaconStatus-test.tsx.snap
2022-06-07 20:08:36 +01:00
Michael Telatynski d75e2f19c5
Fix font not resetting when logging out (#8670)
* Fix font not resetting when logging out

* Adopt on_logged_in and on_logged_out into DispatcherAction

* Add tests

* Add copyright
2022-05-26 09:56:53 +01:00
Germain fdd5494402
Add dialog to navigate long room topics (#8517) 2022-05-13 08:55:10 +01:00
Michael Telatynski ad4d3f9a88
Move threads e2e tests over to cypress (#8501)
* Add non-consent (default) Synapse template

* Add consent test

* Add create room test

* Stash work

* Initial threads tests

* fix

* Delete old threads e2e tests, plan new ones

* Fix typed s'more

* Try something else

* specify d.ts

* Fix types once and for all?

* Fix the consent tests

* Iterate threads test harness

* Fix dispatcher types

* Iterate threads test

* fix typing

* Alternative import attempt

* let it break let it break let it break

* Tweak types

* Stash

* delint and update docs

* null-guard scrollIntoView

* Iterate threads test

* Apply suggestions from code review
2022-05-10 17:09:31 +00:00
Eric Eastwood 3a241e0dfb
Log `TimelinePanel` debugging info when opening the bug report modal (#8502)
To debug all of the timeline problems:

 - https://github.com/vector-im/element-web/issues/21613
 - https://github.com/vector-im/element-web/issues/21922
 - https://github.com/vector-im/element-web/issues/21432
 - https://github.com/vector-im/element-web/issues/21533
2022-05-09 21:32:25 -05: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
Travis Ralston 2aec197354 Remove feature_many_integration_managers
Rationale: If we want this feature, design will do it properly.
2022-05-06 12:46:26 -06:00
Janne Mareike Koschinski 579a166113
Fix: Remove jittery timeline scrolling after jumping to an event (#8263)
* Fix: Remove jittery timeline scrolling after jumping to an event

* Fix: Remove onUserScroll handler and merge it with onScroll

* Fix: Reset scrollIntoView state earlier

Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
2022-04-08 20:48:57 +02:00
Travis Ralston 9a75acba17 Step 8.5: Move "add existing to space" dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston cd98106afb Step 8.5: Move call transfer invite dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston 528482f74d Step 8.5: Move some space settings dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston c8582c7199 Step 8.5: Move logout call during deactivation 2022-03-28 14:02:31 -06:00
Travis Ralston bcf413734b Step 8.5: Move tabbed integration manager dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston 226700ba95 Step 8.5: Move report event dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston 8dab169c52 Step 8.5: Move forward dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston 4144d0ba57 Step 8.5: Isolate RightPanelStore from RoomViewStore 2022-03-28 14:02:31 -06:00
Michael Telatynski d9276426fa
When showing thread, always auto-focus its composer (#8115) 2022-03-23 10:54:40 +00:00
Robin 83f2bf4261
Improve remove recent messages dialog (#6114)
* Allow keeping state events when removing recent messages

The remove recent messages dialog redacts most state events since they
can be abuse vectors as well, however some users that see the option
actually want to use it to only remove messages. This adds a checkbox
option to do so.

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't redact encryption events when removing recent messages

Signed-off-by: Robin Townsend <robin@robin.town>

* Show UserMenu spinner while removing recent messages

This also generalizes the UserMenu spinner to work with other types of
actions in the future.

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify remove recent messages warning

Clarify that they are removed for everyone in the conversation, not just
yourself.

Signed-off-by: Robin Townsend <robin@robin.town>

* Adjust copy and preserve state events by default

* Redact messages in reverse chronological order

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-18 20:08:32 +00:00
Michael Telatynski c727942095
Autofocus correct composer after sending reaction (#7950) 2022-03-02 16:31:34 +00:00
Michael Telatynski c257bc3f7a
Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00
Kerry 5b8d440406
type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Michael Telatynski 658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Kerry b5e7d12f76
Add config option to autorageshake when key backup is not enabled (#7741)
* report on not enabled

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add setting

Signed-off-by: Kerry Archibald <kerrya@element.io>

* check key backup status after crypto init

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove log

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test encryption setup in DeviceListener

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* sendLogs for key backup auto-report event

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove reloadOnChagneController

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-11 14:00:37 +01:00
Michael Telatynski 0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Timo f6effc52fd
Fix active Jitsi calls (and other active widgets) not being visible on screen, by showing them in PiP if they are not visible in any other container (#7435)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-11 11:25:21 +01:00
Timo 4ab3470184
History based navigation with new right panel store (#7398)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 17:25:41 +01:00
Timo 325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Michael Telatynski 914b61239c
Spotlight search labs (#7116) 2021-12-10 11:50:01 +00:00
Aaron Raimist 5b293dd6df Remove files created by merge
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:21:12 +00:00
Aaron Raimist 7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Michael Telatynski 275e9c1d02
Update space panel expand mechanism (#7230) 2021-12-07 09:32:00 +00:00
James Salter 5219b6be80
Analytics opt in for posthog (#6936)
* Add a new flag pseudonymousAnalyticsOptIn replacing analyticsOptIn, stored at account level, so people only need to opt in once.

* Show a toast in login to users that have analyticsOptIn set but not yet pseudonymousAnalyticsOptIn prompting them confirm the new method is okay. Update the copy of the existing opt-in toast. Don't notify users that previously opted out.

* Update the copy in settings

* Add a new learn more dialog

* Support a new config flag analyticsOwner which is used in these toasts when explaining which entity the data is sent to ("Help improve %(analyticsOwner)"). If unset, display brand. This allows deployments whose brand differs from the receiver of the analytics to explain the situation to their users (e.g. AcmeCorp badges their app, but explains the data is sent to Element, not them)

* The new opt-in and flags are only used when posthog is configured; prior to that there are no changes to UX or tracking behaviour.
2021-12-06 09:39:33 +11:00
Šimon Brandner cbb34d8ac7
Make `CallHandler` more `EventEmitter`y (#6704)
* sharedInstance() -> instance

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use CallState event instead of dispatching

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplifie some code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method to start a call instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method instead of place_conference_call

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make terminateCallApp() and hangupCallApp() public

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupAllCalls() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use answerCall() instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupOrReject() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update docs

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-30 18:09:13 +00:00
Renan Cleyson ae0dba4e87
Add `view_room` to `Action` enum (#7203)
* Add ViewRoom action to Action enum

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Change view_room occurrences to Action.ViewRoom

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Add missing Action import
2021-11-25 21:49:43 +01:00
Michael Telatynski ddbfebbaa0
Fix automatic composer focus, regressed by threads work (#7167) 2021-11-19 17:15:15 +00:00
Aaron Raimist f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Šimon Brandner c3ad8b4eed
Cleanup re-dispatching around timelines and composers (#7023)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-10-25 11:43:54 +00:00
Aaron Raimist bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Germain e20ac7bf1e
Implement deep-linking for threads (matrix.to) (#7003) 2021-10-22 09:30:36 +01:00
Dariusz Niemczyk 562a880c7d
Create room threads list view (#6904)
Implement https://github.com/vector-im/element-web/issues/18957 following requirements:
* Create a new right panel view to list all the threads in a given room.
* Change ThreadView previous phase to be ThreadPanel rather than RoomSummary
* Implement local filters for My and All threads

In addition: 
* Create a new TileShape for proper rendering requirements (hiding typing indicator)
* Create new timelineRenderingType for proper rendering requirements
2021-10-14 15:27:35 +02:00
Dariusz Niemczyk 1331e960fa
Add ability to properly edit messages in Threads. (#6877)
* Fix infinite rerender loop when editing message

* Refactor "edit_event" to Action.EditEvent

* Make up-arrow edit working in Threads

* Properly handle timeline events edit state

* Properly traverse messages to be edited

* Add MatrixClientContextHOC

* Refactor RoomContext to use AppRenderingContext

* Typescriptify test

Co-authored-by: Germain <germains@element.io>
2021-10-01 15:35:54 +02:00
Michael Telatynski 02dbdc5c0a Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18093
 Conflicts:
	src/components/views/spaces/SpaceTreeLevel.tsx
	src/dispatcher/actions.ts
	src/i18n/strings/en_EN.json
2021-07-29 16:11:16 +01:00
Michael Telatynski ed950875e7 Fix space hierarchy not updating when user mutates it 2021-07-28 19:08:59 +01:00
Michael Telatynski 12461a79e1 Move SettingsStore `setting_updated` dispatch to action enum 2021-07-27 17:19:45 +01:00