User talk:SVGWorkaroundBot

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
This user has an alternate account named JoKalliauer.
SpBot archives all sections tagged with {{Section resolved|1=~~~~}} after 7 days. For the archive overview, see User talk:JoKalliauer/Archiv.

moved from User_talk:Perhelion (Beginning)


Ich würde gerne den Bot nach Toolforge bringen.

Ich habe mein Glück bei en:User_talk:Ronhjones#Need_your_help versucht, aber der lässt seinen en:User:RonBot lokal laufen, was für mich nicht zielführend ist, da "jeder" den Bot für eine bestimmte Datei starten lassen können sollte.

Weißt du wenn ich um Hilfe bitten kann. Ich bin kurz vorm aufgeben, dass ich sage ich bringe es (alleine) nicht zusammen. Ich weiß nicht wer sich da auskennt und mir da helfen würde.

 — Johannes Kalliauer - Talk | Contributions 21:20, 6 February 2019 (UTC)[reply]

(talk page stalker)@JoKalliauer: I can help you with toolforge issues if you need it. I run all my bots there :) --Zhuyifei1999 (talk) 01:47, 13 February 2019 (UTC)[reply]

moved from User_talk:Perhelion (End)


@Zhuyifei1999: Thanks! I have several questions

  1. Is it possible to use en:Shell script using en:Sed? (I know it is not efficient in terms of computational resources, but this bot should not run very often, therfore it should not be such a problem.)
  2. How can I copy the source-script to Toolforge? (I know WinSCP, PuTTY, SSH_File_Transfer_Protocol)
  3. How can I acess the file? (Read and overwrite)

If you link a Wikipedia-page, raise some keywords to google, I think I'm fine.  — Johannes Kalliauer - Talk | Contributions 16:24, 13 February 2019 (UTC)[reply]

  1. Yes, Toolforge generally runs on Debian 9 Stretch and has these commands available. Computational resources is generally not a concern unless it's excessively used that it disrupts other's workflow. (This rarely happens).
  2. A few ways:
    • SCP/SFTP the file to a toolforge bastion (WinSCP can do this).
    • Open the target file in a bastion with a text editor and just paste it there (obviously this method only works for text files)
    • Upload the file to a version control (such as GitHub) then download it on a bastion.
    The docs are kinda outdated, the two bastions mentioned there are Ubuntu 14.04 Trusty and will be redirected to the new Stretch instances soon. For now use login-stretch.tools.wmflabs.org.
    Also note that toolforge rule #3 requires you to run bots through a 'tool account', which is an account that a login user changes to via use of 'become' command. This makes direct copy via SCP/SFTP more complex. I personally uses method #2 and #3 most.
  3. I'm not sure what do you mean by access. If you mean what text editors are available, nano, emacs, joe, vim, etc. are all available. If you mean what bash commands can be used to edit the file directly without using a text editor, the standard bash syntax and the standard set of commands like cat, sed, awk, grep, sort, uniq, tr, etc. are all available as well. If you mean how your programs interact with the linux kernel to read/write files, then it's by syscalls like open(2), read(2), write(2).
--Zhuyifei1999 (talk) 17:18, 13 February 2019 (UTC)[reply]
I do not have much time now.
  1. I have problems with permission "Permission denied (publickey,hostbased)" I will check that on Linux, since I createt there the fingerprint
  2. Should I download files useing wget? And a command-line upload: Commons:Command-line_upload#Python_Wikipedia_Bot ?
As soon as I worked it out for my own I will raise a proper question and ping you.
 — Johannes Kalliauer - Talk | Contributions 17:52, 15 February 2019 (UTC)[reply]
  1. 'Permission denied (publickey,hostbased)' is a key issue. Did you upload your public key to https://toolsadmin.wikimedia.org/ ? Does your loaded private key match the uploaded public key?
  2. Yes you can download files with wget, although that is not the only method. Uploading with pywikibot is also not the only method to perform the upload; it is definitely supported. Toolforge also has a shared install of pywikibot (nightly snapshot) that you can use. (though, a lot of docs are outdated).
