bb-plane-fork/web/core/services
Satish Gandham 3df230393a
[WEB-2001]feat: Cache issues on the client (#5327)
* use common getIssues from issue service instead of multiple different services for modules and cycles

* Use SQLite to store issues locally and load issues from it.

* Fix incorrect total count and filtering on assignees.

* enable parallel API calls

* use common getIssues from issue service instead of multiple different services for modules and cycles

* Use SQLite to store issues locally and load issues from it.

* Fix incorrect total count and filtering on assignees.

* enable parallel API calls

* chore: deleted issue list

* - Handle local mutations
- Implement getting the updates
- Use SWR to update/sync data

* Wait for sync to complete in get issues

* Fix build errors

* Fix build issue

* - Sync updates to local-db
- Fallback to server when the local data is loading
- Wait when the updates are being fetched

* Add issues in batches

* Disable skeleton loaders for first 10 issues

* Load issues in bulk

* working version of sql lite with grouped issues

* Use window queries for group by

* - Fix sort by date fields
- Fix the total count

* - Fix grouping by created by
- Fix order by and limit

* fix pagination

* Fix sorting on issue priority

* - Add secondary sort order
- Fix group by priority

* chore: added timestamp filter for deleted issues

* - Extract local DB into its own class
- Implement sorting by label names

* Implement subgroup by

* sub group by changes

* Refactor query constructor

* Insert or update issues instead of directly adding them.

* Segregated queries. Not working though!!

* - Get filtered issues and then group them.
- Cleanup code.
- Implement order by labels.

* Fix build issues

* Remove debuggers

* remove loaders while changing sorting or applying filters

* fix loader while clearing all filters

* Fix issue with project being synced twice

* Improve project sync

* Optimize the queries

* Make create dummy data more realistic

* dev: added total pages in the global paginator

* chore: updated total_paged count

* chore: added state_group in the issues pagination

* chore: removed deleted_at from the issue pagination payload

* chore: replaced state_group with state__group

* Integrate new getIssues API, and fix sync issues bug.

* Fix issue with SWR running twice in workspace wrapper

* Fix DB initialization called when opening project for the first time.

* Add all the tables required for sorting

* Exclude description from getIssues

* Add getIssue function.

* Add only selected fields to get query.

* Fix the count query

* Minor query optimization when no joins are required.

* fetch issue description from local db

* clear local db on signout

* Correct dummy data creation

* Fix sort by assignee

* sync to local changes

* chore: added archived issues in the deleted endpoint

* Sync deletes to local db.

* - Add missing indexes for tables used in sorting in spreadsheet layout.
- Add options table

* Make fallback optional in getOption

* Kanban column virtualization

* persist project sync readiness to sqlite and use that as the source of truth for the project issues to be ready

* fix build errors

* Fix calendar view

* fetch slimed down version of modules in project wrapper

* fetch toned down modules and then fetch complete modules

* Fix multi value order by in spread sheet layout

* Fix sort by

* Fix the query when ordering by multi field names

* Remove unused import

* Fix sort by multi value fields

* Format queries and fix order by

* fix order by for multi issue

* fix loaders for spreadsheet

* Fallback to manual order whn moving away from spreadsheet layout

* fix minor bug

* Move fix for order_by when switching from spreadsheet layout to translateQueryParams

* fix default rendering of kanban groups

* Fix none priority being saved as null

* Remove debugger statement

* Fix issue load

* chore: updated isue paginated query from  to

* Fix sub issues and start and target date filters

* Fix active and backlog filter

* Add default order by

* Update the Query param to match with backend.

* local sqlite db versioning

* When window is hidden, do not perform any db versioning

* fix error handling and fall back to server when database errors out

* Add ability to disable local db cache

* remove db version check from getIssues function

* change db version to number and remove workspaceInitPromise in storage.sqlite

* - Sync the entire workspace in the background
- Add get sub issue method with distribution

* Make changes to get issues for sync to match backend.

* chore: handled workspace and project in v2 paginted issues

* disable issue description and title until fetched from server

* sync issues post bulk operations

* fix server error

* fix front end build

* Remove full workspace sync

* - Remove the toast message on sync.
- Update the disable local message.

* Add Hardcoded constant to disable the local db caching

* fix lint errors

* Fix order by in grouping

* update yarn lock

* fix build

* fix plane-web imports

* address review comments

---------

Co-authored-by: rahulramesha <rahulramesham@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: gurusainath <gurusainath007@gmail.com>
2024-09-24 19:01:34 +05:30
..
favorite [WEB-1907] feat: Favorites Enhancements (#5262) 2024-08-02 12:25:26 +05:30
inbox Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
integrations fix: eslint config and errors 2024-06-13 21:17:06 +05:30
issue [WEB-2001]feat: Cache issues on the client (#5327) 2024-09-24 19:01:34 +05:30
page [WEB-1116] chore: add fallback for the live server (#5622) 2024-09-23 15:35:06 +05:30
project [WEB-2357] fix: update and redefine user roles across the platform (#5466) 2024-09-11 17:10:15 +05:30
ai.service.ts [WEB-2047] dev: pages side menu refactor (#5371) 2024-08-16 16:17:33 +05:30
analytics.service.ts fix: eslint config and errors 2024-06-13 21:17:06 +05:30
api.service.ts [WEB-1691] chore: refactor finish onboarding logic to avoid multiple redirections. (#4950) 2024-06-27 18:46:25 +05:30
api_token.service.ts fix: eslint config and errors 2024-06-13 21:17:06 +05:30
app_config.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
app_installation.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
auth.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
cycle.service.ts [WEB-2114]: Chore: project cycle optimization (#5430) 2024-08-27 19:50:20 +05:30
cycle_archive.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
dashboard.service.ts fix: eslint config and errors 2024-06-13 21:17:06 +05:30
file.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
instance.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
issue_filter.service.ts fix: eslint config and errors 2024-06-13 21:17:06 +05:30
module.service.ts cancel issues API call when new call are being made (#4785) 2024-06-12 18:27:33 +05:30
module_archive.service.ts Refactor folder structure (#4759) 2024-06-11 14:39:52 +05:30
user.service.ts [WEB-2357] fix: update and redefine user roles across the platform (#5466) 2024-09-11 17:10:15 +05:30
view.service.ts [WEB-1255] feat: filters for project views and changes required for advanced views (#4949) 2024-06-27 14:40:14 +05:30
webhook.service.ts fix: eslint config and errors 2024-06-13 21:17:06 +05:30
workspace-notification.service.ts [WEB-1764] chore: revamp workspace notifications (#4947) 2024-06-28 19:00:48 +05:30
workspace.service.ts [WEB-1255] feat: filters for project views and changes required for advanced views (#4949) 2024-06-27 14:40:14 +05:30