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

HM24 (DO NOT MERGE) #1710

Closed
wants to merge 110 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
22cd73a
chore: remove the accidental executable
burdiyan Jun 11, 2024
256fcbe
frontend: update tamagui to 1.100.3
horacioh Jun 12, 2024
bc757d6
frontend: update onboarding tests. not all passing
horacioh Jun 12, 2024
ecfd0e4
backend: change our key derivation path
burdiyan Jun 12, 2024
e266df9
backend: remove unhardened derivation path segments
burdiyan Jun 12, 2024
bb3474f
build: update Nixpkg and Go
burdiyan Jun 13, 2024
33c4204
Revert "frontend: update tamagui to 1.100.3"
ericvicenti Jun 13, 2024
fd7332f
frontend: refactor editor to not depend on desktop
horacioh Jun 13, 2024
d7349c4
frontend: removing packages WIP
horacioh Jun 13, 2024
a2ee71f
wip(daemon): rebranding
juligasa Jun 14, 2024
3a221a4
wip(daemon): regenerate seed protobufs
juligasa Jun 14, 2024
088425f
fix(daemon): keep ald lndhub signing phrase
juligasa Jun 14, 2024
b4e4a60
fix(infra): renaming
juligasa Jun 14, 2024
f0c34e5
wip(docu): renaming
juligasa Jun 14, 2024
6928ef0
fix(daemon): db tests
juligasa Jun 14, 2024
10bb0df
frontend rename packages
horacioh Jun 17, 2024
ebea580
frontend: seed rename
horacioh Jun 17, 2024
be5fbea
remix hello world, ts upgrade
ericvicenti Jun 18, 2024
2dcb052
frontend: editor to shared WIP
horacioh Jun 18, 2024
41aa531
frontend: fix remix shared usage
horacioh Jun 18, 2024
03e5c21
Remix data API example
ericvicenti Jun 19, 2024
3b038bd
Remove groups and site 😱
ericvicenti Jun 19, 2024
8d66d57
Clean up one more instance of group variant
ericvicenti Jun 19, 2024
f4a5415
frontend: comment vite transform debug plugin
horacioh Jun 18, 2024
b3737df
frontend: editor to shared WIP
horacioh Jun 18, 2024
96db461
frontend: moving editor to app
horacioh Jun 19, 2024
351ba75
added detection and parsing of markdown on paste
iskaktoltay Jun 20, 2024
e142c03
frontend: remove editor package
horacioh Jun 20, 2024
1df0a2c
wip(daemon): backend cleanup + daemon API
juligasa Jun 21, 2024
5895e70
New APIs for docs (#1711)
ericvicenti Jun 21, 2024
be62781
frontend: account WIP
horacioh Jun 21, 2024
514753f
Cleaning up Account trust in UI
ericvicenti Jun 21, 2024
de36a44
frontend: new onboarding WIP
horacioh Jun 21, 2024
2480310
Renaming from Publication to Document, rm variants
ericvicenti Jun 24, 2024
480f340
Fix GRPC
ericvicenti Jun 24, 2024
e798c71
Renaming and fix build
ericvicenti Jun 24, 2024
0ed3fb3
Move main.tsx to desktop
ericvicenti Jun 24, 2024
0b36317
frontend: register WIP
horacioh Jun 24, 2024
081c954
Fix empty decryption
ericvicenti Jun 24, 2024
3a21fd1
frontend: always show the dummy add account btn
horacioh Jun 24, 2024
0bc2464
frontend: settings with new register api
horacioh Jun 24, 2024
2c38b19
Move pages from app to desktop
ericvicenti Jun 24, 2024
44000d0
model for account keys, move a few things
ericvicenti Jun 24, 2024
838ca1e
fix frontend build
ericvicenti Jun 25, 2024
cb21303
fix(daemon): return empty list on unitialised keyring
juligasa Jun 25, 2024
fcb0ba2
Move from app package to desktop
ericvicenti Jun 25, 2024
887c516
frontend: create account WIP
horacioh Jun 25, 2024
ef1fee8
frontend: update desktop imports
horacioh Jun 25, 2024
df266ac
wip(daemon): Wallet initialization, invalid auth
juligasa Jun 25, 2024
c822534
fix(daemon): lndhub tests
juligasa Jun 25, 2024
77de46b
wip(daemon): todos
juligasa Jun 25, 2024
9791f95
fix(daemon): wallet tests
juligasa Jun 25, 2024
4ea61e6
remove obsolete vscode extension
burdiyan Jun 24, 2024
a14a354
Make nix optional in our .envrc
burdiyan Jun 24, 2024
94e6094
Refactor grpc initialization and registraton
burdiyan Jun 24, 2024
0b8f47d
Use hm://a/ as account ID after call with Eric
burdiyan Jun 26, 2024
e41f1b9
fixup! Use hm://a/ as account ID after call with Eric
burdiyan Jun 26, 2024
3829ddc
fix(daemon): remove keys threw error on success
juligasa Jun 26, 2024
dce4410
wip(daemon): wallet todos
juligasa Jun 26, 2024
773b3a4
Models move away from publication and variants
ericvicenti Jun 26, 2024
12fc75b
Various type safety, “only” 686 type failures
ericvicenti Jun 26, 2024
f2682c6
Merge range-based set reconciliation implementation
burdiyan Jun 26, 2024
5a8cbd5
frontend: settings WIP
horacioh Jun 26, 2024
029fb6e
frontend: show/hide mnemonics in settings
horacioh Jun 26, 2024
28ab5a7
WIP middle end drafts
ericvicenti Jun 27, 2024
df5c31d
frontend: create profile button dummy WIP
horacioh Jun 28, 2024
a348e60
Safe encoding of draft IDs in middle end
ericvicenti Jun 28, 2024
41b2923
Improvements to account/profile handling
ericvicenti Jun 28, 2024
878de17
frontend: profile draft WIP
horacioh Jun 28, 2024
6291998
feat(backend): implement GetProfileDocument and ChangeProfileDocument
burdiyan Jun 29, 2024
9c99105
frontend: add draft title + check profile draft
horacioh Jun 30, 2024
7c07d9f
remove draft status machine
horacioh Jul 1, 2024
b98e015
add draft list to home page (delete error)
horacioh Jul 1, 2024
5510da8
fix draft deletion in middle end
ericvicenti Jul 1, 2024
35fd8ad
wip(daemon): Old sync initialization, no tests.
juligasa Jul 2, 2024
689a13d
publish profile WIP
horacioh Jul 3, 2024
bfc4cee
frontend: profile query cleanup
horacioh Jul 4, 2024
1f6f625
frontend: invalidating queries
horacioh Jul 4, 2024
3f93496
profile WIP
horacioh Jul 4, 2024
6753cd7
fix transition to document from draft
horacioh Jul 5, 2024
066b37f
wip(daemon): remove all keys
juligasa Jul 5, 2024
e05c2cd
fix @shm/ui imports
horacioh Jul 5, 2024
7e1c395
frontend: onboarding design
horacioh Jul 5, 2024
5eb5af6
wip(daemon): include old syncing tests
juligasa Jul 7, 2024
dfc175c
wip(daemon): surfacing rbsr syncing.
juligasa Jul 7, 2024
604b39c
Publishh -> Publish
horacioh Jul 8, 2024
5e42347
Improving Profile Page
ericvicenti Jul 8, 2024
efde7f1
frontend: prevent publish without keys
horacioh Jul 8, 2024
47616af
wip(daemon): calling remote reconciliation
juligasa Jul 8, 2024
94cfc5b
frontend: profile workflow
horacioh Jul 8, 2024
cbfb0e6
Profile editing workflow and metadata name
ericvicenti Jul 8, 2024
a29743c
wip(daemon): replacing blockstore by indexing
juligasa Jul 9, 2024
075b017
frontend: update title in drafts
horacioh Jul 9, 2024
5f6aa43
Profile+Draft seperate hooks queries
ericvicenti Jul 9, 2024
473cb7e
Sidebar show account
ericvicenti Jul 9, 2024
9a53f4a
frontend: update draft wip
horacioh Jul 9, 2024
1e8afab
My Content page lists drafts
ericvicenti Jul 9, 2024
de8758c
frontend: fix update draft refresh
horacioh Jul 10, 2024
1b925f2
fix(daemon): lispeers not relying in delegations
juligasa Jul 10, 2024
d9cfecd
fix(daemon): fix only with protected peers
juligasa Jul 10, 2024
b4d845a
fix(daemon): local peer info
juligasa Jul 10, 2024
3202a26
fix(daemon): skip account on unknown peers
juligasa Jul 10, 2024
0c7f987
hm24 release attempt 1
horacioh Jul 10, 2024
fd7fbf5
fix(backend): device key mismatch bug
burdiyan Jul 11, 2024
ff496aa
frontend: fix existing textarea design
horacioh Jul 11, 2024
0631f84
test(backend): fix compilation error
burdiyan Jul 11, 2024
2c818c1
fix(backend): fix timestamp precision for genesis changes
burdiyan Jul 11, 2024
1ea452f
frontend: add avatar to drafts
horacioh Jul 11, 2024
723a8bf
fix(daemon): sorted reconciling.
juligasa Jul 11, 2024
1af4309
migrate to useEntity API, improving use of account ID
ericvicenti Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 13 additions & 14 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
strict_env

if ! has nix; then
log_error 'Nix must be installed'
exit 1
if has nix; then
export NIXPKGS_ALLOW_BROKEN=1
use nix --max-jobs auto
watch_file shell.nix build/nix/**/*.nix
else
log_error 'Nix must be installed to work with this repository!'
fi

export NIXPKGS_ALLOW_BROKEN=1

# Asking git to rebase before pull.
# This helps avoiding nasty merge commits between local and remote branches,
Expand All @@ -16,20 +18,17 @@ if [ "$(git config --get pull.rebase)" != "true" ]; then
git config pull.rebase true
fi

use nix --max-jobs auto
watch_file shell.nix build/nix/**/*.nix

# Redefining the ports in development
# to allow running release builds and dev builds at the same time.
# These values are passed to mintterd via flags when Electron spawns the mintterd process.
export VITE_DESKTOP_P2P_PORT="56000"
export VITE_DESKTOP_HTTP_PORT="56001"
export VITE_DESKTOP_GRPC_PORT="56002"
export VITE_DESKTOP_APPDATA="Mintter.dev"
# These values are passed to seed-daemon via flags when Electron spawns the seed-daemon process.
export VITE_DESKTOP_P2P_PORT="57000"
export VITE_DESKTOP_HTTP_PORT="57001"
export VITE_DESKTOP_GRPC_PORT="57002"
export VITE_DESKTOP_APPDATA="Seed.dev"
export VITE_DESKTOP_HOSTNAME="http://localhost"
export VITE_ELECTRON_HTTP_PORT="56003"
export VITE_ELECTRON_HTTP_PORT="57003"
export VITE_VERSION="0.0.100"
export GRPC_HOST="http://localhost:55002"
export GRPC_HOST="http://localhost:57002"
export NEXT_PUBLIC_LN_HOST="https://ln.testnet.mintter.com"
export NEXT_TELEMETRY_DISABLED="1"

Expand Down
4 changes: 2 additions & 2 deletions .github/actions/ci-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ runs:

steps:
- name: "Setup Go"
uses: actions/setup-go@v3
uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"

- name: "Install native packages"
if: inputs.matrix-os == 'ubuntu-latest-m'
Expand Down
192 changes: 192 additions & 0 deletions .github/workflows/desktop-release-hm24.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
name: Desktop app release

permissions:
contents: write

on:
# schedule:
# - cron: "0 8 * * *"
push:
branches:
- "hm24"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
AWS_REGION: us-east-1

jobs:
get-version:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.set_version.outputs.version }}

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: hm24

