aboutsummaryrefslogtreecommitdiffstats
path: root/src/m_ver_check
Commit message (Collapse)AuthorAgeFilesLines
* refactor: use Qt string literal operators in modulessaturneric30 hours2-6/+8
| | | | | | | - replace QStringLiteral with u""_s and QLatin1String with ""_L1 in the im, key server sync, pgp inspect and version check modules - spell non-literal Latin-1 views as QLatin1StringView - import Qt::StringLiterals per file, as modules have no host PCH
* i18n(translations): update catalog source referencessaturneric4 days10-70/+70
| | | | | | - refresh source line locations across module translations - normalize Instant Messaging TS file formatting and metadata - preserve localized translations while regenerating catalogs
* fix(i18n): avoid lupdate namespace parsing warningsaturneric4 days1-1/+5
| | | | | - alias command metadata to prevent lupdate from misreading the type - use the alias for the check-for-updates command metadata definition
* i18n: add Turkish module catalogscerob2026-10-111-0/+174
|
* i18n(version-checking): update module translationssaturneric2026-09-279-17/+174
| | | | | | | - rename translation context to ModuleVersionChecking - restore the Check for Updates translations - add localized update availability and search terms - add unfinished English source entries for new strings
* refactor(i18n): migrate modules to shared translation helpersaturneric2026-09-271-13/+11
| | | | | | | | - replace direct GTrC translation calls with GTrC::tr - mark deferred UI and command strings with GTrC::Noop - update email, IM, key server, PGP, GnuPG, and update modules - remove redundant local translation helper functions - apply related formatting and pointer declaration cleanup
* i18n(update): refresh update translationssaturneric2026-09-269-519/+1414
| | | | | | | | - add translations for the redesigned update presentation - update German, Spanish, French, Italian, Polish, Russian, and Chinese locale catalogs - mark obsolete update messages as vanished - add localized relative-time and plural forms
* fix(update): fit update window to contentsaturneric2026-09-263-1/+19
| | | | | | - set a minimum width to limit headline wrapping - resize the window after content and notes visibility changes - remove fixed dimensions from the update widget registration
* feat(update): track unseen releases without promptingsaturneric2026-09-248-57/+169
| | | | | | | | | - replace startup dialogs with quiet background update checks - track and persist the latest update seen by the user - expose update attention state for badges and UI indicators - acknowledge updates when the update page is opened - retain acknowledgements across failures, restarts, and rebuilds - expand tests for attention, persistence, and rediscovered releases
* feat(update): add robust GitHub update checkingsaturneric2026-09-2424-1169/+2186
| | | | | | | | | | - replace legacy provider tasks with an injectable update checker - track release, tag, and commit lookup results independently - preserve last known good results across failed refreshes - persist schema-versioned update state and reject stale formats - add update presentation logic and refresh the update dialog UI - remove provider selection in favor of GitHub Releases - add comprehensive release-checking and presentation tests
* chore(modules): bump module versions to 2.0.0saturneric2026-09-241-1/+1
| | | | | | - update GnuPG information gathering module version - update key server synchronization module version - update version checking module version
* fix(version-check): honor settings and prevent stalled checkssaturneric2026-09-244-53/+35
| | | | | | | - add a 30-second transfer timeout to version check requests - read the host setting to respect update-check preferences - avoid duplicated SDK string allocations and memory leaks - simplify version state updates with reusable helpers
* feat(ui): migrate modules to command mountssaturneric2026-09-236-350/+178
| | | | | | | | | - replace legacy menu and settings events with typed commands - add Lua scripts for module UI placement and native widget mounts - migrate key server, inspector, and update dialogs to host-owned views - route module settings through storage capabilities - update lifecycle hooks, event manifests, and widget interfaces - fix key server task cleanup and theme color resolution
* feat(modules): enable custom UI capabilitiessaturneric2026-09-231-1/+2
| | | | | | | | - grant ui.custom capability to email module - grant ui.custom capability to GPG info module - grant ui.custom capability to key server sync module - grant ui.custom capability to PGP inspect module - grant ui.custom capability to version check module
* refactor(version-check): migrate to SDK context APIssaturneric2026-09-227-92/+103
| | | | | | | - replace legacy version, cache, state, and settings APIs - pass the module SDK context to application helpers - update version comparisons to avoid temporary allocations - declare the storage capability in the module manifest
* style(formatting): reformat module source filessaturneric2026-09-194-175/+173
| | | | | | - apply consistent C++ formatting across email and key modules - normalize include ordering and line wrapping - preserve existing behavior while improving readability
* refactor(modules): migrate modules to runtime APIsaturneric2026-09-192-82/+90
| | | | | | | | - replace legacy bootstrap and event macros with versioned hooks - register event handlers through explicit GFEventBinding tables - use GFEvent responses and runtime UI object helpers - declare handled events in each module manifest - update email test include paths for module runtime headers
* fix(modules): correct module lifecycle setupsaturneric2026-09-191-4/+12
| | | | | | | - rename the email CMake target to match the module name - register key server translations during module registration - standardize lifecycle logging with `LOG_INFO` - document no-op deactivation handlers and correct shutdown messages
* refactor(modules): migrate to unified GFModule APIsaturneric2026-09-195-12/+7
| | | | | | | - replace legacy module utility includes across module sources - simplify bootstrap and translation registration macros - update module headers to use the unified public interface - replace secure object creation with SDK object factories
* feat(modules): adopt manifest-driven module buildssaturneric2026-09-192-32/+16
| | | | | | | | - add module.json manifests with metadata and translation contexts - migrate four modules to the gf_add_module helper - preserve Qt, VMime, UI, and include directory configuration - reduce email module exports to its single ABI symbol - remove duplicated packaging and translation setup from CMakeListsաճառ
* feat(modules): package modules as signed gfmodule filessaturneric2026-09-151-1/+11
| | | | | | | - add signed package generation for email and GnuPG info modules - package key server sync and version checking modules - define module IDs, versions, capabilities, and metadata - retain loose library builds during the packaging transition
* refactor(sdk): stop allocating borrowed API argumentssaturneric2026-09-144-19/+19
| | | | | | | | - return static module identity strings without duplicating them - remove unnecessary DUP allocations from SDK registration and calls - convert temporary Qt strings directly to UTF-8 API arguments - preserve ownership for transferred command execution contexts - avoid leaks now that SDK arguments are borrowed
* feat(modules): add single-symbol module bootstrap APIsaturneric2026-09-141-1/+2
| | | | | | | | - define versioned host and module API bootstrap tables - adapt classic module lifecycle functions to the new API - validate host ABI compatibility before exposing modules - migrate email, GnuPG, key server, and version modules - retain legacy metadata and event handling compatibility
* style(i18n): normalize Russian translation XMLsaturneric2026-09-131-145/+146
| | | | | | - add the Russian locale declaration and TS doctype - normalize XML declaration, indentation, and empty tag formatting - add a trailing newline to the translation file
* i18n(pl_PL): add Polish translations from contributor Raltssaturneric2026-09-111-0/+146
| | | | | | | - add translated email module messages and dialogs - add Polish GnuPG information labels - add Polish key server settings and search messages - add Polish version checking and update messages
* feat(i18n): add `ru_RU` translations for multiple modulessaturneric2026-06-281-0/+145
| | | | | | | | | * Add Russian `ru_RU` translation files for `m_email`, `m_gpg_info`, `m_key_server_sync`, and `m_ver_check`. * Localize UI labels, dialogs, warnings and detailed error/help text (including EML/GPG/key-server/update guidance) to improve usability and troubleshooting for Russian-speaking users. * Introduce only translation assets; no functional or logic changes.
* chore(i18n): update i18n translations for modulessaturneric2026-06-281-26/+26
| | | | | | | | | | | | | | | | | | * Add and refine Spanish and Italian translations for several modules (email, GnuPG info, key-server sync, version checking), replacing unfinished placeholders with localized strings. * Expand and improve Spanish/Italian error message translations for EML parsing and email operations to provide clearer guidance and suggested remediation steps. * Update UI labels, warnings and file/size messages to localized text, improving UX for Spanish and Italian users. * Add a new Italian translation TS for the GnuPG info component and normalize existing GnuPG translations. * Remove remaining `type="unfinished"` markers to mark translations as completed. These changes improve localization coverage and clarity without affecting application logic or behavior.
* feat(i18n): adds `es_ES` translation templatessaturneric2026-06-281-0/+146
| | | | | | | | | | * Adds Spanish (`es_ES`) Qt translation templates for email, GnuPG info, key-server sync, and version-checking modules to prepare localization support and provide a baseline for translators. * Normalizes Italian locale filenames from `it_iT` to `it_IT` to ensure consistent locale naming across resources. * Leaves translations marked as unfinished so translators can complete strings; no runtime logic changes are introduced.
* refactor(i18n): use `gpgfrontend_collect_ts_files` for i18nsaturneric2026-06-281-7/+1
| | | | | | | | * Replace repetitive explicit TS file lists with the `gpgfrontend_collect_ts_files` helper across several modules. * Reduce duplication and centralize locale collection so adding/removing translations is easier and less error-prone. * No functional changes; only simplifies CMake translation setup and maintenance.
* docs(i18n): update translations for email, GnuPG, key-server and version modulessaturneric2026-06-285-46/+46
| | | | | | | | | | | | | | | * Refresh and add localized strings across multiple modules (email, GnuPG info, key-server sync, version checking and key search) to improve UI coverage and clarity. * Restore and standardize email metadata labels and validation messages, and expand EML/email-operation error texts to provide clearer guidance for end users and troubleshooting. * Introduce localized UI entries for `GnuPGInfo` and enhance `SearchKeyDialog` translations to make key-search and GnuPG information screens usable in several locales. * Harmonize labels (e.g., CC/BCC/From/To/Subject/Date), warnings and file I/O messages to improve consistency and readability. * No functional logic changes; purely translation/localization updates.
* chore(i18n): clean TS files; add key-server TSsaturneric2026-06-286-2610/+0
| | | | | | | | | | | | * Remove stale/duplicated translation contexts from multiple module TS files to keep each translation bundle focused and avoid cross-module noise. * Add i18n support for the key-server sync module by registering its `ModuleKeyServerSync` TS files in the module CMake configuration and invoking the translation helper so those translations are built. * Motivation: improve translation source hygiene and ensure the key-server module translations are included in the build system. * Notes: no runtime logic changes; this is maintenance of localization assets and build metadata.
* feat(i18n): add and reorganize translation stringssaturneric2026-06-286-90/+2780
| | | | | | | | | | | | | | | | * Extract and relocate multiple UI strings into code-based contexts to improve translation coverage and maintainability (email, key-server, gpg-info, version-check modules). * Introduce new, more descriptive EML and email-operation error/message templates to aid users and translators; add file/read warnings and integrity labels for email handling. * Add new translation files and contexts for key-server sync and search dialog, and extend existing TS files with updated locations (moved from .ui to .cpp) so translations map to runtime text. * Mark obsolete/vanished UI strings and prepare placeholders for untranslated entries, enabling translators to provide localized text without changing code. * Facilitate future localization work and clearer user-facing diagnostics by centralizing message strings and expanding translatable content.o
* feat(m_ver_check): select releases in same seriessaturneric2026-06-288-45/+129
| | | | | | | | | | | | | | | * Fetch release lists instead of a single `latest` entry so the updater can choose the newest release within the running build's own `major.minor` series (prevents offering mainline builds to stable users and vice versa). * Normalize raw tag/title strings to a `vX.Y.Z` form and derive a `major.minor` series identifier; only consider releases that share the same series as the running build and skip drafts or unparseable tags. * Compare versions within the series and keep the newest matching release; emit warnings when no suitable release is found. * Add a small helper for extracting normalized version strings and add logic to compute/compare release series. * Update UI wording to use "latest" instead of "latest stable" to reflect multi-track support and bump module version to 1.5.0.
* refactor(i18n): unify translation build setupsaturneric2026-05-161-16/+4
| | | | | | * Replaces platform-specific translation/resource logic with a shared translation helper for consistent behavior across builds * Reduces duplicated build rules and avoids Xcode-specific branching
* fix(ver-check): avoid menu action use-after-freesaturneric2026-04-241-1/+25
| | | | | | | | * Guard deferred menu/action creation with safe pointers to prevent crashes when the main window or help menu is destroyed before invocation * Switch settings apply invocation to queued execution to avoid blocking and improve event-thread safety * Add debug logging for applied version-checking settings to aid diagnosis
* fix(version-checking): avoid thread race on UIsaturneric2026-04-242-10/+20
| | | | | | | | * Connect version-check signals to the UI object/app instance to ensure callbacks run on the main thread * Apply network settings via a guarded pointer to prevent use-after-free when the settings tab is deleted during invocation * Bump module version to 1.4.2
* fix(version-check): add Qt 6.5 compatibility for XML error loggingsaturneric2026-01-141-1/+13
| | | | | | | | | | | * Add conditional compilation to handle `QDomDocument::setContent()` API changes in Qt 6.5+, where `errorMessage`, `errorLine`, and `errorColumn` were removed from the error result object * Use `FLOG_WARN` with detailed error info on Qt 6.5+ and fallback to `LOG_WARN` with basic message on earlier versions * Normalize `MLogWarn` to `LOG_WARN` for consistency across three XML parsing methods * Ensures code compiles and runs correctly across Qt version ranges
* refactor(core): modernize API usage and improve time zone handlingsaturneric2025-12-121-21/+12
| | | | | | | | | | | | * Replace deprecated XML parsing pattern with modern API that provides structured error details, simplifying error handling. * Update date-time extraction logic to use `QTimeZone` for Qt 6.6+, improving accuracy and compatibility with recent Qt versions. * Refactor base64 encoding and address list parsing for readability. * Use `QByteArrayView` to optimize cryptographic hash data input. These changes improve maintainability, compatibility with newer Qt versions, and error reporting clarity.
* feat(ver-check): improve i18n for update UI stringssaturneric2025-12-117-183/+275
| | | | | | | | | | | * Replace static UI text with `QCoreApplication::translate` for better internationalization support in the version checking module. * Update translation files to add and sync new strings for update-related actions and tooltips across all supported languages. * Ensures all user-facing messages in the update check workflow are translatable and consistent. No logic changes, only improvements to translation and UI text handling.
* feat(version-checking): enhance update check and settings UIsaturneric2025-12-111-27/+312
| | | | | | | | | | | | * Refactor version checking to support event-driven update dialogs and integrate with main menu. * Add UI controls for update check settings in network tab, including API selection and on-startup toggle. * Replace legacy execution model with explicit event handlers for improved modularity and maintainability. * Improve type safety and error handling for GUI object retrieval. Relates to improved user experience and settings persistence for update checks.
* fix(ver_check): handle `id_text` as substring in checksaturneric2025-12-111-1/+2
| | | | | | | * Update equality check to use substring matching when comparing `id_text` and the local commit hash. * Address cases where `id_text` includes a prefix (e.g., `urn:sha1:`) before the hash, ensuring accurate commit hash validation.
* fix(ver_check): update URL casing for git endpointssaturneric2025-11-101-2/+2
| | | | | | * Change git URLs to use lowercase paths for consistency and compatibility with server routing. * Ensures correct fetching of release data for version checks.
* refactor: remove git commit hash verification from version checksaturneric2025-06-227-90/+0
| | | | | | | - remove remote commit hash tracking from version check logic - simplify version check by removing tag info parsing - update UI to remove commit hash mismatch warning - clean up related code and remove unused fields
* fix(UpdateTab): correct condition for showing unpublished commit messagesaturneric2025-06-191-1/+1
| | | | | | - fix logic error in version status check - show warning when commit hash is not found in remote - previously showed warning when hash was found (inverse of intended behavior)
* fix(version-check): correct git commit hash url and improve version checksaturneric2025-06-193-17/+16
| | | | | | | - fix incorrect git commit hash url in BKTUSVersionCheckTask - add cache saving for upgrade versions in both check tasks - improve commit hash parsing in GitHubVersionCheckTask - remove debug logging from SoftwareVersion::NeedUpgrade
* feat(i18n): complete translations for german, french and chinesesaturneric2025-06-123-65/+65
| | | | | | - mark all german translations as complete - add missing french translations - add missing traditional chinese translations
* feat(i18n): update translation files for version checking modulesaturneric2025-06-126-252/+306
| | | | | | | | - update line numbers in translation files - add new "Check for Updates" translation - improve version status messages - support dynamic source name in version string - consolidate withdrawn/unreleased version warning
* feat(ver_check): add QDateTime include to SoftwareVersion.hsaturneric2025-06-111-0/+1
| | | | | - include QDateTime header for future timestamp functionality - maintain alphabetical order of includes
* feat(version_checking): add update checking api selection and cachingsaturneric2025-06-118-49/+191
| | | | | | | | - add bktus api support for version checking - implement version info caching with timestamp - add manual check button in update tab - support api selection from settings - add json serialization for version info
* refactor(github version check): restructure version check task and add ↵saturneric2025-06-112-19/+63
| | | | | | | | | | | commit verification - rename version_meta_data_ to meta_ for clarity - add api type to meta_ structure - add new url for commit hash verification - track request index with property - add slot_parse_current_commit_info for commit verification - update logging and error handling