Matt Flaschen is joining the Flow team -- welcome, Matt! He's finishing up
his last sprint with the Growth team, and transitioning to Flow.
*Matthias*:
Backend test for Flow search is up now on flow-tests -- it works! Very
exciting.
Today: Code review, moving patches through.
Looking at the issue that required running Erik's purge script this
weekend. Not sure what's happening. Erik says it's something being written
to cache and not database. But thought we'd already wrapped things in
transactions. If the database transaction failed, they would get an error
in their browser. Matthias has added a patch which makes failures go to log
pages.
*Shahyar*:
Do a run through code review -- lots need review.
H-8: Add (hide) to history pages -- it will be done this sprint. S says:
make sure we don't launch broken JS.
*Erik*:
Echo bugs -- Russians changed their signature, and it broke Echo. Echo is a
mess -- it uses regular expressions to find timestamp, and another to find
the link. Working on a patch to use a regular expression to find the whole
double bracket expression, and then pass that through to the title class.
That will need some testing, so we don't break mentions. Bartosz wrote some
extra tests for Russian names, which is helpful.
Also: Jared's request that Thank gets an Undo instead of a Confirm.
Back-end is easy to do, but we need some UX details. This is going to go to
backlog, we need to figure out priority of this. Matt will help with the
analytics part.
Hi,
so I noticed last week that the Flow builds were getting deprecation
warnings from the test framework saying "Locating textareas with
'#text_field' is deprecated. Please, use '#textarea' method instead."
I don't like being deprecated, but upon updating the test, to my surprise,
the page_object gem could no longer see the element.
I filed an upstream bug for this:
https://github.com/cheezy/page-object/issues/248
In the meantime, let's keep using the text_field locator as long as it
keeps working for us.
-Chris
*Erik*:
Finished up I-1: Hide topic; it's in code review.
Still need H-8 to put hide/delete/suppress on history pages.
Today we can run the script to delete old notifications past 2,000 items.
*Matthias*:
Worked on appearance of EditWatchlist bug, patch in Gerrit.
Code review for Erik patches.
Working on Fatal exception bug - MWException from AbstractQuery.php.
*Shahyar*:
Working on Pager today for this week's deployment. (That filters out
hidden/deleted topics ont the board.)
Modal improvements (I-7) are in code review.
H-8: He'll sync up with Erik to figure out what's left. Won't be ready for
this week's deployment.
*Matt*:
He'll be officially 100% on the team starting Monday.
Right now, getting to know the code, filed a bug about XML http requests.
There's going to be changes to the focus design -- it was redesigned by
May. Also difference in focus for buttons vs focus for hover.
*Erik*:
Working on Hide topic (I-1).
There are Gerrit patches up now about filtering out hidden, deleted and
suppressed topics on board pages, and a WIP patch.
This is a big card -- lots of acceptance criteria -- so it'll take a while
to work through it.
Shahyar and Erik are both working on H-8 (add hide/delete/unhide to board
history) -- It may not be completely finished by the end of the sprint, but
it sounds like we can release an iteration that will be a step in the right
direction. We'll want to look at it on ee-flow before the code freeze next
week, to make sure we don't ship something that blocks people from being
able to hide and unhide.
*Matthias*:
Close to having search working, has the patch for the config.
Shahyar's in annual review with Terry this morning.
Random script that I use regularly, thought someone else might find it
usefull. This script simply takes a filename within Echo or Flow and runs
the related tests. I bind this script to ^k in my editor to run the tests
associated with whatever file I'm currently editing.
It takes a single cli argument, a path to a php file. It will rewrite
paths like Flow/includes/Parsoid/Utils.php to
Flow/tests/phpunit/Parsoid/UtilsTest.php and run it inside vagrant. If
called with a file already within the tests/phpunit directories it just
runs it inside vagrant.
Nothing elegant but useful:
#!/bin/bash
IDENTITY=~/.vagrant.d/insecure_private_key
SOURCE=$(realpath "./$1")
# If this is not from a tests/phpunit dir, adjust so it is
if [ $(expr "$SOURCE" : '.*\tests/phpunit') -eq 0 ]; then
# Rewrites mediawiki/extensions/{NAME}/includes to
mediawiki/extensions/{NAME}/tests/phpunit
# The /includes at the end is optional to work with both Echo and Flow
SOURCE=$(echo $SOURCE | sed
's/mediawiki\/extensions\/\([^\/]\+\)\(\/includes\)\?/mediawiki\/extensions\/\1\/tests\/phpunit/'
)
# Add Test just before .php extension
SOURCE=${SOURCE/\.php/Test.php}
fi
# If the resulting source is a file or a directory, run it with phpunit
if [ -f $SOURCE -o -d $SOURCE ]; then
REMOTE=$(sed 's/^.*mediawiki/\/vagrant\/mediawiki/' <<< "$(realpath
"$SOURCE")")
echo "Running test at $REMOTE"
echo
exec ssh vagrant(a)127.0.0.1 -t -p 2222 -o LogLevel=FATAL -o
StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o
IdentitiesOnly=yes -i $IDENTITY "sudo -u www-data php5
/vagrant/mediawiki/tests/phpunit/phpunit.php $REMOTE";
else
echo No test found!
fi
*Erik*:
Deployed fix for the bug with hiding posts. The fix is live on on MW.org
now.
Worked on bug 58657 -- when a reply is too long, the cursor goes below the
fold of the page and shudders. In code review now.
Today: Working on I-1, improvements to Hide.
*Matthias*:
G-8: test search results from Flow board. This is now working, with a very
basic front-end -- you can see results. Ready to put this on a test
instance tomorrow -- he'll talk to S about where to put it.
*Shahyar*:
New modal dialog (I-7) -- there are four patches, all listed on the I-7
card. The patches are: remove the Next button, make the text area
auto-focus, remove title bar and X, disables clicking outside the modal.
All in code review now.
OOJS integration is going well -- got a lot of it done, reorganizing a lot
of files. There will be a patch up for that today.
Working through some more code review in preparation for the code freeze
today.
Summary: we'll convert some LiquidThreads conversations on mediawiki.org
into Flow boards on test2wiki. The real move off LQT depends on changing
how Flow pages are enabled, which has further dependencies.
Danny Horn, Erik Bernhardson, quiddity, and I met to talk about next steps
in moving off LiquidThreads, which is deployed on 13 wikis. We will
eventually convert all their LQT pages and threads to Flow boards and
topics.
There are inter-dependencies:
We would need to enable Flow on 8 new wikis in order to convert all those
LQT pages. (We would probably leave wikimania2010wiki as is.) Our initial
focus will be mediawiki.org.
Kill LQT on mediawiki.org means 1,500 pages become Flow boards
-> that's impractical to manage with the current PHP FlowOccupyPages
variable
So we need to replace it with a Special page to enable/disable Flow.
-> which depends on *Bug 49193*
<https://bugzilla.wikimedia.org/show_bug.cgi?id=49193> - "Add
ContentHandler columns to Wikimedia wikis, and set $wgContentHandlerUseDB =
true"
-> which hasn't completed and is blocked by bug 70901
We have a patch that replaces FlowOccupyPages with a bare-bones Special
page to change a page between wiki text and Flow board. Eventually enabling
Flow on a page is going to be a wiki administrative function, a big change
that's a win for decentralization and local decision-making. We would
restrict this Special page to Flow team on mediawiki.org at first, but
there would be pushback if we do this on other wikis.
As Andrew Werdna suggested, the Special page would eventually handle the
conversion from an LQT page to Flow, and if you disable Flow it would
convert the Flow board into wikitext. Lots to do.
In the interim we are going to focus on the script that converts a LQT page
into a Flow board. We need to show this to people who will be affected by
the change from LQT to Flow.
TODO: change current script to target a LQT page on mediawiki.org and
convert it into Flow boards and topics on test2wiki, without changing the
original.
(We'll write this conversion script so it can eventually be called from
the Special page to enable Flow.)
We'll create a "Test Zero" LQT page with Flow team members participating,
and convert that. Then we'll convert a few actual LQT pages from mw.org
onto test2wiki.
Notes on the conversion script:
* It'll produce weird results if run multiple times on the same LQT page.
* Not sure what happens to multiple thread edits.
* Conversion needs to add the converted Flow board and topics to the
watchlists of users wwho were watching the LQT page and threads.
* Conversion will create redirects for common LQT URLs, but not e.g. the
Summary namespace URLs.
* Conversion itself will not generate Echo notifications and e-mails
quiddity mentioned the following as likely concerns of LQT users after the
conversion to Flow:
* LQT TOC (we should have a nice Flow TOC soon!)
* Splitting and merging threads:
* Moving threads to a new Talk page.
* User-friendly Topic names, e.g.
Thread:Extension_talk:Flow/Appearance/reply_(6) becomes
Topic:Rylnpvcpshj9n30s#flow-post-rylnvqsqmjnng558
Project planning goes on in <
https://trello.com/c/0VP635yr/683-tracking-when-should-we-kill-lqt> and
related cards.
Cheers.
--
=S Page Features engineer
*Matthias*:
Worked on bugs today, merged some patches.
Back to search after this.
*Shahyar*:
Wrote code for handlers on history page (H-8), but it got messy. This would
be a good time to start implementing OOJS.
Today -- start modifying our base classes, so they use OOJS to initialize.
Then they can inherit off of one another, and it'll help us clean up the JS
code on the Flow board later. This should be a one-day project, although
Erik isn't sure.
S suggests -- split up into discrete patches
For new modal -- create a new card for changing modal dialog in core, and
declare victory on G-11.
I-4: Adding Flow topic actions menu in no-JS. Put up a patch for it, add
*Erik*:
Mostly working on fixing bugs yesterday. A bunch in code review, including
new topic notifications linking to the board page.
Working on 1-1: Hide updates. Working on adding a way to handle calling the
moderated topics. It means denormalizing the current moderation state.
We'll deploy the new topic notifications fixes tomorrow, to backport and
get the bugs fixed before it goes to enwiki.
*Matthias*:
Worked on bugs today, merged some patches.
Back to search after this.
*Shahyar*:
Wrote code for handlers on history page (H-8), but it got messy. This would
be a good time to start implementing OOJS.
Today -- start modifying our base classes, so they use OOJS to initialize.
Then they can inherit off of one another, and it'll help us clean up the JS
code on the Flow board later. This should be a one-day project, although
Erik isn't sure.
S suggests -- split up into discrete patches
For new modal -- create a new card for changing modal dialog in core, and
declare victory on G-11.
I-4: Adding Flow topic actions menu in no-JS. Put up a patch for it, add
*Erik*:
Mostly working on fixing bugs yesterday. A bunch in code review, including
new topic notifications linking to the board page.
Working on 1-1: Hide updates. Working on adding a way to handle calling the
moderated topics. It means denormalizing the current moderation state.
We'll deploy the new topic notifications fixes tomorrow, to backport and
get the bugs fixed before it goes to enwiki.
*Matthias*:
Worked on fatal exception noted by Nick yesterday in watchlist. This issue
is fixed, but Matthias wants to look at how the wrong title ended up
watchlisted.
Search (G-8): Plans to make Special:FlowSearch, to test the back-end
search. That page will just have a form to hold search results, so we can
see what kind of results we're getting.
Will talk to Nik and Chad in a couple days about the configuration for
elastic search. Right now, the search won't have conjugations of words,
just a straight search for keywords.
Question about the Monobook bug where new message highlights are in the
wrong place -- we don't really know what the right place is on Monobook. S
suggested that someone propose some new CSS for highlighting to run past
May and Danny.
*Shahyar*:
Modal improvements (I-7) are in code review.
Working on H-8: Add hide/delete/suppress to board history.
*Erik*:
Changing <title> to include topic name and board name (I-3) is in code
review.
Started working on I-1: Hide topic improvements. It'll take a few days.
The job to clean out old notifications (I-6) -- Erik will hold it back on
Thursday, and then put it on beta so we can test it for a week before
releasing it live.