Skip to content

refactor(linux): finish remediation steps 56 to 66 - #3433

Merged
datlechin merged 351 commits into
linuxfrom
refactor/linux-group4
Oct 15, 2026
Merged

datlechin merged 351 commits into
linuxfrom
refactor/linux-group4

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

Steps 56 to 66 of linux/docs/plan-2026-09-14-audit-remediation.md. Controls used sentence case or had no accessible name, the app shipped only as a Flatpak, CI missed supply chain and Flatpak breakage, and the docs had drifted from the code.

Change

  • GNOME header case on controls, an accessible name on every control of every session page and dialog, and number columns sized and aligned as numbers.
  • A .deb for Ubuntu 26.04 and an .rpm for Fedora 44 with a man page, the final Flatpak permissions and screenshots, and a release workflow on linux-v* tags (ADR 0017).
  • CI gates on supply chain, POT drift, offline doc links, em dashes and the Devel and release-shaped Flatpak builds; clippy denies too_many_lines, and the files past it are split by domain.
  • A regression map from each critical finding to its tests, and a roadmap, docs index, README, contributing guide and ADRs rewritten from the code.

Verified

fmt and both clippy runs in ubuntu:26.04; the POT in fedora:44; the rpm passed every Meson suite in %check. Draft until the deb and rpm finish building, linting and the start test.

Not in this PR

Ctrl+S is a window shortcut, so it reached the tab while its review was open and stacked a second review of the same changes.
Declining a review already keeps the window open, so the tabs after it no longer show their reviews or start saves.
A draft edited under the open review was caught only inside the write, which showed an untranslated error. The save now plans again once the review is answered and says the changes were edited.
# Conflicts:
#	linux/CHANGELOG.md
#	linux/crates/app/src/services/mod.rs
#	linux/crates/app/src/ui/connection_row.rs
#	linux/crates/app/src/ui/session_window/imp.rs
#	linux/crates/app/src/ui/session_window/mod.rs
#	linux/crates/app/src/ui/session_window/session_window_command.rs
#	linux/crates/app/src/ui/session_window/session_window_input.rs
#	linux/crates/app/src/ui/session_window/tests.rs
#	linux/po/POTFILES.in
# Conflicts:
#	linux/CHANGELOG.md
#	linux/crates/app/src/workspace/mod.rs
# Conflicts:
#	linux/CHANGELOG.md
#	linux/crates/app/Cargo.toml
#	linux/crates/app/src/application/app_services.rs
#	linux/crates/app/src/application/imp.rs
#	linux/crates/app/src/ui/session_window/mod.rs
#	linux/crates/app/src/ui/session_window/session_window_input.rs
#	linux/crates/app/src/workspace/workspace_store.rs
AdwAlertDialog closes itself before it emits a response, so a second
close found it gone and logged a critical when animations were off.
Rows are still keyed in the identity the save path binds (the primary
key in column order); RowKeyBuilder takes the page's identity range once
saves plan with the page identity.
AdwAlertDialog emits closed before the response a click chose, and the
closed handler answered Cancel first. Answer through workspace::respond,
which defers its close response to an idle callback.
# Conflicts:
#	linux/CHANGELOG.md
cargo2rpm leaves out the workspace's own crates by matching the working
directory in their path, so from crates/app it kept the other members
and the Provides generator failed on them after %check.
rpmbuild --rebuild removes the spec it unpacks into SPECS, which was the
copy build-rpm.sh then gave rpmlint, so a build that passed %check
failed at the lint.
GTK 4.22 holds a removed widget that held the focus until the window's
next paint, so the drop check passed only when a frame came first, and
failed on the Fedora 44 app suite. The frame wait is one helper now.
rpmlint warned files-duplicate: %license LICENSE copied the file Meson
already installs where the About dialog reads it.
@datlechin
datlechin marked this pull request as ready for review October 15, 2026 14:02
@datlechin
datlechin merged commit 7108d19 into linux Oct 15, 2026
15 of 18 checks passed
@datlechin
datlechin deleted the refactor/linux-group4 branch October 15, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant