summary refs log tree commit diff stats
AgeCommit message (Collapse)Author
2022-04-21Do not allow plugins to eat Close ContextSoniEx2
These are used for clean-up and letting them be eaten may lead to plugins getting confused about which data belong to which contexts.
2022-04-21Merge upstream changesSoniEx2
2022-04-16Change preferences sub-dialogs to be modalPatrick Griffis
This solves the issue where the parent dialog is closed and then the child dialog is used. This is however only a partial fix: - Many other dialogs throughout the codebase do not currently have parent windows and need to be refactored. - Not all window managers respect modal so users can still trigger bugs. We can be more defensive against this but it requires more refactoring. Closes #2686
2022-04-15python: Fix API break in hook_timer()Patrick
Closes #2691
2022-04-02Display common help numerics as SERVTEXT.Sadie Powell
This makes it a lot easier for users to actually read.
2022-03-26notification: Don't print failure to load backend in UIPatrick
This isn't actually helpful information to users generally Closes #2152 Closes #2684
2022-02-17Reverse the notify.conf linked list before writingMasoud Naservand
hexchat populates the single linked list `notify_list` defined in `src/common/notify.c` from `notify.conf` file. Each new line read from the file is added to the list by `g_slist_prepend()` which adds it to the front of the list. But in `notify_save()` the list elements are read from the start to end of the list and written to the `notify.conf`. This means everytime hexchat is opened and closed, the contents of `notify.conf` get reversed. This commit creates a temporary glist in `notify_save()` and applies `g_slist_reverse()` on it and writes the contents of this reversed list to `notify.conf`. And solves issue #2680
2022-02-16Return userdata from pluginprefs __pairs metamethod to avoid immediate GC.William D. Jones
2022-02-12Bump to 2.16.1Patrick Griffis
2022-01-24Add -q/-- flags to /execwrite to EXECWRITE and cmd_execW (#2675)orcus
added two flags to EXECWRITE and cmd_execw -q : (quiet) to allow suppressing of additional (debug) output at the text box -- : (stop parsing for further flags) for the edge cases where -q itself migh be part of used data and the user wants to show that at the text box Closes #2666
2022-01-21meson: Fix exported functions in pluginsBiswapriyo Nath
This adds DEF file names in meson. Without the DEF files, every functions are exproted from plugins.
2022-01-21sysinfo: Fix architecture detection in AArch64 WindowsBiswapriyo Nath
AArch64 should be detected as 64 bit OS.
2022-01-17Log when the user specifies an invalid port.Sadie Powell
2022-01-17Fix handling invalid ports.Sadie Powell
Instead of wrapping around, which is not behaviour any reasonable user would expect, just use the default port if above 65535. Disallow connecting on port 0. This port has special meaning and servers can not listen on it. It is more likely the user just gave an invalid value to the port field as atoi("invalid") == 0.
2022-01-11meson: Fix exported functions for python pluginBiswapriyo Nath
This fixes loading python plugin in Windows by exporting functions using python.def file. Otherwise, hexchat_plugin_init symbol error is shown.
2022-01-06Add missing headerPatrick
https://github.com/hexchat/hexchat/issues/2652#issuecomment-1007015314
2022-01-05meson: Remove unused wbemcore dependencyBiswapriyo Nath
2021-12-22Update commentPatrick Griffis
2021-12-22Be smarter about conditionally escaping URIs that are openedPatrick Griffis
Fixes #2659
2021-12-22build: Set G_LOG_DOMAINPatrick Griffis
2021-12-02Remove wallchan commandNoah Keck
This command doesn't have many legitimate, non-spam applications and is easily confused for the similarly named 'wallops'. Moreover, many netowrks now automatically punish or drop users who message many channels at the same time, rendering the command mostly useless. It also is too easy to tab-complete 'wall' into 'wallchan' when you expect 'wallops' to come up first, which can lead to two very different functions. If this is to be reintroduced it should be named something with less similarity to 'wallops' or 'wallchops'.
2021-12-01Make build job names more descriptive (#2657)John Villalovos
Previously every build showed up in the CI as "build". Update the job names to reflect what they are. For example the Ubuntu build is now called "ubuntu_build" Co-authored-by: Patrick <tingping@tingping.se>
2021-11-30fish: enable the legacy provider if build against OpenSSL3Simon Chopin
OpenSSL 3.0 disables a number of "legacy" algorithms by default, and we need to enable them manually using their provider system. Note that explicitly loading a provider will disable the implicit default provider, which is why we need to load it explicitly. Closes #2629 Signed-off-by: Simon Chopin <simon.chopin@canonical.com> V2: * use a local OSSL_LIB_CTX to avoid leaking the legacy algorithms into the main SSL context. * Simplify the fish_init() error paths by calling fish_deinit()
2021-11-12Fix timer being locale dependent for decimalsPatrick Griffis
`/timer .1 echo hi` now works in all locales.
2021-11-11Add missing string.h includesPatrick Griffis
Closes #2652
2021-11-03fishlim: Minor test improvementsPatrick Griffis
- Don't have tests repeat themselves, meson has a `--repeat` flag - Fix a minor leak of a GRand - Speed up a test - Increase timeout This still needs a lot of improvements, it runs at lot of loops within loops generating random strings that could be optimized. This means it can take a very long time on some computers. Closes #2629
2021-10-30Update servlist.c (#2648)Foxy
Added irc.irc-nerds.net to the server list
2021-10-26flatpak: Update shared-modulesPatrick Griffis
2021-10-26flatpak: Remove rename-icon from manifestPatrick
2021-10-25Install icons as io.github.HexchatPatrick Griffis
This matches our app-id as the desktop-file spec recommends. This also fixes a bug where our notifications referred to this new name already.
2021-10-20Adjust parsing of RPL_WHOISSPECIAL to handle missing : for single-word whois ↵alicetries
messages This is to support parsing the RPL_WHOISSPECIAL from unrealircd correctly if the whois message is a single word.
2021-10-14Add -NOOVERRIDE flag to GUI COLOR. (#2644)Nolan Lum
2021-10-07ci: Don't install libproxy-devPatrick
2021-10-02python: Open all scripts with utf-8 encodingPatrick Griffis
2021-10-01Bump version to 2.16.0Patrick Griffis
2021-10-01Fix user list not tracking mode changesRyan Schmidt
The `PREFIX` key in `ISUPPORT` (usually) takes the form `(modes)prefixes` e.g. `(ov)@+`. The current implementation will therefore set `serv->nick_modes` to a string like `"(ov"` instead of the desired `"ov"`. This causes the nick list to not properly update with which users have which prefix modes. Skip over the initial `'('` so we capture the correct modes and fix that issue.
2021-10-01win32: Update to OpenSSL 1.1Patrick Griffis
2021-10-01Explicitly set app icon in notificationsPatrick Griffis
2021-08-24Be a bit less insulting about servers with longer line lengths.Sadie Powell
2021-08-24Increase the linebuf length to fit a full message including tags.Sadie Powell
2021-08-23Remove some weird guesswork on the 004 numeric. (#2621)Sadie Powell
Bahamut and ircu both send 005 MODES and ELIST so this is entirely unnecessary. The other IRCd checked for here is for a dead network. While we're editing this code fix HexChat on servers that can only support one mode at a time (these are mostly gateway servers).
2021-07-15actions: Add MSYS2 builderPatrick Griffis
2021-07-15fish: Misc test cleanupsPatrick Griffis
2021-07-13Fix whitespace issuesPatrick Griffis
2021-07-13Remove libnotify dependencyPatrick Griffis
Instead just talk directly to the service. This fixes *sending* a notification being blocking IO.
2021-07-13actions: Build on Ubuntu 20.04Patrick Griffis
18.04 requires newer Ninja
2021-07-13build: Misc cleanup of optionsPatrick Griffis
Cleanup of option names, use features where applicable, and printing of summary.
2021-07-12Avoid direct use of libproxyMichael Catanzaro
Since hexchat already depends on GLib, it's better to use GProxyResolver instead. This might use libproxy, or not, as appropriate. P.S. This removes a memory safety issue because proxy_list is allocated using malloc(), not g_malloc(), and therefore using g_strfreev() is incorrect. The proper way to free the proxy list returned by libproxy is to use px_proxy_factory_free_proxies() (but nobody does that because it was added in libproxy 0.4.16, which is somewhat recent).
2021-07-10Fix allowed characters when escaping URIsPatrick Griffis
Closes #2608
2021-07-09servlist: Remove freenodePatrick
Closes #2604