Compare commits

..

42 Commits

Author SHA1 Message Date
dependabot[bot]
24d34c77d5 chore: bump actions/setup-node from 6.2.0 to 6.4.0 (#576)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.2.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](6044e13b5d...48b55a011b)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 22:29:10 +10:00
dependabot[bot]
e72e44bb12 chore: bump softprops/action-gh-release from 2.3.3 to 3.0.0 (#575)
Bump softprops/action-gh-release from 2.3.3 to 3.0.0

Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.3 to 3.0.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](6cbd405e2c...b430933298)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-14 14:21:27 +10:00
Shenwei Wang
08fcd330e1 fix: enable tauri plugin opener (#559)
* fix: enable tauri plugin opener

* fix: add remote urls to make build work on Windows

* fix: update Cargo.lock

We need tauri v2.8.0 since which supports `WebviewBuilder::on_new_window`

* fix: handle `window.open()` using `WebviewBuilder::on_new_window`

---------

Co-authored-by: Krishan <33421343+kfiven@users.noreply.github.com>
2026-04-13 17:20:44 +10:00
Krishan
0a5f14508c chore: upload build artifacts to workflow run (#571)
* Add artifact collection and upload steps to workflow

* Change artifact upload method in test workflow

Replaced the upload-artifact action with a custom bash script to handle artifact uploads.

* Refactor artifact upload process in CI workflow

Removed artifact collection step and added separate upload steps for macOS, Linux, and Windows artifacts.
2026-04-12 18:10:24 +10:00
Pietagorh
a2077499a0 chore: replace link to tauri v1 docs in README (#568)
now points to tauri v2
2026-04-01 22:33:50 +11:00
Krishan
18b8f696a1 chore: use private vulnerability disclosure (#565) 2026-03-22 18:21:18 +11:00
Krishan
957f2a9f77 chore: add issue template to redirect new issues to discussions (#564)
* chore: add issue template to redirect new issues to discussions

* chore: delete .github/PULL_REQUEST_TEMPLATE.md

* chore: delete .github/ISSUE_TEMPLATE/bug_report.yml

* chore: delete .github/ISSUE_TEMPLATE/feature_request.yml
2026-03-22 17:48:53 +11:00
Shenwei Wang
89804c83ac fix: use devUrl when dev (#556) 2026-03-18 00:29:22 +11:00
Shenwei Wang
a396a54f90 fix: modify CSP to allow connect-src blob (#549)
* Modify CSP to allow connect-src blob

Updated Content Security Policy to include 'blob' in connect-src.

Fixing #548

* chore(ci): Disable Updater for Fork PRs

* fix: disable createUpdaterArtifacts for fork PRs

* fix: always disable createUpdaterArtifacts

* fix: fix typos
2026-03-17 23:57:32 +11:00
Krishan
3930144876 chore: remove secret from test run 2026-03-13 13:29:00 +11:00
Krishan
d2b51ee0e6 chore(release): v4.11.2 [skip ci] (#543) 2026-03-12 01:10:36 +11:00
Krishan
086ba8b77a fix: version is on top level now (#542) 2026-03-12 01:10:18 +11:00
Krishan
8da44b2b88 chore(release): v4.11.1 [skip ci] (#541) 2026-03-12 00:35:57 +11:00
Krishan
fcd638bc1c fix: duplicate window creation and CSP issues (#540) 2026-03-12 00:23:50 +11:00
Krishan
c6921d602c chore: update Renovate configuration for dependency dashboard (#537)
* Update Renovate configuration for dependency dashboard

* Fix JSON formatting in renovate.json
2026-03-10 14:56:50 +11:00
Krishan
9b3574a80e chore: add PR title check workflow (#536)
Add PR title check workflow
2026-03-10 14:56:29 +11:00
Krishan
1e8d28faee Pin all the action deps to SHA (#531) 2026-03-04 00:22:57 +11:00
Krishan
d15e86a176 Update Tauri from v1 to v2 (#496)
* Upgrade tauri to v2

* update action and disable menu

* Add args to workflow step in test.yml

* Rename environment variables for Tauri signing

* Change mainBinaryName from 'Cinny' to 'cinny'

* Update linux file names to use 'Cinny' instead of 'cinny'

* Upgrade Tauri action to v0.6.1 and fix targets

Updated Tauri action version and corrected target specification.
2026-03-03 23:16:04 +11:00
Krishan
cf839c0fe9 Update Rust installation action in workflow 2026-03-03 22:15:57 +11:00
Krishan
617891af96 Add args to workflow job configuration 2026-03-03 21:47:45 +11:00
Krishan
82d6cc26ec Fix environment variable names for Tauri signing (#530) 2026-03-03 21:20:11 +11:00
Krishan
e4ee81518f Update Tauri action version to v0.6.1 (#529) 2026-03-03 18:49:50 +11:00
Krishan
27565fe635 Update GTK dependency version in test workflow (#528)
* Update GTK dependency version in test workflow

* Modify test.yml for new platforms and args

Updated GitHub Actions workflow to include Ubuntu 22.04 and additional arguments for macOS.

* Enable pull request trigger for workflow
2026-03-03 11:40:29 +11:00
Krishan
92b4f91c6b Release v4.10.5 (#524) 2026-02-23 23:16:03 +11:00
Krishan
7ae56af131 Release v4.10.4 (#523)
* Release v4.10.4

* bump cinny submod
2026-02-23 22:48:07 +11:00
renovate[bot]
336313cfa4 Update actions/setup-node action to v6.2.0 (#521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:58:07 +11:00
renovate[bot]
cc07a51ba2 Update actions/checkout action to v6 (#520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:46:41 +11:00
Krishan
24d1e0b0f2 Update node to v24.13.1 LTS (#509) 2026-02-22 18:14:28 +11:00
Krishan
fb6dc8ba9a Release v4.10.3 (#510) 2026-02-16 22:51:29 +11:00
Zach
f27b5b9e73 Replace envs.net with unredacted.org in config.json (#506)
* Replace envs.net with unredacted.org in config.json

* Update defaultHomeserver and modify homeserverList
2026-02-12 10:40:34 +11:00
Krishan
b102ceba08 Release v4.10.2 (#481) 2025-11-05 18:22:29 +11:00
Krishan
22f7d58c9f Release v4.10.1 (#471) 2025-09-29 14:50:30 +10:00
dependabot[bot]
934209f93a Bump softprops/action-gh-release from 2.3.2 to 2.3.3 (#469)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](72f2c25fcb...6cbd405e2c)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 22:25:57 +10:00
Krishan
fbc7071696 Release v4.10.0 (#466)
* Release v4.10.0

* bump cinny submodule
2025-08-31 21:24:20 +10:00
Krishan
f127a1474b Release v4.9.1 (#463) 2025-08-17 21:28:42 +10:00
Krishan
8b293cfd51 Release v4.9.0 (#462)
* Release v4.9.0

* bump cinny sub module
2025-08-13 12:25:53 +10:00
dependabot[bot]
9560e17823 Bump actions/setup-node from 4.3.0 to 4.4.0 (#444)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.3.0...v4.4.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-06 23:07:10 +10:00
dependabot[bot]
37f8a63792 Bump softprops/action-gh-release from 2.2.1 to 2.3.2 (#455)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.1 to 2.3.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](c95fe14893...72f2c25fcb)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-06 23:06:31 +10:00
Ajay Bura
e34faf7f6c Release v4.8.1 (#454) 2025-06-11 00:00:17 +10:00
Ajay Bura
b4a9779f9d Release v4.8.0 (#452)
* Release v4.8.0

* update cinny submodule
2025-05-24 21:28:06 +05:30
Ajay Bura
22489e880f Release v4.7.1 (#450)
* Release v4.7.1

* update cinny submodule
2025-05-21 17:46:13 +05:30
renovate[bot]
e3c33eeca8 Update dependency ubuntu to v22 (#449)
* Update dependency ubuntu to v24

* downgrade to v22

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Krishan <33421343+kfiven@users.noreply.github.com>
2025-05-21 17:44:21 +05:30
32 changed files with 25356 additions and 2355 deletions

View File

@@ -1,58 +0,0 @@
name: 🐞 Bug Report
description: Report a bug
labels: 'type: bug'
body:
- type: markdown
attributes:
value: |
## First of all
1. Please search for [existing issues](https://github.com/cinnyapp/cinny-desktop/issues?q=is%3Aissue) about this problem first.
2. Make sure Cinny is up to date.
3. Make sure it's an issue with Cinny and not something else you are using.
4. Remember to be friendly.
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear description of what the bug is. Include screenshots if applicable.
placeholder: Bug description
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction
description: Steps to reproduce the behavior.
placeholder: |
1. Go to ...
2. Click on ...
3. See error
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear description of what you expected to happen.
- type: textarea
id: info
attributes:
label: Platform and versions
description: "Provide OS, browser and Cinny version with your Homeserver."
placeholder: |
1. OS: [e.g. Windows 10, MacOS]
2. Cinny version: [e.g. 1.8.1]
3. Matrix homeserver: [e.g. matrix.org]
4. Downloaded from: [e.g. GitHub, Flatpak]
render: shell
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the problem here.

View File

@@ -1,4 +1,5 @@
blank_issues_enabled: false
contact_links: contact_links:
- name: 💬 Matrix Chat - name: Features, Bug Reports, Questions
url: https://matrix.to/#/#cinny:matrix.org url: https://github.com/cinnyapp/cinny/discussions/new/choose
about: Ask questions and talk to other Cinny users and the maintainers about: Our preferred starting point if you have any questions or suggestions about features or behavior.

View File

@@ -1,34 +0,0 @@
name: 💡 Feature Request
description: Suggest an idea
labels: 'type: feature'
body:
- type: textarea
id: problem
attributes:
label: Describe the problem
description: A clear description of the problem this feature would solve
placeholder: "I'm always frustrated when..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: "Describe the solution you'd like"
description: A clear description of what change you would like
placeholder: "I would like to..."
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: "Any alternative solutions you've considered"
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the problem here.

View File

@@ -1,22 +0,0 @@
<!-- Please read https://github.com/cinnyapp/cinny/blob/dev/CONTRIBUTING.md before submitting your pull request -->
### Description
<!-- Please include a summary of the change. Please also include relevant motivation and context. List any dependencies that are required for this change. -->
Fixes #
#### Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
### Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own 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

3
.github/SECURITY.md vendored
View File

@@ -1,3 +0,0 @@
# Reporting a Vulnerability
**If you've found a security vulnerability, please report it to cinnyapp@gmail.com**

11
.github/renovate.json vendored
View File

@@ -2,16 +2,13 @@
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": [
"config:recommended", "config:recommended",
":dependencyDashboardApproval" ":dependencyDashboardApproval",
], ":semanticCommits"
"labels": [
"Dependencies"
], ],
"labels": ["Dependencies"],
"packageRules": [ "packageRules": [
{ {
"matchUpdateTypes": [ "matchUpdateTypes": ["lockFileMaintenance"]
"lockFileMaintenance"
]
} }
], ],
"lockFileMaintenance": { "lockFileMaintenance": {

View File

@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
submodules: true submodules: true
- name: Create zip including submodules - name: Create zip including submodules
@@ -16,7 +16,7 @@ jobs:
cd .. cd ..
zip ${{ github.event.repository.name }}/${{ github.event.repository.name }}-${{ github.ref_name }}.zip ${{ github.event.repository.name }} -r zip ${{ github.event.repository.name }}/${{ github.event.repository.name }}-${{ github.ref_name }}.zip ${{ github.event.repository.name }} -r
- name: Upload zip to release - name: Upload zip to release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with: with:
files: | files: |
${{ github.event.repository.name }}-${{ github.ref_name }}.zip ${{ github.event.repository.name }}-${{ github.ref_name }}.zip

View File

@@ -12,7 +12,7 @@ jobs:
- name: 'CLA Assistant' - name: 'CLA Assistant'
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release # Beta Release
uses: cla-assistant/github-action@v2.6.1 uses: cla-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret # the below token should have repo scope and must be manually added by you in the repository's secret

View File

@@ -14,9 +14,9 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: NPM Lockfile Changes - name: NPM Lockfile Changes
uses: codepunkt/npm-lockfile-changes@b40543471c36394409466fdb277a73a0856d7891 uses: codepunkt/npm-lockfile-changes@b40543471c36394409466fdb277a73a0856d7891 # v1.0.0
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
# Optional inputs, can be deleted safely if you are happy with default values. # Optional inputs, can be deleted safely if you are happy with default values.

15
.github/workflows/pr-title.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Check PR title
on:
pull_request_target:
types:
- opened
- edited
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -9,33 +9,31 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
submodules: true submodules: true
- name: Setup node - name: Setup node
uses: actions/setup-node@v4.3.0 uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version: 20.12.2 node-version-file: ".node-version"
cache: 'npm' package-manager-cache: false
- name: Install Rust stable - name: Install Rust stable
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable # They use branch based releases
- name: Install cinny dependencies - name: Install cinny dependencies
run: cd cinny && npm ci run: cd cinny && npm ci
- name: Install tauri dependencies - name: Install tauri dependencies
run: npm ci run: npm ci
- name: Build desktop app with Tauri - name: Build desktop app with Tauri
uses: tauri-apps/tauri-action@v0.5.14 uses: tauri-apps/tauri-action@73fb865345c54760d875b94642314f8c0c894afa # v0.6.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
NODE_OPTIONS: "--max_old_space_size=4096" NODE_OPTIONS: "--max_old_space_size=4096"
with:
releaseId: ${{ github.event.release.upload_url }}
- name: Get app version (windows) - name: Get app version (windows)
run: | run: |
$json = (Get-Content "src-tauri\tauri.conf.json" -Raw) | ConvertFrom-Json $json = (Get-Content "src-tauri\tauri.conf.json" -Raw) | ConvertFrom-Json
$version = $json.package.version $version = $json.version
echo "Version: ${version}" echo "Version: ${version}"
echo "TAURI_VERSION=${version}" >> $Env:GITHUB_ENV echo "TAURI_VERSION=${version}" >> $Env:GITHUB_ENV
echo "${Env:TAURI_VERSION}" echo "${Env:TAURI_VERSION}"
@@ -50,7 +48,7 @@ jobs:
run: Move-Item "src-tauri\target\release\bundle\msi\Cinny_${{ env.TAURI_VERSION }}_x64_en-US.msi.zip.sig" "src-tauri\target\release\bundle\msi\Cinny_desktop-x86_64.msi.zip.sig" run: Move-Item "src-tauri\target\release\bundle\msi\Cinny_${{ env.TAURI_VERSION }}_x64_en-US.msi.zip.sig" "src-tauri\target\release\bundle\msi\Cinny_desktop-x86_64.msi.zip.sig"
shell: pwsh shell: pwsh
- name: Upload tagged release - name: Upload tagged release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with: with:
files: | files: |
src-tauri/target/release/bundle/msi/Cinny_desktop-x86_64.msi src-tauri/target/release/bundle/msi/Cinny_desktop-x86_64.msi
@@ -59,50 +57,47 @@ jobs:
# Linux-x86_64 # Linux-x86_64
linux-x86_64: linux-x86_64:
# ubuntu-latest 22.04 is too recent for Rust apps. runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
submodules: true submodules: true
- name: Setup node - name: Setup node
uses: actions/setup-node@v4.3.0 uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version: 20.12.2 node-version-file: ".node-version"
cache: 'npm' package-manager-cache: false
- name: Install Rust stable - name: Install Rust stable
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable # They use branch based releases
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install cinny dependencies - name: Install cinny dependencies
run: cd cinny && npm ci run: cd cinny && npm ci
- name: Install tauri dependencies - name: Install tauri dependencies
run: npm ci run: npm ci
- name: Build desktop app with Tauri - name: Build desktop app with Tauri
uses: tauri-apps/tauri-action@v0.5.14 uses: tauri-apps/tauri-action@73fb865345c54760d875b94642314f8c0c894afa # v0.6.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
NODE_OPTIONS: "--max_old_space_size=4096" NODE_OPTIONS: "--max_old_space_size=4096"
with:
releaseId: ${{ github.event.release.upload_url }}
- name: Get app version - name: Get app version
id: vars id: vars
run: echo "tag=$(jq .package.version src-tauri/tauri.conf.json | tr -d '"')" >> $GITHUB_OUTPUT run: echo "tag=$(jq .version src-tauri/tauri.conf.json | tr -d '"')" >> $GITHUB_OUTPUT
- name: Move deb - name: Move deb
run: mv "src-tauri/target/release/bundle/deb/cinny_${{ steps.vars.outputs.tag }}_amd64.deb" "src-tauri/target/release/bundle/deb/Cinny_desktop-x86_64.deb" run: mv "src-tauri/target/release/bundle/deb/Cinny_${{ steps.vars.outputs.tag }}_amd64.deb" "src-tauri/target/release/bundle/deb/Cinny_desktop-x86_64.deb"
- name: Move AppImage - name: Move AppImage
run: mv "src-tauri/target/release/bundle/appimage/cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage" run: mv "src-tauri/target/release/bundle/appimage/Cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage"
- name: Move AppImage.tar.gz - name: Move AppImage.tar.gz
run: mv "src-tauri/target/release/bundle/appimage/cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage.tar.gz" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage.tar.gz" run: mv "src-tauri/target/release/bundle/appimage/Cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage.tar.gz" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage.tar.gz"
- name: Move AppImage.tar.gz.sig - name: Move AppImage.tar.gz.sig
run: mv "src-tauri/target/release/bundle/appimage/cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage.tar.gz.sig" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage.tar.gz.sig" run: mv "src-tauri/target/release/bundle/appimage/Cinny_${{ steps.vars.outputs.tag }}_amd64.AppImage.tar.gz.sig" "src-tauri/target/release/bundle/appimage/Cinny_desktop-x86_64.AppImage.tar.gz.sig"
- name: Upload tagged release - name: Upload tagged release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with: with:
files: | files: |
src-tauri/target/release/bundle/deb/Cinny_desktop-x86_64.deb src-tauri/target/release/bundle/deb/Cinny_desktop-x86_64.deb
@@ -115,35 +110,34 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
submodules: true submodules: true
- name: Setup node - name: Setup node
uses: actions/setup-node@v4.3.0 uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version: 20.12.2 node-version-file: ".node-version"
cache: 'npm' package-manager-cache: false
- name: Install Rust stable - name: Install Rust stable
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable # They use branch based releases
with: with:
target: aarch64-apple-darwin,x86_64-apple-darwin targets: aarch64-apple-darwin,x86_64-apple-darwin
- name: Install cinny dependencies - name: Install cinny dependencies
run: cd cinny && npm ci run: cd cinny && npm ci
- name: Install tauri dependencies - name: Install tauri dependencies
run: npm ci run: npm ci
- name: Build desktop app with Tauri - name: Build desktop app with Tauri
uses: tauri-apps/tauri-action@v0.5.14 uses: tauri-apps/tauri-action@73fb865345c54760d875b94642314f8c0c894afa # v0.6.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
NODE_OPTIONS: "--max_old_space_size=4096" NODE_OPTIONS: "--max_old_space_size=4096"
with: with:
releaseId: ${{ github.event.release.upload_url }}
args: "--target universal-apple-darwin" args: "--target universal-apple-darwin"
- name: Get app version - name: Get app version
id: vars id: vars
run: echo "tag=$(jq .package.version src-tauri/tauri.conf.json | tr -d '"')" >> $GITHUB_OUTPUT run: echo "tag=$(jq .version src-tauri/tauri.conf.json | tr -d '"')" >> $GITHUB_OUTPUT
- name: Move dmg - name: Move dmg
run: mv "src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_${{ steps.vars.outputs.tag }}_universal.dmg" "src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_desktop-universal.dmg" run: mv "src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_${{ steps.vars.outputs.tag }}_universal.dmg" "src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_desktop-universal.dmg"
- name: Move app.tar.gz - name: Move app.tar.gz
@@ -151,7 +145,7 @@ jobs:
- name: Move app.tar.gz.sig - name: Move app.tar.gz.sig
run: mv "src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny.app.tar.gz.sig" "src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny_desktop-universal.app.tar.gz.sig" run: mv "src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny.app.tar.gz.sig" "src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny_desktop-universal.app.tar.gz.sig"
- name: Upload tagged release - name: Upload tagged release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with: with:
files: | files: |
src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_desktop-universal.dmg src-tauri/target/universal-apple-darwin/release/bundle/dmg/Cinny_desktop-universal.dmg
@@ -165,7 +159,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Run release.json - name: Run release.json

View File

@@ -1,40 +1,78 @@
name: "Build pull request" name: "Build pull request"
on: on:
#pull_request: pull_request:
#types: ['opened', 'synchronize'] types: ['opened', 'synchronize']
jobs: jobs:
publish-tauri: publish-tauri:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
platform: [macos-latest, ubuntu-20.04, windows-latest] include:
- platform: 'macos-latest'
args: '--target universal-apple-darwin'
- platform: 'ubuntu-22.04'
args: ''
- platform: 'windows-latest'
args: ''
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.2.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
submodules: true submodules: true
- name: Setup node - name: Setup node
uses: actions/setup-node@v4.3.0 uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version: 20.12.2 node-version-file: ".node-version"
cache: 'npm' package-manager-cache: false
- name: Install Rust stable - name: install Rust stable
uses: actions-rs/toolchain@v1.0.7 uses: dtolnay/rust-toolchain@stable # They use branch based releases
with: with:
toolchain: stable targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: Install dependencies (ubuntu only) - name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04' if: matrix.platform == 'ubuntu-22.04'
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install cinny dependencies - name: Install cinny dependencies
run: cd cinny && npm ci run: cd cinny && npm ci
- name: Install tauri dependencies - name: Install tauri dependencies
run: npm ci run: npm ci
- name: Build desktop app with Tauri - name: Build desktop app with Tauri
uses: tauri-apps/tauri-action@v0.5.14 uses: tauri-apps/tauri-action@73fb865345c54760d875b94642314f8c0c894afa # v0.6.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_OPTIONS: "--max_old_space_size=4096"
with:
args: ${{ matrix.args }} --config '{"bundle":{"createUpdaterArtifacts":false}}'
- name: Upload macOS artifacts
if: matrix.platform == 'macos-latest'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release-artifacts-macos
path: |
src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny*.app
if-no-files-found: warn
- name: Upload Linux artifacts
if: matrix.platform == 'ubuntu-22.04'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release-artifacts-linux
path: |
src-tauri/target/release/bundle/deb/Cinny_*.deb
src-tauri/target/release/bundle/rpm/Cinny-*.rpm
src-tauri/target/release/bundle/appimage/Cinny_*.AppImage
if-no-files-found: warn
- name: Upload Windows artifacts
if: matrix.platform == 'windows-latest'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release-artifacts-windows
path: |
src-tauri/target/release/bundle/msi/Cinny_*_x64_*.msi
src-tauri/target/release/bundle/nsis/Cinny_*_x64-setup.exe
if-no-files-found: warn

1
.node-version Normal file
View File

@@ -0,0 +1 @@
24.13.1

View File

@@ -23,7 +23,7 @@ To verify release files, you need to download [minisign](https://jedisct1.github
## Local development ## Local development
Firstly, to setup Rust, NodeJS and build tools follow [Tauri documentation](https://tauri.app/v1/guides/getting-started/prerequisites). Firstly, to setup Rust, NodeJS and build tools follow [Tauri documentation](https://v2.tauri.app/start/prerequisites/).
Now, to setup development locally run the following commands: Now, to setup development locally run the following commands:
* `git clone --recursive https://github.com/cinnyapp/cinny-desktop.git` * `git clone --recursive https://github.com/cinnyapp/cinny-desktop.git`

2
cinny

Submodule cinny updated: 5964eee833...6a05ff5840

View File

@@ -1,11 +1,10 @@
{ {
"defaultHomeserver": 2, "defaultHomeserver": 1,
"homeserverList": [ "homeserverList": [
"converser.eu", "converser.eu",
"envs.net",
"matrix.org", "matrix.org",
"monero.social",
"mozilla.org", "mozilla.org",
"unredacted.org",
"xmr.se" "xmr.se"
], ],
"allowCustomHomeservers": true, "allowCustomHomeservers": true,
@@ -15,7 +14,7 @@
"spaces": [ "spaces": [
"#cinny-space:matrix.org", "#cinny-space:matrix.org",
"#community:matrix.org", "#community:matrix.org",
"#space:envs.net", "#space:unredacted.org",
"#science-space:matrix.org", "#science-space:matrix.org",
"#libregaming-games:tchncs.de", "#libregaming-games:tchncs.de",
"#mathematics-on:matrix.org" "#mathematics-on:matrix.org"
@@ -28,7 +27,7 @@
"#PrivSec.dev:arcticfoxes.net", "#PrivSec.dev:arcticfoxes.net",
"#disroot:aria-net.org" "#disroot:aria-net.org"
], ],
"servers": ["envs.net", "matrix.org", "monero.social", "mozilla.org"] "servers": [ "matrix.org", "mozilla.org", "unredacted.org" ]
}, },
"hashRouter": { "hashRouter": {

212
package-lock.json generated
View File

@@ -1,19 +1,29 @@
{ {
"name": "cinny", "name": "cinny",
"version": "4.7.0", "version": "4.11.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "cinny", "name": "cinny",
"version": "4.7.0", "version": "4.11.2",
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"dependencies": { "dependencies": {
"@tauri-apps/api": "1.6.0" "@tauri-apps/api": "2.7.0",
"@tauri-apps/plugin-clipboard-manager": "2.3.0",
"@tauri-apps/plugin-dialog": "2.3.2",
"@tauri-apps/plugin-fs": "2.4.1",
"@tauri-apps/plugin-global-shortcut": "2.3.0",
"@tauri-apps/plugin-http": "2.5.1",
"@tauri-apps/plugin-notification": "2.3.0",
"@tauri-apps/plugin-os": "2.3.0",
"@tauri-apps/plugin-process": "2.3.0",
"@tauri-apps/plugin-shell": "2.3.0",
"@tauri-apps/plugin-updater": "2.9.0"
}, },
"devDependencies": { "devDependencies": {
"@actions/github": "6.0.0", "@actions/github": "6.0.0",
"@tauri-apps/cli": "1.6.2", "@tauri-apps/cli": "2.7.1",
"node-fetch": "3.3.2" "node-fetch": "3.3.2"
}, },
"engines": { "engines": {
@@ -182,23 +192,18 @@
} }
}, },
"node_modules/@tauri-apps/api": { "node_modules/@tauri-apps/api": {
"version": "1.6.0", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.6.0.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.7.0.tgz",
"integrity": "sha512-rqI++FWClU5I2UBp4HXFvl+sBWkdigBkxnpJDQUWttNyG7IZP4FwQGhTNL5EOw0vI8i6eSAJ5frLqO7n7jbJdg==", "integrity": "sha512-v7fVE8jqBl8xJFOcBafDzXFc8FnicoH3j8o8DNNs0tHuEBmXUDqrCOAzMRX0UkfpwqZLqvrvK0GNQ45DfnoVDg==",
"engines": {
"node": ">= 14.6.0",
"npm": ">= 6.6.0",
"yarn": ">= 1.19.1"
},
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
"url": "https://opencollective.com/tauri" "url": "https://opencollective.com/tauri"
} }
}, },
"node_modules/@tauri-apps/cli": { "node_modules/@tauri-apps/cli": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.7.1.tgz",
"integrity": "sha512-zpfZdxhm20s7d/Uejpg/T3a9sqLVe3Ih2ztINfy8v6iLw9Ohowkb9g+agZffYKlEWfOSpmCy69NFyBLj7OZL0A==", "integrity": "sha512-RcGWR4jOUEl92w3uvI0h61Llkfj9lwGD1iwvDRD2isMrDhOzjeeeVn9aGzeW1jubQ/kAbMYfydcA4BA0Cy733Q==",
"dev": true, "dev": true,
"bin": { "bin": {
"tauri": "tauri.js" "tauri": "tauri.js"
@@ -211,22 +216,23 @@
"url": "https://opencollective.com/tauri" "url": "https://opencollective.com/tauri"
}, },
"optionalDependencies": { "optionalDependencies": {
"@tauri-apps/cli-darwin-arm64": "1.6.2", "@tauri-apps/cli-darwin-arm64": "2.7.1",
"@tauri-apps/cli-darwin-x64": "1.6.2", "@tauri-apps/cli-darwin-x64": "2.7.1",
"@tauri-apps/cli-linux-arm-gnueabihf": "1.6.2", "@tauri-apps/cli-linux-arm-gnueabihf": "2.7.1",
"@tauri-apps/cli-linux-arm64-gnu": "1.6.2", "@tauri-apps/cli-linux-arm64-gnu": "2.7.1",
"@tauri-apps/cli-linux-arm64-musl": "1.6.2", "@tauri-apps/cli-linux-arm64-musl": "2.7.1",
"@tauri-apps/cli-linux-x64-gnu": "1.6.2", "@tauri-apps/cli-linux-riscv64-gnu": "2.7.1",
"@tauri-apps/cli-linux-x64-musl": "1.6.2", "@tauri-apps/cli-linux-x64-gnu": "2.7.1",
"@tauri-apps/cli-win32-arm64-msvc": "1.6.2", "@tauri-apps/cli-linux-x64-musl": "2.7.1",
"@tauri-apps/cli-win32-ia32-msvc": "1.6.2", "@tauri-apps/cli-win32-arm64-msvc": "2.7.1",
"@tauri-apps/cli-win32-x64-msvc": "1.6.2" "@tauri-apps/cli-win32-ia32-msvc": "2.7.1",
"@tauri-apps/cli-win32-x64-msvc": "2.7.1"
} }
}, },
"node_modules/@tauri-apps/cli-darwin-arm64": { "node_modules/@tauri-apps/cli-darwin-arm64": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.7.1.tgz",
"integrity": "sha512-6mdRyf9DaLqlZvj8kZB09U3rwY+dOHSGzTZ7+GDg665GJb17f4cb30e8dExj6/aghcsOie9EGpgiURcDUvLNSQ==", "integrity": "sha512-j2NXQN6+08G03xYiyKDKqbCV2Txt+hUKg0a8hYr92AmoCU8fgCjHyva/p16lGFGUG3P2Yu0xiNe1hXL9ZuRMzA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -240,9 +246,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-darwin-x64": { "node_modules/@tauri-apps/cli-darwin-x64": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.7.1.tgz",
"integrity": "sha512-PLxZY5dn38H3R9VRmBN/l0ZDB5JFanCwlK4rmpzDQPPg3tQmbu5vjSCP6TVj5U6aLKsj79kFyULblPr5Dn9+vw==", "integrity": "sha512-CdYAefeM35zKsc91qIyKzbaO7FhzTyWKsE8hj7tEJ1INYpoh1NeNNyL/NSEA3Nebi5ilugioJ5tRK8ZXG8y3gw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -256,9 +262,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.7.1.tgz",
"integrity": "sha512-xnpj4BLeeGOh5I/ewCQlYJZwHH0CBNBN+4q8BNWNQ9MKkjN9ST366RmHRzl2ANNgWwijOPxyce7GiUmvuH8Atw==", "integrity": "sha512-dnvyJrTA1UJxJjQ8q1N/gWomjP8Twij1BUQu2fdcT3OPpqlrbOk5R1yT0oD/721xoKNjroB5BXCsmmlykllxNg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@@ -272,9 +278,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-linux-arm64-gnu": { "node_modules/@tauri-apps/cli-linux-arm64-gnu": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.7.1.tgz",
"integrity": "sha512-uaiRE0vE2P+tdsCngfKt+7yKr3VZXIq/t3w01DzSdnBgHSp0zmRsRR4AhZt7ibvoEgA8GzBP+eSHJdFNZsTU9w==", "integrity": "sha512-FtBW6LJPNRTws3qyUc294AqCWU91l/H0SsFKq6q4Q45MSS4x6wxLxou8zB53tLDGEPx3JSoPLcDaSfPlSbyujQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -288,9 +294,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-linux-arm64-musl": { "node_modules/@tauri-apps/cli-linux-arm64-musl": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.7.1.tgz",
"integrity": "sha512-o9JunVrMrhqTBLrdvEbS64W0bo1dPm0lxX51Mx+6x9SmbDjlEWGgaAHC3iKLK9khd5Yu1uO1e+8TJltAcScvmw==", "integrity": "sha512-/HXY0t4FHkpFzjeYS5c16mlA6z0kzn5uKLWptTLTdFSnYpr8FCnOP4Sdkvm2TDQPF2ERxXtNCd+WR/jQugbGnA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -303,10 +309,26 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/@tauri-apps/cli-linux-riscv64-gnu": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.7.1.tgz",
"integrity": "sha512-GeW5lVI2GhhnaYckiDzstG2j2Jwlud5d2XefRGwlOK+C/bVGLT1le8MNPYK8wgRlpeK8fG1WnJJYD6Ke7YQ8bg==",
"cpu": [
"riscv64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@tauri-apps/cli-linux-x64-gnu": { "node_modules/@tauri-apps/cli-linux-x64-gnu": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.7.1.tgz",
"integrity": "sha512-jL9f+o61DdQmNYKIt2Q3BA8YJ+hyC5+GdNxqDf7j5SoQ85j//YfUWbmp9ZgsPHVBxgSGZVvgGMNvf64Ykp0buQ==", "integrity": "sha512-DprxKQkPxIPYwUgg+cscpv2lcIUhn2nxEPlk0UeaiV9vATxCXyytxr1gLcj3xgjGyNPlM0MlJyYaPy1JmRg1cA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -320,9 +342,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-linux-x64-musl": { "node_modules/@tauri-apps/cli-linux-x64-musl": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.7.1.tgz",
"integrity": "sha512-xsa4Pu9YMHKAX0J8pIoXfN/uhvAAAoECZDixDhWw8zi57VZ4QX28ycqolS+NscdD9NAGSgHk45MpBZWdvRtvjQ==", "integrity": "sha512-KLlq3kOK7OUyDR757c0zQjPULpGZpLhNB0lZmZpHXvoOUcqZoCXJHh4dT/mryWZJp5ilrem5l8o9ngrDo0X1AA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -336,9 +358,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-win32-arm64-msvc": { "node_modules/@tauri-apps/cli-win32-arm64-msvc": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.7.1.tgz",
"integrity": "sha512-eJtUOx2UFhJpCCkm5M5+4Co9JbjvgIHTdyS/hTSZfOEdT58CNEGVJXMA39FsSZXYoxYPE+9K7Km6haMozSmlxw==", "integrity": "sha512-dH7KUjKkSypCeWPiainHyXoES3obS+JIZVoSwSZfKq2gWgs48FY3oT0hQNYrWveE+VR4VoR3b/F3CPGbgFvksA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -352,9 +374,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-win32-ia32-msvc": { "node_modules/@tauri-apps/cli-win32-ia32-msvc": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.7.1.tgz",
"integrity": "sha512-9Jwx3PrhNw3VKOgPISRRXPkvoEAZP+7rFRHXIo49dvlHy2E/o9qpWi1IntE33HWeazP6KhvsCjvXB2Ai4eGooA==", "integrity": "sha512-1oeibfyWQPVcijOrTg709qhbXArjX3x1MPjrmA5anlygwrbByxLBcLXvotcOeULFcnH2FYUMMLLant8kgvwE5A==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@@ -368,9 +390,9 @@
} }
}, },
"node_modules/@tauri-apps/cli-win32-x64-msvc": { "node_modules/@tauri-apps/cli-win32-x64-msvc": {
"version": "1.6.2", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.6.2.tgz", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.7.1.tgz",
"integrity": "sha512-5Z+ZjRFJE8MXghJe1UXvGephY5ZcgVhiTI9yuMi9xgX3CEaAXASatyXllzsvGJ9EDaWMEpa0PHjAzi7LBAWROw==", "integrity": "sha512-D7Q9kDObutuirCNLxYQ7KAg2Xxg99AjcdYz/KuMw5HvyEPbkC9Q7JL0vOrQOrHEHxIQ2lYzFOZvKKoC2yyqXcg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -383,6 +405,86 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/@tauri-apps/plugin-clipboard-manager": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-clipboard-manager/-/plugin-clipboard-manager-2.3.0.tgz",
"integrity": "sha512-81NOBA2P+OTY8RLkBwyl9ZR/0CeggLub4F6zxcxUIfFOAqtky7J61+K/MkH2SC1FMxNBxrX0swDuKvkjkHadlA==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-dialog": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.3.2.tgz",
"integrity": "sha512-cNLo9YeQSC0MF4IgXnotHsqEgJk72MBZLXmQPrLA95qTaaWiiaFQ38hIMdZ6YbGUNkr3oni3EhU+AD5jLHcdUA==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-fs": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.4.1.tgz",
"integrity": "sha512-vJlKZVGF3UAFGoIEVT6Oq5L4HGDCD78WmA4uhzitToqYiBKWAvZR61M6zAyQzHqLs0ADemkE4RSy/5sCmZm6ZQ==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-global-shortcut": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-global-shortcut/-/plugin-global-shortcut-2.3.0.tgz",
"integrity": "sha512-WbAz0ElhpP+0kzQZRScdCC7UQ7OPH8PAn//fsBNu7+ywihsnVSVOg1L9YhieAtLNtAlnmFI69Yl5AGaA3ge5IQ==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-http": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-http/-/plugin-http-2.5.1.tgz",
"integrity": "sha512-SpQ1azXEdQI0UB2NZTIPljJTDEe0bIaKzHYR/k4UQp6yzRYGLC/ktmIgEfQ2RvKAWus8GcYgGr5K6LJPbo/NZw==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-notification": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.3.0.tgz",
"integrity": "sha512-QDwXo9VzAlH97c0veuf19TZI6cRBPfJDl2O6hNEDvI66j60lOO9z+PL6MJrj8A6Y+t55r7mGhe3rQWLmOre2HA==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-os": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.3.0.tgz",
"integrity": "sha512-dm3bDsMuUngpIQdJ1jaMkMfyQpHyDcaTIKTFaAMHoKeUd+Is3UHO2uzhElr6ZZkfytIIyQtSVnCWdW2Kc58f3g==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-process": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-process/-/plugin-process-2.3.0.tgz",
"integrity": "sha512-0DNj6u+9csODiV4seSxxRbnLpeGYdojlcctCuLOCgpH9X3+ckVZIEj6H7tRQ7zqWr7kSTEWnrxtAdBb0FbtrmQ==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-shell": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.3.0.tgz",
"integrity": "sha512-6GIRxO2z64uxPX4CCTuhQzefvCC0ew7HjdBhMALiGw74vFBDY95VWueAHOHgNOMV4UOUAFupyidN9YulTe5xlA==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/@tauri-apps/plugin-updater": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@tauri-apps/plugin-updater/-/plugin-updater-2.9.0.tgz",
"integrity": "sha512-j++sgY8XpeDvzImTrzWA08OqqGqgkNyxczLD7FjNJJx/uXxMZFz5nDcfkyoI/rCjYuj2101Tci/r/HFmOmoxCg==",
"dependencies": {
"@tauri-apps/api": "^2.6.0"
}
},
"node_modules/before-after-hook": { "node_modules/before-after-hook": {
"version": "2.2.3", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",

View File

@@ -1,6 +1,6 @@
{ {
"name": "cinny", "name": "cinny",
"version": "4.7.0", "version": "4.11.2",
"description": "Yet another matrix client", "description": "Yet another matrix client",
"main": "index.js", "main": "index.js",
"engines": { "engines": {
@@ -14,11 +14,21 @@
"author": "Ajay Bura", "author": "Ajay Bura",
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"dependencies": { "dependencies": {
"@tauri-apps/api": "1.6.0" "@tauri-apps/api": "2.7.0",
"@tauri-apps/plugin-clipboard-manager": "2.3.0",
"@tauri-apps/plugin-dialog": "2.3.2",
"@tauri-apps/plugin-fs": "2.4.1",
"@tauri-apps/plugin-global-shortcut": "2.3.0",
"@tauri-apps/plugin-http": "2.5.1",
"@tauri-apps/plugin-notification": "2.3.0",
"@tauri-apps/plugin-os": "2.3.0",
"@tauri-apps/plugin-process": "2.3.0",
"@tauri-apps/plugin-shell": "2.3.0",
"@tauri-apps/plugin-updater": "2.9.0"
}, },
"devDependencies": { "devDependencies": {
"@actions/github": "6.0.0", "@actions/github": "6.0.0",
"@tauri-apps/cli": "1.6.2", "@tauri-apps/cli": "2.7.1",
"node-fetch": "3.3.2" "node-fetch": "3.3.2"
} }
} }

5691
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
[package] [package]
name = "cinny" name = "cinny"
version = "4.7.0" version = "4.11.2"
description = "Yet another matrix client" description = "Yet another matrix client"
authors = ["Ajay Bura"] authors = ["Ajay Bura"]
license = "AGPL-3.0-only" license = "AGPL-3.0-only"
@@ -12,14 +12,23 @@ edition = "2021"
rust-version = "1.61" rust-version = "1.61"
[build-dependencies] [build-dependencies]
tauri-build = { version = "1.5.5", features = [] } tauri-build = { version = "2", features = [] }
[dependencies] [dependencies]
serde_json = "1.0.109" serde_json = "1.0.109"
serde = { version = "1.0.193", features = ["derive"] } serde = { version = "1.0.193", features = ["derive"] }
tauri = { version = "1.8.0", features = ["api-all", "devtools", "updater"] } tauri = { version = "2", features = [ "devtools"] }
tauri-plugin-localhost = "0.1.0" tauri-plugin-localhost = "2"
tauri-plugin-window-state = "0.1.1" tauri-plugin-window-state = "2"
tauri-plugin-clipboard-manager = "2"
tauri-plugin-notification = "2"
tauri-plugin-fs = "2"
tauri-plugin-shell = "2"
tauri-plugin-http = "2"
tauri-plugin-process = "2"
tauri-plugin-os = "2"
tauri-plugin-dialog = "2"
tauri-plugin-opener = "2"
[features] [features]
# by default Tauri runs in production mode # by default Tauri runs in production mode
@@ -28,3 +37,11 @@ default = [ "custom-protocol" ]
# this feature is used used for production builds where `devPath` points to the filesystem # this feature is used used for production builds where `devPath` points to the filesystem
# DO NOT remove this # DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ] custom-protocol = [ "tauri/custom-protocol" ]
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-global-shortcut = "2"
tauri-plugin-updater = "2"
[lib]
name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"]

View File

@@ -0,0 +1,15 @@
{
"identifier": "desktop-capability",
"platforms": [
"macOS",
"windows",
"linux"
],
"windows": [
"main"
],
"permissions": [
"updater:default",
"global-shortcut:default"
]
}

View File

@@ -0,0 +1,91 @@
{
"identifier": "migrated",
"description": "permissions that were migrated from v1",
"local": true,
"remote": {
"urls": [
"http://localhost:44548"
]
},
"windows": [
"main"
],
"permissions": [
"core:default",
"fs:allow-read-file",
"fs:allow-write-file",
"fs:allow-read-dir",
"fs:allow-copy-file",
"fs:allow-mkdir",
"fs:allow-remove",
"fs:allow-remove",
"fs:allow-rename",
"fs:allow-exists",
"core:window:allow-create",
"core:window:allow-center",
"core:window:allow-request-user-attention",
"core:window:allow-set-resizable",
"core:window:allow-set-maximizable",
"core:window:allow-set-minimizable",
"core:window:allow-set-closable",
"core:window:allow-set-title",
"core:window:allow-maximize",
"core:window:allow-unmaximize",
"core:window:allow-minimize",
"core:window:allow-unminimize",
"core:window:allow-show",
"core:window:allow-hide",
"core:window:allow-close",
"core:window:allow-set-decorations",
"core:window:allow-set-always-on-top",
"core:window:allow-set-content-protected",
"core:window:allow-set-size",
"core:window:allow-set-min-size",
"core:window:allow-set-max-size",
"core:window:allow-set-position",
"core:window:allow-set-fullscreen",
"core:window:allow-set-focus",
"core:window:allow-set-icon",
"core:window:allow-set-skip-taskbar",
"core:window:allow-set-cursor-grab",
"core:window:allow-set-cursor-visible",
"core:window:allow-set-cursor-icon",
"core:window:allow-set-cursor-position",
"core:window:allow-set-ignore-cursor-events",
"core:window:allow-start-dragging",
"core:webview:allow-print",
"shell:allow-execute",
"shell:allow-open",
"dialog:allow-open",
"dialog:allow-save",
"dialog:allow-message",
"dialog:allow-ask",
"dialog:allow-confirm",
"http:default",
"notification:default",
"global-shortcut:allow-is-registered",
"global-shortcut:allow-register",
"global-shortcut:allow-register-all",
"global-shortcut:allow-unregister",
"global-shortcut:allow-unregister-all",
"os:allow-platform",
"os:allow-version",
"os:allow-os-type",
"os:allow-family",
"os:allow-arch",
"os:allow-exe-extension",
"os:allow-locale",
"os:allow-hostname",
"process:allow-restart",
"process:allow-exit",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text",
"core:app:allow-app-show",
"core:app:allow-app-hide",
"clipboard-manager:default",
{
"identifier": "opener:allow-open-url",
"allow": [{ "url": "http://*" }, { "url": "https://*" }]
}
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"desktop-capability":{"identifier":"desktop-capability","description":"","local":true,"windows":["main"],"permissions":["updater:default","global-shortcut:default"],"platforms":["macOS","windows","linux"]},"migrated":{"identifier":"migrated","description":"permissions that were migrated from v1","local":true,"windows":["main"],"permissions":["core:default","fs:allow-read-file","fs:allow-write-file","fs:allow-read-dir","fs:allow-copy-file","fs:allow-mkdir","fs:allow-remove","fs:allow-remove","fs:allow-rename","fs:allow-exists","core:window:allow-create","core:window:allow-center","core:window:allow-request-user-attention","core:window:allow-set-resizable","core:window:allow-set-maximizable","core:window:allow-set-minimizable","core:window:allow-set-closable","core:window:allow-set-title","core:window:allow-maximize","core:window:allow-unmaximize","core:window:allow-minimize","core:window:allow-unminimize","core:window:allow-show","core:window:allow-hide","core:window:allow-close","core:window:allow-set-decorations","core:window:allow-set-always-on-top","core:window:allow-set-content-protected","core:window:allow-set-size","core:window:allow-set-min-size","core:window:allow-set-max-size","core:window:allow-set-position","core:window:allow-set-fullscreen","core:window:allow-set-focus","core:window:allow-set-icon","core:window:allow-set-skip-taskbar","core:window:allow-set-cursor-grab","core:window:allow-set-cursor-visible","core:window:allow-set-cursor-icon","core:window:allow-set-cursor-position","core:window:allow-set-ignore-cursor-events","core:window:allow-start-dragging","core:webview:allow-print","shell:allow-execute","shell:allow-open","dialog:allow-open","dialog:allow-save","dialog:allow-message","dialog:allow-ask","dialog:allow-confirm","http:default","notification:default","global-shortcut:allow-is-registered","global-shortcut:allow-register","global-shortcut:allow-register-all","global-shortcut:allow-unregister","global-shortcut:allow-unregister-all","os:allow-platform","os:allow-version","os:allow-os-type","os:allow-family","os:allow-arch","os:allow-exe-extension","os:allow-locale","os:allow-hostname","process:allow-restart","process:allow-exit","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text","core:app:allow-app-show","core:app:allow-app-hide","clipboard-manager:default",{"identifier":"opener:allow-open-url","allow":[{"url":"http://*"},{"url":"https://*"}]}]}}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

49
src-tauri/src/lib.rs Normal file
View File

@@ -0,0 +1,49 @@
#![cfg_attr(
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
// mod menu;
use tauri::{webview::{NewWindowResponse, WebviewWindowBuilder}, WebviewUrl};
use tauri_plugin_opener::OpenerExt;
pub fn run() {
let port: u16 = 44548;
let context = tauri::generate_context!();
let builder = tauri::Builder::default();
// #[cfg(target_os = "macos")]
// {
// builder = builder.menu(menu::menu());
// }
builder
.plugin(tauri_plugin_localhost::Builder::new(port).build())
.plugin(tauri_plugin_window_state::Builder::default().build())
.plugin(tauri_plugin_opener::init())
.setup(move |app| {
// Dev: use devUrl from tauri.conf.json (http://localhost:8080) to support HMR
#[cfg(debug_assertions)]
let window_url = WebviewUrl::App(Default::default());
// Release: tauri-plugin-localhost serves bundled frontend assets on this port
#[cfg(not(debug_assertions))]
let window_url = {
let url = format!("http://localhost:{}", port).parse().unwrap();
WebviewUrl::External(url)
};
let app_handle = app.handle().clone();
WebviewWindowBuilder::new(app, "main".to_string(), window_url)
.title("Cinny")
.on_new_window(move |url, _features| {
let _ = app_handle.opener().open_url(url.as_str(), None::<&str>);
NewWindowResponse::Deny
})
.build()?;
Ok(())
})
.run(context)
.expect("error while building tauri application");
}

View File

@@ -1,30 +1,5 @@
#![cfg_attr( #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
#[cfg(target_os = "macos")]
mod menu;
use tauri::{utils::config::AppUrl, WindowUrl};
fn main() { fn main() {
let port = 44548; app_lib::run();
let mut context = tauri::generate_context!();
let url = format!("http://localhost:{}", port).parse().unwrap();
let window_url = WindowUrl::External(url);
// rewrite the config so the IPC is enabled on this URL
context.config_mut().build.dist_dir = AppUrl::Url(window_url.clone());
context.config_mut().build.dev_path = AppUrl::Url(window_url.clone());
let builder = tauri::Builder::default();
#[cfg(target_os = "macos")]
let builder = builder.menu(menu::menu());
builder
.plugin(tauri_plugin_localhost::Builder::new(port).build())
.plugin(tauri_plugin_window_state::Builder::default().build())
.run(context)
.expect("error while building tauri application")
} }

View File

@@ -1,41 +1,44 @@
use tauri::{AboutMetadata, Menu, MenuItem, Submenu}; use tauri::menu::{MenuBuilder, SubmenuBuilder};
//for macOS use tauri::AppHandle;
pub(crate) fn menu() -> Menu {
Menu::new() pub fn menu() -> tauri::menu::Menu {
.add_submenu(Submenu::new( let app_menu = SubmenuBuilder::new(app, "Cinny")
"Cinny", .about(Some(Default::default()))
Menu::new() .separator()
.add_native_item(MenuItem::About( .hide()
"Cinny".to_string(), .hide_others()
AboutMetadata::new(), .show_all()
)) .separator()
.add_native_item(MenuItem::Separator) .quit()
.add_native_item(MenuItem::Hide) .build()
.add_native_item(MenuItem::HideOthers) .unwrap();
.add_native_item(MenuItem::ShowAll)
.add_native_item(MenuItem::Separator) let edit_menu = SubmenuBuilder::new(app, "Edit")
.add_native_item(MenuItem::Quit), .undo()
)) .redo()
.add_submenu(Submenu::new( .separator()
"Edit", .cut()
Menu::new() .copy()
.add_native_item(MenuItem::Undo) .paste()
.add_native_item(MenuItem::Redo) .select_all()
.add_native_item(MenuItem::Separator) .build()
.add_native_item(MenuItem::Cut) .unwrap();
.add_native_item(MenuItem::Copy)
.add_native_item(MenuItem::Paste) let view_menu = SubmenuBuilder::new(app, "View")
.add_native_item(MenuItem::SelectAll), .fullscreen() // `.fullscreen()` works instead of `.enter_fullscreen()`
)) .build()
.add_submenu(Submenu::new( .unwrap();
"View",
Menu::new() let window_menu = SubmenuBuilder::new(app, "Window")
.add_native_item(MenuItem::EnterFullScreen), .minimize()
)) .build() // no `.zoom()` method directly available
.add_submenu(Submenu::new( .unwrap();
"Window",
Menu::new() MenuBuilder::new(app)
.add_native_item(MenuItem::Minimize) .item(&app_menu)
.add_native_item(MenuItem::Zoom), .item(&edit_menu)
)) .item(&view_menu)
.item(&window_menu)
.build()
.unwrap()
} }

View File

@@ -1,19 +1,16 @@
{ {
"package": {
"productName": "Cinny",
"version": "4.7.0"
},
"build": {
"distDir": "../cinny/dist",
"devPath": "http://localhost:8080",
"beforeDevCommand": "cd cinny && npm start",
"beforeBuildCommand": "cd cinny && npm run build"
},
"tauri": {
"bundle": { "bundle": {
"active": true, "active": true,
"targets": "all", "targets": "all",
"identifier": "in.cinny.app", "windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": "",
"wix": {
"bannerPath": "wix/banner.bmp",
"dialogImagePath": "wix/dialogImage.bmp"
}
},
"icon": [ "icon": [
"icons/32x32.png", "icons/32x32.png",
"icons/128x128.png", "icons/128x128.png",
@@ -27,9 +24,6 @@
"category": "SocialNetworking", "category": "SocialNetworking",
"shortDescription": "Yet another matrix client", "shortDescription": "Yet another matrix client",
"longDescription": "", "longDescription": "",
"deb": {
"depends": []
},
"macOS": { "macOS": {
"frameworks": [], "frameworks": [],
"minimumSystemVersion": "", "minimumSystemVersion": "",
@@ -38,40 +32,34 @@
"providerShortName": null, "providerShortName": null,
"entitlements": null "entitlements": null
}, },
"windows": { "linux": {
"certificateThumbprint": null, "deb": {
"digestAlgorithm": "sha256", "depends": []
"timestampUrl": "",
"wix": {
"bannerPath": "wix/banner.bmp",
"dialogImagePath": "wix/dialogImage.bmp"
}
} }
}, },
"createUpdaterArtifacts": "v1Compatible"
},
"build": {
"beforeBuildCommand": "cd cinny && npm run build",
"frontendDist": "../cinny/dist",
"beforeDevCommand": "cd cinny && npm start",
"devUrl": "http://localhost:8080"
},
"productName": "Cinny",
"mainBinaryName": "cinny",
"version": "4.11.2",
"identifier": "in.cinny.app",
"plugins": {
"updater": { "updater": {
"active": true, "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE2NDc3NDBGMTAzNTk1NUYKUldSZmxUVVFEM1JIRnRuMjVRTkFOQ21lUFI5KzRMU0s4OWtBS1RNRUVCNE9LcE9GcExNZ2M2NHoK",
"endpoints": [ "endpoints": [
"https://github.com/cinnyapp/cinny-desktop/releases/download/tauri/release.json" "https://github.com/cinnyapp/cinny-desktop/releases/download/tauri/release.json"
], ]
"dialog": true,
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE2NDc3NDBGMTAzNTk1NUYKUldSZmxUVVFEM1JIRnRuMjVRTkFOQ21lUFI5KzRMU0s4OWtBS1RNRUVCNE9LcE9GcExNZ2M2NHoK"
},
"allowlist": {
"all": true
},
"windows": [
{
"title": "Cinny",
"width": 1280,
"height": 905,
"center": true,
"resizable": true,
"fullscreen": false,
"fileDropEnabled": false
} }
], },
"app": {
"security": { "security": {
"csp": "script-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'" "csp": "default-src 'self' blob: data: filesystem: ws: wss: http: https: tauri:; script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: data: filesystem: ws: wss: http: https: tauri:; img-src 'self' data: blob: filesystem: http: https:; connect-src 'self' blob: ipc: ws: wss: http: https: http://ipc.localhost"
} }
} }
} }