Commit Graph

20 Commits

Author SHA1 Message Date
Filip Sodić
fbf6de0d4d
Fix flickering UI in optimistic updates (#668)
* Fix query cache key generation issue

* Make waspc/todoApp return tasks in consistent order

* Implement basic support for optimistic updates

* Fix query cache key generation issue again

* Add action counter to prevent flickering updates

* Add remove todo to action counter

* Count only optimistically updated cache keys

* Make waspc/todoApp return tasks in consistent order

(cherry picked from commit 57606c74e4)

* Reduce duplication in frontend actions and queries

* Fix formatting

* Fix optimistic updates after merge

* Experimenting

* Hash queries before counting

* Rename parameters in counter

* Add task done toggling to task page

* Fixes after merge

* Fix wrong condition in example todo app

* Simplify counter with react-query's internal hash

* Remove console log and add notes

* Clear up some todos and tidy up

* Fix formatting

* Remove leftover todo

* Fix a bug that caused double action calls

* Simplify query key hashing function

* Revert accidental blog changes

* Revert accidental blog changes

* Apply optimistic updates on each query response

* Clean up code for optimistic updates

* Clean up more code for optimistic updates

* Remove redundant optimistic update tuple list

* Rename query to queryKey

* Return previous data from onMutate

* Move counter into the constructor function

* Move updatesHandler into the constructor function

* Remove debug logs from optimisticUpdatesMap

* Rename and refactor optimistic updates

* Fix typo in comments

* Remove the option to directly specify query key

* Remove flickering fixes for optimistic updates

* Add optimistic updates to Task.js

* First round of code review feedback

* Remove react query's additional options from hook

* Futher review feedback and code docs

* Fix and document error handling for optimistic updates

* Fix formatting and remove comment

* Further document optimistic update mechanisms

* Fix memory leak in updates handler map

* Update optimistic update docs

* Improve comment for useAction

* Further improve comments in actions/index

* Heavily comment actions/index

* Fix capitalization in action/index

* Add types to actions/index

* Fix jsdoc types in actions/index

* Comment testing sleeps

* Comment sleep function in todoApp/ext/actions

* Properly handle type errors in actions/index

* Fix formatting in actions/index

* Rename an argument in actions/index

* Move updateFn change to optimistic update instantiation

* Extract common functionality in actions/index

* Reuse common functionality for optimistic updates

* Fix formatting in actions/index

* Comment the internal action mechanism

* Add jsdoc types to actions/index

* Revise jsdoc in actions/index

* Document makeOptimisticUpdateMutationFn

* Add updateQuery constraints

* Address PR comments

* Update e2e tests

* Mention optimistic updates in cache invalidation

* Further elaborate updateQuery constraints

* Update e2e tests
2022-09-22 00:17:00 +02:00
Filip Sodić
4a94c9851e
Implement optimistic updates
* Remove flickering fixes for optimistic updates

* Add optimistic updates to Task.js

* First round of code review feedback

* Remove react query's additional options from hook

* Futher review feedback and code docs

* Fix and document error handling for optimistic updates

* Further document optimistic update mechanisms

* Update optimistic update docs

* Improve comment for useAction

* Further improve comments in actions/index

* Heavily comment actions/index

* Fix capitalization in action/index

* Add types to actions/index

* Fix jsdoc types in actions/index

* Comment testing sleeps

* Comment sleep function in todoApp/ext/actions

* Properly handle type errors in actions/index

* Fix formatting in actions/index

* Move updateFn change to optimistic update instantiation

* Extract common functionality in actions/index

* Fix formatting in actions/index

* Add jsdoc types to actions/index

* Revise jsdoc in actions/index

* Address PR comments

* Update e2e tests

* Mention optimistic updates in cache invalidation
2022-09-21 17:40:06 +02:00
Shayne Czyzewski
b965dfeb30
Works around sodium-native bug to support Heroku deploys (#729) 2022-09-20 10:51:47 -04:00
Shayne Czyzewski
1a7a04b87c
Updates React to 17, plus some other minor version updates (#720) 2022-09-16 09:55:26 -04:00
Shayne Czyzewski
6cd38b0f94
Adds Google as an authentication method (#669) 2022-09-06 14:35:59 -04:00
Shayne Czyzewski
d827d05d96
Jobs callback function updates (#676) 2022-08-17 13:53:05 -04:00
Filip Sodić
67562e32cc
Remove undefined values from query keys (#671)
* Remove undefined values from query keys

* Update e2e tests
2022-07-18 14:18:06 +02:00
Shayne Czyzewski
d5a9039722
Work around versioned package NPM bug (#661) 2022-07-07 10:37:48 -04:00
Martin Šošić
4f22ea1c08
Updated Prisma to 3.15.2. Fixes #629. (#643) 2022-06-23 14:18:13 +02:00
Martin Šošić
62f0a76937
Limited Wasp version to ^16.0.0 && <=16.15.0 (#634)
* Limited Wasp node version to ^16.0.0 && <=16.15.0.

In the process, I removed .nvmrc files from generated code and
refactored SemanticVersion to follow npm spec.
I also updated CI to use node 16.15.0, and not any 16.
I also updated docs.
2022-06-17 17:02:54 +02:00
Filip Sodić
fdd8e47b25
Reduce duplication when creating frontend queries and actions (#633)
* Make waspc/todoApp return tasks in consistent order

(cherry picked from commit 57606c74e4)

* Reduce duplication in frontend actions and queries

* Fix formatting

* Update e2e tests to include queries/core
2022-06-17 14:35:01 +02:00
Filip Sodić
0b78f658be
Implement support for query client configuration (#612)
* Implement support for query client configuration

* Make sure query client is always initialized

* Fix formatting

* Fix formatting

* Add missing await in index.js

* Separate query client setup into two functions

* Introduce default query client config

* Fix missing export in docs

* Fix missing field warnings

* Add query client setup docs

* Update e2e tests for query client config
2022-06-09 10:37:19 +02:00
Shayne Czyzewski
4d57213e18
Move react-error-overlay into dependencies (#626)
* Move react-error-overlay to dependencies

* fix e2e

Co-authored-by: shayneczyzewski <shayne.czyzewski@gmail.com>
2022-06-07 18:35:52 +02:00
Shayne Czyzewski
d5a0e322d4
Fix unresponsive UI on server reload (#621) 2022-06-03 16:38:21 -04:00
Filip Sodić
59c714111e
Support for the client setup function (#595)
* Add clientSetup support to analyzer and tidy up generator

* Add clientSetup support to generator

* Add tests for client setup function and tidy up

* Address PR comments for client setup function

* Clean up server and web app generators

* Document react query invalidation on logout

* Update e2e tests after query client cache clean

* Fix syntax error in exmaple app

* Remove leftover todos

* Fix formatting

* Fix formatting

* Fix tests for client setup function

* Update e2e test

* Fix todos in templates

* Add docs for client setup

* Fix docs typo

* Fix docs typo

* Fix docs typo

* Fix docs typo

* Update e2e test
2022-05-20 14:49:26 +02:00
Shayne Czyzewski
4de7d16331
Adds cron support to pg-boss Jobs and documentation (#586) 2022-05-13 12:30:55 -04:00
Shayne Czyzewski
f14be11fc3
Add pg-boss as a Job executor (#582)
Note: This does not provide cron support, that is coming in the next PR.
2022-05-03 14:34:25 -04:00
Shayne Czyzewski
a5f86524e0
Changes python to python3 in Dockerfile (#577) 2022-04-21 08:33:49 -04:00
Filip Sodić
50d806daa6
Update React Query to v3 (#554)
* Apply minor syntax fixes to templates

* Fix Wasp react app warnings

* Fix small bug in waspc todo app

* Rearrange functions in RouterGenerator

* Migrate react-query to v3

* Collapse config in react query

* Update e2e tests after react-query migration

* Rename function in RouterGenerator

* Update job tests
2022-04-15 11:23:15 +02:00
Shayne Czyzewski
43043708b3
Adds output for new Job golden test. (#557) 2022-04-13 12:46:51 -04:00