Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix return type on funcs in matrixClient to be optionally null #2488

Merged
merged 1 commit into from
Jul 2, 2022

Conversation

texuf
Copy link
Contributor

@texuf texuf commented Jul 1, 2022

The value can be undefined, but the type was just string

tests: Ran all tests

signed-off-by: austin ellis austin@hntlabs.com

notes: none


This change is marked as an internal change (Task), so will not be included in the changelog.

@texuf texuf requested a review from a team as a code owner July 1, 2022 21:44
@github-actions github-actions bot added the Z-Community-PR Issue is solved by a community member's PR label Jul 1, 2022
src/client.ts Outdated
Comment on lines 6809 to 6810
public getAccessToken(): string | undefined {
return this.http.opts.accessToken || null;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines contradict each other, undefined != null

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point! still learning typescript.
a brief tour of the docs says

  1. undefined is a type, null is an object, https://stackoverflow.com/questions/5076944/what-is-the-difference-between-null-and-undefined-in-javascript Declaring the type to be undefined and then returning null makes sense to me but it's wrong! and will fail type checking in later versions of typescript

  2. we should probably use undefined everywhere https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#null-and-undefined but we're not, and I see the utility of null

  3. there are a couple more places we do this, i'll update this pr to use | null and fix the rest

The value can be null, but the type was just string or a type

tests: Ran all tests
@texuf texuf changed the title Fix return type on getAccessToken Fix return type on funcs in matrixClient to be optionally null Jul 1, 2022
@SimonBrandner SimonBrandner requested a review from t3chguy July 2, 2022 05:49
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sane to me, thanks for this!!

@t3chguy t3chguy added the T-Task Tasks for the team like planning label Jul 2, 2022
@t3chguy t3chguy merged commit 9bf8b93 into matrix-org:develop Jul 2, 2022
Yoric pushed a commit to Yoric/matrix-js-sdk that referenced this pull request Jul 7, 2022
dbkr added a commit that referenced this pull request Jul 12, 2022
* Send call version `1` as a string (#2471)

* test typescriptification - backup.spec (#2468)

* renamed:    spec/unit/crypto/crypto-utils.js -> spec/unit/crypto/crypto-utils.ts

* ts fixes in crypto-utils

* renamed:    spec/unit/crypto/backup.spec.js -> spec/unit/crypto/backup.spec.ts

* ts fixes in backup.spec

* remove fit

* remove debug

* Prepare changelog for v19.0.0-rc.1

* v19.0.0-rc.1

* Update jest monorepo (#2476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update all (#2475)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency @types/jest to v28 (#2478)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Fix call.collectCallStats() (#2480)

Regressed by #2352
(you can just use RTCStatsReport as an iterator directly (which
was was what that code was doing before) which uses entries(
which gives you key/value pairs, but using forEach gives you just
the value.

* Go back to forEach in collectcallstats (#2481)

Older typescript library doesn't know about .values() on the stats
object, so it was failing in react sdk which had an older typescript.
matrix-org/matrix-react-sdk#8935 was an
attempt to upgrade it but did not seem to be helping on CI, despite
being fine locally.

* Update babel monorepo to v7.18.6 (#2477)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Expose KNOWN_SAFE_ROOM_VERSION (#2474)

* Fix return type on funcs in matrixClient to be optionally null (#2488)

* Update pull_request.yaml (#2490)

* Lock file maintenance (#2491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Prepare changelog for v19.0.0

* v19.0.0

* Resetting package fields for development

* Improve VoIP integrations testing (#2495)

* Remove MSC3244 support (#2504)

* Actually store the identity server in the client when given as an option (#2503)

* Actually store the identity server in the client when given as an option

* Update requestRegisterEmailToken to a modern spec version too

* Properly re-insert room ID in bundled thread relation messages from sync (#2505)

Events returned by the `/sync` endpoint, including relations bundled with other events, may have their `room_id`s stripped out. This causes decryption errors if the IDs aren't repopulated.

Fixes element-hq/element-web#22094.

* Remove `setNow` from `realtime-callbacks.ts` (#2509)

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

* Remove dead code (#2510)

* Don't crash with undefined room in `processBeaconEvents()` (#2500)

* Add a basic PR checklist for all PRs (#2511)

It'll be mildly annoying for core developers who have to constantly remove or edit this, but it'll also serve as a good reminder to do these things.

Note that signoff is not required for core developers.

* Fix tests

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Kerry <kerrya@element.io>
Co-authored-by: RiotRobot <releases@riot.im>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Weimann <michaelw@matrix.org>
Co-authored-by: texuf <texuf.eth@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Faye Duxovni <fayed@element.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Task Tasks for the team like planning Z-Community-PR Issue is solved by a community member's PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants