Page MenuHomePhabricator

michal (Michał Gniadek)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 8 2022, 2:37 AM (28 w, 3 d)

Recent Activity

Fri, Mar 24

michal accepted D7119: [web-db] add unit tests to function for parsing SQLite query.

I don't have experience in writing tests in jest but looks reasonable

Fri, Mar 24, 9:36 AM
michal accepted D7101: [web-db] add `sql.js` types.
Fri, Mar 24, 9:29 AM

Thu, Mar 23

michal updated the diff for D7094: [keyserver] Send updateBadgeCount notifs to macOS.

Actually remove the remaining "only for flow" lines, not sure why this didn't commit before...

Thu, Mar 23, 2:43 AM

Wed, Mar 22

michal added a comment to D7095: [desktop] Stop checking for a new version after download.

Task here: ENG-3377

Wed, Mar 22, 5:28 AM
michal added a comment to D7094: [keyserver] Send updateBadgeCount notifs to macOS.

This diff seems to call getAPNsNotificationTopic with two parameters, but the version of that function in master only takes one parameter. Can you please update this diff's dependencies so I can see the rest of your stack? Please always set diff dependencies!

Wed, Mar 22, 5:08 AM
michal updated the diff for D7094: [keyserver] Send updateBadgeCount notifs to macOS.

Remove the remaining // only for flow lines

Wed, Mar 22, 5:02 AM
michal accepted D7103: [web-db] add unit tests for `sql.js`.
Wed, Mar 22, 4:56 AM
michal accepted D7102: [web-db] implement function to get database version.
Wed, Mar 22, 4:51 AM
michal requested changes to D7101: [web-db] add `sql.js` types.

I've left some inline comments about the types themselves. More general notes:

Wed, Mar 22, 4:45 AM

Mon, Mar 20

michal updated the diff for D7094: [keyserver] Send updateBadgeCount notifs to macOS.

Remove unnecessary lines

Mon, Mar 20, 5:43 AM
michal added a comment to D7095: [desktop] Stop checking for a new version after download.

This code was supposed to handle an edge case where:

  1. Electron downloads an update, and we display the modal
  2. Before the user presses the modal to quit-and-install, we release a new version.

Without this, the user will have to update the app twice instead of once (in this rare case).

Mon, Mar 20, 2:40 AM

Fri, Mar 17

michal requested review of D7096: [web/desktop] Update immediately on versions v1 and v2.
Fri, Mar 17, 11:29 AM
michal requested review of D7095: [desktop] Stop checking for a new version after download.
Fri, Mar 17, 11:24 AM
michal requested review of D7094: [keyserver] Send updateBadgeCount notifs to macOS.
Fri, Mar 17, 11:11 AM
michal accepted D7092: [web-db] Use unique filename for each prod `sql-wasm.wasm` asset.
Fri, Mar 17, 5:52 AM

Thu, Mar 16

michal updated the test plan for D7029: [native] Move NotifPermissionAlertInfo to lib.
Thu, Mar 16, 5:23 AM
michal updated the diff for D7030: [web] Use notifPermissionAlertInfo.

Rebase

Thu, Mar 16, 5:21 AM
michal accepted D7072: [landing][web] Migrate from assets-webpack-plugin to webpack-manifest-plugin.

Looks good to me

Thu, Mar 16, 2:59 AM

Wed, Mar 15

michal accepted D6996: [web-db] generate `CryptoKey` and persist.
Wed, Mar 15, 10:53 AM
michal accepted D6987: [web-db] add Shared Worker config.
Wed, Mar 15, 10:52 AM

Tue, Mar 14

michal accepted D7064: [web] Fix search area in filter panel.
Tue, Mar 14, 9:32 AM
michal added a comment to D7017: [web] Added displaying 'Labels' to InlineEngagment.

I'm not sure if it is the case. For now, displaying both 'delivery failed' and the label ('Edited') at the same time is impossible.

Oh yeah, that makes sense, sorry!

Tue, Mar 14, 3:50 AM
michal accepted D6992: [web-db] implement proxy for promise-based connection with worker.
Tue, Mar 14, 3:40 AM

