-
Notifications
You must be signed in to change notification settings - Fork 9
feat(cat-voices): Frontend performance optimisation #3440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
LynxLynxx
wants to merge
65
commits into
main
Choose a base branch
from
feat/face-performance-optimization-3352
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* feat: discovery optimilisation widgets * chore: update most_recent_proposals * fix: format * fix: review * chore: created custom selector for dates events * chore: change names * chore: review timeline items update * fix: review
* feat: video and images fail gracefully * chore: review update * feat: make applyConfig ext private
…input-output-hk/catalyst-voices into feat/face-performance-optimization-3352
* feat: changing breakpoints * fix: format
* wip: LocalCatGateway * first iteration of LocalCatGateway * fix previous commit * feat: use more categories and make action's nullable sometimes * Delete mixin in favour or LocalCatGateway implementation * StressTest config * chore: cleanup imports * clear db only when stress test is enabled * update StressTestConfig * refactor: move unimplemented functions to InternalErrorCatGatewayMixin * optional author getter * chore: debug print for stress test * update README * fix: spelling * chore: use debugPrint instead of print
* feat: adding catalyst developer profiler * feat: update CatalystDeveloperProfiler to use CatalystProfiler
* chore: rename selectors widget * chore: seperate widget into smaller files * feat(cat-voices): Changing widget to slivers in workspace page for optimisation (#3543) * chore: refactor proposals list * chore: change single child scroll view to custom scroll view and slivers * chore: review update
…o feat/face-performance-optimization-3352
* feat: extending profiler for addtional functions * fix: format * fix: review
* chore: update CI * feat: enable release mode for flutter_rust_bridge * chore: regenerate in release mode * feat: regenerate * chore: restore * docs: readme * chore: restore release mode
* feat: version assets script * chore: review update * fix: spelling * chore: remove unused files * chore: remove manifest ref * chore: review update * chore: fix path changing add wasm support * chore: readme * chore: update readme * fix: spelling * chore: remove url part * wip * wip * wip * chore: update gitignore * chore: adding tests * chore: update readme * fix: spelling * fix: spelling * fix: spelling * chore: filter target files * chore: flutter_bootstrap don't rename canvaskit files * chore: add new version to files * chore: revert v1 versions of manual files
* feat: version assets script * chore: review update * fix: spelling * chore: remove unused files * chore: remove manifest ref * chore: review update * chore: fix path changing add wasm support * chore: readme * chore: update readme * fix: spelling * chore: remove url part * wip * wip * wip * chore: update gitignore * chore: adding tests * chore: update readme * fix: spelling * fix: spelling * feat: new cache-control settings * chore: update other caddyfiles * fix: spelling * fix: spelling * fix: spelling * chore: filter target files * chore: flutter_bootstrap don't rename canvaskit files * chore: add new version to files * chore: revert v1 versions of manual files --------- Co-authored-by: Dominik Toton <[email protected]>
* feat: version assets script * chore: review update * fix: spelling * chore: remove unused files * chore: remove manifest ref * chore: review update * chore: fix path changing add wasm support * chore: readme * chore: update readme * fix: spelling * chore: remove url part * wip * wip * wip * chore: update gitignore * chore: adding tests * chore: update readme * fix: spelling * fix: spelling * fix: spelling * chore: filter target files * chore: flutter_bootstrap don't rename canvaskit files * feat: adding app metadata service * feat: ui implementation for showing banner of new version * fix: static ananlysis * feat: change location of calling fun to check app version * fix: better handling if router exists in context * chore: add new version to files * chore: revert v1 versions of manual files
2 tasks
* feat(cat-voices): wrap CIP-30 and CIP-95 wallet APIs in JS to make place for catching and mapping errors (#3711) * feat: wrap initial and full cardano wallet api in JS * feat: map CIP-95 API * fix: syntax * feat(cat-voices): map JS wallet errors to dart models (#3712) * feat: wrap initial and full cardano wallet api in JS * feat: map CIP-95 API * fix: syntax * feat: map errors in JS to a format understandable by dart layer * feat: map remaining errors * fix: remove logs * chore: cleanup * fix: map exceptions * chore: add tests * chore: ignore invalid lint * refactor: use recursion to parse wallet errors * fix(cat-voices): handle account change error in cardano wallet (#3726) * feat: cardano wallet decorator handling account change * chore: cleanup * chore: add test * fix: reassign newly enabled delegate * fix: reassign delegate * refactor: revert wasm workaround for js undefined * fix: parse js error
* feat: v1 version for key derivation * feat: add wildcard support * feat: adding v1 versions * feat: update catalyst_compression to v1
* feat(cat-voices): svg vector graphics compiler (#3715) * feat: precompile SVG assets * feat: Convert images to WebP * fix(cat-voices): compile svg to binary format (#3728) * compile svg to binary format * refactor * feat(cat-voices): Add precompressed web files and Caddy configuration (#3719) * feat: Add precompressed web files and Caddy configuration * fix Caddy config * fix * fix * fix * refactor * add 'precompressed' to project dictionary * Update catalyst_voices/module.cue Co-authored-by: Dominik Toton <[email protected]> * refactor Caddy config --------- Co-authored-by: Dominik Toton <[email protected]> --------- Co-authored-by: Dominik Toton <[email protected]>
* feat: localized wallet errors * fix: docs tests * fix: spelling * chore: move source code extraction to fallbackApiException * chore: use _InfoCodeError.tryFrom
* feat(cat-voices): database migration (#3585) * docs: capture initial times * chore: remove cacheDocument * turn off logging * chore: use debugPrint instead of logger * feat: bulk documents save * batching sync * chore: move exact ref resoling to getDocumentData instead of index * fix: DocumentRepository * chore: simplify getting documents data * remove getAllDocumentsRefs and getCachedDocumentsRefs from DocumentRepository. Index is only available in DocumentDataRemoteSource * chore: update docs * simplified document index endpoint * remove randomness from LocalCatGateway * indexing by batch size * wip: filtering by types * Rework filtering refs + checking all refs if already cached in parallel * docs * update indexing.csv * update indexing csv * chore: cleanup * trailing new line * chore * move performance tab to docs * bulk saving typed docs in parallel * chore: revert hardcoded timestamp * chore: typos * split _sync into smaller functions + add documentation * little refactor * fix: analyzer * initial v2 tables * wip * wip * feat: database migration * chore: cleanup * bump batch size * cleanup * chore: remove defensive content decoding * spelling * test on platform * chore: update build scripts * more migration test data * clean up constructors * cleanup * fix: template tests * fix: spelling * fix code-generator earthly target * use logger in migration + wrap in transaction * chore: move migration transaction level higher * feat(cat-voices): database queries migration and optimization (#3614) * docs: capture initial times * chore: remove cacheDocument * turn off logging * chore: use debugPrint instead of logger * feat: bulk documents save * batching sync * chore: move exact ref resoling to getDocumentData instead of index * fix: DocumentRepository * chore: simplify getting documents data * remove getAllDocumentsRefs and getCachedDocumentsRefs from DocumentRepository. Index is only available in DocumentDataRemoteSource * chore: update docs * simplified document index endpoint * remove randomness from LocalCatGateway * indexing by batch size * wip: filtering by types * Rework filtering refs + checking all refs if already cached in parallel * docs * update indexing.csv * update indexing csv * chore: cleanup * trailing new line * chore * move performance tab to docs * bulk saving typed docs in parallel * chore: revert hardcoded timestamp * chore: typos * split _sync into smaller functions + add documentation * little refactor * fix: analyzer * initial v2 tables * wip * wip * feat: database migration * chore: cleanup * bump batch size * cleanup * chore: remove defensive content decoding * chore: daos * spelling * saveAll * test on platform * chore: update build scripts * feat: DocumentsV2Dao methods * simple proposals pagination query * chore: create a JoinedProposalBriefEntity * rename method * feat: exclude hidden proposals * more tests * renaming and splitting logic into smaller parts * feat: per language strategy * remove CatalystDatabaseLanguage in favor of raw queries as they are easier to mange * remove Index Strategy Documentation * handle case where ref is empty * migration now includes indexes * use v2 documents table for saveAll and isCachedBulk * adds ActionType to JoinedProposalBriefEntity * adds versionIds to JoinedProposalBriefEntity * comments count * adds isFavorite to JoinedProposalBriefEntity * add template to JoinedProposalBriefEntity * adds documentsLocalMetadata table for auto updates * Update docs * use v2 proposals query for discovery most recent section * feat: simplify most recent proposals section * add proposal fav status for v2 tables * local proposal fav status update * update fav state locally for faster feedback * self review * fix tests * update times * fix: analyzer * more migration test data * clean up constructors * cleanup * fix: template tests * spelling * fix: spelling * chore: PR review adjustments * fix: add discovery specific colors (#3637) * fix code-generator earthly target * use logger in migration + wrap in transaction --------- Co-authored-by: Ryszard Schossler <[email protected]> * feat(cat-voices): proposals query filtering (#3641) * docs: capture initial times * chore: remove cacheDocument * turn off logging * chore: use debugPrint instead of logger * feat: bulk documents save * batching sync * chore: move exact ref resoling to getDocumentData instead of index * fix: DocumentRepository * chore: simplify getting documents data * remove getAllDocumentsRefs and getCachedDocumentsRefs from DocumentRepository. Index is only available in DocumentDataRemoteSource * chore: update docs * simplified document index endpoint * remove randomness from LocalCatGateway * indexing by batch size * wip: filtering by types * Rework filtering refs + checking all refs if already cached in parallel * docs * update indexing.csv * update indexing csv * chore: cleanup * trailing new line * chore * move performance tab to docs * bulk saving typed docs in parallel * chore: revert hardcoded timestamp * chore: typos * split _sync into smaller functions + add documentation * little refactor * fix: analyzer * initial v2 tables * wip * wip * feat: database migration * chore: cleanup * bump batch size * cleanup * chore: remove defensive content decoding * chore: daos * spelling * saveAll * test on platform * chore: update build scripts * feat: DocumentsV2Dao methods * simple proposals pagination query * chore: create a JoinedProposalBriefEntity * rename method * feat: exclude hidden proposals * more tests * renaming and splitting logic into smaller parts * feat: per language strategy * remove CatalystDatabaseLanguage in favor of raw queries as they are easier to mange * remove Index Strategy Documentation * handle case where ref is empty * migration now includes indexes * use v2 documents table for saveAll and isCachedBulk * adds ActionType to JoinedProposalBriefEntity * adds versionIds to JoinedProposalBriefEntity * comments count * adds isFavorite to JoinedProposalBriefEntity * add template to JoinedProposalBriefEntity * adds documentsLocalMetadata table for auto updates * Update docs * use v2 proposals query for discovery most recent section * feat: simplify most recent proposals section * add proposal fav status for v2 tables * local proposal fav status update * update fav state locally for faster feedback * self review * fix tests * update times * fix: analyzer * more migration test data * clean up constructors * cleanup * fix: template tests * spelling * fix: spelling * chore: PR review adjustments * add order parameter * ProposalsOrder docs * GetProposalsBriefPage supports order * add filters object * proposalsBriefPage filtering * fix: status filtering * more draft proposals filtering tests * Campaign proposals filter * update docs * expose getVisibleProposalsCount and tests * expose filters parameter * integrate proposals page with v2 queries * chore: increase time diff between proposals * chore: reduce count query tables watched when not needed * local proposals cubit * local proposal fav staus update * docs * fix: add discovery specific colors (#3637) * fix code-generator earthly target * use logger in migration + wrap in transaction * spelling * rename category to categoryId for better consistency * proposals per tab selector * release completed in close * extract early return logic into function --------- Co-authored-by: Ryszard Schossler <[email protected]> * feat(cat-voices): voting space (#3648) * docs: capture initial times * chore: remove cacheDocument * turn off logging * chore: use debugPrint instead of logger * feat: bulk documents save * batching sync * chore: move exact ref resoling to getDocumentData instead of index * fix: DocumentRepository * chore: simplify getting documents data * remove getAllDocumentsRefs and getCachedDocumentsRefs from DocumentRepository. Index is only available in DocumentDataRemoteSource * chore: update docs * simplified document index endpoint * remove randomness from LocalCatGateway * indexing by batch size * wip: filtering by types * Rework filtering refs + checking all refs if already cached in parallel * docs * update indexing.csv * update indexing csv * chore: cleanup * trailing new line * chore * move performance tab to docs * bulk saving typed docs in parallel * chore: revert hardcoded timestamp * chore: typos * split _sync into smaller functions + add documentation * little refactor * fix: analyzer * initial v2 tables * wip * wip * feat: database migration * chore: cleanup * bump batch size * cleanup * chore: remove defensive content decoding * chore: daos * spelling * saveAll * test on platform * chore: update build scripts * feat: DocumentsV2Dao methods * simple proposals pagination query * chore: create a JoinedProposalBriefEntity * rename method * feat: exclude hidden proposals * more tests * renaming and splitting logic into smaller parts * feat: per language strategy * remove CatalystDatabaseLanguage in favor of raw queries as they are easier to mange * remove Index Strategy Documentation * handle case where ref is empty * migration now includes indexes * use v2 documents table for saveAll and isCachedBulk * adds ActionType to JoinedProposalBriefEntity * adds versionIds to JoinedProposalBriefEntity * comments count * adds isFavorite to JoinedProposalBriefEntity * add template to JoinedProposalBriefEntity * adds documentsLocalMetadata table for auto updates * Update docs * use v2 proposals query for discovery most recent section * feat: simplify most recent proposals section * add proposal fav status for v2 tables * local proposal fav status update * update fav state locally for faster feedback * self review * fix tests * update times * fix: analyzer * more migration test data * clean up constructors * cleanup * fix: template tests * spelling * fix: spelling * chore: PR review adjustments * add order parameter * ProposalsOrder docs * GetProposalsBriefPage supports order * add filters object * proposalsBriefPage filtering * fix: status filtering * more draft proposals filtering tests * Campaign proposals filter * update docs * expose getVisibleProposalsCount and tests * expose filters parameter * integrate proposals page with v2 queries * chore: increase time diff between proposals * chore: reduce count query tables watched when not needed * local proposals cubit * local proposal fav staus update * docs * fix: add discovery specific colors (#3637) * fix code-generator earthly target * use logger in migration + wrap in transaction * spelling * wip * rename category to categoryId for better consistency * adding vote data to ProposalBriefData * fix: dependencies * voting page + cubit integration - wip * proposals per tab selector * release completed in close * extract early return logic into function * Voting tabs selector + releasing completer on close * move spaces blocs to shell page level * fix: voting in grid view * dummy voting integration * chore: remove showComments * docs: ProposalOrDocument --------- Co-authored-by: Ryszard Schossler <[email protected]> * feat(cat-voices): database queries cleanup (#3672) * docs: capture initial times * chore: remove cacheDocument * turn off logging * chore: use debugPrint instead of logger * feat: bulk documents save * batching sync * chore: move exact ref resoling to getDocumentData instead of index * fix: DocumentRepository * chore: simplify getting documents data * remove getAllDocumentsRefs and getCachedDocumentsRefs from DocumentRepository. Index is only available in DocumentDataRemoteSource * chore: update docs * simplified document index endpoint * remove randomness from LocalCatGateway * indexing by batch size * wip: filtering by types * Rework filtering refs + checking all refs if already cached in parallel * docs * update indexing.csv * update indexing csv * chore: cleanup * trailing new line * chore * move performance tab to docs * bulk saving typed docs in parallel * chore: revert hardcoded timestamp * chore: typos * split _sync into smaller functions + add documentation * little refactor * fix: analyzer * initial v2 tables * wip * wip * feat: database migration * chore: cleanup * bump batch size * cleanup * chore: remove defensive content decoding * chore: daos * spelling * saveAll * test on platform * chore: update build scripts * feat: DocumentsV2Dao methods * simple proposals pagination query * chore: create a JoinedProposalBriefEntity * rename method * feat: exclude hidden proposals * more tests * renaming and splitting logic into smaller parts * feat: per language strategy * remove CatalystDatabaseLanguage in favor of raw queries as they are easier to mange * remove Index Strategy Documentation * handle case where ref is empty * migration now includes indexes * use v2 documents table for saveAll and isCachedBulk * adds ActionType to JoinedProposalBriefEntity * adds versionIds to JoinedProposalBriefEntity * comments count * adds isFavorite to JoinedProposalBriefEntity * add template to JoinedProposalBriefEntity * adds documentsLocalMetadata table for auto updates * Update docs * use v2 proposals query for discovery most recent section * feat: simplify most recent proposals section * add proposal fav status for v2 tables * local proposal fav status update * update fav state locally for faster feedback * self review * fix tests * update times * fix: analyzer * more migration test data * clean up constructors * cleanup * fix: template tests * spelling * fix: spelling * chore: PR review adjustments * add order parameter * ProposalsOrder docs * GetProposalsBriefPage supports order * add filters object * proposalsBriefPage filtering * fix: status filtering * more draft proposals filtering tests * Campaign proposals filter * update docs * expose getVisibleProposalsCount and tests * expose filters parameter * integrate proposals page with v2 queries * chore: increase time diff between proposals * chore: reduce count query tables watched when not needed * local proposals cubit * local proposal fav staus update * docs * fix: add discovery specific colors (#3637) * fix code-generator earthly target * use logger in migration + wrap in transaction * spelling * wip * rename category to categoryId for better consistency * adding vote data to ProposalBriefData * fix: dependencies * voting page + cubit integration - wip * proposals per tab selector * release completed in close * extract early return logic into function * Voting tabs selector + releasing completer on close * move spaces blocs to shell page level * fix: voting in grid view * dummy voting integration * chore: remove showComments * docs: ProposalOrDocument * create proposals/count query .csv files * update proposals query times * category indexes * CatId parse and tryParse * create new tables for authors * update migration * run database analyze after sync * DocumentAuthors docs * simpler copyWith * cat.id keeps schema * get rid of authorCatIdWithoutUsername column * console profiler * catId -> id * times * results notes * spelling * fix: analyzer * update results (#3673) * fix: readme * remove CatalystRuntimeProfiler * catId schema -> scheme * rename * bring back profiler to SignedDocumentManager, with debounce --------- Co-authored-by: Ryszard Schossler <[email protected]> * feat(cat-voices): campaign total ask (#3734) * remove totalAsk and proposalsCount from campaign model * proposalsCount -> finalProposalsCount * CampaignCategoryViewModel.id -> CampaignCategoryViewModel.ref * little DiscoveryCubit state build cleanup * watch campaign total ask in discovery * smaller voting category model * new proposal campaign * safe check * proposal builder category total ask * chore: missing TODO * category details * watch proposals template total ask * finish integration of total_ask * close * remove print and add TODO * documents getLatestOf * categoryId -> categoryRef * chore: make logger private * feat: Make MultiCurrencyAmount immutable * chore(cat-voices): remove old daos (#3745) * remove totalAsk and proposalsCount from campaign model * proposalsCount -> finalProposalsCount * CampaignCategoryViewModel.id -> CampaignCategoryViewModel.ref * little DiscoveryCubit state build cleanup * watch campaign total ask in discovery * smaller voting category model * new proposal campaign * safe check * proposal builder category total ask * chore: missing TODO * category details * watch proposals template total ask * finish integration of total_ask * close * remove print and add TODO * documents getLatestOf * remove old tables and daos * deleteWhere tests * remove old pagination and count methods * local draft documents dao * categoryId -> categoryRef * chore: notInType -> typeNotIn * chore: move DriftDocumentsV2LocalMetadataDao setup into group * separate get and getWhere * docs: documents sources interfaces documentation * chore: methods rename * chore: refTo -> referencing * chore: typeNotIn -> excludeTypes * update content * feat(cat-voices): smaller proposals query scope (#3747) * smaller proposals page query * update PR nr * test(cat-voices): enable back index tests (#3766) * chore: remote source tests * SyncManager and DocumentService tests * chore(cat-voices): cleanup miss leading "ref" / "selfRef" with "id" (#3762) * remove totalAsk and proposalsCount from campaign model * proposalsCount -> finalProposalsCount * CampaignCategoryViewModel.id -> CampaignCategoryViewModel.ref * little DiscoveryCubit state build cleanup * watch campaign total ask in discovery * smaller voting category model * new proposal campaign * safe check * proposal builder category total ask * chore: missing TODO * category details * watch proposals template total ask * finish integration of total_ask * close * remove print and add TODO * documents getLatestOf * remove old tables and daos * deleteWhere tests * remove old pagination and count methods * local draft documents dao * categoryId -> categoryRef * chore: notInType -> typeNotIn * chore: move DriftDocumentsV2LocalMetadataDao setup into group * separate get and getWhere * docs: documents sources interfaces documentation * chore: methods rename * chore: refTo -> referencing * chore: typeNotIn -> excludeTypes * update content * feat(cat-voices): smaller proposals query scope (#3747) * smaller proposals page query * update PR nr * silence warning * chore: version -> ver * fix: ref test * chore: remove id and version getters from DocumentDataMetadata * selfRef -> id part1 * chore: selfRef -> id * chore: use more of ids * chore: use Map.of instead of Map.from * dtos migration tests * fix: analyzer --------- Co-authored-by: Ryszard Schossler <[email protected]>
* fix: spelling * remove back slach * fix: README
* chore: port over parameters changes * feat(cat-voices): adjust database to signed docs 0.0.4 (#3791) * tables * wip * proposals dao tests * bump db schema * db index name fix * migration -> use createAll() * update migration * update migration * chore: remove print * update ref dto flatten implementation * migration toFlatten() * fix: proposals dao * fix: documents dao and local drafts dao * chore: clean up TODO * fix: failing tests * chore: markdown order * web: skips for db tests * fix: db tests on web * fix: analyzer * unskip tests * rename * CatalystId.toUri -> CatalystId.toString * use same instead of identical * use hasLength * metadata dao tests * use hasLength in documents v2 dao * feat: use hasLength in proposals v2 dao tests * fix(cat-voices): storing catIds with coma usernames (#3813) * tables * wip * proposals dao tests * bump db schema * db index name fix * migration -> use createAll() * update migration * update migration * chore: remove print * update ref dto flatten implementation * migration toFlatten() * fix: proposals dao * fix: documents dao and local drafts dao * chore: clean up TODO * fix: failing tests * chore: markdown order * web: skips for db tests * fix: db tests on web * fix: analyzer * unskip tests * chore: use converters * update tests * hello world test * fix: documents dao hasLength * feat(cat-voices): filtering proposals by original author (#3810) * tables * wip * proposals dao tests * bump db schema * db index name fix * migration -> use createAll() * update migration * update migration * chore: remove print * update ref dto flatten implementation * migration toFlatten() * fix: proposals dao * fix: documents dao and local drafts dao * chore: clean up TODO * fix: failing tests * chore: markdown order * web: skips for db tests * fix: db tests on web * fix: analyzer * unskip tests * feat: filtering author on first version * change filter name from author to originalAuthor * Adds originalAuthor filter to documentsDao * authorId -> originalAuthorId * originalAuthors * fix: spelling * use authors from documents for originalAuthors * feat(cat-voices): validating proposal submission action author (#3814) * tables * wip * proposals dao tests * bump db schema * db index name fix * migration -> use createAll() * update migration * update migration * chore: remove print * update ref dto flatten implementation * migration toFlatten() * fix: proposals dao * fix: documents dao and local drafts dao * chore: clean up TODO * fix: failing tests * chore: markdown order * web: skips for db tests * fix: db tests on web * fix: analyzer * unskip tests * feat: filtering author on first version * change filter name from author to originalAuthor * Adds originalAuthor filter to documentsDao * authorId -> originalAuthorId * originalAuthors * fix: spelling * docs * use authors from documents for originalAuthors * fix: campaign total ask tests * fix: proposals dao tests * test: proposals dao authors * fix: spelling * chore: extract _getValidActionsCTE()
* chore: adapt signed documents paring * chore: rename + throw exception for invalid signed docs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
no-track
Used to skip tracking in Swarmia analytics, etc.
squad: face
Frontend Catalyst Experience Team
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Feature branch PR containing a lot of improvements of app performance
Related Issue(s)
Resolves #3575
Resolves #3352
Resolves https://github.com/input-output-hk/catalyst-internal-docs/issues/291
Fixes #3569
Fixes #3182
Description of Changes
Most notably
Please confirm the following checks