From 6a938721090d07caae6a5946d9c8270c73f3b198 Mon Sep 17 00:00:00 2001 From: francesco Date: Mon, 19 Oct 2026 12:50:29 +0200 Subject: [PATCH 1/3] =?UTF-8?q?release:=20v0.3.0=20=E2=80=94=20sources=20t?= =?UTF-8?q?hat=20changed=20since=20ingest,=20Flatpak=20with=20PDF=20suppor?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Version 0.3.0 in the package, pyproject, server.json, MetaInfo, Debian changelog and man pages; CHANGELOG and release notes (with the Flatpak install line for non-Debian distributions). - Flatpak jobs are blocking in CI and in the release: a failed bundle no longer produces a release without one and a stale Pages remote. - CI uploads gknowledge-dev.flatpak for every PR, so a build can be installed and tested before tagging; bundles name Flathub as runtime repo. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 12 ++++++++++-- .github/workflows/release.yml | 4 ++-- CHANGELOG.md | 18 ++++++++++++++++++ TODO.md | 4 ++-- build-aux/debian/changelog | 4 ++-- build-aux/debian/gknowledge-mcp.1 | 2 +- build-aux/debian/gknowledge.1 | 2 +- build-aux/release-notes.md | 6 ++++++ data/io.gknowledge.Gknowledge.metainfo.xml | 11 +++++++++++ docs/packaging/debian.md | 12 ++++++------ gknowledge/__init__.py | 2 +- pyproject.toml | 2 +- server.json | 4 ++-- 13 files changed, 63 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65d4c55..0264d1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,11 +29,19 @@ jobs: python3 -c "import gknowledge" 2>/dev/null || PYTHONPATH=/usr/share/gknowledge python3 -c "import gknowledge; print(gknowledge.__version__)" flatpak: runs-on: ubuntu-latest - continue-on-error: true # promote to required once the build is proven green steps: - uses: actions/checkout@v4 - run: | sudo apt-get update && sudo apt-get install -y flatpak flatpak-builder flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install --user -y flathub org.gnome.Platform//51 org.gnome.Sdk//51 - - run: flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.gknowledge.Gknowledge.yaml + - run: | + flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.gknowledge.Gknowledge.yaml + flatpak build-bundle --runtime-repo=https://dl.flathub.org/repo/flathub.flatpakrepo \ + repo gknowledge-dev.flatpak io.gknowledge.Gknowledge + # Installable build of every PR: flatpak install --user gknowledge-dev.flatpak + - uses: actions/upload-artifact@v4 + with: + name: gknowledge-flatpak + path: gknowledge-dev.flatpak + retention-days: 14 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 10485fb..4dd5f90 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,6 @@ jobs: flatpak-bundle: needs: deb # avoid two jobs racing to create the same release runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - run: | @@ -34,7 +33,8 @@ jobs: flatpak install --user -y flathub org.gnome.Platform//51 org.gnome.Sdk//51 - run: | flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.gknowledge.Gknowledge.yaml - flatpak build-bundle repo gknowledge-${GITHUB_REF_NAME}.flatpak io.gknowledge.Gknowledge + flatpak build-bundle --runtime-repo=https://dl.flathub.org/repo/flathub.flatpakrepo \ + repo gknowledge-${GITHUB_REF_NAME}.flatpak io.gknowledge.Gknowledge - uses: softprops/action-gh-release@v2 with: files: gknowledge-*.flatpak diff --git a/CHANGELOG.md b/CHANGELOG.md index 6900e95..df9c20d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ All notable changes to gknowledge. Dates are release dates. +## 0.3.0 — 2026-10-19 + +**Wiki** +- gknowledge notices when a source's original file changed after it was ingested. The source is marked "changed since ingest", and **Update** takes the new version and extracts it again, so pages stop describing an old version of the document. +- Re-ingest and remove a source; pages backed only by that source are removed, shared pages keep their other sources (thanks @Aaqibhafeezkhan, #30). +- MCP: new `stale_sources` tool, so agents can check the wiki for drift. + +**App** +- Clicking a document in the sidebar opens it, in every section (it only highlighted the row before). +- Preferences: wider dialog; provider and model names are no longer cut off. + +**Packaging** +- Flatpak: install from the signed remote with `flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref`; GNOME 51 runtime, no home-folder access (files are opened through portals). +- Flatpak: PDF import works (pypdf is now bundled). +- Signed APT repository on GitHub Pages, and a Debian source package. +- `gknowledge-mcp` on PyPI (`uvx gknowledge-mcp`) and in the official MCP registry. +- `make start-flatpak` runs the development loop inside the GNOME runtime. + ## 0.2.2 — 2026-10-13 **Packaging** diff --git a/TODO.md b/TODO.md index 158bb77..412e375 100644 --- a/TODO.md +++ b/TODO.md @@ -13,8 +13,8 @@ Flatpak (the `.deb` and `install.sh` do nothing for Fedora, Arch or openSUSE use - [ ] Verify on a non-Ubuntu distro (Fedora VM or toolbox) before replying to Justin. - [x] README: badge and comparison table no longer say "Flatpak planned" (install section left as is). - [x] Vendor `pypdf` 6.19.0 in the manifest (the 0.2.2 bundle has `No module named 'pypdf'`, so PDF import fails). Builds green on PR #42. -- [ ] Push a release so the published bundle includes the stale-source check, then tag the remote as tested. -- [ ] Make the CI and release Flatpak jobs blocking (drop `continue-on-error`) now that they pass. +- [ ] Release 0.3.0 (prepared 2026-10-19: version, CHANGELOG, MetaInfo, release notes with the Flatpak line): test the CI bundle end to end, merge, tag `v0.3.0`, then reinstall from the Pages remote and check `flatpak update`. +- [x] CI and release Flatpak jobs are blocking (no `continue-on-error`); CI uploads an installable `gknowledge-dev.flatpak` artifact for every PR. - [ ] Flathub itself stays paused (AI-assisted code policy, see P0 below); say so plainly if asked, and point to the Pages remote. Develop against the runtime users get diff --git a/build-aux/debian/changelog b/build-aux/debian/changelog index e98cf30..ed7126d 100644 --- a/build-aux/debian/changelog +++ b/build-aux/debian/changelog @@ -1,5 +1,5 @@ -gknowledge (0.2.2-1) unstable; urgency=medium +gknowledge (0.3.0-1) unstable; urgency=medium * Initial release. (Closes: #XXXXXX) - -- Francesco Bianco Tue, 13 Oct 2026 14:00:00 +0000 + -- Francesco Bianco Mon, 19 Oct 2026 12:00:00 +0000 diff --git a/build-aux/debian/gknowledge-mcp.1 b/build-aux/debian/gknowledge-mcp.1 index b46acff..234d70b 100644 --- a/build-aux/debian/gknowledge-mcp.1 +++ b/build-aux/debian/gknowledge-mcp.1 @@ -1,4 +1,4 @@ -.TH GKNOWLEDGE-MCP 1 "October 2026" "gknowledge 0.2.2" "User Commands" +.TH GKNOWLEDGE-MCP 1 "October 2026" "gknowledge 0.3.0" "User Commands" .SH NAME gknowledge-mcp \- Model Context Protocol server for a gknowledge wiki .SH SYNOPSIS diff --git a/build-aux/debian/gknowledge.1 b/build-aux/debian/gknowledge.1 index d2d77bc..8e2e4a5 100644 --- a/build-aux/debian/gknowledge.1 +++ b/build-aux/debian/gknowledge.1 @@ -1,4 +1,4 @@ -.TH GKNOWLEDGE 1 "October 2026" "gknowledge 0.2.2" "User Commands" +.TH GKNOWLEDGE 1 "October 2026" "gknowledge 0.3.0" "User Commands" .SH NAME gknowledge \- native GNOME app that turns documents into a cited wiki .SH SYNOPSIS diff --git a/build-aux/release-notes.md b/build-aux/release-notes.md index b6f6bf9..19357cf 100644 --- a/build-aux/release-notes.md +++ b/build-aux/release-notes.md @@ -6,6 +6,12 @@ curl -fsSL https://github.com/openapi/gknowledge/releases/latest/download/instal Or download `gknowledge_all.deb` below and run `sudo apt install ./gknowledge_all.deb` (Ubuntu 24.04+ / Debian 13+). +On any distribution with Flatpak (Fedora, Arch, openSUSE, …): + +```bash +flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +``` + ## What's new See [CHANGELOG.md](https://github.com/openapi/gknowledge/blob/main/CHANGELOG.md). diff --git a/data/io.gknowledge.Gknowledge.metainfo.xml b/data/io.gknowledge.Gknowledge.metainfo.xml index 4f88157..d858877 100644 --- a/data/io.gknowledge.Gknowledge.metainfo.xml +++ b/data/io.gknowledge.Gknowledge.metainfo.xml @@ -48,6 +48,17 @@ + + +

