FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

docs: contributing, roadmap, macOS signing track; fix README layout · QueryaHub/Querya-Desktop@219959a · GitHub

Commit 219959a

Browse files
docs: contributing, roadmap, macOS signing track; fix README layout
Add CONTRIBUTING (Flutter pin, ulimit, tags vs commits). Add roadmap and macOS signing checklist. Update project structure table and release checklist.
1 parent 8eaced1 commit 219959a

5 files changed

Lines changed: 88 additions & 4 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Contributing
2+
3+
## Flutter version
4+
5+
CI pins a **stable** Flutter version in [`.github/workflows/ci.yml`](.github/workflows/ci.yml) and [`.github/workflows/release.yml`](.github/workflows/release.yml). Prefer matching that version locally to avoid “works on my machine” drift. When bumping the pin, run `flutter test` and a release smoke build before merging.
6+
7+
## Linux: `flutter analyze` and “Too many open files”
8+
9+
On some Linux setups the Dart analysis server hits the process **open file limit** (`errno = 24`). Try:
10+
11+
```bash
12+
ulimit -n 8192
13+
flutter analyze
14+
```
15+
16+
## Git tags and release commits
17+
18+
A **tag points at one commit**. Release artifacts are built from the tree at that commit. If you fix something **after** pushing a release tag, either:
19+
20+
- move the tag to the new commit (only if the team agrees and the release is not yet consumed), or
21+
- ship a **new** semver (update `pubspec.yaml` / `CHANGELOG.md`) and push a **new** tag.
22+
23+
See [docs/tags-and-releases.md](docs/tags-and-releases.md).
24+
25+
## Tests
26+
27+
```bash
28+
flutter pub get
29+
flutter test
30+
```
31+
32+
Widget tests that use SQLite or `path_provider` follow patterns in `test/features/connections/connections_panel_layout_test.dart` and `test/flutter_test_config.dart` (in-memory secrets backend).

‎README.md‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,11 @@ flutter build macos
8080
|------|-------------|
8181
| `lib/main.dart` | App entry, window setup (bitsdojo_window) |
8282
| `lib/app/` | App shell and theme |
83-
| `lib/features/main_screen/` | Main layout, connections panel, new connection dialog, query/results tabs |
84-
| `lib/shared/widgets/` | Shared UI (shadcn re-exports) |
85-
| `lib/core/theme/` | Dark theme and colors |
83+
| `lib/features/main_screen/` | Main layout, workspace panel, query/results tabs |
84+
| `lib/features/connections/` | Connection tree, new connection / folder flows, driver manager |
85+
| `lib/features/postgresql/`, `mysql/`, `redis/`, `mongodb/` | Per-engine workspace and browser UI |
86+
| `lib/shared/widgets/` | Shared UI (shadcn re-exports, app dialog) |
87+
| `lib/core/` | Database clients, local storage, theme, editor helpers |
8688
| `assets/images/` | Database type icons (PostgreSQL, MySQL, Redis, MongoDB) |
8789
| `linux/`, `windows/`, `macos/` | Native runners (custom frame on Linux/Windows) |
8890

@@ -96,3 +98,5 @@ flutter build macos
9698
- [User guide](docs/user-guide.md)
9799
- [Releases](docs/tags-and-releases.md)
98100
- [Release checklist](docs/release-checklist.md)
101+
- [Contributing](CONTRIBUTING.md) (Flutter pin, tags, local analyze)
102+
- [Roadmap](docs/roadmap.md)

‎docs/macos-signing.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# macOS signing and notarization (future track)
2+
3+
CI currently produces a **macOS zip** with an **unsigned** `.app`. Users may need to use **Open** from the context menu the first time, or adjust Gatekeeper settings.
4+
5+
## Goal for broader distribution
6+
7+
1. **Apple Developer Program** membership and certificates (Developer ID Application).
8+
2. **Code sign** the app bundle and nested frameworks (`flutter build macos` output).
9+
3. **Notarize** with `notarytool` / `xcrun notarytool`, then staple the ticket.
10+
4. Store signing secrets in **GitHub Actions** encrypted secrets; run signing in `release.yml` only on protected branches/tags.
11+
12+
## References
13+
14+
- Flutter: [Build and release a macOS app](https://docs.flutter.dev/deployment/macos)
15+
- Apple: notarization and hardened runtime requirements
16+
17+
This repository does not yet automate signing; treat this file as a checklist when the project is ready to invest in that workflow.

‎docs/release-checklist.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,19 @@ Use this before tagging or running the **Release** workflow.
1212

1313
## Automated
1414

15-
- [ ] `flutter analyze` — clean.
15+
- [ ] `flutter analyze` — clean (on Linux, if the analyzer crashes with **Too many open files**, try `ulimit -n 8192`; see [CONTRIBUTING.md](../CONTRIBUTING.md)).
1616
- [ ] `flutter test` — all green.
17+
- [ ] CI **Flutter version** in `.github/workflows/*.yml` matches the toolchain you validated (bump intentionally when upgrading stable).
1718

1819
## Versioning and release
1920

2021
- [ ] `pubspec.yaml` `version` matches the release you intend to ship.
22+
- [ ] **Tag** is placed on the **commit that includes all fixes** you want in binaries (a tag does not auto-include later commits; see [CONTRIBUTING.md](../CONTRIBUTING.md)).
2123
- [ ] Run the **Release** workflow from GitHub Actions (see [tags-and-releases.md](tags-and-releases.md)).
2224
- [ ] Verify **Linux** and **Windows** zip artifacts and `SHA256SUMS.txt` on the GitHub Release.
2325

2426
## Docs
2527

2628
- [ ] [security.md](security.md) still matches behavior if storage changed.
2729
- [ ] [README.md](../README.md) prerequisites (e.g. Linux deps) still accurate.
30+
- [ ] [roadmap.md](roadmap.md) updated if you are communicating upcoming themes externally.

‎docs/roadmap.md‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Product roadmap (draft)
2+
3+
Living document for planned work. Not a commitment order; adjust as priorities change.
4+
5+
## Query history and favorites
6+
7+
- Persist **recent SQL statements per connection** (or per connection + database) in local SQLite with a configurable cap (e.g. last 50–200 entries).
8+
- UI: dropdown or side panel in SQL workspace to recall, pin “favorites”, and clear history.
9+
- Respect existing **security** model: do not log secrets; optional opt-out.
10+
11+
## Result export
12+
13+
- From results grids (PostgreSQL / MySQL / others): **Export visible page or full result** to CSV and optionally JSON, with a safe row cap aligned with `AppSettings` max rows.
14+
- File picker for save location; desktop-friendly default filename (connection, timestamp).
15+
16+
## SSH and advanced networking
17+
18+
- **Today:** the app does not embed SSH tunnels or jump hosts (see [security.md](security.md)).
19+
- **Near term:** expand user-facing docs with recipes: `ssh -L`, cloud provider consoles, VPN.
20+
- **Later (if demand):** optional “local proxy command” or documented integration with external tools; avoid shipping full SSH client scope unless clearly justified.
21+
22+
## Connections tree maintainability
23+
24+
- Continue splitting `connections_panel` library parts as needed; keep behavior and tests green after refactors.
25+
26+
## macOS distribution
27+
28+
- Unsigned builds require extra steps for end users; see [macos-signing.md](macos-signing.md) for a future signing/notarize track.

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL