be7b5e62be
Updated Unix sysinfo backend to treat GTK3 as the only GTK target by:
deepend2026-02-22 15:38:05 -07:00
1b66b136dc
Removed the obsolete GTK3 compatibility compile define from the GTK frontend build flags by deleting -DHAVE_GTK3 in src/fe-gtk/meson.build.
deepend2026-02-22 15:31:51 -07:00
4b188192f8
Removed GTK2 compatibility shims from fe-gtk.h by deleting the local HAVE_GTK3 fallback derivation, deleting GTK2 no-op wrappers for expansion APIs, and making InputStyle GTK3-only.
deepend2026-02-22 15:27:28 -07:00
743bf334d4
Migrated the macOS bundle manifest to GTK3 by switching the package reference to gtk+-3.0, updating the theme resource path to gtk-3.0, and changing the GTK translation domain from gtk20 to gtk30.
deepend2026-02-22 15:14:40 -07:00
1c5bf9d6b1
Removed GTK2/GTK3 dual-path preprocessor branches across src/fe-gtk by keeping GTK3-native paths only, including the high-density targets you prioritized (xtext.c, setup.c, maingui.c, gtkutil.c, servlistgui.c).
deepend2026-02-22 15:11:35 -07:00
44019bcab2
Made the gtk3 Meson option effectively deprecated by forcing it to true and updating its description to state GTK3 is always used (option ignored), so users are no longer guided toward GTK2 expectations. Also updated the AppIndicator option help text to refer to GTK frontend builds generally.
deepend2026-02-22 15:00:41 -07:00
52f547ae13
Deprecated the gtk3 Meson option and effectively forced GTK3 usage (value: true, deprecated: true), plus updated option/help text so users no longer expect GTK2 frontend builds. Also clarified the AppIndicator option text for non-Windows GTK frontend builds.
deepend2026-02-22 14:42:20 -07:00
6c699ac07b
Added a Flatpak-specific guard in proxy auto-detection to skip g_proxy_resolver_lookup() when running inside Flatpak (/.flatpak-info present), preventing the Connect flow from appearing to freeze in sandbox environments with missing proxy backends. This still preserves normal behavior for explicit manual proxy settings.
deepend2026-02-22 11:55:49 -07:00
d379bb138c
Added Flatpak-specific Python module search paths in plugin init: when FLATPAK_ID is present, the loader now also probes /app/lib/zoitechat/python and /app/lib/x86_64-linux-gnu/zoitechat/python before importing zoitechat.
deepend2026-02-22 11:42:49 -07:00
76796f5f23
Fixed Python plugin module discovery to search multiple valid install layouts before importing zoitechat, instead of assuming only one path. This includes:
deepend2026-02-22 11:03:57 -07:00
796c572292
Updated the AppImage workflow to copy Python dist-packages into the AppDir for both standard and multiarch layouts (/usr/lib/python3/dist-packages and /usr/lib/x86_64-linux-gnu/python3/dist-packages). This ensures Python runtime modules needed by the embedded plugin are actually bundled.
deepend2026-02-22 10:56:46 -07:00
931dddcf0e
Enabled the Python plugin in the Flatpak build by changing Meson config from -Dwith-python=false to -Dwith-python=python3, so it gets built in the Flatpak app module.
deepend2026-02-22 10:47:01 -07:00
2713270e1f
Added a new workflow step, “Bundle scripting runtimes in AppDir”, that copies Python and Perl runtime artifacts into AppDir (Python binary + stdlib + libpython3*.so*, Perl binary + common Perl library/share paths). This addresses the root issue that runner-installed runtimes were not necessarily ending up inside the final AppImage payload.
deepend2026-02-22 10:38:08 -07:00
2705d21f6e
Updated the AppImage GitHub Actions dependency install list to explicitly include runtime packages for Perl and Python (perl, python3, and python3-minimal) so the packaged app has the interpreter/runtime components needed at build/package time. This is in addition to the existing dev packages already present.
deepend2026-02-22 10:27:27 -07:00
6b6869e327
Updated the AppImage AppRun generation in CI so PATH now keeps the host entries first and appends AppDir/usr/bin after, preventing helper modules from accidentally invoking an incomplete bundled python3.
deepend2026-02-22 10:10:24 -07:00
97fc9c7061
Updated the AppImage CI workflow to explicitly verify built-in plugin .so files are present in AppDir after install, checking checksum, fishlim, lua, perl, python, and sysinfo (and therefore excluding the Windows updater plugin from required Linux AppImage contents).
deepend2026-02-22 09:59:16 -07:00
c928568a92
Updated the AppImage CI workflow to build on ubuntu-22.04 instead of ubuntu-24.04, and documented the reason inline: targeting an older glibc baseline for broader Linux compatibility
deepend2026-02-22 09:47:29 -07:00
42de1c8e60
Restored the Flatpak AppIndicator stack (for Wayland tray support) by re-adding the libayatana-appindicator shared module in the manifest.
deepend2026-02-22 08:51:05 -07:00
5dcd4151db
Fixed the Flatpak finish-args D-Bus permission by changing the invalid bus-name pattern --own-name=org.kde.StatusNotifierItem-* to the valid wildcard form --own-name=org.kde.StatusNotifierItem*, which addresses the Invalid dbus name org.kde.StatusNotifierItem-* failure during finishing/build.
deepend2026-02-22 08:30:07 -07:00
275e5504f8
Added Flatpak D-Bus permissions required for StatusNotifier/AppIndicator tray registration by allowing access to com.canonical.AppMenu.Registrar and ownership of org.kde.StatusNotifierItem-*. This is aimed at fixing the missing tray icon in Flatpak runs.
deepend2026-02-22 08:20:26 -07:00
f53e2a21ba
Add talk-name for KDE Status Notifier Watcher
deepend-tildeclub
2026-02-22 08:12:28 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
fcf00ebd8f
Updated menu-item icon resolution in menu_quick_item() to always go through gtkutil_image_new_from_stock(..., GTK_ICON_SIZE_MENU) when not loading from a file path, so icon-bearing menu items consistently use the same icon pipeline.
deepend2026-02-18 00:16:04 -07:00
e347fdc899
Unified GTK3 menu-item icon loading to use the same helper path everywhere (gtkutil_image_new_from_stock(..., GTK_ICON_SIZE_MENU)), so stock/menu icon names consistently resolve through the shared custom menu icon logic (which uses data/icons/menu first, then fallback). This was applied in menu_quick_item.
deepend2026-02-18 00:09:56 -07:00
b419804ddb
Updated GTK3 icon resolution so gtkutil_image_new_from_stock() now preserves zc-menu-* icon IDs (when no stock-to-theme mapping exists), allowing those items to load directly from the data/icons/menu resource set instead of falling back inconsistently to theme icon names.
deepend2026-02-18 00:05:44 -07:00
bdfabcf800
Standardized GTK3 menu icon resolution so stock-style menu icons are first mapped to the bundled zc-menu-* names (which are backed by data/icons/menu/...), but only for menu-sized icon requests. This keeps non-menu button icons unaffected while making menu icons consistent.
deepend2026-02-18 00:00:59 -07:00
ebf695abdf
Standardized GTK3 menu-related icon constants to the bundled zc-menu-* namespace so menu actions stop depending on mixed system-theme icon names (edit-copy, view-refresh, etc.) and instead use the same internal set. This was updated in channel list, plugin manager, URL grabber, and spell-entry menu definitions.
deepend2026-02-17 23:56:49 -07:00
bc2b1bd509
Standardized GTK3 menu-related icon constants to use the bundled zc-menu-* icon set (from data/icons/menu) in the places that had direct equivalents, including raw log, URL grabber, channel list actions, tray menu, and plugin load action.
deepend2026-02-17 23:49:59 -07:00
8642d8bde4
Updated the Network List menu entry to use the same menu icon mechanism as the other iconized menu items by switching it from M_MENUPIX (pix_book) to M_MENUSTOCK with a zc-menu-* icon name (zc-menu-network-list).
deepend2026-02-17 23:44:22 -07:00
01e890eb3f
Updated GTK3 menu item rendering so any zc-menu-* icon passed into menu_quick_item() is treated as a bundled ZoiteChat menu icon and loaded via menu_icon_image_from_data_icons(...) using the active light/dark variant, which makes dynamic/custom menu entries use the same icon source as the main menu icons.
deepend2026-02-17 23:35:32 -07:00
7af8f069e7
Reworked the GTK3 menu icon pipeline so zc-menu-* entries now load from the bundled data/icons/menu assets only, with shared theme-variant detection (light/dark).
deepend2026-02-17 23:26:26 -07:00
b5db1685da
Removed the unresolved version-control conflict markers from create_icon_menu and kept the custom_alt_fallback_icon declaration intact so the later fallback icon assignments remain valid for compilation.
deepend2026-02-17 23:15:51 -07:00
335a8f4d6b
Added stronger icon fallback handling for zc-menu-* menu items (including Server dropdown icons and Preferences) by introducing alternate fallback icon names and choosing an alternate only when the primary fallback icon is unavailable in the active icon theme. This specifically improves connect, disconnect, join, and preferences cases on Windows theme variations.
deepend2026-02-17 23:12:34 -07:00
e316413f60
Added stronger icon fallback handling for zc-menu-* menu items (including Server dropdown icons and Preferences) by introducing alternate fallback icon names and choosing an alternate only when the primary fallback icon is unavailable in the active icon theme. This specifically improves connect, disconnect, join, and preferences cases on Windows theme variations.
deepend2026-02-17 23:07:17 -07:00
e8ca0a1213
attempting to fix menu icon loading issues on the windows build.
deepend2026-02-17 22:50:34 -07:00
15d918f1fb
Added Windows-side icon theme fallback logic in win32_configure_icon_theme that now checks (in addition to the existing <base>/share/icons) these paths: ZOITECHAT_ICON_PATH (user override env var), current working directory + share/icons, argv[0] directory + share/icons. Valid directories are appended to GTK’s icon search path. Added diagnostic logging so startup clearly reports either the selected icon path source/path or that none of the expected locations were usable, to speed up Windows missing-icon triage. Reused/stored the computed argv[0] directory in fe_args (via win32_argv0_dir) so it can be used both for chdir and for icon fallback resolution.
deepend2026-02-17 22:19:50 -07:00
329a641adf
I added a Windows-specific fallback to load custom menu icons directly from the installed share/icons/menu/<variant>/ path when GResource lookup doesn’t return an icon. This uses g_win32_get_package_installation_directory_of_module() plus g_build_filename() to avoid separator/path issues. The new fallback tries *.svg first, then *.png, so if resources aren’t available at runtime but files were installed, menu icons still render. After that, the existing icon-name fallback chain still runs (custom_fallback_icon → stock mapping → stock name), so non-file-based fallback behavior is preserved.
deepend2026-02-17 22:03:51 -07:00
9bdf654cbc
Fixed the Windows packaging pipeline to include the app’s bundled menu icons from data/icons/menu/** by adding a dedicated ZoiteChatMenuIcons item group in the copy project. This ensures both light and dark menu icon files are staged during Windows builds. Added an explicit copy step that places those menu icons into $(ZoiteChatRel)\share\icons\menu\..., which is already included by the installer’s share\icons\* rule, so they now get installed on Windows.
deepend2026-02-17 21:46:46 -07:00
1a920ba955
I fixed the Windows runtime path so gdk-pixbuf can actually find/use its loader modules before GTK initializes, by adding win32_configure_pixbuf_loaders() and calling it in startup on Windows. This sets GDK_PIXBUF_MODULEDIR / GDK_PIXBUF_MODULE_FILE from the bundled install tree so SVG resources can render instead of placeholder icons. I also fixed Windows packaging to include what the SVG path needs at runtime: librsvg DLLs, gdk-pixbuf loader modules, and loaders.cache in the release bundle.
deepend2026-02-17 21:30:51 -07:00
afc490aa18
Fixed GTK3 menu icon fallback handling so Windows no longer falls through to non-standard zc-menu-* icon IDs (which show as placeholders in many setups). The code now maps each custom menu icon key (new, connect, disconnect, save, help, etc.) to a concrete freedesktop icon name before calling gtk_image_new_from_icon_name(). Kept the existing preferred behavior intact: load bundled SVG menu icons from GResource first (light/dark variant), and only use fallback icon names when those resources are unavailable.
deepend2026-02-17 21:19:22 -07:00
0a5c95c6b4
Fixed the Windows installer so it now installs GTK icon theme assets (share\icons) into the app directory. This ensures icon-name lookups used by menus/widgets can resolve real icons instead of placeholders on Windows installs. The change was made in the [Files] section by adding a recursive copy rule for share\icons\* under the libs component.
deepend2026-02-17 21:08:18 -07:00
a078d00eef
Updated GTK3 tab dropdown icon constants to use ZoiteChat’s bundled zc-menu-* icon names (detach/close) instead of theme-dependent names, so Windows builds render the intended menu icons consistently. Updated GTK3 tray menu icon constants for Preferences/Quit to use bundled zc-menu-* icon names, fixing theme-missing icon issues in Windows menu/dropdown contexts.
deepend2026-02-17 20:58:15 -07:00
18632bc5fd
Added a new tree-store column (COL_UNDERLINE) for channel rows so the UI can track underline state per channel entry in the channel list model. Initialized each new channel row with PANGO_UNDERLINE_NONE so only the active channel gets emphasized. Updated tree selection handling to remove underline from the previously focused row and apply PANGO_UNDERLINE_SINGLE to the newly selected row, creating a clear “currently viewed channel” indicator. Bound the channel name renderer’s underline property to the new model column so underline changes are reflected immediately in the channel list UI.
deepend2026-02-17 20:51:13 -07:00
f90783c298
Updated Windows packaging to include all dependency-provided icon assets by adding a new DepsRootIcons item ($(DepsRoot)\share\icons\**\*) in win32/copy/copy.vcxproj. Added a corresponding copy step so those icons are emitted into the Windows release tree at $(ZoiteChatRel)\share\icons\..., ensuring parity with Linux icon availability in installed builds.
deepend2026-02-17 20:47:20 -07:00