Commit graph

4,880 commits

Author SHA1 Message Date
kofany
1544c513d0
Merge 20f113ef19 into 43f1727ef9 2026-01-29 00:17:42 -08:00
Ailin Nemui
221d520c37 run meson formatter 2026-01-25 22:07:44 +01:00
Ailin Nemui
88afc78aac GResolver fixes
fix issues brought up by @horgh in #1580
2026-01-25 00:25:44 +01:00
ailin-nemui
00466fe5be
Merge pull request #1605 from ailin-nemui/gio-resolver-old
add compatibility code for older GResolver
2026-01-24 20:04:17 +00:00
Ailin Nemui
00146211d0 fix space in end comment 2026-01-24 18:06:21 +01:00
Ailin Nemui
e9281b2f11 add compatibility code for older GResolver 2026-01-24 18:05:05 +01:00
Ailin Nemui
45d3013f9e up abi 2026-01-24 14:27:18 +01:00
Ailin Nemui
a54677ce99 up perl api 2026-01-24 14:27:16 +01:00
Ailin Nemui
2012668bef make Irssi::Irc usable without dcc 2026-01-24 14:27:16 +01:00
Ailin Nemui
51322d6af1 restore ip4_any 2026-01-24 13:53:23 +01:00
Ailin Nemui
51f2a4f7fb use GIO resolver
change: rename resolve_prefer_ipv6 -> irssiproxy_prefer_ipv6
2026-01-23 21:21:10 +01:00
ailin-nemui
d5be7d7756
Merge pull request #1578 from ailin-nemui/cygwin
make compilation work on cygwin
2026-01-23 20:20:43 +00:00
soulseller
3811b1ffc9 formats: fix hide_text_style and hide_colors to mitigate color bleed 2025-11-27 00:59:18 +02:00
kofany
20f113ef19
Merge branch 'irssi:master' into utf8-grapheme-clusters 2025-11-25 14:23:35 +01:00
ailin-nemui
89dc74cbdd
Merge pull request #1591 from soulseller/fix/netsplit-nickname-truncation
fe-netsplit: fix nickname truncation to avoid trailing comma-space
2025-11-25 13:19:12 +00:00
soulseller
5416843d2d fe-netsplit: fix nickname truncation to avoid trailing comma-space 2025-11-23 15:15:24 +02:00
kofany
20fbea0e2d Move is_combining_char() to core utf8 module
Relocate is_combining_char() from gui-entry.c to src/core/utf8.c
as suggested in code review. This better organizes the codebase by
placing UTF-8 character classification logic with other UTF-8
utilities in the core module.

The function now uses is_utf8() instead of checking term_type
directly, which is the appropriate method for core layer code.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 20:39:46 +02:00
arza
f293277765
Increase default scrollback_lines
It seems common that people miss important messages when being away and want to increase the scrollback.
2025-09-23 00:01:54 +03:00
kofany
becc4f9068 Fix emoji variation selector width calculation in string_advance
Addresses issue where emoji with variation selectors (like ❣️, ♥️) were
incorrectly calculated as width 1 instead of width 2, causing display
overflow in modern terminals.

- Add variation selector detection (0xFE0F) in string_advance_with_grapheme_support()
- Apply special width handling for base emoji + variation selector combinations
- Ensures consistent width calculation with input field processing
- Fixes chat window overflow issues in terminals like Ghostty

This brings string_advance logic in line with unichar_array_advance_cluster
which already had proper variation selector handling.
2025-09-10 20:55:25 +02:00
kofany
28a793d659 Implement proper UTF-8 grapheme cluster support for modern terminals
This commit addresses critical UTF-8 display and input issues, particularly
with emoji variations and complex Unicode sequences that caused rendering
problems in modern terminals like Ghostty.

Key improvements:
- Enhanced utf8.c with grapheme cluster detection using utf8proc
- Fixed input field handling to preserve emoji variation selectors
- Improved text measurement and cursor positioning for complex Unicode
- Added smart paste processing for multi-codepoint characters
- Bypassed problematic TRANSLIT when not needed for UTF-8 content
- Enhanced GUI entry and readline to handle grapheme clusters properly

The implementation maintains full backward compatibility while providing
proper support for modern Unicode standards, fixing display corruption
that occurred with emoji sequences containing variation selectors.