Mon, Mar 13

michal updated the diff for D7032: [desktop] Handle autoUpdate errors.

Change order

Mon, Mar 13, 7:27 AM
michal updated the diff for D7032: [desktop] Handle autoUpdate errors.

Good point, I've added a check that makes sure that the timer doesn't already exist before creating a new one

Mon, Mar 13, 7:04 AM
michal updated the diff for D7031: [CI] Fix macos buildkite ci.

Rebase

Mon, Mar 13, 6:30 AM
michal added a comment to D7017: [web] Added displaying 'Labels' to InlineEngagment.

Can you check what it looks like with the "Delivery failed. RETRY?" text which appears when sending a message, and attach a screenshot? Not sure if this case was considered in the designs.

Mon, Mar 13, 6:03 AM
michal accepted D6965: [lib][native] Displaying edited messages from database.

Looks good to me, but I haven't worked with this code so it would be nice if someone else could also take a look.

Mon, Mar 13, 5:59 AM

Fri, Mar 10

michal requested review of D7032: [desktop] Handle autoUpdate errors.
Fri, Mar 10, 8:40 AM
michal abandoned D6683: [desktop] Continue checking for updates even after an exception.

Abandoned in favour of D7032

Fri, Mar 10, 8:26 AM
michal abandoned D6684: [desktop] Ignore exceptions about being offline.

Abandoned in favour of D7032

Fri, Mar 10, 8:25 AM
michal requested review of D7031: [CI] Fix macos buildkite ci.
Fri, Mar 10, 8:04 AM
michal requested review of D7030: [web] Use notifPermissionAlertInfo.
Fri, Mar 10, 7:53 AM
michal requested review of D7029: [native] Move NotifPermissionAlertInfo to lib.
Fri, Mar 10, 7:44 AM

Thu, Mar 9

michal added inline comments to D6973: [web] Extract from drawer item code that can be reused in community items.
Thu, Mar 9, 3:57 AM

Wed, Mar 8

michal added inline comments to D6994: [web-db] implement types for `SubtleCrypto` module.
Wed, Mar 8, 4:49 AM
michal added inline comments to D6992: [web-db] implement proxy for promise-based connection with worker.
Wed, Mar 8, 4:48 AM
michal accepted D6986: [web-db] add `localForage` types.
Wed, Mar 8, 4:02 AM

Thu, Mar 2

michal requested review of D6927: [desktop CI] Inherit secrets in github release workflow.
Thu, Mar 2, 7:48 AM
michal accepted D6752: [web] Restyle search area in FilterPanel.
Thu, Mar 2, 3:00 AM
michal accepted D6745: [web] Split ThreadTopBar into two components.
Thu, Mar 2, 2:29 AM

Wed, Mar 1

michal updated the diff for D6893: [keyserver] Send macos notifications.

Fix nit

Wed, Mar 1, 12:15 AM
michal updated the diff for D6817: [keyserver] Send web push notification.

prepareWebNotification now takes a bag of parameters

Wed, Mar 1, 12:11 AM

Tue, Feb 28

michal updated the diff for D6894: [desktop] Handle macos notifications.

Rerun CI

Tue, Feb 28, 11:03 AM
michal updated the diff for D6893: [keyserver] Send macos notifications.

Extract platformDetails variable

Tue, Feb 28, 10:09 AM
michal updated the diff for D6894: [desktop] Handle macos notifications.

Fix typo.
The types aren't readonly because either:

  • they are class methods and can't be made readonly
  • the NotificationEvents type isn't actually ever instantiated or exported, it's just a holder that maps event string name to the callback type
Tue, Feb 28, 9:49 AM
michal updated the diff for D6893: [keyserver] Send macos notifications.

Add comment, tasks: ENG-3173, ENG-3174

Tue, Feb 28, 9:41 AM
michal updated the diff for D6892: [keyserver] Extend ios notifs to handle macos.

Extract platformDetails variables.

Tue, Feb 28, 9:29 AM
michal added inline comments to D6889: [keyserver/web/desktop] Add macos and windows as platforms.
Tue, Feb 28, 9:27 AM
michal updated the diff for D6832: [web] Handle notifications in service worker.

