-
-
Notifications
You must be signed in to change notification settings - Fork 606
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
Conversation
src/client.ts
Outdated
public getAccessToken(): string | undefined { | ||
return this.http.opts.accessToken || null; |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
-
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
-
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
-
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
There was a problem hiding this 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!!
* 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>
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.