Page MenuHomePhabricator

valhallasw (Merlijn van Deen)
Pywikibot / Tool Labs

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Oct 3 2014, 1:14 PM (241 w, 5 d)
Availability
Available
IRC Nick
valhallasw (typically around in European evenings)
LDAP User
Merlijn van Deen
MediaWiki User
Valhallasw [ Global Accounts ]

Recent Activity

Yesterday

valhallasw added a comment to T123121: Linkwatcher spawns many processes without parent.

Can someone please move all other bots away from the instance that runs linkwatcher? @valhallasw?

Wed, May 22, 7:55 PM · Cloud-Services, Toolforge

Sun, May 19

valhallasw added a comment to T219573: Have a system to automatically ping individuals in IRC when a task in a given component goes UBN.

Looking at the code:

Sun, May 19, 2:07 PM · Wikibugs

Sun, May 12

valhallasw added a comment to T222983: reviewer-bot sometimes not working.

There's another odd thing here. If we look at changeset 508721, GRB adds the reviewer at 21:30 UTC.

Sun, May 12, 3:11 PM · Gerrit
valhallasw added a comment to T222983: reviewer-bot sometimes not working.

I cannot find any reference to this changeset in the bot logs. This suggests the changeset never showed up on the mediawiki-commits mailing list (which is odd), the email was filtered out as spam (again, unclear why that would happen), or the email was ignored by the bot (but there's nothing in the log to suggest this -- skipped emails are also logged).

Sun, May 12, 3:03 PM · Gerrit

Tue, Apr 23

valhallasw closed T86354: Serve static resources from //tools-static.wmflabs.org or /static/ project as Resolved.

Yep, thanks for the reminder!

Tue, Apr 23, 6:27 PM · Tool-Gerrit-Patch-Uploader

Apr 6 2019

valhallasw added a comment to T219091: toolforge: Update python image to Stretch.

Python 3.4 is now no longer supported by upstream; one consequence is that mypy has dropped support for it, making my CI build for a tool fail.

Apr 6 2019, 7:18 PM · Wikimedia-Hackathon-2019, cloud-services-team (Kanban), Toolforge

Mar 27 2019

bd808 awarded T219336: contact tool returning 500 error response for searches a 100 token.
Mar 27 2019, 7:40 PM · Tools
valhallasw closed T219336: contact tool returning 500 error response for searches as Resolved.

Fixed with a tiny bit of jinja magic:

Mar 27 2019, 7:31 PM · Tools
valhallasw added a comment to T219336: contact tool returning 500 error response for searches.

The code suggests this has always been a dict:

{% for group in v['groups'].values() | sort %}
<li>{{ group['cn'] | querylink }}</li>
{% endfor %}</ul></dd>{% endif %}

(otherwise group['cn'] would not make sense), so this only worked because in Python 2 dicts can be ordered. The tool _does_ work without issues for tools, so I think I just did not test with a user instead of a tool.

Mar 27 2019, 7:23 PM · Tools
valhallasw added a comment to T219336: contact tool returning 500 error response for searches.

Could also be fallout from https://phabricator.wikimedia.org/T216354#4999683, although I did test the deployment, and everything seemed OK afterwards. Did anything change with respect to what is stored in ldap?

Mar 27 2019, 7:17 PM · Tools

Mar 21 2019

GitHub <noreply@github.com> committed rTGPUd74b523e7f6d: Merge pull request #20 from valhallasw/stretch-upgrade (authored by valhallasw).
Merge pull request #20 from valhallasw/stretch-upgrade
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU4bffb42e2dd9: Update crontab (authored by valhallasw).
Update crontab
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU8c87cfa61f2c: Install flake8 via requirements.txt (authored by valhallasw).
Install flake8 via requirements.txt
Mar 21 2019, 12:47 AM
valhallasw committed rTGPUa6d7d96eed26: Mailbox generates bytes, not str (authored by valhallasw).
Mailbox generates bytes, not str
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU08958244aa15: Add Cirrus CI (authored by valhallasw).
Add Cirrus CI
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU5d29344cc4e3: Re-add simplified online test (authored by valhallasw).
Re-add simplified online test
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU34eb311d300a: Add pop3bot tests (authored by valhallasw).
Add pop3bot tests
Mar 21 2019, 12:47 AM
valhallasw committed rTGPUb988978662d8: Rename test.py to something more sensible (authored by valhallasw).
Rename test.py to something more sensible
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU93a2803ca0e5: Move test to tests/ (authored by valhallasw).
Move test to tests/
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU0a0f41721a94: Remove some old test files (authored by valhallasw).
Remove some old test files
Mar 21 2019, 12:47 AM
valhallasw committed rTGPUb376b5d5abd5: Ignore Pycharm files (authored by valhallasw).
Ignore Pycharm files
Mar 21 2019, 12:47 AM
valhallasw committed rTGPUd3050fe6ad61: Cleanup, pep8, etc (authored by valhallasw).
Cleanup, pep8, etc
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU3002ce4d69ed: Move get_changeset, filter_reviewers and get_reviewers_for_changeset to more… (authored by valhallasw).
Move get_changeset, filter_reviewers and get_reviewers_for_changeset to more…
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU406e2edc78b7: 2to3 conversion (authored by valhallasw).
2to3 conversion
Mar 21 2019, 12:47 AM
valhallasw committed rTGPU4e93e216345a: Add SGE scripts (authored by valhallasw).
Add SGE scripts
Mar 21 2019, 12:47 AM
valhallasw committed rTGPUb5466ac896d9: Add crontab as deployed on Trusty (authored by valhallasw).
Add crontab as deployed on Trusty
Mar 21 2019, 12:47 AM

Mar 19 2019

valhallasw closed T97790: zoomviewer seems to be down as Resolved.

Seems to work, so closing (and unassigning myself).

Mar 19 2019, 8:32 PM · Cloud-Services, Toolforge
valhallasw placed T143217: archivebot.py exception: ValueError: unsupported format character '|' (0x7c) at index 43 up for grabs.

Apparently I was still assigned to this; unassigning. (or we could close this -- maybe crashing isn't so bad, as this did lead to the issue being noticed)

Mar 19 2019, 8:32 PM · Pywikibot-tests, Pywikibot, Pywikibot-i18n
valhallasw placed T166951: Tag detection is broken up for grabs.

Unassigning; if anyone wants to pick this up they are more than welcome, but it's not on my radar to fix.

Mar 19 2019, 8:29 PM · Wikibugs
valhallasw closed T216354: Upgrade valhallasw's tools to Stretch as Resolved.
Mar 19 2019, 8:26 PM · Tools
valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 19 2019, 8:26 PM · Tools
valhallasw added a comment to T218612: wb2-phab having issues.

Looking at the logs, my hypothesis is the following:

Mar 19 2019, 6:53 AM · Patch-For-Review, Wikibugs

Mar 17 2019

GitHub <noreply@github.com> committed rTGPUfe8d9c3d99f7: Merge 521b044a13ec5190429092ce0dcfb9db59fb44a3 into… (authored by valhallasw).
Merge 521b044a13ec5190429092ce0dcfb9db59fb44a3 into…
Mar 17 2019, 4:25 PM
GitHub <noreply@github.com> committed rTGPU2e99df2344cf: Merge 87e0a75b41a6170418ac04d182e2e123915d0141 into… (authored by valhallasw).
Merge 87e0a75b41a6170418ac04d182e2e123915d0141 into…
Mar 17 2019, 4:20 PM
valhallasw committed rTGPU87e0a75b41a6: Add Cirrus CI (authored by valhallasw).
Add Cirrus CI
Mar 17 2019, 4:20 PM
valhallasw committed rTGPU521b044a13ec: Add Cirrus CI (authored by valhallasw).
Add Cirrus CI
Mar 17 2019, 4:20 PM
GitHub <noreply@github.com> committed rTGPU37a40f73085d: Merge 4fb97aee688e96ecc5e1240b12b13153ea5344a8 into… (authored by valhallasw).
Merge 4fb97aee688e96ecc5e1240b12b13153ea5344a8 into…
Mar 17 2019, 4:04 PM
GitHub <noreply@github.com> committed rTGPU7c34c3462395: Create .cirrus.yml (authored by valhallasw).
Create .cirrus.yml
Mar 17 2019, 4:04 PM
valhallasw committed rTGPU4fb97aee688e: Add Cirrus CI (authored by valhallasw).
Add Cirrus CI
Mar 17 2019, 4:04 PM
valhallasw committed rTGPUbfda6f41f1fe: Re-add simplified online test (authored by valhallasw).
Re-add simplified online test
Mar 17 2019, 4:04 PM
valhallasw committed rTGPUe57f6edd1281: Make test_create_gerrit_json manual -- it's not really a test, after all (authored by valhallasw).
Make test_create_gerrit_json manual -- it's not really a test, after all
Mar 17 2019, 4:04 PM
valhallasw committed rTGPU72b75fbbf7e9: Add pop3bot tests (authored by valhallasw).
Add pop3bot tests
Mar 17 2019, 4:04 PM
valhallasw committed rTGPU392987d5b723: Rename test.py to something more sensible (authored by valhallasw).
Rename test.py to something more sensible
Mar 17 2019, 4:04 PM
valhallasw committed rTGPUf8fa7d9bb934: Move test to tests/ (authored by valhallasw).
Move test to tests/
Mar 17 2019, 4:04 PM
valhallasw committed rTGPUc6eec91a8701: Remove some old test files (authored by valhallasw).
Remove some old test files
Mar 17 2019, 4:04 PM
valhallasw added a comment to T218494: `become`, `crontab` et al missing from Trusty hosts.
  • become mytoolname: sudo -niu tools.mytoolname
    • crontab -l: ssh cat /etc/toollabs-cronhost` crontab -l`
Mar 17 2019, 10:26 AM · Patch-For-Review, cloud-services-team (Kanban), Toolforge
valhallasw created T218504: Install `qstat-full` in `/usr/local/bin` instead of `/usr/local/sbin/qstat-full`.
Mar 17 2019, 10:25 AM · cloud-services-team (Kanban), Patch-For-Review, Toolforge

Mar 16 2019

valhallasw created T218494: `become`, `crontab` et al missing from Trusty hosts.
Mar 16 2019, 9:06 PM · Patch-For-Review, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T218486: Grid jobs stuck on host.

@MarioFinale: as a workaround, I would suggest ignoring these jobs, and resubmitting them under a different name. Once the NFS issues are resolved (or the host is rebooted), they should disappear.

Mar 16 2019, 6:03 PM · cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T218486: Grid jobs stuck on host.

Attempted a force-umount using sudo umount -fr /mnt/nfs/labstore-secondary-tools-project, but this only resulted in umount.nfs4: /mnt/nfs/labstore-secondary-tools-project: device is busy.

Mar 16 2019, 6:01 PM · cloud-services-team (Kanban), Toolforge
valhallasw edited projects for T218486: Grid jobs stuck on host, added: Toolforge; removed Cloud-VPS.

I've done some initial investigation, but I'm unable to find the root cause. Some observations:

Mar 16 2019, 5:56 PM · cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T218474: @ReleaseTaggerBot not tagging since March 6, 2019.

Thanks for taking a look at this. I migrated the bot to Stretch and Python 3 around that time, so that is likely the origin of the issue. I'll take a look in a bit more detail.

Mar 16 2019, 1:04 PM · ReleaseTaggerBot

Mar 15 2019

valhallasw committed rTGPUfd43678d2865: Ignore Pycharm files (authored by valhallasw).
Ignore Pycharm files
Mar 15 2019, 12:56 AM
valhallasw committed rTGPU73d999451ac2: Cleanup, pep8, etc (authored by valhallasw).
Cleanup, pep8, etc
Mar 15 2019, 12:56 AM
valhallasw committed rTGPU7aabe6c06464: Move get_changeset, filter_reviewers and get_reviewers_for_changeset to more… (authored by valhallasw).
Move get_changeset, filter_reviewers and get_reviewers_for_changeset to more…
Mar 15 2019, 12:56 AM
valhallasw committed rTGPU604754bcd514: 2to3 conversion (authored by valhallasw).
2to3 conversion
Mar 15 2019, 12:56 AM

Mar 14 2019

valhallasw added a comment to T216354: Upgrade valhallasw's tools to Stretch.

Notes for gerrit-reviewer-bot.

Mar 14 2019, 7:26 PM · Tools

Mar 13 2019

valhallasw added a comment to T216354: Upgrade valhallasw's tools to Stretch.

tsreports was surprisingly easy, but was not converted to Python 3 - so it will disappear when Python 2's deprecation (2020... maybe 2022 for Stretch) comes along. I added a sitenotice with steps to convert queries to Quarry instead.

Mar 13 2019, 8:33 PM · Tools
valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 13 2019, 8:32 PM · Tools

Mar 7 2019

valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 7 2019, 8:13 PM · Tools
valhallasw added a comment to T216354: Upgrade valhallasw's tools to Stretch.

gerrit-patch-uploader done -- it's insanely fast now!

Mar 7 2019, 8:13 PM · Tools

Mar 6 2019

valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 6 2019, 8:20 PM · Tools
valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 6 2019, 7:56 PM · Tools
valhallasw closed T216650: Convert Wikibugs and ReleaseTaggerBot to stretch as Resolved.

RTB is now also converted.

Mar 6 2019, 7:56 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

Wikibugs is now fully Trusty-free! Next up: RTB. Hopefully as painless...

Mar 6 2019, 7:38 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

👍 after upgrading BS4 it seems to run smoothly again

Mar 6 2019, 7:33 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

🍪

Mar 6 2019, 7:30 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

Less luck there:

  File "/data/project/wikibugs/wikibugs2/wikibugs.py", line 8, in <module>
    from bs4 import BeautifulSoup
  File "/mnt/nfs/labstore-secondary-tools-project/wikibugs/py35-stretch/lib/python3.5/site-packages/bs4/__init__.py", line 30, in <module>
    from .builder import builder_registry, ParserRejectedMarkup
  File "/mnt/nfs/labstore-secondary-tools-project/wikibugs/py35-stretch/lib/python3.5/site-packages/bs4/builder/__init__.py", line 308, in <module>
    from . import _htmlparser
  File "/mnt/nfs/labstore-secondary-tools-project/wikibugs/py35-stretch/lib/python3.5/site-packages/bs4/builder/_htmlparser.py", line 7, in <module>
    from html.parser import (
ImportError: cannot import name 'HTMLParseError'
Mar 6 2019, 7:27 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

✔ wb2-irc works, now testing wb2-phab.

Mar 6 2019, 7:26 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

😊 emoji test!

Mar 6 2019, 7:24 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

And again.

Mar 6 2019, 7:23 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

Testing IRC bot

Mar 6 2019, 7:22 PM · ReleaseTaggerBot, Wikibugs
valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.

Taxonomy is re-added as crontab. Now looking at the rest of the processes.

Mar 6 2019, 7:14 PM · ReleaseTaggerBot, Wikibugs

Mar 4 2019

valhallasw added a comment to T216354: Upgrade valhallasw's tools to Stretch.

Contact converted to k8s uwsgi webservice. Notes:

Mar 4 2019, 9:21 PM · Tools
valhallasw updated the task description for T216354: Upgrade valhallasw's tools to Stretch.
Mar 4 2019, 9:13 PM · Tools

Mar 3 2019

valhallasw updated the task description for T217513: newitem.py: AttributeError: 'function' object has no attribute 'startswith'.
Mar 3 2019, 3:07 PM · Patch-For-Review, User-Zoranzoki21, good first bug, Pywikibot
valhallasw added a comment to T216355: Upgrade nlwikibots to Stretch.

Took a look at tvpmelder -- this seems more of an headache:

Mar 3 2019, 12:14 PM · Tool-nlwikibots

Mar 2 2019

valhallasw added a comment to T216355: Upgrade nlwikibots to Stretch.

I have changed the overall structure of the project directory a bit. There are now two shared virtualenvs:

Mar 2 2019, 9:34 PM · Tool-nlwikibots
valhallasw updated subscribers of T217280: LDAP server running out of memory frequently and disrupting Cloud VPS clients.

@MarcoAurelio mentioned on IRC that this also happens on login, and I could reproduce it as well:

Last login: Sat Mar  2 12:10:40 2019 from [...]
groups: cannot find name for group ID 50062
valhallasw@tools-sgebastion-07:~$ id
Mar 2 2019, 12:18 PM · cloud-services-team (Kanban), Patch-For-Review, Operations, Cloud-VPS, LDAP, Toolforge
valhallasw lowered the priority of T217472: Heavy load on all machines of toolforge -- jobs do not start from Unbreak Now! to Needs Triage.

/mnt/nfs/labstore1003-scratch also seems accessible again, so I think the problem should resolve itself now, but I think this still needs some investigation of why this happened.

Mar 2 2019, 12:00 PM · Data-Services, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T217472: Heavy load on all machines of toolforge -- jobs do not start.

labstore1006 seems to have recovered:

Mar 2 2019, 11:59 AM · Data-Services, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T217472: Heavy load on all machines of toolforge -- jobs do not start.

I'm not sure whether the Puppet are related -- the puppetmaster does not (always?) start correctly when it needs to respond to requests:

Mar 2 2019, 11:50 AM · Data-Services, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T217472: Heavy load on all machines of toolforge -- jobs do not start.

sudo mount -o remount /mnt/nfs/labstore1003-scratch does not help to bring the scratch mount back online. Note, the mount parameters changed from

Mar 2 2019, 11:42 AM · Data-Services, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T217472: Heavy load on all machines of toolforge -- jobs do not start.

The two problematic mounts are set to soft,timeo=300, which means any activity should time out after 30 seconds. But this is not consistent with what I see: ls does not time out, and there are many prometheus processes older than 30 seconds.

Mar 2 2019, 11:29 AM · Data-Services, cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T217472: Heavy load on all machines of toolforge -- jobs do not start.

Something strange is going on here. Taking tools-exec-1401 as an example:

Mar 2 2019, 11:18 AM · Data-Services, cloud-services-team (Kanban), Toolforge

Feb 20 2019

valhallasw added a comment to T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.
virtualenv -p python3 py35-stretch
~/py35-stretch/bin/pip install -r requirements.txt
# Successfully installed PyYAML-3.13 asyncio-redis-0.12.3 atomicwrites-1.3.0 attrs-18.2.0 beautifulsoup4-4.3.2 certifi-2018.11.29 chardet-3.0.4 click-6.7 docopt-0.6.2 fab-1.4.1 idna-2.8 irc3-0.5.1 more-itertools-6.0.0 pathlib2-2.3.3 pluggy-0.8.1 py-1.7.0 pytest-4.3.0 redis-2.10.3 requests-2.21.0 six-1.12.0 urllib3-1.24.1 venusian-1.2.0
Feb 20 2019, 8:12 PM · ReleaseTaggerBot, Wikibugs
valhallasw created T216650: Convert Wikibugs and ReleaseTaggerBot to stretch.
Feb 20 2019, 7:35 PM · ReleaseTaggerBot, Wikibugs

Feb 18 2019

Mahveotm awarded T60878: Report sensible error when family file cannot be loaded a Like token.
Feb 18 2019, 2:02 AM · good first bug, Pywikibot, Pywikibot-General

Feb 17 2019

valhallasw created T216355: Upgrade nlwikibots to Stretch.
Feb 17 2019, 1:48 PM · Tool-nlwikibots
valhallasw added a comment to T216354: Upgrade valhallasw's tools to Stretch.

Web tools

  • contact
    • Runs as a uWSGI Python tool, 2.7.6
    • should probably converted to an uWSGI k8s tool, possibly on Python3?
Feb 17 2019, 1:46 PM · Tools
valhallasw created T216354: Upgrade valhallasw's tools to Stretch.
Feb 17 2019, 1:07 PM · Tools

Feb 15 2019

Dalba awarded T104374: support python3 uwsgi apps a Manufacturing Defect? token.
Feb 15 2019, 7:41 AM · Cloud-Services, Toolforge

Jan 28 2019

valhallasw added a comment to T214809: wikibugs test warnings.

Reading through the bs4 changelog: https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/CHANGELOG I think this should be resolved in 4.4+. The warning seems gone with 4.7.1, so let's go to that version :-)

Jan 28 2019, 8:14 PM · Patch-For-Review, Wikibugs

Jan 27 2019

valhallasw requested review of D1141: Add .arcconfig to support arc diff.
Jan 27 2019, 2:39 PM
valhallasw added a reviewer for D1140: Add link to Toolforge admin console: bd808.
Jan 27 2019, 2:37 PM
valhallasw requested review of D1140: Add link to Toolforge admin console.
Jan 27 2019, 2:36 PM

Jan 22 2019

valhallasw added a comment to T214339: qsub job running for over 4 months on tool labs exec.

Sorry to hear that your bot was offline for 4 months. In general, a job that runs for so long is not an issue -- for example, Wikibugs regularly runs for months at a time without job resubmission.

Jan 22 2019, 8:29 PM · Toolforge

Jan 20 2019

valhallasw added a comment to T213965: Request to install exiv on Toolforge.

I fiddled around a bit with docker to try and find the minimal dependencies needed to pip install py3exiv2:

Jan 20 2019, 9:17 PM · cloud-services-team (Kanban), Toolforge
valhallasw added a comment to T122091: fixing_redirects.py / replace_links fails on links such as [[{{2001}}]].

Looking at the stack trace, the user is running a very old version of pywikibot; the use of textlib.replace_links was removed in november 2015 (8a7c42f5).

Jan 20 2019, 4:06 PM · Patch-For-Review, Pywikibot-textlib.py, Pywikibot
valhallasw changed the status of T212812: An extra blank line added below when editing a paragraph from Stalled to Open.

Hi @Inaki-LL , thank you for reporting this. I'm moving this task to the VisualEditor project; I think the maintainers of that project should be able to determine whether this is expected and if not, what can be done about it.

Jan 20 2019, 3:58 PM · VisualEditor (Current work)