Skip to content
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

chore(extension): migrate extension branch from private repository #2513

Draft
wants to merge 62 commits into
base: extension
Choose a base branch
from

Conversation

takenagain
Copy link
Collaborator

No description provided.

naezith and others added 30 commits January 17, 2025 15:31
* Fix electrum coin activation on native platforms

Added conditional checks based on the current platform. WSS is not supported on native platforms, but required for Web.

* Rename `_removeElectrumsWithoutWSS`

* make constructor const

---------

Co-authored-by: smk762 <[email protected]>
Co-authored-by: Charl (Nitride) <[email protected]>
* Upgrade to Flutter 3.19.6

Update `flutter_slidable` to 3.1.0

* Migrate to Gradle's declarative plugins block

Upgrade to gradle build tools 8.7
Set build target to API version 34

* Update pinned Flutter version in docs

* Add docs for serving localhost through https

Serving through HTTPS is sometimes necessary due to security policies (i.e. Bitrefill).
This functionality was only merged in Flutter 3.19 with PR [#60704](flutter/flutter#60704)
Fix password confirm validation issue so that the field auto-validates for all inputs after the user’s first submission attempt.
* Transfer from archive repository as new package

Copied from `add/update-coin-config` branch with PR #1336 in `komodo-wallet-archive`

* Add coins.json models

* Add Hive box persistence provider and interface

Add as a new package to allow for use in portfolio graphs

* Make bulk operation implementations compulsory

* Replace KeyValueDatabase with PersistenceProvider API

* Make Coin model fields nullable

* Add coins config models and adapters

* Refactor Hive adapters into a separate folder

* Add coin commit hash storage

* Change adapter fields to nullable and remove `required` annotations

* Add Lazy box implementation

* Combine coins and coins_config into a single box and model

* Allow exceptions to move up

Don't handle exceptions in the package

* Add documentation with usage examples

* Add documentation comments to the data layer classes

* Add db/table exists check to persistence layer

* Add interval refresh state and events and consolidate repository

* Add periodic update event and handlers

* Fix linter warnings

* Save the bundled coin configs to Hive if no box exists

* Add new coins repository to the existing repository

Interim solution

* Revert coins repo field accessibility to private

* Add local config exists check and add documentation

* Add fallback for missing local asset files

* Move runtime coin updates into a Isolate with `compute`

* Fix missing coins not activating on refresh

Use the coin repository to get known coins instead of the parser, so that the coins saved to Hive can be passed to the API

* Revert breaking change to `CoinsBloc`

This was introduced to fix a bug during development that is now fixed by changes to the `CoinsRepo.getKnownCoins` and mm2 api initialisation functions.

* Change to exception-based error handling

* Add log statements for errors during raw rx send

* Fix incorrect coins format being sent to mm2

Required fields from `coins.json` were missing from the `Coin` class when mapping to JSON.
Add and use a new function explicitly for the `coins.json` format required on startup.

* Fix flutter analyze warning and missing coin configs

* Change `int` and `double` to `num` to fix parsing errors

* Fix Hive initialization in Isolates on native platforms

* Move coin and electrum removal from package to app bloc

* Fix duplicate type adapter registration

Only re-initialize Hive on native platforms where isolates run in separate processes.

* Remove coins without WSS electrums from storage on web

* Fix flutter analyze warning

* Read runtime coin updates branch and url from config file

Move `coins_ci.json` to assets root and update fields. Use the config to populate the default values for the GitHub provider .

* Update `fetch_coins.py` script to read from runtime updates config

* Create required directory in assets folder

* Change to connection reference and non-null parameter
Fix password confirmation error state not automatically updating
naezith and others added 26 commits January 17, 2025 17:17
Implement Dart build script for fetching API binaries at build-time.
* Add dart fetch coin assets script

* Update project setup documentation

* Keep coin assets directories in folder structure

* Remove references to `fetch_coins.py` from GitHub Actions scripts
* SEO updates and some optimizations

* make workflow_dispatch work

* make workflow_dispatch work

* removes preload of main.dart.js as it wasn't preventing sw from making another request

* adds robots file, better loading image

* updates generated html

* fixes komodoplatform logo url, makes the app use canvas.wasm from our host and make it be cached by service worker

* make fallback font(roboto) cached by service worker

* removes unnecessary preconnect

* reverts release mode to --profile

* sets prefer_related_applications to false

* replaces loader icon with higher res, lower size image

* update favicons and other icons

* updates buit index.html
* Init Defi API installer package

build_time_defi_installer init using the command `dart create -t cli build_time_defi_installer`

* Rename Defi installer to general build transformer

Rename Defi installer to general build transformer to reflect the expanded scope of the transformer’s responsibilities.

* Relocate build steps

Relocate build steps authored by @takenagain and @naezith in preparation for their integration into the build system.

* Further renaming

* Create abstract build step interface

* Adapt defi API step to new structure

* Revert removed coin asset fetching code

Credit to @takenagain for the changes

* Remove renamed orphaned pubspec file

* Remove redundant app build setup

* Update build transformer pubspec description

* Add CLI entry for defi fetcher

* Remove `index.html`

Remove the committed `index.html` because it is automatically generated as part of the build process.

* add `intex.html` to gitignore

add `intex.html` to gitignore since it is automatically generated in the build process as part of the recent build-time changes

* Name build steps according to the convention

* Add step for copying platform assets

* Remove more redundant build scripts & update docs

* Implement the build step manager

Implement the build step manager that manages execution of build steps

* Fix broken coins runtime update path

* Update outdated package

* Revert `.gitignore`

* Ignore `index.html` to build at build-time

* Revert "Ignore `index.html` to build at build-time"

This reverts commit 4cefc48b21853a2e36030bc7296acd3f836475cb.

* Fix broken GH workflows

* Relax lint rule

* Improvements and further workflow fixes

* Update GH Actions

* More GH Actions updates

* Update bundled commit hash on run and update save method

* Refactoring and improvements

* Fix failing test

* Update build config coins commit

* GH Workflow fix

* Workflow test #2

* Workflow test #3

* Fix asset bundle path

* Revert "Workflow test #3"

This reverts commit 7b137ca6ec27c3046c446aabc190ad32a01a018d.

* GH Workflows test nr 4

---------

Co-authored-by: Francois <[email protected]>
CI build system fixes & add functionality to skip the API update build step if `should_update` in the build config is `false` (previously this value was ignored).
Fix bootstrap loader null exception encountered when doing hot restart in debug mode development.
Fix Enter submit on forms not working
This reverts commit a623444ea75e4d074419bcc9689585ca819beceb.
Copy link

coderabbitai bot commented Jan 17, 2025

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@takenagain takenagain force-pushed the merge/extension-private-public branch from f9c03f2 to ef7b4b2 Compare January 17, 2025 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants