Commit Graph

40 Commits

Author SHA1 Message Date
Michael Telatynski 7b3a4e556a Conform more of the codebase to strictNullChecks (#11100) 2023-06-22 14:39:36 +01:00
Michael Telatynski 6a3f59cc76 Make more of the codebase conform to strict types (#10857) 2023-05-16 14:25:43 +01:00
Michael Telatynski 456c66db5b Conform more of the codebase to strictNullChecks (#10800) 2023-05-10 08:41:55 +01:00
Michael Telatynski bf641d1823 Fix more detached DOM leaks (#10806) 2023-05-09 07:50:57 +00:00
Michael Telatynski be5928cb64 Conform more of the codebase to strictNullChecks (#10672)
* Conform more of the codebase to `strictNullChecks`

* Iterate

* Iterate

* Iterate

* Iterate

* Conform more of the codebase to `strictNullChecks`

* Iterate

* Update record key
2023-04-21 11:50:42 +01:00
Michael Telatynski 93b4ee654b Conform more of the codebase to strictNullChecks (#10666)
* Conform more of the codebase to `strictNullChecks`

* Iterate

* Iterate

* Iterate

* Iterate
2023-04-20 09:49:10 +01:00
Michael Telatynski 605ef084ec Conform more of the codebase to strictNullChecks (#10573)
* Conform more of the codebase to `strictNullChecks`

* Iterate
2023-04-13 08:52:57 +01:00
Michael Telatynski 127a3b667c Conform more of the codebase to strictNullChecks (#10350
* Conform more of the codebase to `strictNullChecks`

* Iterate

* Generics ftw

* Iterate
2023-03-10 14:55:06 +00:00
Michael Telatynski 80fc0997a4 Explicitly specify all children props (#10312) 2023-03-08 13:28:07 +00:00
Michael Telatynski 61a63e47f4 Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Michael Telatynski 030b7e90bf Enable @typescript-eslint/explicit-function-return-type in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Telatynski f1e8e7f140 Enable @typescript-eslint/explicit-member-accessibility on /src (#9785)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier
2022-12-16 12:29:59 +00:00
Michael Weimann 526645c791 Apply prettier formatting 2022-12-12 12:24:14 +01:00
Michael Telatynski d258402186 Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Travis Ralston 09282d9f36 Minor code quality updates for ScrollPanel (#9639)
* Minor code quality updates for ScrollPanel

and removal of unused function `scrollRelative` in MessagePanel (discovered when changing the scrollRelative types in ScrollPanel).

Changes:
* Clean up logging a bit, make it clearer
* Remove dead code
* Add extra types for tsc --strict compliance (not complete)
* Fix IDE warnings around spelling and missing awaits/promise return values
* Modernize usage of logging

* Fix more tsc --strict errors while we're here

* It's a good thing we have a linter

* Fix even more strict errors
2022-11-29 07:43:14 -07:00
Michael Telatynski d626f71fdd Extract Search handling from RoomView into its own Component (#9574)
* Extract Search handling from RoomView into its own Component

* Iterate

* Fix types

* Add tests

* Increase coverage

* Simplify test

* Improve coverage
2022-11-18 16:40:22 +00:00
Eric Eastwood 46ba14219c Add a way to toggle ScrollPanel and TimelinePanel debug logs (#8513)
Part of https://github.com/vector-im/element-web/issues/21532

To better debug timeline issues when they crop up.

Turn on:
```js
mxSettingsStore.setValue('debug_scroll_panel', null, 'device', true);
mxSettingsStore.setValue('debug_timeline_panel', null, 'device', true);
```

Turn off:
```js
mxSettingsStore.setValue('debug_scroll_panel', null, 'device', false);
mxSettingsStore.setValue('debug_timeline_panel', null, 'device', false);
```
2022-05-06 11:13:23 -05:00
Michael Telatynski 482bb6f48b Fix issue with underfilled timelines when barren of content (#8432) 2022-04-28 10:26:57 +01:00
Michael Telatynski 0c7a4dfcac Fix issue with threads timelines with few events cropping events (#8392) 2022-04-22 22:29:57 +01: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 997d6d40bf Step 1: Remove all usage of @replaceableComponent 2022-03-28 14:02:31 -06:00
Michael Telatynski 29c1c8d1e1 Fix ScrollPanel data-scrollbar not responding to window resizing (#7841) 2022-02-18 13:03:16 +00:00
Šimon Brandner a17d585a12 Work towards unifying KeyboardShortcuts and KeyBindingsDefaults #2 (#7674) 2022-01-31 15:55:45 +00:00
Michael Telatynski 4b5ca1d7a9 Fix timeline jumping issues related to bubble layout (#7529) 2022-01-18 09:31:21 +00:00
Kerry 846fbfa2a0 Add jsx-a11y eslint plugin (#7434)
* add matrix-org a11y eslint plgin

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

* add eslint a11y, enable and fix anchor-has-content rule

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

* enable and fix jsx-a11y/no-redundant-roles

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

* remove debug

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

* i18n

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

* use jsx-a11y via matrix-org-eslint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-03 18:51:58 +01: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
Germain 065b65a764 Hide scrollbar if content height is smaller than scroll node height (#7220) 2021-11-29 17:03:53 +00:00
Aaron Raimist bdc56be863 Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Dariusz Niemczyk 5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Richard van der Hoff c99216814f fix lint 2021-09-29 11:20:51 +01:00
Richard van der Hoff b285315cb8 Fix ScrollPanel.isAtBottom for non-standard DPI settings 2021-09-29 11:16:41 +01:00
Dariusz Niemczyk 2d1d42b90e Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
David Baker bd5d02d690 Update comment too
Co-authored-by: Travis Ralston <travisr@matrix.org>
2021-09-09 18:15:51 +01:00
David Baker a4aa6dfcd7 Debounce read marker update on scroll
Reverts https://github.com/matrix-org/matrix-react-sdk/pull/6751 in
favour of debouncing the updates to read markers, because it seems
allowing the scroll to be 1px away from the bottom was important for
some browsers and meant they never got to the bottom.

We can fix the problem instead by debouncing the update to read
markers, because the scroll state gets reset back to the bottom when
componentDidUpdate() runs which happens after the read marker code
does a setState(). This should probably be debounced anyway since
it doesn't need to be run that frequently.

Fixes https://github.com/vector-im/element-web/issues/18961
Type: bugfix
2021-09-09 15:58:19 +01:00
David Baker 6468ce68a2 Fix scroll being stuck at bottom
The check for whether we're at the bottom or not allowed for a
difference of 1 to account for fractional scroll values, but
allowed the difference of exactly 1 too, meaning we'd consider
the timeline to be at the bottom if you were scrolled up by exactly
a single pixel. If your scrolling was set up to be precise enough and
the event handlers fired fast enough that they'd evaluate each time
you scrolled up by a single pixel, it would reset you back to the bottom
each time and you'd never be able to scroll up.

Fixes https://github.com/vector-im/element-web/issues/18903
2021-09-06 18:59:47 +01:00
David Baker e5d538412b Typo
Co-authored-by: Germain <germain@souquet.com>
2021-07-27 09:29:32 +01:00
David Baker f20da6d3de Fix infinite pagination loop when offline
I'm not really sure how this is meant to work - and I'm not sure
how it was working before, but this is causing fairly bad infinite
loops if I start element with no homeserver connection. This is
a fairly crude fix, only thing I can think that would be better is
some awareness of when network requests were failing and intentionally
backing off.

Fixes https://github.com/vector-im/element-web/issues/18242
2021-07-26 22:05:35 +01:00
Michael Telatynski a645cebb49 Fix setTimeout/setInterval typing 2021-07-12 09:02:46 +01:00
Michael Telatynski 8f4879ea96 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/8
 Conflicts:
	src/components/structures/MessagePanel.tsx
	src/components/structures/ScrollPanel.tsx
	src/components/structures/TimelinePanel.tsx
	src/components/views/elements/ErrorBoundary.tsx
	src/components/views/elements/EventListSummary.tsx
	src/components/views/messages/TileErrorBoundary.tsx
2021-06-29 22:14:40 +01:00
Michael Telatynski cecf0ce299 Convert MessagePanel, TimelinePanel, ScrollPanel, and more to Typescript 2021-06-22 20:41:26 +01:00