--Zhuyifei1999 (talk) 21:27, 15 February 2019 (UTC)[reply]
Thanks for your help!
I can login using cmd.exe, but not with winscp.exe .
However I uploaded the sourecode with wget https://github.com/JoKalliauer/cleanupSVG/archive/master.zip.
Is it possible that any user presses a button on the descriptionpage of svg-file, and the tool downloads the file, modifies the file und uploads the file?
 — Johannes Kalliauer - Talk | Contributions 20:37, 20 February 2019 (UTC)[reply]
@Zhuyifei1999:
I have two questions:
  1. Is Manual:Pywikibot/upload.py available on toolforge? Or do I have to install for myself? (Or ist there another command-line upload available?)
  2. If I login to toolforge, the script is working. But can anyone type in the filename as in Commons:Commons SVG Checker and immediately start the bot?
 — Johannes Kalliauer - Talk | Contributions 09:05, 3 March 2019 (UTC)[reply]
I just found https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation/de , which states python /data/project/shared/pywikipedia/core/scripts/upload.py
 — Johannes Kalliauer - Talk | Contributions 12:08, 3 March 2019 (UTC)[reply]
  1. Yes, that script is indeed available at /data/project/shared/pywikipedia/core/scripts/upload.py, and it should work as long as you have the user-config.py configured. The path is old might be deprecated in far future though, due to the 'pywikipedia' -> 'pywikibot' rename years ago. The recommended updated path is /data/project/shared/pywikibot/core/scripts/upload.py.
  2. Regarding docs: there are two main toolforge specific docs for pywikibot (1 2), both needs a lot of work to be made actually useful (or should be destroyed with fire if we have more updated and complete docs on this). Dvorapa (a pywikibot dev) is hopefully going to write a new & better one.
  3. By 'anyone' I assume you mean any Commons user, including those that do not have access to toolforge, then you need to make a web interface for the bot, so that people can access it under https://tools.wmflabs.org/; the web interface should have all the security stuffs and OAuth authentication, in which case the bot could be run on behalf of the OAuth authenticated user, similar to how Flickr2Commons works.
--Zhuyifei1999 (talk) 19:58, 3 March 2019 (UTC)[reply]
The bot now works :-) I corrected 4files: https://commons.wikimedia.org/wiki/Special:ListFiles?limit=50&user=SVGWorkaroundBot&ilshowall=1
web interface with OAuth authentication sounds cool, but might be too complicated for me. I would like to start with something simpler: A website where you can download the corrected files, similar to https://tools.wmflabs.org/svgcheck/index.php (also something like https://tools.wmflabs.org/svgtranslate would be better)
If you can "only" download the new file, I think there are less security-issues to take care of.
@Zhuyifei1999: If I would have a *.html-page, how can I publish it?
 — Johannes Kalliauer - Talk | Contributions 22:36, 4 March 2019 (UTC)[reply]
less security-issues? Maybe :P Instead of uploading the file and immediately deleting it without ever exposing it to the user, you now have to expose the file and somehow make sure it's not used maliciously. And there is still the very low chance of DOS attack... It's definitely less work for us devs though.
As for how to do make webservices, see wikitech:Help:Toolforge/Web; it should cover a lot of use cases. For simple htmls you could either use the static one of the php one (which is served by lighttpd) --Zhuyifei1999 (talk) 23:13, 4 March 2019 (UTC)[reply]
@Zhuyifei1999:
How can I transfer files between tools.svgworkaroundbot@tools-sgebastion-07 and my local computer? (preferable with a GUI such as winscp)
I know how to access jkalliau@login.tools.wmflabs.org (or jkalliau@tools-sgebastion-07), but I don't know how to add a ssh-key to my tool.
Can I login at https://toolsadmin.wikimedia.org/auth/login/ with tools.svgworkaroundbot or with svgworkaroundbot? (if yes it seems that I do not know my password any more)
 — Johannes Kalliauer - Talk | Contributions 07:27, 19 March 2019 (UTC)[reply]
