From e0a49f41e223217c0a8e558403cac0e228d52e8a Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Thu, 11 Jun 2026 16:55:34 +1000 Subject: [PATCH 1/4] Remove unused strings --- bouquin/locales/en.json | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/bouquin/locales/en.json b/bouquin/locales/en.json index b3cd3f9..0beea29 100644 --- a/bouquin/locales/en.json +++ b/bouquin/locales/en.json @@ -436,7 +436,6 @@ "invoice_required": "Please select a specific invoice before trying to delete an invoice.", "refresh": "Refresh", "status": "Status", - "client": "Client", "documents": "Documents", "invoices": "Invoices", "documents_select_document": "Please select a document first.", @@ -457,11 +456,6 @@ "project_bucket_no_project": "Select a project to view its bucket.", "project_bucket_unconfigured": "{project}: {used:.2f}h used so far ({baseline:.2f}h baseline + {logged:.2f}h logged). No bucket ceiling has been set.", "project_bucket_status": "{project}: {used:.2f}h / {ceiling:.2f}h used{percent}{remaining}. Baseline {baseline:.2f}h, logged in Bouquin {logged:.2f}h. Status: {state}.", - "project_bucket_state_unconfigured": "No bucket", - "project_bucket_state_ok": "OK", - "project_bucket_state_warning": "Approaching bucket ceiling", - "project_bucket_state_reached": "Bucket ceiling reached", - "project_bucket_state_exceeded": "Bucket ceiling exceeded", "project_bucket_alert_title": "Project bucket alert", "project_bucket_alert_message": "{status}", "project_open_invoice_document": "Open invoice document", @@ -477,14 +471,6 @@ "project_bucket_used_delta": "Used Δ", "project_bucket_manual_topup_desc": "Manual bucket top-up ({hours:.2f} hours)", "project_bucket_prepaid_invoice_desc": "Prepaid bucket invoice ({hours:.2f} hours)", - "project_bucket_ledger_type_settings_adjustment": "Bucket settings", - "project_bucket_ledger_type_manual_topup": "Manual top-up", - "project_bucket_ledger_type_prepaid_invoice": "Prepaid invoice", - "project_bucket_ledger_type_time_log": "Time logged", - "project_changelog_type_time_log": "Time log", - "project_changelog_type_document": "Document", - "project_changelog_type_invoice": "Invoice", - "project_changelog_type_bucket": "Bucket", "summary": "Summary", "details": "Details" } From 5479f756f94834cb3d233bda2b8f2a39d3e24873 Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Thu, 11 Jun 2026 17:00:04 +1000 Subject: [PATCH 2/4] Update my GPG key --- bouquin/keys/mig5.asc | 212 +++++++++++++++++++++--------------------- 1 file changed, 106 insertions(+), 106 deletions(-) diff --git a/bouquin/keys/mig5.asc b/bouquin/keys/mig5.asc index 81d5fc7..f284401 100644 --- a/bouquin/keys/mig5.asc +++ b/bouquin/keys/mig5.asc @@ -1,109 +1,109 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -=IfFs +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 +=KnXo -----END PGP PUBLIC KEY BLOCK----- From b10c007e4e3386621afb4cb340d152e59634cf8f Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Thu, 11 Jun 2026 17:03:15 +1000 Subject: [PATCH 3/4] Ensure imagemagick is installed locally in order to build the AppImage --- release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.sh b/release.sh index 7929ae5..8cf21ef 100755 --- a/release.sh +++ b/release.sh @@ -38,7 +38,7 @@ poetry build poetry publish # Make AppImage -sudo apt-get -y install libfuse-dev +sudo apt-get -y install libfuse-dev imagemagick poetry run pyproject-appimage mv Bouquin.AppImage dist/ From 3361537a595aae842c14f6ef2d0d69c5cbfe7b94 Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Thu, 11 Jun 2026 17:25:57 +1000 Subject: [PATCH 4/4] Revert "Remove unused strings" This reverts commit e0a49f41e223217c0a8e558403cac0e228d52e8a. --- bouquin/locales/en.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bouquin/locales/en.json b/bouquin/locales/en.json index 0beea29..b3cd3f9 100644 --- a/bouquin/locales/en.json +++ b/bouquin/locales/en.json @@ -436,6 +436,7 @@ "invoice_required": "Please select a specific invoice before trying to delete an invoice.", "refresh": "Refresh", "status": "Status", + "client": "Client", "documents": "Documents", "invoices": "Invoices", "documents_select_document": "Please select a document first.", @@ -456,6 +457,11 @@ "project_bucket_no_project": "Select a project to view its bucket.", "project_bucket_unconfigured": "{project}: {used:.2f}h used so far ({baseline:.2f}h baseline + {logged:.2f}h logged). No bucket ceiling has been set.", "project_bucket_status": "{project}: {used:.2f}h / {ceiling:.2f}h used{percent}{remaining}. Baseline {baseline:.2f}h, logged in Bouquin {logged:.2f}h. Status: {state}.", + "project_bucket_state_unconfigured": "No bucket", + "project_bucket_state_ok": "OK", + "project_bucket_state_warning": "Approaching bucket ceiling", + "project_bucket_state_reached": "Bucket ceiling reached", + "project_bucket_state_exceeded": "Bucket ceiling exceeded", "project_bucket_alert_title": "Project bucket alert", "project_bucket_alert_message": "{status}", "project_open_invoice_document": "Open invoice document", @@ -471,6 +477,14 @@ "project_bucket_used_delta": "Used Δ", "project_bucket_manual_topup_desc": "Manual bucket top-up ({hours:.2f} hours)", "project_bucket_prepaid_invoice_desc": "Prepaid bucket invoice ({hours:.2f} hours)", + "project_bucket_ledger_type_settings_adjustment": "Bucket settings", + "project_bucket_ledger_type_manual_topup": "Manual top-up", + "project_bucket_ledger_type_prepaid_invoice": "Prepaid invoice", + "project_bucket_ledger_type_time_log": "Time logged", + "project_changelog_type_time_log": "Time log", + "project_changelog_type_document": "Document", + "project_changelog_type_invoice": "Invoice", + "project_changelog_type_bucket": "Bucket", "summary": "Summary", "details": "Details" }