A wiki that knows when it is out of date.

+
    +
  • Sources whose original file changed since ingestion are marked, and can be updated in one click
  • +
  • Re-ingest or remove a source; knowledge it alone supported is cleaned up
  • +
  • PDF import works in the Flatpak
  • +
  • Clicking a document in the sidebar opens it
  • +
+
+

The app icon shows again in the dock and app grid.

diff --git a/docs/packaging/debian.md b/docs/packaging/debian.md index f214e05..8067581 100644 --- a/docs/packaging/debian.md +++ b/docs/packaging/debian.md @@ -7,11 +7,11 @@ The source packaging lives in [`build-aux/debian/`](../../build-aux/debian). It ## Build and check it locally ```sh -git archive --format=tar.gz --prefix=gknowledge-0.2.2/ v0.2.2 > ../gknowledge_0.2.2.orig.tar.gz -tar -C .. -xzf ../gknowledge_0.2.2.orig.tar.gz -cp -r build-aux/debian ../gknowledge-0.2.2/debian -cd ../gknowledge-0.2.2 && dpkg-buildpackage -us -uc -lintian -I --pedantic ../gknowledge_0.2.2-1_*.changes +git archive --format=tar.gz --prefix=gknowledge-0.3.0/ v0.3.0 > ../gknowledge_0.3.0.orig.tar.gz +tar -C .. -xzf ../gknowledge_0.3.0.orig.tar.gz +cp -r build-aux/debian ../gknowledge-0.3.0/debian +cd ../gknowledge-0.3.0 && dpkg-buildpackage -us -uc +lintian -I --pedantic ../gknowledge_0.3.0-1_*.changes ``` On a host without debhelper, run the same steps in a `debian:sid` container with `build-essential devscripts debhelper dh-python python3 python3-pypdf lintian` installed. @@ -38,7 +38,7 @@ Owner: Francesco Bianco X-Debbugs-Cc: debian-devel@lists.debian.org, debian-gtk-gnome@lists.debian.org * Package name : gknowledge - Version : 0.2.2 + Version : 0.3.0 Upstream Contact: https://github.com/openapi/gknowledge/issues * URL : https://github.com/openapi/gknowledge * License : Expat (code), CC0-1.0 (AppStream metadata) diff --git a/gknowledge/__init__.py b/gknowledge/__init__.py index a849c63..d3700b5 100644 --- a/gknowledge/__init__.py +++ b/gknowledge/__init__.py @@ -4,7 +4,7 @@ knowledge base with the help of pluggable LLM providers. """ -__version__ = "0.2.2" +__version__ = "0.3.0" APP_ID = "io.gknowledge.Gknowledge" APP_NAME = "gknowledge" diff --git a/pyproject.toml b/pyproject.toml index c90a2b4..309ce7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "gknowledge" -version = "0.2.2" +version = "0.3.0" description = "A native GNOME knowledge workstation that turns raw material into an evolving knowledge base." readme = "README.md" requires-python = ">=3.10" diff --git a/server.json b/server.json index 62b52b9..05dbfe0 100644 --- a/server.json +++ b/server.json @@ -8,13 +8,13 @@ "source": "github" }, "websiteUrl": "https://openapi.github.io/gknowledge", - "version": "0.2.2", + "version": "0.3.0", "packages": [ { "registryType": "pypi", "registryBaseUrl": "https://pypi.org", "identifier": "gknowledge-mcp", - "version": "0.2.2", + "version": "0.3.0", "runtimeHint": "uvx", "transport": { "type": "stdio" From 02518b20e1bb0fc5c6d7f824e1fb8ea08ee6a2a0 Mon Sep 17 00:00:00 2001 From: francesco Date: Mon, 19 Oct 2026 13:07:05 +0200 Subject: [PATCH 2/3] packaging: app ID io.github.openapi.Gknowledge io.gknowledge.Gknowledge implied gknowledge.io, a domain nobody owns (and openapi.io is for sale); Flathub verifies io.github.openapi.* through the GitHub organisation. Changed before 0.3.0 while there are almost no Flatpak installs: - Files, desktop entry, icon, MetaInfo, manifest, CI and READMEs renamed. - The Pages remote also publishes the old ID with end-of-life-rebase, so existing installs move on the next flatpak update and keep their ~/.var/app data; the old .flatpakref URL installs the new ID. - X-Flatpak-RenamedFrom in the desktop entry and in MetaInfo. - Settings outside Flatpak live in ~/.config/gknowledge and are unaffected. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/release.yml | 4 ++-- CHANGELOG.md | 3 ++- DISTRIBUTING.md | 2 +- Makefile | 2 +- README.es.md | 4 ++-- README.fr.md | 4 ++-- README.it.md | 4 ++-- README.md | 6 +++--- README.pt-BR.md | 4 ++-- README.zh-CN.md | 4 ++-- TODO.md | 4 ++-- build-aux/debian/copyright | 2 +- ...wledge.yaml => io.github.openapi.Gknowledge.yaml} | 2 +- build-aux/release-notes.md | 2 +- build-aux/repos/build-site.sh | 12 +++++++++++- build-aux/repos/index.html | 6 +++--- build-aux/snap/snapcraft.yaml | 2 +- ...nowledge.svg => io.github.openapi.Gknowledge.svg} | 0 ....desktop => io.github.openapi.Gknowledge.desktop} | 5 +++-- ...xml => io.github.openapi.Gknowledge.metainfo.xml} | 7 +++++-- gknowledge/__init__.py | 2 +- install.sh | 5 +++-- 23 files changed, 55 insertions(+), 39 deletions(-) rename build-aux/flatpak/{io.gknowledge.Gknowledge.yaml => io.github.openapi.Gknowledge.yaml} (96%) rename data/icons/hicolor/scalable/apps/{io.gknowledge.Gknowledge.svg => io.github.openapi.Gknowledge.svg} (100%) rename data/{io.gknowledge.Gknowledge.desktop => io.github.openapi.Gknowledge.desktop} (72%) rename data/{io.gknowledge.Gknowledge.metainfo.xml => io.github.openapi.Gknowledge.metainfo.xml} (95%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0264d1b..52e7978 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,8 @@ jobs: steps: - uses: actions/checkout@v4 - run: sudo apt-get update && sudo apt-get install -y appstream desktop-file-utils - - run: appstreamcli validate --no-net data/io.gknowledge.Gknowledge.metainfo.xml - - run: desktop-file-validate data/io.gknowledge.Gknowledge.desktop + - run: appstreamcli validate --no-net data/io.github.openapi.Gknowledge.metainfo.xml + - run: desktop-file-validate data/io.github.openapi.Gknowledge.desktop deb: runs-on: ubuntu-latest steps: @@ -36,9 +36,9 @@ jobs: flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install --user -y flathub org.gnome.Platform//51 org.gnome.Sdk//51 - run: | - flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.gknowledge.Gknowledge.yaml + flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.github.openapi.Gknowledge.yaml flatpak build-bundle --runtime-repo=https://dl.flathub.org/repo/flathub.flatpakrepo \ - repo gknowledge-dev.flatpak io.gknowledge.Gknowledge + repo gknowledge-dev.flatpak io.github.openapi.Gknowledge # Installable build of every PR: flatpak install --user gknowledge-dev.flatpak - uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4dd5f90..38cd522 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,9 +32,9 @@ jobs: flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install --user -y flathub org.gnome.Platform//51 org.gnome.Sdk//51 - run: | - flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.gknowledge.Gknowledge.yaml + flatpak-builder --user --force-clean --repo=repo build-dir build-aux/flatpak/io.github.openapi.Gknowledge.yaml flatpak build-bundle --runtime-repo=https://dl.flathub.org/repo/flathub.flatpakrepo \ - repo gknowledge-${GITHUB_REF_NAME}.flatpak io.gknowledge.Gknowledge + repo gknowledge-${GITHUB_REF_NAME}.flatpak io.github.openapi.Gknowledge - uses: softprops/action-gh-release@v2 with: files: gknowledge-*.flatpak diff --git a/CHANGELOG.md b/CHANGELOG.md index df9c20d..c7d85eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ All notable changes to gknowledge. Dates are release dates. - Preferences: wider dialog; provider and model names are no longer cut off. **Packaging** -- Flatpak: install from the signed remote with `flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref`; GNOME 51 runtime, no home-folder access (files are opened through portals). +- New app ID `io.github.openapi.Gknowledge` (was `io.gknowledge.Gknowledge`, a domain we do not own). Flatpak installs from the Pages remote move to the new ID on `flatpak update`, settings included. +- Flatpak: install from the signed remote with `flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref`; GNOME 51 runtime, no home-folder access (files are opened through portals). - Flatpak: PDF import works (pypdf is now bundled). - Signed APT repository on GitHub Pages, and a Debian source package. - `gknowledge-mcp` on PyPI (`uvx gknowledge-mcp`) and in the official MCP registry. diff --git a/DISTRIBUTING.md b/DISTRIBUTING.md index dc06a2f..0436e65 100644 --- a/DISTRIBUTING.md +++ b/DISTRIBUTING.md @@ -219,7 +219,7 @@ L'accettazione su Flathub è basata su regole ed è veloce: le cinque app compar |---|---|---| | Runtime "the latest version at that time of submission"; runtime EOL rifiutati | `org.gnome.Platform` **46** | Passare al runtime corrente (Alpaca e Newelle sono su GNOME 50; il Circle ha chiesto ai membri di abbandonare il 49 entro il 10 ottobre 2026) ([requirements](https://docs.flathub.org/docs/for-app-authors/requirements); [Circle #280](https://gitlab.gnome.org/Teams/Circle/-/issues/280)) | | Sorgenti con URL pubblici; "built entirely from source code"; nessun binario nel PR | `sources: type: dir, path: ../..` | Usare `type: git` con tag o `type: archive` con sha256 su una release GitHub; vendorizzare `pypdf` come wheel offline (pattern `flatpak-pip-generator`, come Alpaca) ([manifest Alpaca](https://github.com/flathub/com.jeffser.Alpaca/blob/master/com.jeffser.Alpaca.yml)) | -| ID app: dominio controllato dall'autore con `.well-known/org.flathub.VerifiedApps.txt`, oppure `io.github..` | `io.gknowledge.Gknowledge` | Verificare se il dominio `gknowledge.io` è controllato (serve HTTPS e il token); altrimenti rinominare in `io.github..Gknowledge` prima della sottomissione, perché Flathub rifiuta rinomine subito dopo l'accettazione ([requirements](https://docs.flathub.org/docs/for-app-authors/requirements); [verification](https://docs.flathub.org/docs/for-app-authors/verification)) | +| ID app: dominio controllato dall'autore con `.well-known/org.flathub.VerifiedApps.txt`, oppure `io.github..` | `io.gknowledge.Gknowledge` → **`io.github.openapi.Gknowledge` dalla 0.3.0** (19 ott 2026: gknowledge.io non registrato, openapi.io in vendita; il remote su Pages fa end-of-life-rebase dal vecchio ID) | ~~Verificare se il dominio `gknowledge.io` è controllato (serve HTTPS e il token); altrimenti rinominare in `io.github..Gknowledge` prima della sottomissione~~ fatto; Flathub rifiuta rinomine subito dopo l'accettazione ([requirements](https://docs.flathub.org/docs/for-app-authors/requirements); [verification](https://docs.flathub.org/docs/for-app-authors/verification)) | | MetaInfo valida: screenshot, developer name, licenza, release con data, content rating; "warnings fatal", nessuna eccezione per `appstream-missing-screenshots` e `appstream-missing-developer-name` | metainfo con `summary`, `description`, `project_license` MIT, `content_rating`, una release 0.1.0; **mancano screenshot, `developer`, `url` (homepage, bugtracker), `branding`** | Completare il MetaInfo e validarlo con `flatpak-builder-lint` ([linter](https://docs.flathub.org/docs/for-app-authors/linter)) | | "Static permissions must be kept to an absolute minimum"; portali obbligatori dove esistono | `--filesystem=home` | Vedi 5.4 | | "Applications that have only existed for a very short period of time will generally not be accepted"; solo software stabile | release 0.1.0 datata 2026-07-07 | Sottomettere con una 0.2/0.3 testata, non con l'MVP | diff --git a/Makefile b/Makefile index 5cc5fe2..80ca085 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ # pip's externally-managed environment. Use PREFIX=/usr with sudo for a # system-wide install. -APP_ID := io.gknowledge.Gknowledge +APP_ID := io.github.openapi.Gknowledge PYTHON ?= python3 PREFIX ?= $(HOME)/.local DESTDIR ?= diff --git a/README.es.md b/README.es.md index fd5982a..1cf2ec1 100644 --- a/README.es.md +++ b/README.es.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -42,7 +42,7 @@ sudo apt update && sudo apt install gknowledge En cualquier distribución, con Flatpak (el runtime de GNOME viene de Flathub): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## Pensada para funcionar sin internet diff --git a/README.fr.md b/README.fr.md index 2acce47..294d256 100644 --- a/README.fr.md +++ b/README.fr.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -42,7 +42,7 @@ sudo apt update && sudo apt install gknowledge Sur n'importe quelle distribution, avec Flatpak (le runtime GNOME vient de Flathub) : ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## Pensé pour fonctionner sans connexion diff --git a/README.it.md b/README.it.md index 7f37fa8..cdb5a55 100644 --- a/README.it.md +++ b/README.it.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -42,7 +42,7 @@ sudo apt update && sudo apt install gknowledge Su qualsiasi distribuzione, con Flatpak (il runtime GNOME arriva da Flathub): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## Perché gknowledge diff --git a/README.md b/README.md index 2a41bc9..e65478f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -65,12 +65,12 @@ sudo apt update && sudo apt install gknowledge **On any distribution, with Flatpak** (the GNOME runtime comes from Flathub): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` Both repositories are described at [openapi.github.io/gknowledge](https://openapi.github.io/gknowledge). -Then open **gknowledge** from the app grid. To remove it: `sudo apt remove gknowledge` (or `flatpak uninstall io.gknowledge.Gknowledge`). +Then open **gknowledge** from the app grid. To remove it: `sudo apt remove gknowledge` (or `flatpak uninstall io.github.openapi.Gknowledge`).
Other distributions, from source, and release builds diff --git a/README.pt-BR.md b/README.pt-BR.md index 1f5917a..064c9ab 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -42,7 +42,7 @@ sudo apt update && sudo apt install gknowledge Em qualquer distribuição, com Flatpak (o runtime do GNOME vem do Flathub): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## Feito para funcionar sem internet diff --git a/README.zh-CN.md b/README.zh-CN.md index 9c06de3..0b14e29 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,5 +1,5 @@