I've written a few ways to transfer files between your computer and toolforge. The scp method, unfortunately, cannot easily utilize 'become', and to copy a file to a tool the process is kinda complex. We were trying to make direct ssh to a tool account work but so far we have little progress besides 'concepts'. And no, you can't login to toolsadmin (a.k.a. striker) with a tool account as it has no associated password. --Zhuyifei1999 (talk) 14:35, 19 March 2019 (UTC)[reply]
@Zhuyifei1999: Thanks for your answer. Good to know that I can't login as tool, otherwise I would have tried "forever".
I test the code on the server (and local on my computer), copy paste it to my local computer and push it to Github (I have more than 50commits within a week) and then grab it with wget back on the server.
But however I ruined yesterday something on the server therfore I wanted to make a backup of the serverfiles and did not want to push it to Github. Since I had more than 100files on the server copy-pasting would have been wasting time. I decided to cp -a /data/project/svgworkaroundbot /home/jkalliau/backup/ as jkalliau and everything worked (After chmod a+w ). And /home/jkalliau/backup/ could be copied using WinSCP.
Thanks :-D
 — Johannes Kalliauer - Talk | Contributions 19:59, 19 March 2019 (UTC)[reply]
Sorry didn't read carefully. Thanks for wikitech:Help:Toolforge#Updating_files.  — Johannes Kalliauer - Talk | Contributions 21:20, 19 March 2019 (UTC)[reply]
@Zhuyifei1999: https://tools.wmflabs.org/svgworkaroundbot/ can only work with files till ~64kB (65 143 Bytes (including filename)), but the identical code can be run with much larger files on https://github.com/JoKalliauer/convert . Files >64kB lead to 500 - Internal Server Error. In index.html MAX_FILE_SIZE is aproximatly 1MB. Is there a limited buffer? Do I have to request for extended rights to process larger files?  — Johannes Kalliauer - Talk | Contributions 22:18, 27 March 2019 (UTC)[reply]
I was trying to see why, and see that your error.log is deleted. Mind restarting the webservice so the logs we can check its logs? And no, there should not be an 'extended rights' limitation on this. --Zhuyifei1999 (talk) 01:52, 28 March 2019 (UTC)[reply]
@Zhuyifei1999: Thanks! I assume my WindowsPC (via GitHub-Desktop) seemed to converted the symbolic link https://github.com/toollabs/convert/blob/master/shared to a pain-text-file https://github.com/JoKalliauer/convert/blob/757a010751b78e231727170312b7f53743ebf017/shared I now copied the shared folder into my own GitHub-tool. Because of the shared folder, I might (have to?) change the license to GNU, since Rillke allowed me to use his tool under CC-0.
@Zhuyifei1999: For future: Just Restart the webservice whenever you like so. And I deleted error.log on my own, but I thought that it would recreated if errors occured.
 — Johannes Kalliauer - Talk | Contributions 20:08, 28 March 2019 (UTC)[reply]
Hmm, well, I guess you could try using reference git implementation instead of GitHub-Desktop to fix that symlink issue. Is the large size error caused by that? I see only that in error.log.
As for cleaning up the logs, the file won't be recreated until it's reopened. The process is essentially writing to a phantom deleted file. To truncate (but not delete) the file, there's the command truncate -s 0 filename. --Zhuyifei1999 (talk) 22:33, 28 March 2019 (UTC)[reply]

Pywikibot[edit]

@Zhuyifei1999: I followed the steps in wikitech:Help:Toolforge/Pywikibot#Using_the_shared_Pywikibot_files_(recommended_setup). (This worked 4 weeks ago, but I deleted (without backup) everthing after a problem.)

But when I run

