Page MenuHomePhabricator

[Flow202][keyserver][skip-ci] [7/x] Address and hide type errors with state sync specs
ClosedPublic

Authored by ashoat on Nov 13 2023, 2:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 12, 2:18 PM
Unknown Object (File)
Mon, May 6, 4:48 PM
Unknown Object (File)
Sun, May 5, 1:36 PM
Unknown Object (File)
Fri, May 3, 2:08 PM
Unknown Object (File)
Thu, May 2, 10:00 PM
Unknown Object (File)
Thu, May 2, 12:06 AM
Unknown Object (File)
Wed, May 1, 2:56 PM
Unknown Object (File)
Tue, Apr 30, 8:28 PM
Subscribers
None

Details

Summary

There are some type issues in the state sync specs that can't be resolved with Flow. The new version of Flow is properly detecting these type issues, but there's no easy resolution.

Instead, I apply precise any-types throughout that get immediately re-cast to the proper narrowed type.

I also snuck in some type fixes in keyserver/src/socket/socket.js – will annotate them inline.

NOTE: CI will fail on this diff. I considered the possibility of fixing Flow errors BEFORE upgrading Flow, but it wasn't possible... in some cases, the fixes to support the new version of Flow caused errors in the old version. I could have hidden these type errors with $FlowFixMe lines and then later revert those, but that seemed like too much busy work.

Depends on D9854

Test Plan

Confirm the Flow errors go away

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

keyserver/src/socket/socket.js
297 ↗(On Diff #33169)

Flow doesn't like this because sessionChange is not mutable, so I rewrote the code with a let

333 ↗(On Diff #33169)

Flow doesn't like this because sessionChange is not mutable, so I rewrote the code with a let

Harbormaster returned this revision to the author for changes because remote builds failed.Nov 13 2023, 3:08 PM
Harbormaster failed remote builds in B24071: Diff 33169!
This revision is now accepted and ready to land.Nov 14 2023, 7:51 AM
ashoat retitled this revision from [Flow202][keyserver] [7/x] Address and hide type errors with state sync specs to [Flow202][keyserver][skip-ci] [7/x] Address and hide type errors with state sync specs.Nov 19 2023, 5:06 PM