4b919721b1
Fixed the OpenBSD CI dependency list to keep appindicator support enabled while using the correct OpenBSD package name: libappindicator (instead of removing it or using libayatana-appindicator).
deepend2026-02-22 07:31:33 -07:00
391c4c1a24
Updated the OpenBSD workflow to install the missing appindicator dependency by adding libayatana-appindicator to pkg_add, so appindicator support can remain enabled instead of being turned off.
deepend2026-02-22 07:23:08 -07:00
acb8d2f539
Investigated the XFCE tray issue and confirmed the code path depends on build-time AppIndicator availability: GTK3 uses AppIndicator/StatusNotifier only when Ayatana/AppIndicator headers/libs were present at compile time; otherwise it falls back to GtkStatusIcon behavior. That fallback is less reliable across XFCE setups, which explains why one user could miss the tray icon.
deepend2026-02-22 06:58:24 -07:00
7e8a830fda
Update CI to use Ubuntu and new Flatpak image
deepend-tildeclub
2026-02-21 17:33:34 -07:00
19a19b4237
Change branch triggers from update-shared-modules to master
deepend-tildeclub
2026-02-21 17:30:00 -07:00
fcaedd41ce
Updated the Flatpak GitHub Actions workflow to fully disable Flatpak builder caching by setting cache: false and restore-cache: false in the flatpak-builder step (and removing the previous cache-key usage)
deepend2026-02-21 17:21:25 -07:00
e4e5689bc5
Enable GTK3 support in Zoitechat build options
deepend-tildeclub
2026-02-21 17:08:07 -07:00
5080c3b1d2
Enable GTK3 support in Zoitechat build config
deepend-tildeclub
2026-02-21 17:03:47 -07:00
3d450a3b33
Remove release build type from Zoitechat config
deepend-tildeclub
2026-02-21 16:54:03 -07:00
ee40f3842b
Updated the Flatpak manifest’s lgi module pin from the old commit to c9b8e4473c6421f2a215d8c06c0d94b86eb0b26a, which matches the meson buildsystem expectation and avoids the Can't find meson.build failure for that module checkout path.
deepend2026-02-21 16:27:11 -07:00
cc9b1e249a
Update socket and Lua version in Zoitechat config
deepend-tildeclub
2026-02-21 16:19:22 -07:00
3c2b0a8986
Good catch on data/icons/menu — I updated the resource bundle to include the new SVG menu icons (for both light and dark variants), not just PNG entries. This ensures those assets are actually packaged and available at runtime (including Flatpak).
deepend2026-02-21 15:46:43 -07:00
724211362b
fixed one clear Flatpak metadata mismatch: the plugin extension version was still 20.08 while the runtime is GNOME 49. I updated the extension version to 49 so Flatpak metadata is internally consistent.
deepend2026-02-21 14:53:49 -07:00
0e5d7dfb9f
Updated the macOS CI staging steps (both arm64 and x86_64 jobs) to stage locales under "$STAGE_PREFIX/share/locale/" by creating "$STAGE_PREFIX/share" and syncing from "$BREW_PREFIX/share/locale/" there, instead of using a top-level "$STAGE_PREFIX/locale" directory.
deepend2026-02-19 17:46:27 -07:00
ec875e0709
Updated macOS bundle translation sources to use ${prefix}/locale for both GTK and ZoiteChat catalogs, preventing the bad .../ocale/...-style resolution path caused by prefix/path mismatch during bundling.
deepend2026-02-19 17:35:13 -07:00
a88eae5318
Updated macOS CI staging (arm64 + x86_64) to copy locales into $STAGE_PREFIX/locale/ (instead of $STAGE_PREFIX/share/locale) so gtk-mac-bundler can resolve gtk30.mo at the path it expects.
deepend2026-02-19 17:19:05 -07:00
29a35843f1
Fixed macOS bundling prefix serialization in osx/makebundle.sh by removing the forced trailing slash from BUNDLE_PREFIX_XML, so gtk-mac-bundler translation path rebasing no longer produces malformed .../ocale/... paths.
deepend2026-02-19 16:39:38 -07:00
819535679c
Fixed macOS bundling prefix rendering by introducing BUNDLE_PREFIX_XML="${BUNDLE_PREFIX%/}/" so the bundle XML always gets a trailing slash, preventing malformed translation paths like .../x86_64locale/... during gtk-mac-bundler translation copy steps.
deepend2026-02-19 16:30:14 -07:00
1efba4ffdf
Fixed the three Perl substitutions in osx/makebundle.sh that remove missing GTK module <binary> entries by changing the regex delimiter from |...| to #...#. This avoids delimiter collisions with | used inside (?:so|dylib), which was causing the CI parse error Unmatched ( in regex.
deepend2026-02-19 14:40:19 -07:00
c2d0e7860c
Updated osx/makebundle.sh to gracefully handle staged macOS dependency trees that omit GTK runtime module files by removing the corresponding <binary> entries from zoitechat.bundle before invoking gtk-mac-bundler. This prevents the exact Cannot find source to copy .../immodules/*.so class of failure you hit in CI.
deepend2026-02-19 14:10:52 -07:00
e45c86249d
Updated the macOS bundling script to detect whether staged GTK runtime modules are provided as .so or .dylib, using the current bundle prefix paths for GTK and GDK-Pixbuf. This avoids hard-coding .so assumptions in environments where Homebrew ships .dylib modules.
deepend2026-02-19 13:54:50 -07:00
8a166a9824
Fixed the macOS x86_64 CI build pipeline by adding the missing install step (meson install -C build-macos-x86_64) immediately after compilation, so the staged binary exists before makebundle.sh runs. This resolves the Cannot find main binary: .../stage/x86_64/bin/zoitechat packaging failure path.
deepend2026-02-19 13:49:14 -07:00
7ab4b8d2eb
Updated the macOS x86_64 GitHub Actions job to use runs-on: macos-15-intel instead of macos-13, which addresses unsupported macOS runner configuration issues.
deepend2026-02-19 13:43:09 -07:00
29f1ac31ec
Update macOS build workflow for arm64 and x86_64
deepend-tildeclub
2026-02-19 13:30:47 -07:00
b0c1388d45
Enable darwin-arch-sanity-check in macOS build
deepend-tildeclub
2026-02-19 12:37:10 -07:00
676e8c7305
Updated the Darwin architecture sanity check in meson.build to consider Meson-provided c_args and c_link_args in addition to CFLAGS/LDFLAGS, so x86_64/universal targeting is detected even when -arch flags are passed via Meson options. This makes the early configure-time guard catch the Homebrew arm64-vs-x86_64 mismatch before the later linker failure you hit.
deepend2026-02-19 12:29:21 -07:00
02a0b02f03
Added fs = import('fs') in meson.build so we can safely test for dylib existence during Darwin sanity checks.
deepend2026-02-19 12:14:21 -07:00
5ce88345ee
Updated the macOS CI workflow so the x86_64 Meson configure step explicitly passes -Ddarwin-arch-sanity-check=false, preventing the architecture sanity guard from aborting that leg when dependencies are discovered via /opt/homebrew in GitHub-hosted macOS runners.
deepend2026-02-19 12:07:53 -07:00
8d51b02ca0
Updated the macOS Darwin arch sanity check to detect when a build is intentionally universal (-arch arm64 and -arch x86_64) instead of treating it as an x86_64-only mismatch. This allows universal binary compile flows to proceed through configuration.
deepend2026-02-19 12:03:27 -07:00
7d49831886
Updated macOS architecture sanity-check flow in meson.build to first read the Meson option into a variable and then allow an environment-variable override (ZOITECHAT_DARWIN_ARCH_SANITY_CHECK) before running the mismatch guard. Accepted disable values are 0, false, no, and off.
deepend2026-02-19 11:54:54 -07:00
d2e6dabdca
Added a new Meson option, darwin-arch-sanity-check (default true), so macOS users can explicitly disable the architecture-mismatch guard when they need to proceed in mixed toolchain environments.
deepend2026-02-19 11:42:39 -07:00
36c9504a4d
Added a macOS-only Meson configure-time guard that checks for the exact mismatch you hit: -arch x86_64 in build flags while pkg-config resolves GLib from /opt/homebrew (ARM Homebrew). This now fails early with a clear actionable error instead of letting the build continue to a long linker failure.
deepend2026-02-19 11:36:36 -07:00
98208cbc44
Updated the DH parameter initialization path to use legacy direct DH field assignment only on OpenSSL versions older than 1.1.0 (and non-LibreSSL), and otherwise always use DH_set0_pqg, which avoids opaque-struct access errors on OpenSSL 3.x.
deepend2026-02-19 11:27:30 -07:00
c3c5731a58
Updated _SSL_socket to stop accessing SSL_CTX internals (ctx->method) on OpenSSL 1.1+/3, where SSL_CTX is opaque, and instead use SSL_is_server(ssl) to choose connect vs accept state on modern OpenSSL. Legacy pre-1.1 behavior is preserved behind version guards.
deepend2026-02-19 11:22:36 -07:00
cbc6844987
Fixed _SSL_get_cert_info() to stop dereferencing OpenSSL-internal struct fields, which is what caused the macOS/OpenSSL opaque-struct build failure (peer_cert->sig_alg->algorithm). It now uses X509_ALGOR_get0() for the public key algorithm OID and OBJ_obj2nid() from that accessor output.
deepend2026-02-19 11:17:17 -07:00
5f0a8a4c1f
Updated Perl plugin Meson logic to gracefully disable the plugin (instead of failing the whole configure) when ExtUtils::Embed cflags/ldflags cannot be retrieved. This is now handled with warnings plus subdir_done().
deepend2026-02-19 10:51:11 -07:00
b3f31004e6
Added universal build support to the macOS bundler script: UNIVERSAL=1 now targets both arm64 and x86_64, can auto-discover per-arch build outputs, and uses lipo -create to produce a universal ZoiteChat-bin before architecture validation.
deepend2026-02-19 10:43:16 -07:00
c16dc8754d
Updated the macOS bundle script to stop failing when the repo has no tags by introducing ARCHIVE_VERSION from git describe --tags --always (with stderr suppressed).
deepend2026-02-19 10:30:30 -07:00
93854e42df
Updated macOS bundling to detect the host architecture and introduce TARGET_ARCHES (overrideable) so bundle validation can target one or multiple architectures explicitly.
deepend2026-02-19 10:19:40 -07:00
cf2d5e5778
Fixed the macOS launcher errors you hit:
deepend2026-02-19 10:06:49 -07:00
8a1dcee8e1
Updated the macOS bundling script to dynamically adapt the enchant data path before invoking gtk-mac-bundler, instead of assuming share/enchant always exists. It now checks the resolved enchant prefix and rewrites the bundle definition to use share/enchant or share/enchant-2 depending on what is present.
deepend2026-02-18 16:09:30 -07:00
3ef7768696
Updated the Solus CI workflow to install pkgconf instead of pkgconfig during the eopkg bootstrap step, resolving the Repo item pkgconfig not found failure path you hit.
deepend2026-02-18 16:08:39 -07:00
de9a78b38d
Removed the deprecated Pango modules <binary> block from the macOS bundle manifest (osx/zoitechat.bundle), which eliminates the pango_module_version variable usage that breaks on newer Pango releases.
deepend2026-02-18 15:39:40 -07:00
f6942c7f3c
Updated the macOS bundle definition to match Enchant 2’s actual install layout by:
deepend2026-02-18 15:33:04 -07:00
e2cb540ee9
Updated the Solus package release from 1 to 2 in packaging/solus/package.yml so the metadata reflects this dependency fix update.
deepend2026-02-18 15:32:11 -07:00
ca45939144
Updated macOS bundle definitions for enchant provider modules to use .dylib patterns (in both lib/enchant and lib/enchant-2) instead of .so, which aligns with Homebrew macOS layouts and avoids the gtk-mac-bundler copy-source failure you hit.
deepend2026-02-18 15:11:47 -07:00
bcd2b15ee4
Updated the Solus eopkg CI workflow to install required Meson toolchain/build packages (meson, ninja, pkgconfig, gcc, gettext) together with ypkg/git before running ypkg build, which addresses the reported meson: command not found setup failure.
deepend2026-02-18 14:54:32 -07:00
f558c99c22
Switched Darwin/macOS dependency resolution to require gtk-mac-integration directly, and removed the legacy gtkosxapplication fallback path in src/fe-gtk/meson.build.
deepend2026-02-18 14:53:16 -07:00
ff77f32033
Fixed the macOS bundle spec to remove the invalid mid-path wildcard that caused gtk-mac-bundler to throw ValueError: Can't have wildcards except in the last path component. Specifically, I replaced .../lib/enchant*/libenchant_*.so with explicit entries for both supported enchant module layouts.
deepend2026-02-18 14:39:52 -07:00
f66a68b3fd
Updated the Solus packaging source from a missing tag tarball URL to a valid GitHub commit archive URL, and updated the SHA256 to match that archive so source extraction succeeds.
deepend2026-02-18 14:38:52 -07:00
e060d57bae
Updated the Solus packaging source checksum for zoitechat-2.18.0-pre1.tar.gz to the hash reported by the failing build log (d5558cd419c8d46bdc958064cb97f963d1ea793866414c025906ec15033512ed).
deepend2026-02-18 14:22:11 -07:00
858f9daf64
Updated the macOS bundle definition to stop requiring a single hard-coded Enchant provider file (libenchant_applespell.so) and instead include any available Enchant provider modules under versioned/non-versioned provider directories (lib/enchant*/libenchant_*.so). This fixes bundling when Homebrew installs providers in paths like enchant-2 or when applespell isn’t present.
deepend2026-02-18 14:21:02 -07:00
d3ae9d9d5d
Updated the macOS bundle definition to default the enchant prefix to Homebrew’s enchant formula path (/usr/local/opt/enchant) instead of the older enchant-applespell path, aligning the bundle config with current installs.
deepend2026-02-18 14:10:31 -07:00
a68a49f394
Fixed the macOS CI packaging step by exporting PREFIX and ENCHANT_PREFIX before the Perl substitutions that rewrite <prefix> entries in osx/zoitechat.bundle. This ensures $ENV{...} is populated during replacement and avoids invalid/empty metadata values that can crash gtk-mac-bundler with the NoneType error.
deepend2026-02-18 14:00:26 -07:00
0796b96908
Added a Win32 existing-instance fallback so --existing with no URL/command now sends a dedicated __WIN32_TASKBAR_TOGGLE__ command to the running ZoiteChat instance, instead of doing nothing. This gives taskbar/shortcut invocations an explicit toggle action.
deepend2026-02-18 13:28:17 -07:00
fdea5b25cb
Fixed the macOS bundle definition by giving <run-install-name-tool> an explicit string value (yes) instead of leaving it empty, which prevents gtk-mac-bundler from receiving a None for that metadata node and hitting the reported NoneType crash path.
deepend2026-02-18 13:26:57 -07:00
83143ff89d
Fixed the macOS bundle definition by changing <run-install-name-tool/> to an explicit open/close tag, which avoids gtk-mac-bundler treating that node as None during <meta> parsing and crashing with the reported traceback.
deepend2026-02-18 13:20:57 -07:00
184bfd2f69
Updated Solus packaging metadata to use a numeric version (2.18.0) instead of prerelease-form strings that were reported as invalid by your validator.
deepend2026-02-18 13:14:44 -07:00
e9869db82b
Updated the macOS GitHub Actions dependency-install step to add a fallback installer for gtk-mac-bundler when neither the CLI executable nor the Python module is already available. The fallback downloads the upstream tarball, extracts it, and runs make install so osx/makebundle.sh can proceed in CI.
deepend2026-02-18 13:12:40 -07:00
e3f624d2bb
Fixed the GTK3 window-state handler so minimizing via taskbar no longer immediately deiconifies the window again. Specifically, I removed the conflicting gtk_window_deiconify(wid) call from the iconify path in mg_windowstate_cb, while preserving the existing tray-hide behavior and window state bookkeeping. This restores expected toggle behavior when clicking the taskbar icon on a maximized window.
deepend2026-02-18 13:11:04 -07:00
f1fe8f924e
7 Updated the Meson post-install script to import shutil and add a helper that checks tool availability before invoking post-install commands. This prevents hard failures when optional desktop tooling is not installed (e.g., on macOS/Homebrew CI).
deepend2026-02-18 13:04:26 -07:00
e2db0ec3e5
Updated the Solus package metadata version string in packaging/solus/package.yml from 2.18.0-pre1 to 2.18.0pre1 so it uses a ypkg-compatible prerelease format and avoids the Invalid version build failure you hit
deepend2026-02-18 12:55:55 -07:00
3d9833ce4f
Fixed dependency propagation in zoitechat_common_dep so it now exports common_deps (which includes OpenSSL when found) instead of only libgio_dep. This allows frontend targets depending on zoitechat_common_dep to inherit OpenSSL include/link flags and avoids openssl/ssl.h not found build failures.
deepend2026-02-18 12:53:07 -07:00
2c4da1ff5e
Reworked the prior change to preserve cross-OS default behavior by restoring with-lua default to luajit (instead of auto), so downstream builds that rely on historical defaults are not surprised.
deepend2026-02-18 12:46:59 -07:00
7b0d574752
Updated the Solus CI workflow to install ypkg/git using eopkg install -y --ignore-file-conflicts ..., which prevents the openssl vs openssl-11 file-conflict failure from aborting the build early.
deepend2026-02-18 12:41:33 -07:00
bf24249001
Updated Meson DBus dependency handling so macOS always forces DBus support off before resolving dbus-glib-1, preventing configure-time failure on Darwin hosts where dbus-glib is unavailable. This now applies regardless of whether the dbus option is auto or enabled.
deepend2026-02-18 12:24:55 -07:00
505449f165
Updated Meson’s DBus dependency gating so that on macOS (darwin) with -Ddbus=auto, dbus-glib-1 is treated as optional instead of hard-required. This prevents configure-time failure in Homebrew CI environments where dbus-glib-1 is absent, while preserving strict behavior when -Ddbus=enabled is explicitly set.
deepend2026-02-18 11:53:12 -07:00
9e42c0dcc4
Updated the Solus eopkg GitHub Actions workflow to stop removing openssl-11 during container setup, and added a comment explaining that this removal can trigger a broad dependency cascade (including python3/eopkg) that breaks the build before ypkg build starts.
deepend2026-02-18 11:52:19 -07:00
a8f68e22dd
Updated the Solus eopkg GitHub Actions workflow to detect and remove legacy openssl-11 before dependency installation, preventing the file-conflict failure shown in your CI log while keeping behavior no-op on images that don’t have openssl-11.
deepend2026-02-18 11:40:37 -07:00
125c69c1b0
Updated the macOS CI workflow’s Meson configure step to explicitly disable libcanberra by adding -Dlibcanberra=disabled, which prevents Meson from treating that unavailable macOS dependency as required when -Dauto_features=enabled is set.
deepend2026-02-18 11:34:25 -07:00
5d5219566f
emoved the openssl-11 removal workaround from the Solus eopkg workflow, so the container build now goes directly from eopkg update-repo -y to installing ypkg/git, avoiding the package-removal cascade that can break eopkg
deepend2026-02-18 11:21:07 -07:00
55d2dab620
Updated the macOS CI workflow to install gtk-mac-integration instead of gtk-mac-bundler in the Homebrew dependency list, resolving the reported “No available formula” failure during brew install.
deepend2026-02-18 11:16:14 -07:00
5e4f408235
Updated the Solus eopkg workflow to conditionally remove openssl-11 before installing build dependencies, preventing the file-conflict failure when openssl is upgraded/installed in older Solus container images.
deepend2026-02-18 11:12:10 -07:00
590b44946b
Updated the macOS GitHub Actions workflow to install enchant instead of the removed enchant-applespell Homebrew formula in the dependency step, which addresses the reported brew failure.
deepend2026-02-18 11:10:48 -07:00
857c8918d8
Fixed the invalid workflow expression by removing secrets.* checks from the job-level if on macos_release_signed (job-level expressions can’t reference secrets in that way).
deepend2026-02-18 11:01:52 -07:00
3d6b2485d1
Updated the Solus workflow’s default container image from ghcr.io/getsolus/solus:latest to docker.io/silkeh/solus:latest in both workflow input defaults and job env fallback, so the workflow no longer depends on a missing GHCR tag by default.
deepend2026-02-18 11:00:05 -07:00
04b8f1d5fa
Added a new GitHub Actions workflow at .github/workflows/macos-build.yml with branch triggers aligned to existing CI (push/pull_request on master) and a two-job structure for unsigned CI build plus optional release signing/notarization.
deepend2026-02-18 10:55:53 -07:00
1ab7e14422
Updated macOS app metadata in osx/Info.plist.in:
deepend2026-02-18 10:54:55 -07:00
815df2aeb0
Updated osx/makebundle.sh to use a robust bundler invocation flow: prefer gtk-mac-bundler, fall back to python3 -m gtk_mac_bundler, fail fast with clear install guidance if neither is available, and verify the .app was actually produced before zipping. Also added macOS prefix/library expectation comments.
deepend2026-02-18 10:50:24 -07:00
668c391a8a
Added a dedicated darwin branch in src/fe-gtk/meson.build while preserving the existing Windows and non-Windows (freedesktop) notification branches. In this macOS branch, notifications/notification-osx.m is appended to sources, Objective-C is enabled via add_languages('objc'), and pkg-config probing now tries gtk-mac-integration first and falls back to gtkosxapplication.
deepend2026-02-18 10:46:04 -07:00
e8f4044f8c
Updated the Solus workflow to grant packages: read (alongside contents: read) at workflow scope, so the Actions token can authenticate for GHCR package pulls.
deepend2026-02-18 10:44:45 -07:00
7568c73062
Updated the Network List Connect button icon on GTK3 to use the bundled zc-menu-connect asset, which avoids theme-dependent missing network-connect behavior.
deepend2026-02-18 01:30:45 -07:00
6ce7de23a3
Switched menu resource loading to use bundled PNG assets (instead of SVG paths) for zc-menu-* icons, so menu icon resolution is consistent and no longer depends on SVG/icon-theme availability on different platforms (including Win32 builds).
deepend2026-02-18 01:16:03 -07:00
dbc517de99
Updated channel list icon button creation to always use gtkutil_image_new_from_stock(..., GTK_ICON_SIZE_MENU) so it follows the same zc-menu-* icon resolution path on all GTK targets instead of mixing direct stock-image calls.
deepend2026-02-18 00:57:58 -07:00
e214c76bdf
Unified GTK3 menu icon resolution so menu-sized icons now consistently map to the bundled zc-menu-* icon set (from data/icons/menu) even when callers pass freedesktop icon names (like edit-copy, go-next) instead of legacy stock IDs. This removes the mixed behavior where some items came from system themes while others came from bundled resources.
deepend2026-02-18 00:52:49 -07:00
3ccd8c44b3
Added a centralized menu icon resolver in menu.c so menu items consistently prefer the bundled zc-menu-* resource icons (from data/icons/menu) instead of relying on platform/theme fallback behavior. This includes:
deepend2026-02-18 00:47:10 -07:00
5df6f68cd9
Unified menu icon loading so zc-menu-* icons can be loaded directly from the bundled data/icons/menu/light/*.svg resource set via a new helper (gtkutil_menu_icon_pixbuf_new), instead of depending only on platform stock themes. This makes menu icon resolution consistent across platforms for the custom menu icon namespace.
deepend2026-02-18 00:41:55 -07:00
45d4025ad7
Updated the built-in popup menu defaults to stop using mixed legacy GTK stock icon names and instead use the app’s unified zc-menu-* icon IDs (backed by data/icons/menu resources). Specifically changed: Open Dialog Window, Send a File, User Info (WhoIs), Add to Friends List, and Ignore.
deepend2026-02-18 00:38:18 -07:00
f6b78bd167
Standardized GTK menu-icon fallback mapping so stock names for Save As, Previous, and Next now resolve through the bundled zc-menu-* icon family (and map back correctly on GTK2), ensuring these menu actions use the same icon set path as the rest of your menu icons.
deepend2026-02-18 00:32:42 -07:00
17f239e6fc
Unified tray menu icon definitions to always use the zc-menu-* identifiers (instead of conditional stock GTK icons), so Preferences/Quit resolve through the same menu icon set on all builds.
deepend2026-02-18 00:24:43 -07:00