- name: Set Version
id: set_version
run: |
if [[ $GITHUB_REF =~ ^refs/tags/ ]]; then
VERSION=${{ github.ref_name }}
elif [[ $GITHUB_REF =~ ^refs/heads/release/.* ]]; then
chmod +x ./scripts/generate-rc-version.sh
VERSION=$(./scripts/generate-rc-version.sh ${{ github.ref }})
else
VERSION=0.0.1
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Display Version
run: |
echo "App Version: ${{ steps.set_version.outputs.version }}"

build-binaries:
name: Build ${{ matrix.config.os }} @ ${{ matrix.config.arch }}
runs-on: ${{ matrix.config.os }}
# if: startsWith(github.ref, 'refs/tags/')
needs: [get-version]
strategy:
matrix:
config:
- os: macos-latest-xl
arch: x64
goarch: amd64
daemon_name: x86_64-apple-darwin
- os: macos-latest-xl
arch: arm64
goarch: arm64
daemon_name: aarch64-apple-darwin
- os: ubuntu-20.04
arch: x64
goarch: amd64
daemon_name: x86_64-unknown-linux-gnu
- os: windows-latest
arch: x64
goarch: amd64
daemon_name: x86_64-pc-windows-msvc
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: hm24

- uses: ./.github/actions/ci-setup
with:
matrix-os: ${{ matrix.config.os }}
# matrix-target: ${{ matrix.config.daemon_name }}
# matrix-arch: ${{ matrix.config.arch }}

