Skip to content

Commit

Permalink
Merge branch 'develop' into dependabot/npm_and_yarn/packages/desktop/…
Browse files Browse the repository at this point in the history
…esbuild-loader-4.0.2
  • Loading branch information
begonaalvarezd authored Oct 18, 2023
2 parents bdea968 + 864e638 commit d52ccda
Show file tree
Hide file tree
Showing 315 changed files with 173,781 additions and 2,213 deletions.
14 changes: 1 addition & 13 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,7 @@ body:
- type: markdown
attributes:
value: '## Firefly application details'

- type: dropdown
id: platform
attributes:
label: Platform
description: What platform does this issue occur on? (Select all that apply)
multiple: true
options:
- Desktop
validations:
required: true
value: '## Firefly application details'

- type: input
id: version
Expand All @@ -37,7 +26,6 @@ body:
validations:
required: true


- type: markdown
attributes:
value: '## Issue report'
Expand Down
55 changes: 28 additions & 27 deletions .github/workflows/build-and-release-desktop.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
name: Build and Release Desktop

env:
NETWORK: Shimmer
NETWORK_CODE: shimmer

on:
push:
tags:
- desktop-*
- desktop-shimmer-*
workflow_dispatch:
inputs:
debugElectronBuilder:
Expand Down Expand Up @@ -35,7 +39,7 @@ jobs:
- id: set_outputs
name: Set outputs for version, release name, and stage
run: |
VERSION=${GITHUB_REF#refs/*/desktop-}
VERSION=${GITHUB_REF#refs/*/desktop-shimmer-}
RELEASE_NAME=$(echo $VERSION | perl -0777 -pe 's/^([0-9]\d*\.[0-9]\d*\.[0-9]\d*)(?:-([a-z]*)-(\d*))?$/$1 \u$2 $3/')
STAGE=$(echo $VERSION | perl -0777 -pe 's/^([0-9]\d*\.[0-9]\d*\.[0-9]\d*)(?:-([a-z]*)-([0-9]\d*(\.[0-9]\d*)*))?$/$2/')
Expand Down Expand Up @@ -167,24 +171,24 @@ jobs:
if: matrix.os == 'ubuntu-20.04'

- name: Sign AppImage (Linux)
run: echo $GPG_PASSPHRASE | gpg --pinentry-mode loopback --batch --passphrase-fd 0 --armor --detach-sign --default-key [email protected] firefly-desktop*.AppImage
run: echo $GPG_PASSPHRASE | gpg --pinentry-mode loopback --batch --passphrase-fd 0 --armor --detach-sign --default-key [email protected] firefly-*.AppImage
working-directory: packages/desktop/out
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
if: matrix.os == 'ubuntu-20.04'

- name: Compute checksums (Linux)
run: for i in `ls | grep 'firefly-desktop*'` ; do sha256sum $i | awk {'print $1'} > $i.sha256 ; done
run: for i in `ls | grep 'firefly-*'` ; do sha256sum $i | awk {'print $1'} > $i.sha256 ; done
working-directory: packages/desktop/out
if: matrix.os == 'ubuntu-20.04'

- name: Compute checksums (macOS)
run: for i in `ls | grep 'firefly-desktop*'` ; do shasum -a 256 $i | awk {'print $1'} > $i.sha256 ; done
run: for i in `ls | grep 'firefly-*'` ; do shasum -a 256 $i | awk {'print $1'} > $i.sha256 ; done
working-directory: packages/desktop/out
if: matrix.os == 'macos-11'

- name: Compute checksums (Windows)
run: Get-ChildItem "." -Filter firefly-desktop* | Foreach-Object { $(Get-FileHash -Path $_.FullName -Algorithm SHA256).Hash | Set-Content ($_.FullName + '.sha256') }
run: Get-ChildItem "." -Filter firefly-* | Foreach-Object { $(Get-FileHash -Path $_.FullName -Algorithm SHA256).Hash | Set-Content ($_.FullName + '.sha256') }
working-directory: packages/desktop/out
if: matrix.os == 'windows-2019'

Expand All @@ -193,7 +197,7 @@ jobs:
with:
name: firefly-desktop-${{ matrix.os }}
path: |
packages/desktop/out/firefly-desktop*
packages/desktop/out/firefly-*
packages/desktop/out/shimmer*
release:
Expand Down Expand Up @@ -232,20 +236,20 @@ jobs:
- name: Preparing release body
run: |
sed -i 's/\r$//' ../../assets/*.sha256 && sed -i '/^$/d' ../../assets/*.sha256 && sed -i -e 's/\(.*\)/\L\1/' ../../assets/*.sha256
WIN_SHA256=$(cat ../../assets/firefly-desktop-${{ env.VERSION }}.exe.sha256)
LIN_SHA256=$(cat ../../assets/firefly-desktop-${{ env.VERSION }}.AppImage.sha256)
MAC_SHA256=$(cat ../../assets/firefly-desktop-${{ env.VERSION }}.dmg.sha256)
WIN_SHA256=$(cat ../../assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.exe.sha256)
LIN_SHA256=$(cat ../../assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage.sha256)
MAC_SHA256=$(cat ../../assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.dmg.sha256)
echo $WIN_SHA256 $LIN_SHA256 $MAC_SHA256
touch CHANGELOG.md
echo '### Changelog' >> CHANGELOG.md
echo '------' >> CHANGELOG.md
echo '### File Hashes' >> CHANGELOG.md
echo '[How to verify the authenticity of your Firefly Desktop download](https://wiki.iota.org/shimmer/introduction/how_tos/verify_download/#verify-your-firefly-desktop-download)' >> CHANGELOG.md
echo '[How to verify the authenticity of your Firefly ${{ env.NETWORK }} Desktop download](https://wiki.iota.org/shimmer/introduction/how_tos/verify_download/#verify-your-firefly-desktop-download)' >> CHANGELOG.md
echo '| File | Platform | SHA256 Hash |' >> CHANGELOG.md
echo '| --- | --- | --- |' >> CHANGELOG.md
echo '| firefly-desktop-${{ env.VERSION }}.exe | Windows |' $WIN_SHA256 '|' >> CHANGELOG.md
echo '| firefly-desktop-${{ env.VERSION }}.AppImage | Linux |' $LIN_SHA256 '|' >> CHANGELOG.md
echo '| firefly-desktop-${{ env.VERSION }}.dmg | MacOS | ' $MAC_SHA256 '|' >> CHANGELOG.md
echo '| firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.exe | Windows |' $WIN_SHA256 '|' >> CHANGELOG.md
echo '| firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage | Linux |' $LIN_SHA256 '|' >> CHANGELOG.md
echo '| firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.dmg | MacOS | ' $MAC_SHA256 '|' >> CHANGELOG.md
cat CHANGELOG.md
working-directory: packages/desktop

Expand All @@ -256,7 +260,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Firefly Desktop ${{ env.RELEASE_NAME }}
release_name: Firefly ${{ env.NETWORK }} Desktop ${{ env.RELEASE_NAME }}
body_path: packages/desktop/CHANGELOG.md
draft: true
prerelease: true
Expand All @@ -267,8 +271,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: assets/firefly-desktop-${{ env.VERSION }}.dmg
asset_name: firefly-desktop-${{ env.VERSION }}.dmg
asset_path: assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.dmg
asset_name: firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.dmg
asset_content_type: application/octet-stream

- name: Upload Windows binary asset
Expand All @@ -277,8 +281,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: assets/firefly-desktop-${{ env.VERSION }}.exe
asset_name: firefly-desktop-${{ env.VERSION }}.exe
asset_path: assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.exe
asset_name: firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.exe
asset_content_type: application/octet-stream

- name: Upload Linux binary asset
Expand All @@ -287,8 +291,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: assets/firefly-desktop-${{ env.VERSION }}.AppImage
asset_name: firefly-desktop-${{ env.VERSION }}.AppImage
asset_path: assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage
asset_name: firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage
asset_content_type: application/octet-stream

- name: Upload Linux code signature asset
Expand All @@ -297,13 +301,10 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: assets/firefly-desktop-${{ env.VERSION }}.AppImage.asc
asset_name: firefly-desktop-${{ env.VERSION }}.AppImage.asc
asset_path: assets/firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage.asc
asset_name: firefly-${{ env.NETWORK_CODE }}-desktop-${{ env.VERSION }}.AppImage.asc
asset_content_type: application/pgp-signature

- name: Listing artifacts
run: ls -al assets

- name: Upload to S3
run: |
aws s3 cp assets/ s3://iotaledger-files/4a1ddea1-10c1-4f1d-83f0-e14903931a46/releases/ --recursive --include "*" --exclude "*.sha256" --exclude "*.blockmap" --exclude "*.asc" --acl public-read
Expand All @@ -318,4 +319,4 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: eu-central-1
AWS_DEFAULT_REGION: eu-central-1
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@

## About

Firefly Shimmer is the official wallet for managing your tokens and assets on the Shimmer network.
Firefly is the official wallet for managing your tokens and assets on the Shimmer network.

## Installation

There are a few options to install Firefly Shimmer:
There are a few options to install Firefly:

- Download from [official Firefly Shimmer website](https://firefly.iota.org)
- Download from [official Firefly website](https://firefly.iota.org)
- Download from the latest [GitHub release](https://github.com/iotaledger/firefly/releases/tag/desktop-2.0.0)
- Build from source code (see our handbook guide for ["Environment Setup"](https://iotaledger.github.io/firefly/guides/environment-setup/))

Expand Down
49 changes: 25 additions & 24 deletions docs/guides/developer-tips.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,24 @@ Welcome to the Firefly developer tips! Here you will find all sorts of helpful i

### Backend

It is likely that you **will NOT** have to re-compile the backend (NodeJS *or* Capacitor) bindings, unless you have either changed or modified specific "bridge" functions (like [this one](https://github.com/iotaledger/firefly/blob/develop/packages/shared/lib/typings/account.ts#L66)).
It is likely that you **will NOT** have to re-compile the backend (NodeJS _or_ Capacitor) bindings, unless you have either changed or modified specific "bridge" functions (like [this one](https://github.com/iotaledger/firefly/blob/develop/packages/shared/lib/typings/account.ts#L66)).

### Desktop

#### Svelte Components

If simply making changes to Svelte component files, it is not usually required to fully refresh the development instance (it is typically refreshed for you).

In some cases, the changes can cause unrecoverable errors unless you refresh via the developer console. This usually happens when changing imports or adding a new Svelte file.
In some cases, the changes can cause unrecoverable errors unless you refresh via the developer console. This usually happens when changing imports or adding a new Svelte file.

#### TypeScript Library

If making changes within the TypeScript library files, it is usually necessary to refresh the development instance via the console so load the changes.

If editing files that are imported within `packages/desktop`, then it will be necessary to fully rebuild and restart the development instance. In particular, the following files require rebuilding:
- `shared/lib/core/shell/*.ts`
- `shared/lib/core/validation/*.ts`

- `shared/lib/core/shell/*.ts`
- `shared/lib/core/validation/*.ts`


## Common Processes
Expand All @@ -35,29 +36,29 @@ If editing files that are imported within `packages/desktop`, then it will be ne

To add a new (SVG-based) icon for use in the application, simply create a new object entry [here](https://github.com/iotaledger/firefly/blob/develop/packages/shared/components/icon/icons.js#L1).

Most entries here simply include `width`, `height`, and `path` properties, however please be sure that whatever icon you are adding contains all of the necessary SVG data to be displayed correctly (e.g. `fillRule`s, `clipRule`s, `strokeWidth`).
Most entries here simply include `width`, `height`, and `path` properties, however please be sure that whatever icon you are adding contains all of the necessary SVG data to be displayed correctly (e.g. `fillRule`s, `clipRule`s, `strokeWidth`).

If the icon is still not displaying properly, it is likely that it was either exported incorrectly or can be flattened in the design software **before** being exported.

### Adding a setting

There are a few steps to add a settings component to the Settings menu in Firefly:

- Add your component to the correct folder under `packages/shared/routes/dashboard/settings/views`
- Add an `export` statement to the barrel import/export file in the directory of your new component
- Add your component to the `settings` of the file with the same name as the settings (e.g. `Advance.svelte` for the advanced setting)
- Add your route enum to the appropriate settings route in `packages/shared/lib/core/router/enums/routes.ts`
- Add the correct `title` and additional texts to the `view` property in `packages/shared/locales/en.json` for the translations.
- Add an appropriate icon to`packages/shared/lib/typings/icons.ts`
- Add your component to the correct folder under `packages/shared/routes/dashboard/settings/views`
- Add an `export` statement to the barrel import/export file in the directory of your new component
- Add your component to the `settings` of the file with the same name as the settings (e.g. `Advance.svelte` for the advanced setting)
- Add your route enum to the appropriate settings route in `packages/shared/lib/core/router/enums/routes.ts`
- Add the correct `title` and additional texts to the `view` property in `packages/shared/locales/en.json` for the translations.
- Add an appropriate icon to`packages/shared/lib/typings/icons.ts`

### Adding a Svelte page

There are a few steps besides just creating the component file before it can work in Firefly:

- Add an `export` statement to the barrel import/export file in the directory of your new component
- Add the correct route value to the appropriate `enum` in `packages/shared/lib/typings/routes.ts`
- Add the correct HTML (`Route` nested with `<Page>` element) in `packages/desktop/App.svelte`
- Change logic as needed in `routerNext` in `packages/shared/lib/router.ts`
- Add an `export` statement to the barrel import/export file in the directory of your new component
- Add the correct route value to the appropriate `enum` in `packages/shared/lib/typings/routes.ts`
- Add the correct HTML (`Route` nested with `<Page>` element) in `packages/desktop/App.svelte`
- Change logic as needed in `routerNext` in `packages/shared/lib/router.ts`

### Exposing an API endpoint

Expand All @@ -74,11 +75,11 @@ See its [README](https://github.com/iotaledger/wallet.rs#dependencies) for the r

Log files are often required to debug `wallet.rs` issues. They can be found in the following folders:

- Windows: `%APPDATA%\Roaming\Firefly\logs`
- MacOS: `$HOME/Library/Application\ Support/Firefly/logs`
- Linux: `~/.config/Firefly/logs`
- Windows: `%APPDATA%\Roaming\Firefly\logs`
- MacOS: `$HOME/Library/Application\ Support/Firefly/logs`
- Linux: `~/.config/Firefly/logs`

For developer/alpha/beta builds you have to look for `Electron`/`'Firefly Shimmer - Alpha'`/`'Firefly Shimmer - Beta'` respectively.
For developer/alpha/beta builds you have to look for `Electron`/`'Firefly - Alpha'`/`'Firefly - Beta'` respectively.

#### Desktop

Expand Down Expand Up @@ -107,14 +108,14 @@ Wallet.initLogger({

in `desktop/electron/preload.js` after `const Wallet = binding`. Debug logs will then be added to the `wallet.log` file in the same location where Firefly or the Electron / Capacitor development instance is installed.

## Resetting Firefly
## Resetting Firefly

### Desktop

If you want to reset Firefly your profiles are stored in the following places on the different OS'es for the official release:

- Windows: `%APPDATA%\Roaming\Firefly\__storage__/`
- MacOS: `$HOME/Library/Application\ Support/Firefly/__storage__/`
- Linux: `~/.config/Firefly/__storage__/`
- Windows: `%APPDATA%\Roaming\Firefly\__storage__/`
- MacOS: `$HOME/Library/Application\ Support/Firefly/__storage__/`
- Linux: `~/.config/Firefly/__storage__/`

For developer/alpha/beta builds you have to look for `Electron`/`'Firefly Shimmer - Alpha'`/`'Firefly Shimmer - Beta'` respectively.
For developer/alpha/beta builds you have to look for `Electron`/`'Firefly - Alpha'`/`'Firefly - Beta'` respectively.
6 changes: 3 additions & 3 deletions docs/guides/git/branches.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ icon: git-branch

# Branches

Branch names __must__ follow a certain structure, which is `branch-prefix/branch-name`. The `branch-prefix` corresponds to one of the conventional commit types defined above and the branch name is a concise but informative name representing your changes, e.g. `feat/your-cool-feature` and `chore/new-doc`. PR titles are based off of the branch name, so for the examples just used they __should be__ "feat: Your cool feature" and "chore: New doc".
Branch names **must** follow a certain structure, which is `branch-prefix/branch-name`. The `branch-prefix` corresponds to one of the conventional commit types defined above and the branch name is a concise but informative name representing your changes, e.g. `feat/your-cool-feature` and `chore/new-doc`. PR titles are based off of the branch name, so for the examples just used they **should be** "feat: Your cool feature" and "chore: New doc".

## Protected Branches

The Firefly team develops code and pushes PRs on certain protected branches. The following three branches are protected:

- `main`: contains the code for Firefly Desktop v1.
- `develop`: contains the code for Firefly Shimmer Desktop
- `main`: contains the code for Firefly Desktop v1.
- `develop`: contains the code for Firefly Shimmer Desktop
Loading

0 comments on commit d52ccda

Please sign in to comment.