Project

General

Profile

Actions

Bug #5785

open

I've encountered an issue on Windows 11 with AdiIRC across all versions since January 2023.

Added by armin armin 7 months ago. Updated 7 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
11/13/2023
Due date:
% Done:

0%

Estimated time:
Operative System:
All
Regression:
No

Description

Hello

I purchased a new PC for €1900 in December 2022 and took the opportunity to upgrade from Windows 7 to Windows 11. Since the purchase of the PC, I've been experiencing daily "icon jumps" on the desktop. Occasionally, the small arrow at the bottom left of each icon disappears, or it is replaced by other icons.

I have formatted and reinstalled Windows 11 three times, but the problem persists.

I also investigated the programs I use to see if the issue could be related to them or even to the 2-port switch for connecting two PCs to the same screen. The switch was unplugged, and I directly connected the screen to the tower, but the problem persists.

I disconnected the graphics card and replaced it with the onboard graphics of the motherboard, but the icon issue still exists.

Today, I started a new system test with AdiIRC. I use AdiIRC every time the PC is on, so it's on 12h/7. This morning, I decided to turn it off and keep it off for the day, and the icon bug did not occur this time.

I turned on AdiIRC around 4:30 PM, and 15 minutes later, the icon issue appeared. I immediately restarted the PC, decided not to turn on AdiIRC, and repeated the process. I turned on AdiIRC again at 7:51 PM, and at 8:05 PM, the issue occurred once more.

It seems like the bug might be related to AdiIRC, but I'm not sure.

Has anyone else using Windows 11 (22H2 and 23H2) experienced a similar problem?

Could the issue be related to the AdiIRC systray system? (Mine has three checkboxes selected in the systray section.)

Regards

Actions #1

Updated by Per Amundsen 7 months ago

Can you be a little more specific, what icons are you talking about and what are the arrows? Maybe some screenshots before and after?

Actions #2

Updated by armin armin 7 months ago

https://www.zupimages.net/up/23/46/pq20.png
The small arrows at the bottom left of the desktop icons sometimes change to other icons, and this only happens when AdiIRC is running. I haven't turned it on since yesterday, except for 2 times for 20 minutes each, and the desktop icon bug occurred both times, always after 10-15 minutes of launching AdiIRC

Actions #3

Updated by Per Amundsen 7 months ago

AdiIRC does not have the power to change your desktop icons. Maybe your explorer icon cache is corrupt, try lookup how to reset explorer icon cache.

Actions #4

Updated by armin armin 7 months ago

45 minutes ago, I copied the AdiIRC folder by transferring it to another Windows 11 PC that had never experienced any desktop icon issues. Now, the icon bug has appeared, and for me, there is no doubt that it originates from AdiIRC.

I was worried, initially thinking the problem might be related to my graphics card. I even believed it could be a bug in Windows 11, given its newness and occasional glitches.

Where could the issue with AdiIRC come from? Is it because I moved the folder directly to the desktop with a shortcut (in icon form)? Or is it due to the fact that I checked three options related to systray icons in the AdiIRC settings? Or could it be caused by a script or remote, for example, searching for icons on the computer or writing too frequently to the hard drive? I'm not sure, but something seems to be causing the desktop icons to malfunction on Windows 11

Actions #5

Updated by Per Amundsen 7 months ago

Since AdiIRC does not have this power, I really have no idea. Maybe you have another program running that causes some kind of interferes with AdiIRC, there has been some issues with things like windows blinds in the past.

I have used AdiIRC on windows 11 since it was in beta with no issues, no other users have had any issues either.

Actions #6

Updated by armin armin 7 months ago

on the other PC there is no application coming from the store, it is a small PC at 114€ (miniforums) which serves me as Windows 11 connected 24 hours a day to avoid having to rent a remote server with Windows on it whose price would exceed that of the miniforums.

I will try to do some experiments like for example:
- Put adiirc folder in C drive at root and no shortcut on desktop
- Todo do a test by deleting all the remotes
- Todo reset the ini file to default with the minimum parameters and log in and wait less than 1 hour

