bb-plane-fork/apiserver/plane/utils
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
..
__init__.py build: merge frontend and backend into a single repo 2022-11-30 02:47:42 +05:30
analytics_plot.py chore: custom analytics charts (#5052) 2024-07-05 14:55:48 +05:30
cache.py fix: cache invalidation on new members invite (#4699) 2024-06-05 15:17:43 +05:30
constants.py [WEB-2103]: chore: Intercom integration (#5295) 2024-08-05 13:37:11 +05:30
error_codes.py [WEB-1986] fix: remove the user favourites when archived a particular entity (#5387) 2024-08-20 19:40:48 +05:30
exception_logger.py [WEB-1397] refactor: edition specific migration (#4847) 2024-06-17 20:09:15 +05:30
global_paginator.py [WEB-2001]feat: Cache issues on the client (#5327) 2024-09-24 19:01:34 +05:30
grouper.py chore: handling the archived module ids in the issue list and issue detail endpoints (#5343) 2024-08-09 17:16:37 +05:30
host.py [WEB - 1742] chore: user activation and deactivation workflow (#4944) 2024-06-27 20:44:16 +05:30
html_processor.py chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30
imports.py chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30
ip_address.py chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30
issue_filters.py [WEB-2011] chore: export history filters (#5179) 2024-07-22 17:45:28 +05:30
issue_search.py [WEB - 549] dev: formatting and removing unused imports (#3782) 2024-03-06 20:48:30 +05:30
logging.py dev: enable api logging (#2538) 2024-03-18 14:27:02 +05:30
markdown.py dev: code improvements and minor performance upgrades (#2201) 2023-11-01 20:35:06 +05:30
order_queryset.py [WEB-2518] chore: Reverse order by of priority keys (#5591) 2024-09-23 14:58:05 +05:30
paginator.py [WEB-2001]feat: Cache issues on the client (#5327) 2024-09-24 19:01:34 +05:30
user_timezone_converter.py chore: created by key changed (#4389) 2024-05-07 19:22:00 +05:30