Type the json from the web push API. The PushMessageData is taken from the official web api types so I think it's better to keep them in sync and only later type them as our own type.

Tue, Feb 28, 9:17 AM
michal updated the diff for D6817: [keyserver] Send web push notification.

Move WebNotification type to lib so we can use it to type the push message in the service worker.

Tue, Feb 28, 9:13 AM
michal updated the diff for D6833: [web] Allow users to enable push notifs.

Update import

Tue, Feb 28, 8:55 AM
michal updated the diff for D6820: [web] Add notification permission modal.

Change to export default

Tue, Feb 28, 8:52 AM
michal updated the diff for D6817: [keyserver] Send web push notification.

Fix types

Tue, Feb 28, 7:51 AM

Mon, Feb 27

michal added inline comments to D5463: [web] Call searchUsers in chat composer.
Mon, Feb 27, 3:33 AM

Fri, Feb 24

michal requested review of D6894: [desktop] Handle macos notifications.
Fri, Feb 24, 10:27 AM
michal requested review of D6893: [keyserver] Send macos notifications.
Fri, Feb 24, 10:21 AM
michal requested review of D6892: [keyserver] Extend ios notifs to handle macos.
Fri, Feb 24, 10:10 AM
michal requested review of D6891: [desktop/web] Expose callbacks needed for desktop notifications.
Fri, Feb 24, 9:49 AM
michal requested review of D6890: [desktop] Add port to development URL.
Fri, Feb 24, 9:45 AM
michal requested review of D6889: [keyserver/web/desktop] Add macos and windows as platforms.
Fri, Feb 24, 9:43 AM
michal requested review of D6888: [keyserver] Introduce isWebPlatform function.
Fri, Feb 24, 9:36 AM
michal requested review of D6887: [desktop] Allow building with a provisioning profile.
Fri, Feb 24, 9:34 AM

Feb 24 2023

michal requested review of D6885: [native] Extract device token reducer to lib.
Feb 24 2023, 7:05 AM
michal updated the diff for D6835: [web] Handle clicking on notifications.

@inka was right, I forgot a return for the cleanup callback. Also removed one ? but the second one is still needed because there's a function call after condition so flow can't be sure if the variable wasn't modified.

Feb 24 2023, 6:59 AM
michal updated the diff for D6820: [web] Add notification permission modal.

Add newline and react memo.

Feb 24 2023, 6:58 AM
michal added inline comments to D6818: [web] Register service worker for notifs.
Feb 24 2023, 6:57 AM
michal updated the diff for D6818: [web] Register service worker for notifs.

Moved eslint annotation to a later diff.

Feb 24 2023, 6:57 AM
michal added inline comments to D6817: [keyserver] Send web push notification.
Feb 24 2023, 6:56 AM
michal updated the diff for D6817: [keyserver] Send web push notification.

Fix types, move errors codes, answers to questions in inline comments.

Feb 24 2023, 6:55 AM
michal updated the diff for D6815: [keyserver/ web] Handle device_token on web.

Moved the code for the device token reducer to lib in a previous diff. Moved the device token to BaseAppState and reduce it in the baseReducer.

Feb 24 2023, 6:54 AM
michal updated the test plan for D6820: [web] Add notification permission modal.
Feb 24 2023, 6:51 AM

Feb 22 2023

michal requested review of D6835: [web] Handle clicking on notifications.
Feb 22 2023, 3:20 AM
michal requested review of D6833: [web] Allow users to enable push notifs.
Feb 22 2023, 3:07 AM
michal requested review of D6832: [web] Handle notifications in service worker.
Feb 22 2023, 2:54 AM
michal requested review of D6820: [web] Add notification permission modal.
Feb 22 2023, 2:07 AM
michal requested review of D6819: [web] Add hook for creating push subscription.
Feb 22 2023, 2:06 AM
michal requested review of D6818: [web] Register service worker for notifs.
Feb 22 2023, 1:57 AM

Feb 21 2023

michal updated the diff for D6715: [web] Add support for web workers to webpack.