There is work to do all that, by elimination

Actions #7

Updated by Per Amundsen 7 months ago

This is through remote desktop?

Actions #8

Updated by armin armin 7 months ago

no

Actions #9

Updated by Per Amundsen 7 months ago

All right, let me know how it runs with default options and no scripts/plugins.

Actions #10

Updated by armin armin 7 months ago

It's midnight, and it still hasn't happened for about 3 hours. The only "remote/script" I removed is the one I previously used on another topic; here is its code:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Colors NickList : Girls and boys
;; Who_nicklist_asl version 1.5 (10.06.2022) 
;; Compatible pour 
;; divers serveurs IRC 
:: exemples: 
;; EuropNet, Discussionner, Andromede...
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on 1:START: {
 .initialize_coloring
}

alias initialize_coloring {
  ; reset all entries in the clist
  var %compteur = $cnick(0,1)
  while (%compteur > 3) {
    .uncolor_nick $cnick(%compteur)
    dec %compteur 1
  }
}

/*
alias testinitialize_coloring {
  ; reset all entries in the clist
  var %compteur = 5
  while (%compteur <= $cnick(0,1)) {
    .uncolor_nick $cnick(%compteur)
    Inc %compteur 1
  }
}
*/

on *:join:#: {
if ($me == $nick ) {
   who $chan
  } else {
  who $nick
  }
}

raw 315:*: {
  halt
}

alias colornick {
  ; use as /colornick <nick> <color>
  ; $1 is nick, $2 is color
  var %s $comchan($1, 0), %c 0
  while (%c < %s) {
    inc %c
    cline -lW $2 $comchan($1, %c) $1
  }
}

raw 352:*: {

  ; Les "F" et "H" et "M" correspondent avec $10
  ; Format classique: 18 H 75
  if (  $10 == F || $10 == f ) {
    .cnick -r $6
    .cnick $6 13
  }
 else if (  $10 == H || $10 == h || $10 == M ) {
    .cnick -r $6
    .cnick $6 12
  }

 else if ( $gettok($9-,2,47) == F ) {
    ; Format 18;F;75
    .cnick -r $6
    .cnick $6 13
  } 
 else if ( $gettok($9-,2,47) == H ) {
    ; Format 18;H;75
    .cnick -r $6
    .cnick $6 12
  }

  else if (  $gettok($9-,2,47) == F ) {
    ; Format: 18/F/75
   ; .cnick -r $6
   ; .cnick $6 13
    .colornick $6 13
  } 
 else if ( $gettok($9-,2,47) == H ) {
    ; Format: 18/H/75
    ;.cnick -r $6
    ;.cnick $6 12
    .colornick $6 12
  }

  ;echo -a Response: $1-

  halt
}

on 1:NICK: { 
  .uncolor_nick $nick
  who $newnick 
}

on 1:JOIN:*: { 
  who $nick
}

on 1:QUIT: { 
  .uncolor_nick $nick
}

alias uncolor_nick {
  .cnick -r $1
}

It is preferable to wait until tomorrow to confirm whether it's due to this script because 3 hours may be too short a time

Actions #11

Updated by armin armin 7 months ago

I'm sure now that the issue indeed comes from the script I shared with you. I tested it on two Windows 11 PCs by removing and then reintroducing the script. It seems like this script is writing too many files to the folder. Is it possible to reduce the amount of writing?

In addition, this script works really well except that it makes the script slow down and only as soon as I connect or reconnect to IRC, then it works well but visibly on Windows 11 it crashes the icons on the desktop and that on 2 Windows 11 computers

Actions #12

Updated by Per Amundsen 7 months ago

That's really odd. I don't think it has anything to do with disk writes, you should be able to write gigabytes per second without any problems.

Every call to /cnick does trigger a full config file write though, there is no way around that.

You might be able to convert the script to use /cline instead, which are temporary.

Actions #13

Updated by armin armin 7 months ago

