Commit Graph

14 Commits

Author SHA1 Message Date
48a8f5fe07 chore: add disclosure 2024-04-02 14:16:36 +07:00
a54eb54ef7 feat: add document auth (#1029) 2024-03-28 13:13:29 +08:00
006b732edb fix: update document flow fetch logic (#1039)
## Description

**Fixes issues with mismatching state between document steps.**

For example, editing a recipient and proceeding to the next step may not
display the updated recipient. And going back will display the old
recipient instead of the updated values.

**This PR also improves mutation and query speeds by adding logic to
bypass query invalidation.**

```ts
export const trpc = createTRPCReact<AppRouter>({
  unstable_overrides: {
    useMutation: {
      async onSuccess(opts) {
        await opts.originalFn();

        // This forces mutations to wait for all the queries on the page to reload, and in
        // this case one of the queries is `searchDocument` for the command overlay, which
        // on average takes ~500ms. This means that every single mutation must wait for this.
        await opts.queryClient.invalidateQueries(); 
      },
    },
  },
});
```

I've added workarounds to allow us to bypass things such as batching and
invalidating queries. But I think we should instead remove this and
update all the mutations where a query is required for a more optimised
system.

## Example benchmarks

Using stg-app vs this preview there's an average 50% speed increase
across mutations.

**Set signer step:**
Average old speed: ~1100ms
Average new speed: ~550ms

**Set recipient step:**
Average old speed: ~1200ms
Average new speed: ~600ms

**Set fields step:**
Average old speed: ~1200ms
Average new speed: ~600ms

## Related Issue

This will resolve #470

## Changes Made

- Added ability to skip batch queries
- Added a state to store the required document data.
- Refetch the data between steps if/when required
- Optimise mutations and queries

## Checklist

- [X] I have tested these changes locally and they work as expected.
- [X] I have followed the project's coding style guidelines.

---------

Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
2024-03-26 21:12:41 +08:00
32633f96d2 feat: dateformat and timezone customization (#506) 2023-12-27 14:05:49 +11:00
073a050587 fix: signature field race conditions 2023-12-02 11:09:42 +11:00
2340528d2e fix: bypass signature fix (#536) (#547) 2023-11-06 13:02:19 +11:00
341c0df231 fix: firefox signing fields 2023-11-06 13:01:44 +11:00
60ae674984 feat: darker dark theme 2023-11-06 13:01:15 +11:00
f64885d2c3 chore: removed console logs
Signed-off-by: Adithya Krishna <adikrish@redhat.com>
2023-11-06 13:01:12 +11:00
63b21a8206 fix: minor updates 2023-11-06 13:01:11 +11:00
2b53f796bd chore: updated signing fields
Signed-off-by: Adithya Krishna <adikrish@redhat.com>
2023-11-06 13:01:11 +11:00
7811035384 feat: promise safety with eslint 2023-11-06 13:01:11 +11:00
a0abf56833 refactor: extract common components into UI package 2023-11-06 13:01:10 +11:00
7a705e3b81 feat: document authoring 2023-11-06 13:01:09 +11:00