- name: Build Backend (Unix)
if: matrix.config.os != 'windows-latest'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }} ./backend/cmd/seed-daemon
env:
GOARCH: ${{ matrix.config.goarch }}
CGO_ENABLED: 1

- name: Build Backend (Windows)
if: matrix.config.os == 'windows-latest'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }}.exe ./backend/cmd/seed-daemon
env:
GOOS: "windows"
GOARCH: ${{ matrix.config.goarch }}
CGO_ENABLED: 1

- name: Set MacOS signing certs
if: matrix.config.os == 'macos-latest-xl'
env:
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE_BASE64 }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
run: |
echo $APPLE_CERTIFICATE | base64 --decode > certificate.p12
security create-keychain -p $APPLE_KEYCHAIN_PASSWORD build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p $APPLE_KEYCHAIN_PASSWORD build.keychain
security import certificate.p12 -k build.keychain -P $APPLE_CERTIFICATE_PASSWORD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k $APPLE_KEYCHAIN_PASSWORD build.keychain
rm -fr *.p12
security set-keychain-settings -lut 1200 # prevent the keychain to get locked before codesign is done

- name: Set temporal version in package.json
run: |
node scripts/set-desktop-version.mjs
env:
VITE_VERSION: "${{ needs.get-version.outputs.version }}"

