135 Commits

Author SHA1 Message Date
Tobias Umbach
fd9e44895c
Merge 4ac7664a061a0bf0e43005ba3f599b9b3f11e83c into 7b093eea917374cb7b11fdfb9a332f4a61b789fb 2023-03-07 16:09:02 +08:00
Sadie Powell
d5b4577315
Implement generic support for IRCv3 standard replies. (#2589)
https://ircv3.net/specs/extensions/standard-replies

Co-authored-by: Patrick <tingping@tingping.se>
2021-06-20 23:29:36 +00:00
Sadie Powell
c06f6f2565
Implement support for the IRCv3 invite-notify specification. (#2574) 2021-05-23 19:32:00 -05:00
Flisk
4ac7664a06 Detect hilights in NOTICEs 2019-04-05 08:41:04 +02:00
Joseph Bisch
07f1fc60da Use g_utf8_make_valid if available for cleaner utf8 handling (#2065) 2017-10-02 15:11:42 -04:00
Patrick Griffis
2d184c0967 Fix crash on coloring NULL nicks
Fixes #2014
2017-06-18 06:31:34 -04:00
Patrick Griffis
2edf50d4dd Actually respect away_omit_alerts for custom sounds...
Probably should think before merging things.
2017-06-10 16:28:48 -04:00
YuGiOhJCJ
2dd5f8788c Disable custom sounds when away_omit_alerts enabled
Closes #2012
2017-06-10 16:18:55 -04:00
Patrick Griffis
13f6d9265a Respect plugin hook changing tab color
Fixup to 241dd69b081
2016-11-11 20:02:24 -05:00
Patrick Griffis
241dd69b08 Further tab color improvements
- Combine the three properties into a single one
- Finally fully fix the handling with plugins handling events

TODO: Look into lastact handling of these, seems wrong
2016-11-11 19:27:57 -05:00
Patrick Griffis
539949973c More fixes for tab color handling with plugins
Part 2 of 03767ee0f9826222

So how the colors work should be pretty straight forward:

- A message comes in and is handled, this sets the state flags:
    nick_said, msg_said, new_data. These map to tab colors.
- This state is reset under one of these conditions:
  - It is commited to the UI when actually printed on unfocused tab
  - Event is interupted by a plugin hook
  - The tab focus is changed
2016-11-11 01:25:12 -05:00
Patrick Griffis
2a81b98e7b Don't abort if translated text event fails
At least try the untranslated one...

Also while at it don't present a ton of dialogs to the user
about this failure, they wouldn't even know what to do with
that information.
2016-10-10 14:11:08 -04:00
Patrick Griffis
15600f405f Sanitize network name for scrollback files
This prevents using invalid chars on Windows or creating directories
2016-09-11 15:50:19 -04:00
Patrick Griffis
03767ee0f9 Kill fe_set_hilight()
It just duplicates functionality and this fixes:

- alert_taskbar chanopt not being respected
- tab color being incorrect when highlight print events are eaten
2016-07-24 18:08:09 -04:00
Arnavion
16ba39d9fa Forcibly reset iconv converter after every conversion.
Despite what g_convert_with_iconv's docs say, it does not reset the converter on a failed conversion (iconv returns -1).

Fixes #1758
2016-06-24 12:09:35 -07:00
Patrick Griffis
5b097f560d More minor scrollback loading improvements 2016-04-26 12:06:28 -04:00
Patrick Griffis
aab881fda2 Fix strict prototype warnings 2016-02-18 08:57:22 -05:00
Patrick Griffis
650bddcfd1 Improve scrollback file handling
- Properly use filesystem encoding
- Validate utf8 when loading (hopefully fixing crashes)
- Use Gio
- Handle Windows line endings
- Remove dead code
- Fix respecting max length of scrollback files
2016-01-31 15:31:15 -05:00
Patrick Griffis
35f97b65c1 Sanitize server name for log files
It could contain invalid chars or log to an arbitrary directory
2016-01-28 16:22:04 -05:00
Patrick Griffis
7a85c9160d Add support for cap-notify 2016-01-28 16:02:04 -05:00
TingPing
94ef0fd294 Fix warning 2015-05-28 14:13:34 -04:00
TingPing
f8c7ea3672 Fix some text event descriptions 2015-04-04 04:29:39 -04:00
bendem
36a8ba126c Fix incorrect timestamp in scrollback with server-time
Fixes #1148
2015-03-02 19:58:27 +01:00
TingPing
749e5b20da Make use of g_path_is_absolute()
No reason to roll our own.. in multiple places
2015-02-28 07:24:49 -05:00
TingPing
a5584c6b57 Clean up some ifdefs
Thankfully somebody already made a define for this, they
just never used it...
2015-02-28 06:43:33 -05:00
TingPing
ec12871e60 Write scrollback as binary on win32
Proper fix for b66edd3
This issue likely applies elsewhere in HexChat
2015-02-27 16:20:09 -05:00
Arnavion
1d83610341 Save iconv converters for input and output in the server.
These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
2015-01-31 00:52:31 -08:00
Arnavion
5749c53484 Server line text-encoding-related fixes.
- Handle server lines that contain sequences which are invalid in the server encoding. Previously, these would cause the whole line to be interpreted in ISO-8859-1, but now they're simply replaced with an appropriate replacement character.

- Removed prefs.utf8_locale.

- Change default server encoding from system locale to UTF-8.

- Always populate server->encoding with a non-null value - UTF-8.

Fixes #1198
2015-01-18 02:10:04 -08:00
Arnavion
1d316710ed Don't crash if the log file can't be opened.
Found in #1269
2015-01-14 16:29:03 -08:00
TingPing
1fa4a000e7 Fix some unused warnings 2014-12-31 10:24:51 -05:00
TingPing
95febd978c Fix building as c89 2014-12-28 06:47:23 -05:00
TingPing
83032b1aa3 Use glib for all allocations
- Removes need to check for malloc failure
- Removes need for NULL checks on free
- Adds checks for integer overflows
- Removes some extra memset calls
- Removes chance of mixing libc and glib malloc/free
2014-12-28 06:44:44 -05:00
Arnavion
ec7a0d6e13 Fixed some more signed-unsigned-comparison warnings. 2014-12-15 10:25:28 -08:00
TingPing
d6e3f740bc Fix some leaks 2014-12-11 12:13:57 -05:00
Arnavion
2da5308fd2 Fixed leak of filename string. 2014-12-08 21:25:00 -08:00
Arnavion
c1831cb19d Minor tidying up 2014-12-08 21:24:59 -08:00
Arnavion
65da34f19e Removed some unnecessary null-checks for calls to g_free and g_strfreev 2014-12-08 21:24:59 -08:00
Arnavion
e209e55e59 Use PlaySoundW to play sounds on Windows.
Fixes #1133
2014-09-13 00:23:44 -07:00
Campbell Barton
93caf4c7b4 Use GNUC format attribute on print functions
Closes #1059
2014-07-18 07:09:07 -04:00
Berke Viktor
0dccf692d4 Add global option to suppress nick change events
Might as well add a per-channel option, too but for me that seems a bit unnecessary.
Closes #971
2014-05-12 05:01:24 -04:00
Riamse
6ef41f7d4f Fix logging incorrect timestamp with server-time
Fixes #972
2014-05-11 05:02:19 -04:00
Arnavion
dc27640265 Use utf-8 variant of strftime to format log file paths.
strftime assumes the format string is in locale encoding, which mangles log file paths that are in utf-8.

Fixes #767
Fixes #945
2014-04-21 01:39:28 -07:00
RichardHitt
ccf49aa48d Fix #928. Fix memory leak, mea culpa. 2014-04-17 15:07:50 -07:00
RichardHitt
b66edd372e Fixes #928 again. In scrollback replay, skip every line that starts 0x0d. 2014-04-17 09:53:09 -07:00
TingPing
b41bd594b0 Add account to Join event
Also reorganizes some logic. The account will usually be NULL unless
extended-join capability enabled.

Closes #934
2014-04-06 15:33:22 -04:00
RichardHitt
4ca9672a92 Fix scrollback_load to deal with e.g. the output of /HELP
Fixes #928.
2014-03-29 14:31:19 -07:00
RichardHitt
1a3bfdce75 Improve handling scrollback when gui_tab_server==FALSE
Fixes #925.
2014-03-24 21:22:04 -04:00
TingPing
b17c0276de Fix some leaks 2014-02-12 10:31:11 -05:00
Diogo Sousa
40f26429f8 Print{,_attr} and server{,_attr} hooks were incorrectly handled when both
version existed (regular and attrs).  Specifically, the priority was not
respected, and both versions were run even when EAT_PLUGIN was returned.

Fixes #847.
2013-11-28 02:11:33 +00:00
TingPing
af248ce2c1 Fix invalid timestamps crashing on Windows 2013-11-02 21:07:03 -04:00