python /data/project/shared/pywikibot/core/generate_user_files.py
tools.svgworkaroundbot@tools-sgebastion-07:~$ python /data/project/shared/pywikibot/core/generate_user_files.py
Traceback (most recent call last):
  File "/data/project/shared/pywikibot/core/generate_user_files.py", line 21, in <module>
    from pywikibot.tools import file_mode_checker
  File "/mnt/nfs/labstore-secondary-tools-project/pywikibot/public_html/core/pywikibot/__init__.py", line 24, in <module>
    from pywikibot.bot import (
  File "/mnt/nfs/labstore-secondary-tools-project/pywikibot/public_html/core/pywikibot/bot.py", line 98, in <module>
    from pywikibot import config2 as config
  File "/mnt/nfs/labstore-secondary-tools-project/pywikibot/public_html/core/pywikibot/config2.py", line 392, in <module>
    base_dir = get_base_dir()
  File "/mnt/nfs/labstore-secondary-tools-project/pywikibot/public_html/core/pywikibot/config2.py", line 386, in get_base_dir
    raise RuntimeError(exc_text)
RuntimeError: No user-config.py found in directory '/mnt/nfs/labstore-secondary-tools-project/svgworkaroundbot'.
  Please check that user-config.py is stored in the correct location.
  Directory where user-config.py is searched is determined as follows:

    Return the directory in which user-specific information is stored.

    This is determined in the following order:
     1.  If the script was called with a -dir: argument, use the directory
         provided in this argument.
     2.  If the user has a PYWIKIBOT_DIR environment variable, use the value
         of it.
     3.  If user-config is present in current directory, use the current
         directory.
     4.  If user-config is present in pwb.py directory, use that directory
     5.  Use (and if necessary create) a 'pywikibot' folder under
         'Application Data' or 'AppData\Roaming' (Windows) or
         '.pywikibot' directory (Unix and similar) under the user's home
         directory.

    Set PYWIKIBOT_NO_USER_CONFIG=1 to disable loading user-config.py

    @param test_directory: Assume that a user config file exists in this
        directory. Used to test whether placing a user config file in this
        directory will cause it to be selected as the base directory.
    @type test_directory: str or None
    @rtype: str

tools.svgworkaroundbot@tools-sgebastion-07:~$

 — Johannes Kalliauer - Talk | Contributions 19:11, 30 March 2019 (UTC)[reply]

This looks like a bug from some recent pywikibot change. Could you file a ticket on phabricator? --Zhuyifei1999 (talk) 23:42, 30 March 2019 (UTC)[reply]
I created phab:T219740  — Johannes Kalliauer - Talk | Contributions 20:13, 31 March 2019 (UTC)[reply]
Resolved
gerrit:500389  @xqt 08:08, 1 April 2019 (UTC)[reply]

First draft of bot is working![edit]

@Perhelion, Glrx, Sarang, TilmannR, and Thomas Linard:

I repaired the first files

  1. File:Oxygen15.04.1-kbruch.svg#filehistory
  2. File:Oxygen480-actions-im-invisible-user.svg#filehistory
  3. File:Oxygen480-devices-tools-media-optical-format.svg#filehistory

This bot should be able to repair

Since a bot is only useful if everyone can use it you can access it here: https://tools.wmflabs.org/svgworkaroundbot/

Due to security-issues (and simplification) you have to upload and download the file locally from/to your computer. (The website does not know anything about wikimedia.)

If you have any suggestions, you would like to contribute: I'm happy to hear from you!

 — Johannes Kalliauer - Talk | Contributions 19:05, 11 March 2019 (UTC)[reply]

Impressive! Good job! And thanks for the online version! Thomas Linard (talk) 20:37, 11 March 2019 (UTC)[reply]
Multiple x-koordinates in one tspan

There are two possible workaround

  1. Remove everything except the first coordinate
  2. Add every character in it's own tspan

not sure which version to prefer.
Maybe I will add a button for choosing which version.
 — Johannes Kalliauer - Talk | Contributions 19:05, 11 March 2019 (UTC)[reply]

Option 1 is what librsvg effectively does, so option 1 should actually leave the list in place.
Option 2 would render the image correctly in all agents.
I'm not happy with either option because they do not determine the original intent. Is the list an unusual way of placing several text strings (as in the Phab report; several text elements should be produced) or is it a contorted method of doing letter-spacing, word-spacing, subscripts, or text justification?
Consequently, I would leave the text alone. Glrx (talk) 19:58, 11 March 2019 (UTC)[reply]
@Glrx: Option 1 is not what librsvg does, look at File:WI_Area_Codes.svg#filehistory, File:Standard time zones of the world (3).svg, File:Ruanda_prov_2005_de.svg, File:Polit.svg, File:Olympic_Airlines_-_Aegean_traffic_comparison_copy.svg#filehistory, File:Logo_Funcionale.svg.
If you have a pdf sometimes some independend words on the same line get one tspan but they should be seperated, therefore letter-spacing, word-spacing ist not always a good way, and it would be too complex to know how to handle such spacings as a bot.
 — Johannes Kalliauer - Talk | Contributions 20:29, 11 March 2019 (UTC)[reply]
May be it will become easier to modify the text if there are not always the same <text>-statements, spread all over the other coding? Because that example contains just the same text parameters, it is possible to define it only once; if any alteration is necessary, it can be done there. And if different parameters are needed, it can be redefined again.
With text, it is always the same problem that the librsvg displays it different to the other tools, esp. offline; just the Commons:Commons SVG Checker allows a true preview (with librsvg) before uploading. -- sarang사랑 08:45, 12 March 2019 (UTC)[reply]
@Sarang: The bot is not about phab:T35245, it is about several issues (~10issues). phab:T35245 is just one of them.
And this subheadline about phab:T35245 was about two possibilites to repair it and I asked which way you prefer to implement.
And the examples were to show that "Option 1 is what librsvg effectively does, so option 1 should actually leave the list in place." is untrue. As far as I understand it librsvg intreprets multiple x-koordinates in tspan as invalid and ignores it, since sometimes text contains only the first x-koordinate this is no issue, but in most examples (I know) its not.
Also I like your edit in Polit.svg, some uses don't like to split the text from the box/path, since every text of each box and the accoring box belong together and should be moved toether. (which is not possible if you merge the path/text)
And this bot is not about improving files it should only offer workarounds for a correct rendering in Wikimedia, expecially for Users like me (two years ago) that did not know that svg ist not a binary format (or not something like pdf/eps).
This bot is not for premium high end-workarounds as created by Sarang or Glrx, it should only offer a most basic version to repair files, without changing the context (it is a bot not a human).
There are many users that won't understand w:en:Wikipedia:SVG_help#Common_problems and have issues.
There are two possibilities to solve it (for uses that do not know anything about svg)
  1. Someone else solves it (Then should we write please ask ... (Sarang,Graphics Lab,...) to solve your problem?)
  2. We offer a tool that solves it for them. (For https://tools.wmflabs.org/svgworkaroundbot/ you just need to be able to upload and download a file, thats easier than uploading to commons.)
Commons:Commons SVG Checker does not solve problems, it just detects problems, and therefor for newbies Commons:Commons SVG Checker does not help.
 — Johannes Kalliauer - Talk | Contributions 21:05, 12 March 2019 (UTC)[reply]
Thanks to a message/request of @TilmannR: : I decided to use option#2(make multiple tspans), see https://commons.wikimedia.org/wiki/User_talk:JoKalliauer#Fixing_phab:T35245_in_(R)-Citronellal_Structural_Formula_V.1_1.svg for details.
Opon request I will (try to) implement choosable options between #0 keep as it is, #1 delete multiple x-koordinates, #2 make multiple tspans
 — Johannes Kalliauer - Talk | Contributions 21:42, 17 March 2019 (UTC)[reply]

Peckeloh Einwohnerentwicklung → 500 - Internal Server Error[edit]

Hi. Trying to convert https://upload.wikimedia.org/wikipedia/commons/archive/5/5a/20190318215622%21Peckeloh_Einwohnerentwicklung_Stand_2017.svg (first version of Peckeloh Einwohnerentwicklung Stand 2017.svg) caused an internal server error. TilmannR (talk) 21:41, 18 March 2019 (UTC)[reply]

There might be a (very low) file-size limit. I'll have to check. Converting on the server itself works. And Swab only deletes empty flowRoots. Non-empty flowRoots should be converted, this might get implemented, but first I have to find if the server-resources is limited. (It does not make sense to implement everything, and then I get an overload-error.) Therefore I might need to implement optional processing. Or maybe I will have to ask someone to install scour/svgcleaner/svgo (I don't have the permission to do so.) — Johannes Kalliauer - Talk | Contributions 23:00, 18 March 2019 (UTC)[reply]
I assume the size limit is 1 MB? Removing empty flowRoots is exactly what I needed, because Inkscape fails to convert flowRoots to text, if any of them are invisible. TilmannR (talk) 23:17, 18 March 2019 (UTC)[reply]
I tried: https://phabricator.wikimedia.org/T217362#5001222
webservice stop
webservice --backend=gridengine start
and now it seems to not work at all  — Johannes Kalliauer - Talk | Contributions 23:25, 18 March 2019 (UTC)[reply]
Inkscape can't convert hidden text https://gitlab.com/inkscape/inkscape/issues/120 A text is hidden if the (black) Box is too small for the text. (Might get implemented.)
Inkscape can convert some empty text (depending on the structure), but not all. (swab should be able to resolve this issue)
I go to bed an try to solve it another time.
 — Johannes Kalliauer - Talk | Contributions 23:25, 18 March 2019 (UTC)[reply]
Yes the file-size-limit is 1MB (see https://github.com/JoKalliauer/convert/blob/master/index.html ).  — Johannes Kalliauer - Talk | Contributions 23:26, 18 March 2019 (UTC)[reply]
@TilmannR: I do not know what happened/changed, but now swab (seems to) work.  — Johannes Kalliauer - Talk | Contributions 20:07, 19 March 2019 (UTC)[reply]
@JoKalliauer: How unfortunate. A reproducible bug would have been preferable.
The name="MAX_FILE_SIZE" value="1000000" in the page's HTML is why I guessed 1 MB, but as far as I can tell that's just a client side check. I assume that the server has its own upload limit parameter somewhere else. I'll try uploading a 900 kB file and a 9 MB file. For science! TilmannR (talk) 20:59, 19 March 2019 (UTC)[reply]
900 kB worked. 9 MB caused the page to reload. Deleting the "MAX_FILE_SIZE" from the local HTML doesn't change anything. That's good, I guess. TilmannR (talk) 21:11, 19 March 2019 (UTC)[reply]
And I just saw that it doesn't just reload the page, but it loads https://tools.wmflabs.org/svgworkaroundbot/#cantmove , so you could use that to display an error message. TilmannR (talk) 21:14, 19 March 2019 (UTC)[reply]
Fun fact: Uploading 1000000 bytes works. Uploading 1000001 bytes doesn't work. Uploading 2097152 bytes without MAX_FILE_SIZE works. Uploading 2097153 bytes without MAX_FILE_SIZE doesn't work. So the size limit on the server is exactly 2 Megabytes (or what some people would call 2 "Mebibytes"). TilmannR (talk) 21:35, 19 March 2019 (UTC)[reply]
I just knew that the server has a wikitech:Help:Toolforge/Web#Memory_limit. If you need/like I can change "MAX_FILE_SIZE", I just copied from https://tools.wmflabs.org/convert/ and honestly I do not understand PHP at all. (Acually I wondered that it worked after changing small things, since I did not understand what I changed in PHP.) As long as the tool is in a alpha stage I think we might should keep this provisional limit.
If you like: I might need a collaborators on Github and another maintainer on Toolforge.  — Johannes Kalliauer - Talk | Contributions 21:48, 19 March 2019 (UTC)[reply]
Regarding wikitech:Help:Toolforge/Web#Memory_limit: I don't care whether people write "4 GiB" or "4 GB", and even "4GB" is acceptable, but "4G" is just ridiculous. :)
@JoKalliauer: There are three reasons why you wouldn't want me to be your collaborator:
  1. I know even less about PHP and WikiMedia's servers than you do.
  2. Web development makes me grumpy.
  3. I'm only spending time on Commons, when I'm too lazy to do anything else, which means that I'm simultaneously too lazy to take responsibility for any long term projects.
I do realize that SVG rendering on Commons is unreasonably quirky and (unless a much better rendering library magically appears out of nowhere) Swab has the potential to be incredibly useful. So let's compromise: I'll try to help you fix bugs, but I refuse to have an official role in this project. TilmannR (talk) 22:59, 19 March 2019 (UTC)[reply]

@TilmannR: I tested https://tools.wmflabs.org/svgworkaroundbot/ and it seems that files above 64kB leads to 500 - Internal Server Error.
I implemented cp $1 $2 so output is input and found out that there seems to be a limit of 65 143 Bytes (including filename). That means every letter more in the filename leads to one Byte less in the file.
on https://tools.wmflabs.org/convert/ I don't see any problems for such moderate large files. Maybe I have to request for more rights.
 — Johannes Kalliauer - Talk | Contributions 20:43, 27 March 2019 (UTC)[reply]

Notification about possible deletion[edit]

Some contents have been listed at Commons:Deletion requests so that the community can discuss whether they should be kept or not. We would appreciate it if you could go to voice your opinion about this at their entry.

If you created these pages, please note that the fact that they have been proposed for deletion does not necessarily mean that we do not value your kind contribution. It simply means that one person believes that there is some specific problem with them, such as a copyright issue. Please see Commons:But it's my own work! for a guide on how to address these issues.

Please remember to respond to and – if appropriate – contradict the arguments supporting deletion. Arguments which focus on the nominator will not affect the result of the nomination. Thank you!

Affected:


Yours sincerely,  Goldsztern  ✶  06:08, 26 January 2024 (UTC)[reply]