- name: Build, package & make (Unix)
if: matrix.config.os != 'windows-latest'
run: |
yarn desktop:make --arch=${{ matrix.config.arch }}
env:
NODE_OPTIONS: --max_old_space_size=4096
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
DAEMON_NAME: ${{ matrix.config.daemon_name }}
# VITE_VERSION: "${{ needs.get-version.outputs.version }}"
VITE_VERSION: "0.1.0-alpla"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
timeout-minutes: 10
VITE_DESKTOP_P2P_PORT: "56000"
VITE_DESKTOP_HTTP_PORT: "56001"
VITE_DESKTOP_GRPC_PORT: "56002"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"
VITE_DESKTOP_SENTRY_DSN: "${{ secrets.DESKTOP_SENTRY_DSN }}"
SENTRY_AUTH_TOKEN: "${{ secrets.SENTRY_AUTH_TOKEN }}"

- name: Build, package and make (Win32)
if: matrix.config.os == 'windows-latest'
run: |
yarn desktop:make --arch=${{ matrix.config.arch }}
env:
DAEMON_NAME: "${{ matrix.config.daemon_name }}.exe"
# VITE_VERSION: "${{ needs.get-version.outputs.version }}"
VITE_VERSION: "0.1.0-alpla"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
VITE_DESKTOP_SENTRY_DSN: "${{ secrets.DESKTOP_SENTRY_DSN }}"
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
timeout-minutes: 10
VITE_DESKTOP_P2P_PORT: "56000"
VITE_DESKTOP_HTTP_PORT: "56001"
VITE_DESKTOP_GRPC_PORT: "56002"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts-${{ matrix.config.daemon_name }}
path: frontend/apps/desktop/out/make/**/*
publish-to-github:
needs: [get-version, build-binaries]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: hm24