Added webpack.DefinePlugin with some constants (NODE_ENV, BROWSER). Moved part of the configuration to the shared.cjs so it's together with similar comfigurations for web webpack.

Feb 21 2023, 6:49 AM
michal requested review of D6817: [keyserver] Send web push notification.
Feb 21 2023, 4:53 AM
michal updated the summary of D6815: [keyserver/ web] Handle device_token on web.
Feb 21 2023, 4:45 AM
michal added inline comments to D6815: [keyserver/ web] Handle device_token on web.
Feb 21 2023, 4:44 AM
michal requested review of D6815: [keyserver/ web] Handle device_token on web.
Feb 21 2023, 4:31 AM
michal requested review of D6813: [keyserver] Use Platform instead of a DeviceType for sending notifs.
Feb 21 2023, 4:12 AM
michal requested review of D6717: [keyserver/web] Pass push notif API public key to web app.
Feb 21 2023, 3:22 AM
michal updated the diff for D6717: [keyserver/web] Pass push notif API public key to web app.

Rebase, move the web-push dependency from future diff to this one, and init it during config loading.

Feb 21 2023, 3:22 AM
michal updated the diff for D6716: [keyserver] Serve web worker files.

If possible, I think it would be best if only the tab that is being brought to focus navigates to the notification. The rest of them should stay where they are

Yeah, that's how it's going to work

Feb 21 2023, 3:07 AM
michal updated the diff for D6715: [web] Add support for web workers to webpack.

Rebase

Feb 21 2023, 3:06 AM
michal updated the diff for D6714: [keyserver] Change device_token to mediumtext.

Rebase

Feb 21 2023, 2:55 AM

Feb 20 2023

michal planned changes to D6717: [keyserver/web] Pass push notif API public key to web app.
Feb 20 2023, 6:56 AM
michal updated the diff for D6717: [keyserver/web] Pass push notif API public key to web app.

Don't print in development, print warning instead of invariant in production (the previous code was inspired by our apn handling of secrets)

Feb 20 2023, 5:27 AM
michal updated the diff for D6716: [keyserver] Serve web worker files.

There's no global exports set and "the bundle is just going to be run directly by the browser" is correct, so I renamed the file to .js.
Additionaly I'm bringing back the Service-Worker-Allowed header because (now that I understand it better) this service worker should have all tabs in scope and needs to be able to claim them all (for example to focus on them after clicking the notification). It's not like it handles only some part of the website.

Feb 20 2023, 5:09 AM
michal updated the diff for D6715: [web] Add support for web workers to webpack.
  • Changed suffix from .cjs to .js
  • Added babel config to strip flow types
Feb 20 2023, 5:01 AM

Feb 17 2023

michal updated the diff for D6717: [keyserver/web] Pass push notif API public key to web app.

Moved the code to the push/providers.js and use importJSON. I'm no longer caching the config myself because importJSON does the caching. Added logging and invariant.

Feb 17 2023, 3:23 AM
michal added a comment to D6716: [keyserver] Serve web worker files.

I'm a bit confused here. commonjs2 isn't an option for target [...]

Sorry, I shouldn't have used the word "target", I meant this option: output.module. In the generated file I can see some webpack boilerplate that defines properties on the exports object so the file should be cjs.

Feb 17 2023, 2:51 AM

Feb 15 2023

michal added inline comments to D6716: [keyserver] Serve web worker files.
Feb 15 2023, 4:53 AM
michal updated the diff for D6716: [keyserver] Serve web worker files.
  • Changed formatting, remove Service-Worker-Allowed header (it's actually not needed if we don't specify a custom scope during registration)

@ashoat:

  • Tested on prod mode and amended the test plan
  • Hot-reloading was already discussed in D6715
  • From what I understand the default target for webpack is CommonJS so .cjs should be correct.
Feb 15 2023, 4:53 AM
michal updated the test plan for D6716: [keyserver] Serve web worker files.
Feb 15 2023, 4:46 AM
michal planned changes to D6716: [keyserver] Serve web worker files.
Feb 15 2023, 3:32 AM

Feb 14 2023

michal accepted D6732: [web] Fix drawer item not reaching the edge in full screen.
Feb 14 2023, 7:28 AM