diff --git a/.github/workflows/web-deploy-staff.yml b/.github/workflows/infra-deploy-staff.yml
similarity index 63%
rename from .github/workflows/web-deploy-staff.yml
rename to .github/workflows/infra-deploy-staff.yml
index 854e163644..dd68a14a26 100644
--- a/.github/workflows/web-deploy-staff.yml
+++ b/.github/workflows/infra-deploy-staff.yml
@@ -1,45 +1,43 @@
name: "Deploy (staff)"
on:
- # Run on every push to main that changes web/apps/staff/
+ # Run on every push to main that changes infra/staff/
push:
branches: [main]
paths:
- - "web/apps/staff/**"
- - ".github/workflows/web-deploy-staff.yml"
+ - "infra/staff/**"
+ - ".github/workflows/infra-deploy-staff.yml"
# Also allow manually running the workflow
workflow_dispatch:
jobs:
- deploy:
+ lint:
runs-on: ubuntu-latest
defaults:
run:
- working-directory: web
+ working-directory: infra/staff
steps:
- name: Checkout code
uses: actions/checkout@v4
- with:
- submodules: recursive
- name: Setup node and enable yarn caching
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
- cache-dependency-path: "web/yarn.lock"
+ cache-dependency-path: "infra/staff/yarn.lock"
- name: Install dependencies
run: yarn install
- - name: Build staff
- run: yarn build:staff
+ - name: Build
+ run: yarn build
- - name: Publish staff
+ - name: Publish
uses: cloudflare/wrangler-action@v3
with:
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
- command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/staff web/apps/staff/dist
+ command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/staff infra/staff/dist
diff --git a/.github/workflows/infra-lint-staff.yml b/.github/workflows/infra-lint-staff.yml
new file mode 100644
index 0000000000..5c2894281e
--- /dev/null
+++ b/.github/workflows/infra-lint-staff.yml
@@ -0,0 +1,34 @@
+name: "Lint (staff)"
+
+on:
+ # Run on every push to a branch other than main that changes infra/staff/
+ push:
+ branches-ignore: [main]
+ paths:
+ - "infra/staff/**"
+ - ".github/workflows/infra-deploy-staff.yml"
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+
+ defaults:
+ run:
+ working-directory: infra/staff
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup node and enable yarn caching
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "yarn"
+ cache-dependency-path: "infra/staff/yarn.lock"
+
+ - name: Install dependencies
+ run: yarn install
+
+ - name: Lint
+ run: yarn lint
diff --git a/.github/workflows/mobile-lint.yml b/.github/workflows/mobile-lint.yml
index 3a43924a35..8f231079f3 100644
--- a/.github/workflows/mobile-lint.yml
+++ b/.github/workflows/mobile-lint.yml
@@ -9,6 +9,7 @@ on:
- ".github/workflows/mobile-lint.yml"
env:
+
FLUTTER_VERSION: "3.22.0"
jobs:
diff --git a/.github/workflows/mobile-release.yml b/.github/workflows/mobile-release.yml
index 6211f2c262..35cc217e67 100644
--- a/.github/workflows/mobile-release.yml
+++ b/.github/workflows/mobile-release.yml
@@ -9,7 +9,7 @@ on:
- "photos-v*"
env:
- FLUTTER_VERSION: "3.19.3"
+ FLUTTER_VERSION: "3.22.0"
jobs:
build:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 857e18fb54..e92fe9c6cf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -12,9 +12,10 @@ There are many ways to contribute, and most of them don't require writing code.
## Spread the word
-This is perhaps the most impactful contribution you can make. Spread the word.
-Online on your favorite social media channels. Offline to your friends and
-family who are looking for a privacy-friendly alternative to big tech.
+This is perhaps the most impactful contribution you can make. [Spread the
+word](https://help.ente.io/photos/features/referral-program/). Online on your
+favorite social media channels. Offline to your friends and family who are
+looking for a privacy-friendly alternative to big tech.
## Engage with the community
@@ -76,7 +77,10 @@ us](https://github.com/ente-io/ente/discussions). Discussing your idea with us
first ensures that everyone is on the same page before you start working on your
change.
-## Star
+## Leave a review or star
If you haven't already done so, consider [starring this
-repository](https://github.com/ente-io/ente/stargazers).
+repository](https://github.com/ente-io/ente/stargazers) or leaving a review on
+[PlayStore](https://play.google.com/store/apps/details?id=io.ente.auth),
+[AppStore](https://apps.apple.com/us/app/ente-authenticator/id6444121398) or
+[AlternativeTo](https://alternativeto.net/software/ente-authenticator/).
diff --git a/README.md b/README.md
index 88488d11ca..00a786b96e 100644
--- a/README.md
+++ b/README.md
@@ -60,8 +60,8 @@ Our labour of love. Two years ago, while building Ente Photos, we realized that
there was no open source end-to-end encrypted authenticator app. We already had
the building blocks, so we built one.
-Ente Auth is currently free. If in the future we convert this to a paid service,
-existing users will be grandfathered in.
+Ente Auth is free, and will remain free forever. If you like the service and
+want to give back, please check out Ente Photos or spread the word.
diff --git a/auth/README.md b/auth/README.md
index e2e03f0230..6382812de2 100644
--- a/auth/README.md
+++ b/auth/README.md
@@ -95,13 +95,10 @@ more, see [docs/adding-icons](docs/adding-icons.md).
## đ Contribute
-For more ways to contribute, see [../CONTRIBUTING.md](../CONTRIBUTING.md).
+The best way to support this project is by checking out [Ente
+Photos](../mobile/README.md) or spreading the word.
-You can also support us by giving this project a â star on GitHub or by leaving
-a review on
-[PlayStore](https://play.google.com/store/apps/details?id=io.ente.auth),
-[AppStore](https://apps.apple.com/us/app/ente-authenticator/id6444121398) or
-[AlternativeTo](https://alternativeto.net/software/ente-authenticator/).
+For more ways to contribute, see [../CONTRIBUTING.md](../CONTRIBUTING.md).
## âïž About
diff --git a/auth/assets/custom-icons/_data/custom-icons.json b/auth/assets/custom-icons/_data/custom-icons.json
index 3e8f8ce679..f532eb00fd 100644
--- a/auth/assets/custom-icons/_data/custom-icons.json
+++ b/auth/assets/custom-icons/_data/custom-icons.json
@@ -18,10 +18,10 @@
"title": "AscendEX"
},
{
- "title": "BitMEX"
+ "title": "Bitfinex"
},
{
- "title": "Bitfinex"
+ "title": "BitMEX"
},
{
"title": "Bitvavo",
@@ -32,13 +32,12 @@
},
{
"title": "Bloom Host",
- "slug": "bloom_host"
+ "slug": "bloom_host",
+ "altNames": ["Bloom Host Billing"]
},
{
"title": "BorgBase",
- "altNames": [
- "borg"
- ],
+ "altNames": ["borg"],
"slug": "BorgBase"
},
{
@@ -57,10 +56,10 @@
"hex": "D14633"
},
{
- "title": "ConfigCat"
+ "title": "Cloudflare"
},
{
- "title": "Cloudflare"
+ "title": "ConfigCat"
},
{
"title": "Control D",
@@ -72,9 +71,7 @@
},
{
"title": "DCS",
- "altNames": [
- "Digital Combat Simulator"
- ],
+ "altNames": ["Digital Combat Simulator"],
"slug": "dcs"
},
{
@@ -83,6 +80,9 @@
{
"title": "Discourse"
},
+ {
+ "title": "Doppler"
+ },
{
"title": "dus.net",
"slug": "dusnet"
@@ -117,14 +117,15 @@
{
"title": "GitLab"
},
+ {
+ "title": "GMX"
+ },
{
"title": "Google"
},
{
"title": "Gosuslugi",
- "altNames": [
- "ĐĐŸŃŃŃĐ»ŃгО"
- ],
+ "altNames": ["ĐĐŸŃŃŃĐ»ŃгО"],
"slug": "Gosuslugi"
},
{
@@ -135,21 +136,21 @@
"slug": "healthchecks"
},
{
- "title": "ING"
+ "title": "IceDrive",
+ "slug": "Icedrive"
},
{
- "title": "INWX"
+ "title": "ING"
},
{
"title": "Instagram"
},
{
- "title": "IVPN",
- "slug": "IVPN"
+ "title": "INWX"
},
{
- "title": "IceDrive",
- "slug": "Icedrive"
+ "title": "IVPN",
+ "slug": "IVPN"
},
{
"title": "Jagex",
@@ -158,10 +159,6 @@
{
"title": "Kagi"
},
- {
- "title": "KPN",
- "color": "00CC00"
- },
{
"title": "Kick",
"hex": "53FC19"
@@ -172,6 +169,10 @@
{
"title": "Koofr"
},
+ {
+ "title": "KPN",
+ "color": "00CC00"
+ },
{
"title": "Kraken",
"hex": "5848D5"
@@ -190,27 +191,21 @@
{
"title": "Letterboxd"
},
+ {
+ "title": "Local",
+ "slug": "local_wp",
+ "altNames": ["LocalWP", "Local WP", "Local Wordpress"]
+ },
{
"title": "Mastodon",
- "altNames": [
- "mstdn",
- "fediscience",
- "mathstodon",
- "fosstodon"
- ],
+ "altNames": ["mstdn", "fediscience", "mathstodon", "fosstodon"],
"slug": "mastodon",
"hex": "6364FF"
},
{
"title": "Mercado Livre",
- "slug": "mercado_livre"
- },
- {
- "title": "Murena",
- "altNames": [
- "eCloud"
- ],
- "slug": "ecloud"
+ "slug": "mercado_livre",
+ "altNames": ["Mercado Libre", "MercadoLibre", "MercadoLivre"]
},
{
"title": "Microsoft"
@@ -221,6 +216,11 @@
{
"title": "Mozilla"
},
+ {
+ "title": "Murena",
+ "altNames": ["eCloud"],
+ "slug": "ecloud"
+ },
{
"title": "MyFRITZ!Net",
"slug": "myfritz"
@@ -294,6 +294,10 @@
{
"title": "Proxmox"
},
+ {
+ "title": "Real-Debrid",
+ "slug": "real_debrid"
+ },
{
"title": "Revolt",
"hex": "858585"
@@ -302,6 +306,10 @@
"title": "Rockstar Games",
"slug": "rockstar_games"
},
+ {
+ "title": "RuneMate",
+ "hex": "2ECC71"
+ },
{
"title": "Rust Language Forum",
"slug": "rust_language_forum",
@@ -331,6 +339,9 @@
"slug": "standardnotes",
"hex": "2173E6"
},
+ {
+ "title": "Surfshark"
+ },
{
"title": "Synology DSM",
"slug": "synology_dsm"
@@ -341,7 +352,8 @@
"hex": "FFFFFF"
},
{
- "title": "Techlore"
+ "title": "Techlore",
+ "altNames": ["Techlore Courses", "Techlore Forums"]
},
{
"title": "Termius",
@@ -399,19 +411,27 @@
"slug": "wyze"
},
{
- "title": "X",
+ "title": "WorkOS",
+ "slug": "workos",
"altNames": [
- "twitter"
- ],
+ "Work OS"
+ ]
+ },
+ {
+ "title": "X",
+ "altNames": ["twitter"],
"slug": "x"
},
{
"title": "Yandex",
- "altNames": [
- "Ya",
- "ĐŻĐœĐŽĐ”ĐșŃ"
- ],
+ "altNames": ["Ya", "ĐŻĐœĐŽĐ”ĐșŃ"],
"slug": "Yandex"
+ },
+ {
+ "title": "YNAB",
+ "altNames": ["You Need A Budget"],
+ "slug": "ynab",
+ "hex": "3B5EDA"
}
]
-}
\ No newline at end of file
+}
diff --git a/auth/assets/custom-icons/icons/configcat.svg b/auth/assets/custom-icons/icons/configcat.svg
index cfecd22b02..12f7e4e81a 100644
--- a/auth/assets/custom-icons/icons/configcat.svg
+++ b/auth/assets/custom-icons/icons/configcat.svg
@@ -1,7 +1,7 @@
-