- name: Download amd64 artifacts
uses: actions/download-artifact@v3
with:
path: artifacts

- name: "create release"
uses: softprops/action-gh-release@master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
tag_name: "${{ needs.get-version.outputs.version }}"
prerelease: true
generate_release_notes: true
files: ./artifacts/artifacts-*/**/*
8 changes: 4 additions & 4 deletions .github/workflows/desktop-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
if: matrix.config.os != 'windows-latest'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/mintterd-${{ matrix.config.daemon_name }} ./backend/cmd/mintterd
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }} ./backend/cmd/seed-daemon
env:
GOARCH: ${{ matrix.config.goarch }}
CGO_ENABLED: 1
Expand All @@ -90,7 +90,7 @@ jobs:
if: matrix.config.os == 'windows-latest'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/mintterd-${{ matrix.config.daemon_name }}.exe ./backend/cmd/mintterd
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }}.exe ./backend/cmd/seed-daemon
env:
GOOS: "windows"
GOARCH: ${{ matrix.config.goarch }}
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
VITE_DESKTOP_P2P_PORT: "55000"
VITE_DESKTOP_HTTP_PORT: "55001"
VITE_DESKTOP_GRPC_PORT: "55002"
VITE_DESKTOP_APPDATA: "Mintter"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"
VITE_DESKTOP_SENTRY_DSN: "${{ secrets.DESKTOP_SENTRY_DSN }}"
SENTRY_AUTH_TOKEN: "${{ secrets.SENTRY_AUTH_TOKEN }}"
Expand All @@ -154,7 +154,7 @@ jobs:
VITE_DESKTOP_P2P_PORT: "55000"
VITE_DESKTOP_HTTP_PORT: "55001"
VITE_DESKTOP_GRPC_PORT: "55002"
VITE_DESKTOP_APPDATA: "Mintter"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"

- name: Upload Artifacts
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/desktop-smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
if: matrix.config.os != 'windows-latest-l'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/mintterd-${{ matrix.config.daemon_name }} ./backend/cmd/mintterd
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }} ./backend/cmd/seed-daemon
env:
GOARCH: ${{ matrix.config.goarch }}
CGO_ENABLED: 1
Expand All @@ -53,7 +53,7 @@ jobs:
if: matrix.config.os == 'windows-latest-l'
run: |
mkdir -p plz-out/bin/backend
go build -o plz-out/bin/backend/mintterd-${{ matrix.config.daemon_name }}.exe ./backend/cmd/mintterd
go build -o plz-out/bin/backend/seed-daemon-${{ matrix.config.daemon_name }}.exe ./backend/cmd/seed-daemon
env:
GOOS: "windows"
GOARCH: ${{ matrix.config.goarch }}
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
VITE_DESKTOP_P2P_PORT: "58000"
VITE_DESKTOP_HTTP_PORT: "58001"
VITE_DESKTOP_GRPC_PORT: "58002"
VITE_DESKTOP_APPDATA: "Mintter"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"
VITE_DESKTOP_SENTRY_DSN: "${{ secrets.DESKTOP_SENTRY_DSN }}"

Expand All @@ -100,7 +100,7 @@ jobs:
VITE_DESKTOP_P2P_PORT: "58000"
VITE_DESKTOP_HTTP_PORT: "58001"
VITE_DESKTOP_GRPC_PORT: "58002"
VITE_DESKTOP_APPDATA: "Mintter"
VITE_DESKTOP_APPDATA: "Seed"
VITE_DESKTOP_HOSTNAME: "http://localhost"
VITE_DESKTOP_SENTRY_DSN: "${{ secrets.DESKTOP_SENTRY_DSN }}"

Expand Down
Loading
Loading