The code below seems to be working well, but there is an issue: the nicknames are not displaying in pink or blue when people write in the left channels. That's unfortunate :( Isn't there a solution for that?

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; NickList Colors: Females and Males
;; WhoNickListASL Version with Cline 1.0 (16.11.2023)
;; Compatible with various IRC servers
:: Examples:
;; EuropNet, Discussionner, Andromede...
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:join:#: {
  if ($me == $nick) {
    who $chan
  } else {
    who $nick
  }
}

raw 315:*: {
  halt
}

alias colornick {
  ; use as /colornick <nick> <color>
  ; $1 is nick, $2 is color
  var %s $comchan($1, 0), %c 0
  while (%c < %s) {
    inc %c
    cline -lW $2 $comchan($1, %c) $1
  }
}

raw 352:*: {
  ;Les "F" et "H" et "M" correspondent avec $10
  ; Format classique: 18 H 75
  if ($10 == F || $10 == f) {
    .uncolor_nick $6
    .colornick $6 13
  } else if ($10 == H || $10 == h || $10 == M) {
    .uncolor_nick $6
    .colornick $6 12
  } else if ($gettok($9-, 2, 47) == F) {
    ; Format 18;F;75
    .uncolor_nick $6
    .colornick $6 13
  } else if ($gettok($9-, 2, 47) == H) {
    ; Format 18;H;75
    .uncolor_nick $6
    .colornick $6 12
  } else if ($gettok($9-, 2, 47) == F) {
    ; Format: 18/F/75
    .uncolor_nick $6
    .colornick $6 13
  } else if ($gettok($9-, 2, 47) == H) {
    ; Format: 18/H/75
    .uncolor_nick $6
    .colornick $6 12
  }

  ; echo -a Response: $1-
  halt
}

on 1:NICK: {
  .uncolor_nick $nick
  who $newnick
}

on 1:JOIN:*: {
  who $nick
}

on 1:QUIT: {
  .uncolor_nick $nick
}

alias uncolor_nick {
  var %index = $nick($1, 0)
  var %i = 1
  while (%i <= %index) {
    if ($nick($1, %i) == $1) {
      cline -r %i
      return
    }
    inc %i
  }
}

Actions #14

Updated by Per Amundsen 7 months ago

Didn't think of that, you'll have to use on TEXT to print the messages with a custom color and halt the default message.

Actions #15

Updated by armin armin 7 months ago · Edited

Actually, regarding the desktop icons bug, it still occurs but much less frequently. It doesn't seem to be related to the cnick/cline. Could there be something triggering an action in the systray or on its own icon?

Actions #16

Updated by Per Amundsen 7 months ago

Figured as much. AdiIRC doesn't do anything that should effect windows in any way, not sure what is going on in your case.

Actions #17

Updated by armin armin 7 months ago

Maybe it's Windows 11 itself after all

Actions #18

Updated by Per Amundsen 7 months ago

It would probably effect all users on windows 11 if that was the case. It's possible that you have some program running or a different setting in your windows and/or adiirc than other users.

Did you try running adiirc and windows with default options? If that works, maybe gradually change options until the problem appears, that's all I can think of atm.

Actions #19

Updated by Per Amundsen 7 months ago

One other thing I thought of, it's a long shot. When the problem appears, try run this program https://www.nirsoft.net/utils/gdi_handles.html and take a screenshot of AdiIRC.exe if it appears.

Actions #20

Updated by armin armin 7 months ago · Edited

Hi

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; NickList Colors: Females and Males
;; WhoNickListASL Version with Cline 1.1 (21.11.2023)
;; Compatible with various IRC servers
:: Examples:
;; EuropNet, Discussionner, Andromede...
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:join:#: {
  if ($me == $nick) {
    who $chan
  } else {
    who $nick
  }
}

raw 315:*: {
  halt
}

alias colornick {
  ; use as /colornick <nick> <color>
  ; $1 is nick, $2 is color
  var %s $comchan($1, 0), %c 0
  while (%c < %s) {
    inc %c
    cline -lW $2 $comchan($1, %c) $1
  }
}

