Skip to content

Conversation

@LynxLynxx
Copy link
Contributor

@LynxLynxx LynxLynxx commented Sep 17, 2025

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

  • Indexing time under heavy load (10k+) is way faster
  • Proposals query times are way laster
  • Overall app performance increased thanks to wasm build
  • better Cache-Control (more reliable app updates push)
  • smaller overall app size (faster load times)

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@LynxLynxx LynxLynxx added squad: face Frontend Catalyst Experience Team no-track Used to skip tracking in Swarmia analytics, etc. labels Sep 17, 2025
@damian-molinski damian-molinski changed the title feat(cat-voices): Face performance optimization feat(cat-voices): Frontend performance optimisation Oct 7, 2025
damian-molinski and others added 9 commits October 7, 2025 09:58
* 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
@damian-molinski damian-molinski moved this from New to 🏗 In progress in Catalyst Oct 9, 2025
dt-iohk and others added 10 commits October 9, 2025 11:12
* 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
* feat: extending profiler for addtional functions

* fix: format

* fix: review
LynxLynxx and others added 9 commits November 12, 2025 11:29
* 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
damian-molinski and others added 13 commits November 19, 2025 10:52
* 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
damian-molinski and others added 4 commits December 5, 2025 15:31
* 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

Projects

Status: 🏗 In progress

5 participants