ircv3-specifications icon indicating copy to clipboard operation
ircv3-specifications copied to clipboard

Add network icon ISUPPORT token

Open emersion opened this issue 6 months ago • 12 comments
trafficstars

Closes: https://github.com/ircv3/ircv3-ideas/issues/123

emersion avatar May 15 '25 12:05 emersion

I think we should go with ICON, and here's why.

I absolutely agree that the icon would and in 80-90% of cases should use the same icon all over their network, however I feel like this would disallow theming of certain servers icons.

For example, if I have fire.*, water.* and ice.*, I might want to theme each icon with a background of either fire, water or ice, but with a clear print of the network name on top of the logo.

I do think it would be weird if people used completely different icons for each of their servers and I don't imagine anyone would do that anyway, but I still think this should be allowed, and, although it's technically not forbidden by this here spec proposal to use different icons on each server, the name suggests it would be and could be confusing to client developers.

I think outright forbidding different icons for different servers, either by suggestive language or by spec, limits things unnecessarily and I vote to change the token name to ICON (without a draft/ prefix since the IRC specification forbids any characters that are not specifically A-Z)

ValwareIRC avatar May 15 '25 23:05 ValwareIRC

without a draft/ prefix since the IRC specification forbids any characters that are not specifically A-Z

I asked about this recently in #ircdocs and the predominant advice I got was that this restriction should be removed from the Modern spec.

slingamn avatar May 16 '25 02:05 slingamn

Regardless of any future decision to allow draft/ in isupport, that decision has not happened yet nor even been formally proposed. So let’s continue to submit specs according to the status quo rather than desired but undecided futures.

jwheare avatar May 16 '25 07:05 jwheare

I also think we go with ICON and not preempt a need to specify whether it has to be the same network wide or can differ per server. That can be up to network operators (this includes server operators, they are necessarily collaborators)

jwheare avatar May 16 '25 07:05 jwheare

In one of the other proposals I seem to remember there was a {size} template variable which the client could use to scale the icon. Is this useful to client developers?

SadieCat avatar May 16 '25 09:05 SadieCat

In one of the other proposals I seem to remember there was a {size} template variable which the client could use to scale the icon. Is this useful to client developers?

No, images are small anyway and it is trivial to resize them client side.

delthas avatar May 16 '25 10:05 delthas

The avatar metadata key from the registry defines an optional {size} template variable.

Clients can resize, but depending on the range of sizes, different resizing algorithms will produce variable results. A template variable would allow servers to provide e.g. a custom 16x16 icon whose pixels have been artisanally crafted.

So it can be useful, but unsure if that's desired here.

jwheare avatar May 16 '25 13:05 jwheare

unsolicited +1 for the {size} template variable, if not for reduced data usage then for optical sizing adjustments in particularly complex logos. i need to adjust my network's coat of arms for use at 32x32

thatcher-gaming avatar May 18 '25 16:05 thatcher-gaming

Renamed to ICON.

emersion avatar May 23 '25 16:05 emersion

Opened https://github.com/ircdocs/modern-irc/issues/250 to discuss prefixes for ISUPPORT tokens.

emersion avatar May 23 '25 16:05 emersion

I still see draft/ICON in d2daee5 (also I would personally recommend against force-pushing to spec PRs).

slingamn avatar May 23 '25 21:05 slingamn

Yes, I have intentionally left the draft/ prefix for now.

emersion avatar May 23 '25 21:05 emersion

Prefixes are now explicitly allowed in the modern spec, so draft/ can stay.

emersion avatar Oct 02 '25 14:10 emersion

We have at least one server implementation and two client implementations so this can probably be merged now?

SadieCat avatar Nov 01 '25 03:11 SadieCat

Any links/references/screenshots of the implementations?

jwheare avatar Nov 02 '25 18:11 jwheare

InspIRCd's server implementation is available on the testnet and at https://github.com/SadieCat/inspircd/tree/insp4%2Bircv3-icon

@ValwareIRC and @delthas have client implementations (afaik).

SadieCat avatar Nov 02 '25 18:11 SadieCat

IRCCloud supports this now too:

image

jwheare avatar Nov 02 '25 20:11 jwheare

It seems like the InspIRCd testnet uses the unprefixed ISUPPORT token.

Goguma impl (hacked to support the unprefixed token):

out

emersion avatar Nov 02 '25 20:11 emersion

ObsidianIRC supports this: Screenshot from 2025-11-03 03-43-05

UnrealIRCd will also soon be supporting this via third-party module, but I think since this seems quite popular I'll wishfully PR it to main ;D (1, 2)

ValwareIRC avatar Nov 03 '25 03:11 ValwareIRC