raw 352:*: {
  ;Les "F" et "H" et "M" correspondent avec $10
  ; Format classique: 18 H 75
  if ($10 == F || $10 == f) {
    .uncolor_nick $6
    .colornick $6 13
  } else if ($10 == H || $10 == h || $10 == M) {
    .uncolor_nick $6
    .colornick $6 12
  } else if ($gettok($9-, 2, 47) == F) {
    ; Format 18;F;75
    .uncolor_nick $6
    .colornick $6 13
  } else if ($gettok($9-, 2, 47) == H) {
    ; Format 18;H;75
    .uncolor_nick $6
    .colornick $6 12
  } else if ($gettok($9-, 2, 47) == F) {
    ; Format: 18/F/75
    .uncolor_nick $6
    .colornick $6 13
  } else if ($gettok($9-, 2, 47) == H) {
    ; Format: 18/H/75
    .uncolor_nick $6
    .colornick $6 12
  }

  ; echo -a Response: $1-
  halt
}

on 1:NICK: {
  .uncolor_nick $nick
  who $newnick
}

on 1:JOIN:*: {
  who $nick
}

on 1:QUIT: {
  .uncolor_nick $nick
}

alias uncolor_nick {
  var %index = $nick($1, 0)
  var %i = 1
  while (%i <= %index) {
    if ($nick($1, %i) == $1) {
      cline -r %i
      return
    }
    inc %i
  }
}

on ^*:TEXT:*:#:{
  var %realname = $ial($nick).realname
  var %msgprefix = $null
  var %status = $null

  if ($nick isowner $chan) {
    %status = ~
  }
  else if ($nick isadmin $chan) {
    %status = &
  }
  else if ($nick isop $chan) {
    %status = @
  }
  else if ($nick ishop $chan) {
    %status = %
  }
  else if ($nick isvoice $chan) {
      %status = +
  }

  if ($nick isowner $chan || $nick isadmin $chan || $nick isop $chan) {
    %msgprefix = $+(<04,%status,$nick,>)
  }
  else if ($nick ishop $chan) {
    %msgprefix = $+(<07,%status,$nick,>)
  }
  else if ($nick isvoice $chan) {
      %msgprefix = $+(<03,%status,$nick,>)
  }
  else if ($gettok(%realname, 2, 47) == F) {
    %msgprefix = $+(<13,%status,$nick,>)
  }
  else if ($gettok(%realname, 2, 47) == H) {
    %msgprefix = $+(<12,%status,$nick,>)
  }
  else {
    %msgprefix = $+(<,%status,$nick,>)
  }

  echo -tbfmfl %msgprefix $1-

  halt
}

I made the continuation of the code to adjust the colors of the nicknames by gender in the channels; it has just been coded, and I'll be testing it throughout the day. The "cline" system is convenient because, at startup, AdiIRC no longer lags at all, which is much better than Cnick.

Regarding the debugging, I haven't looked into it yet. All I can see is that the issue with the icons on the desktop in Windows 11 now occurs about three times a day, instead of the previous frequency of 5-10 times per hour.

Actions #21

Updated by armin armin 7 months ago

Hi, the tabs for channels and private messages remain "blank," there is no activity, no color at all. Do you know how to activate activity in the tabs?

Actions #22

Updated by Per Amundsen 7 months ago

Assuming you are talking about the "new message" color in Treebar/Switchbar while using your script, you can use the -m parameter for /echo.

Actions #23

Updated by armin armin 7 months ago

ah yes it’s great thank you it works well

Actions #24

Updated by armin armin 7 months ago

Hi, As soon as I receive a new private message, the icon (systray) at the bottom right of my computer no longer blinks. How can I make it blink again like before?

Actions #25

Updated by Per Amundsen 7 months ago

Not every option related to messages is available when substituting the internal message with a custom /echo output, but you can try the -f and/or the -l parameters.

There is also the /flash command, but I don't remember entirely what can trigger the tray icon specifically.

Actions

Also available in: Atom PDF