- +

gknowledge

@@ -42,7 +42,7 @@ sudo apt update && sudo apt install gknowledge 任意发行版,使用 Flatpak(GNOME 运行时自动从 Flathub 安装): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## 为什么选择 gknowledge diff --git a/TODO.md b/TODO.md index 412e375..db7902f 100644 --- a/TODO.md +++ b/TODO.md @@ -86,7 +86,7 @@ Speed and feedback - [ ] Publish a statement on AI-assisted code (Flathub and GNOME Circle have an AI-code policy since May 2026; this repo is developed with AI assistance and must say so plainly). ### Flatpak and Flathub (paused: kept warm, do not submit until policy allows AI-assisted code) -- [ ] Decide the app ID (`io.github..Gknowledge` or a verified domain). `io.gknowledge.*` needs a domain we control. +- [x] App ID is `io.github.openapi.Gknowledge` since 0.3.0 (`io.gknowledge.*` used gknowledge.io, which nobody owns). The Pages remote rebases the old ID with end-of-life-rebase; `.desktop` has `X-Flatpak-RenamedFrom`, MetaInfo has ``. - [x] Bump the runtime to GNOME 51 (current stable on Flathub). Not yet built in CI. - [x] Replace `--filesystem=home` with FileChooser / Documents portals; keep only `--share=network`. Done in the manifest, untested in a real Flatpak build. - [ ] Build from `git`/`archive` sources instead of `type: dir` (`pypdf` vendored). @@ -100,7 +100,7 @@ Speed and feedback - [x] Keyboard accelerators for new/open/preferences/quit. - [x] Desktop entry advertises Markdown, text, PDF and HTML; files passed by the file manager are imported into the current project. - [x] About dialog points to the real repository and issue tracker. -- [ ] GSettings schema (`io.gknowledge.Gknowledge`): window size, maximized, last project, provider; install and compile it in `make install` and the Flatpak. +- [ ] GSettings schema (`io.github.openapi.Gknowledge`): window size, maximized, last project, provider; install and compile it in `make install` and the Flatpak. - [ ] Register projects with `Gtk.RecentManager`. - [ ] `Gio.Notification` when ingestion finishes or fails. - [ ] Drag and drop of files and folders onto the Sources pane. diff --git a/build-aux/debian/copyright b/build-aux/debian/copyright index 39f6ca7..08efdc2 100644 --- a/build-aux/debian/copyright +++ b/build-aux/debian/copyright @@ -7,7 +7,7 @@ Files: * Copyright: 2026 Openapi® License: Expat -Files: data/io.gknowledge.Gknowledge.metainfo.xml +Files: data/io.github.openapi.Gknowledge.metainfo.xml Copyright: 2026 Openapi® License: CC0-1.0 diff --git a/build-aux/flatpak/io.gknowledge.Gknowledge.yaml b/build-aux/flatpak/io.github.openapi.Gknowledge.yaml similarity index 96% rename from build-aux/flatpak/io.gknowledge.Gknowledge.yaml rename to build-aux/flatpak/io.github.openapi.Gknowledge.yaml index a63d789..4c39821 100644 --- a/build-aux/flatpak/io.gknowledge.Gknowledge.yaml +++ b/build-aux/flatpak/io.github.openapi.Gknowledge.yaml @@ -1,4 +1,4 @@ -app-id: io.gknowledge.Gknowledge +app-id: io.github.openapi.Gknowledge runtime: org.gnome.Platform runtime-version: '51' sdk: org.gnome.Sdk diff --git a/build-aux/release-notes.md b/build-aux/release-notes.md index 19357cf..05b6223 100644 --- a/build-aux/release-notes.md +++ b/build-aux/release-notes.md @@ -9,7 +9,7 @@ Or download `gknowledge_all.deb` below and run `sudo apt install ./gknowledge_al On any distribution with Flatpak (Fedora, Arch, openSUSE, …): ```bash -flatpak install --user https://openapi.github.io/gknowledge/io.gknowledge.Gknowledge.flatpakref +flatpak install --user https://openapi.github.io/gknowledge/io.github.openapi.Gknowledge.flatpakref ``` ## What's new diff --git a/build-aux/repos/build-site.sh b/build-aux/repos/build-site.sh index d7fecaa..bc621d3 100755 --- a/build-aux/repos/build-site.sh +++ b/build-aux/repos/build-site.sh @@ -17,7 +17,9 @@ DEB_DIR=$1 BUNDLE=$2 OUT=$3 BASE_URL=${4%/} -APP_ID=io.gknowledge.Gknowledge +APP_ID=io.github.openapi.Gknowledge +# Until 0.3.0 the app was io.gknowledge.Gknowledge (a domain nobody owns). +OLD_ID=io.gknowledge.Gknowledge : "${GPG_KEY_ID:?set GPG_KEY_ID to the signing key}" ROOT=$(cd "$(dirname "$0")/../.." && pwd) @@ -68,6 +70,12 @@ ostree init --mode=archive-z2 --repo="$FP" # Only affects building; a nearly full build disk should not abort the import. ostree config --repo="$FP" set core.min-free-space-percent 0 flatpak build-import-bundle --gpg-sign="$GPG_KEY_ID" "$FP" "$BUNDLE" +# Installs of the old ID move to the new one on the next `flatpak update`, +# and Flatpak carries ~/.var/app/$OLD_ID over with them. +for ref in $(ostree refs --repo="$FP" | grep "^app/$APP_ID/"); do + flatpak build-commit-from --gpg-sign="$GPG_KEY_ID" --src-ref="$ref" \ + --end-of-life-rebase="$OLD_ID=$APP_ID" "$FP" "app/$OLD_ID/${ref#app/$APP_ID/}" +done flatpak build-update-repo --gpg-sign="$GPG_KEY_ID" --generate-static-deltas \ --title=gknowledge --default-branch=master "$FP" @@ -94,6 +102,8 @@ RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo IsRuntime=false GPGKey=$KEY_B64 EOF +# Links to the old .flatpakref keep working and install the new ID. +cp "$OUT/$APP_ID.flatpakref" "$OUT/$OLD_ID.flatpakref" cp "$ROOT/data/icons/hicolor/scalable/apps/$APP_ID.svg" "$OUT/" # --- Landing page ----------------------------------------------------------- diff --git a/build-aux/repos/index.html b/build-aux/repos/index.html index b74f818..59dc9c3 100644 --- a/build-aux/repos/index.html +++ b/build-aux/repos/index.html @@ -4,7 +4,7 @@ gknowledge packages - +