Tested with emoji sequences like: 💕💋😘🥰💞❣️💓♥️♥️💓❣️🥰🥰😘💋💋
2025-09-10 17:44:46 +02:00
Ailin Nemui
989ddd8429 replace shared_module with shared_library
according to mesonbuild irc chat
2025-07-25 19:49:53 +02:00
Ailin Nemui
df8aa42778 make compilation work on cygwin 2025-07-25 16:20:28 +01:00
Ailin Nemui
8eee36d1ea replace str->str & g_string_free with g_string_free_and_steal
solving unused warning in GLib 2.76
2025-07-22 12:03:49 +02:00
ailin-nemui
995e77c30d
Merge pull request #1575 from irssi/hilight_syntax_update
Add -priority to hilight syntax line
2025-07-21 16:51:55 +00:00
Ailin Nemui
9f0b2bc50d detect third argument type of puts 2025-07-21 18:35:09 +02:00
Jari Matilainen
7681cb7585
Add -priority to hilight syntax line 2025-07-20 22:40:59 +02:00
Ailin Nemui
838f8d179e fix _GNU_SOURCE redefined warning due to perl ccflags 2025-07-13 19:33:52 +02:00
Christian Carey
f12ed4ff54 Resolve issue #1513. 2025-05-02 00:02:46 -04:00
Ailin Nemui
9fd6df2a15 add missing include for wcwidth thread test 2025-04-29 22:27:14 +02:00
Ailin Nemui
c7c8d074bd up abi 2025-04-27 14:31:53 +02:00
Ailin Nemui
8acda3f9eb make bitfields unsigned 2025-04-27 14:31:01 +02:00
Emil Engler
32adf7c1dd fe-text: remove const for better Darwin support
This commit removes the `const` qualifier from certain member fields,
as the Darwin version of several `<term.h>` related functions only
accept a `char *` rather than a `const char *`, thereby resulting in
dozens of compiler warnings.
2025-04-14 18:16:04 +02:00
ailin-nemui
a5441f62b9
Merge pull request #1542 from sortie/HOST_NOT_FOUND
Fix using HOST_NOT_FOUND instead of EAI_NONAME.
2025-04-14 13:36:51 +00:00
ailin-nemui
a1c8edfa44
Merge pull request #1541 from sortie/inet_aton
Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
2025-04-14 13:36:44 +00:00
Jonas 'Sortie' Termansen
f24d859c80 Fix using HOST_NOT_FOUND instead of EAI_NONAME.
HOST_NOT_FOUND is a gethostbyname(3) error condition rather than a
getaddrinfo(3) error condition and cannot be passed to net_gethosterror
as documented as it calls gai_strerror(3). EAI_NONAME is the appropriate
similar error condition as standardized by POSIX for getaddrinfo(3).
2025-04-14 15:09:27 +02:00
Jonas 'Sortie' Termansen
38440cf340 Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
inet_addr has become obsolescent as of POSIX-1.2024 and is not available
on strict POSIX 2024 libc implementations.

inet_pton(3) is the standard and portable replacement available on all
POSIX-1.2001 systems.
2025-04-14 15:08:55 +02:00
Jonas 'Sortie' Termansen
4b2951c828 Include <sys/select.h> to get select(3).
This is the header required by POSIX-1.2024.

This change is needed to build irssi on operating systems such as Sortix
that have a strict libc without obsolete behaviors.
2025-04-14 15:08:02 +02:00
Ailin Nemui
382bde9ab3 namespace TERM_REC functions (conflict with curses.h) 2025-04-08 09:03:00 +02:00
Ailin Nemui
7bac5eb762 include curses.h when needed 2025-04-08 09:03:00 +02:00
ailin-nemui
fca3e83e68
Merge pull request #1543 from Steering7253/master
add ipaddr and family to perl SERVER_REC (and connrec)
2025-04-08 06:05:42 +00:00
ailin-nemui
23ec63ae39
Merge pull request #1556 from Steering7253/fix_sasl_multi_cap
fix irssi SASL negotiation with multiple CAP ACK
2025-04-07 20:37:18 +00:00
steering7253
99c37387a4
bump ABI_VERSION 2025-04-07 14:36:10 -06:00
steering7253
49d7302e98
fix irssi SASL negotiation with multiple CAP ACK
when attempting SASL, if multiple CAP ACK were received (for example,
because a script sent an additional CAP REQ), then any not containing
`sasl` would cause SASL to fail (immediately aborting the connection
with no message, depending on sasl_disconnect_on_failure setting)

check not only if SASL is set in this line, but also if we've already
seen it in a previous line.
2025-04-07 13:53:39 -06:00
steering7253
26fd0585cd
add ipaddr and family to connrec and perl SERVER_REC 2025-04-07 13:51:49 -06:00
Ailin Nemui
d6c146a1fa initialise memory in ctcp ping reply 2025-03-24 08:54:01 +01:00
Ailin Nemui
19e7d3f6b8 up abi 2024-04-12 23:00:52 +02:00
Ailin Nemui
822fd50132 fix /ban command 2024-04-12 22:55:20 +02:00
ailin-nemui
4b48cdce65
Merge pull request #1523 from irssi/from-codeberg
From codeberg
2024-04-02 06:29:49 +00:00
Doug Freed
9d0787fc10 Ensure all files have newlines at the end 2024-04-02 05:23:10 +00:00
ailin-nemui
89f3e1acf5
Merge pull request #1519 from ailin-nemui/openssl3
deprecated openssl3 function
2024-04-01 20:36:00 +00:00