Page MenuHomePhabricator
Search Advanced Search
Use the application-specific Advanced Search to set additional search criteria: Tasks, Commits. (More information)
    • Task
    ==== Error ==== * service.version: 1.42.0-wmf.22 * trace.id: 5a8e000f-743f-422e-8d2c-af297374bc8e * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2024-03-13T10:08:32.819Z',to:'2024-03-14T13:08:31.695Z'))&_a=(query:(query_string:(query:'reqId:%225a8e000f-743f-422e-8d2c-af297374bc8e%22'))) | Find trace.id in Logstash ]] ```name=labels.normalized_message,lines=10 [{reqId}] {exception_url} PHP Notice: unserialize(): Error at offset 65520 of 65535 bytes ``` ```name=error.stack_trace,lines=10 from /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/ThreadRevision.php(72) #0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array) #1 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/ThreadRevision.php(72): unserialize(string) #2 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/ThreadRevision.php(223): ThreadRevision::loadFromRow(stdClass) #3 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/ThreadHistoryPager.php(105): ThreadRevision->prev() #4 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/ThreadHistoryPager.php(92): ThreadHistoryPager->getActionDescription(string) #5 /srv/mediawiki/php-1.42.0-wmf.22/includes/pager/TablePager.php(209): ThreadHistoryPager->formatValue(string, string) #6 /srv/mediawiki/php-1.42.0-wmf.22/includes/pager/IndexPager.php(557): MediaWiki\Pager\TablePager->formatRow(stdClass) #7 /srv/mediawiki/php-1.42.0-wmf.22/includes/pager/IndexPager.php(594): MediaWiki\Pager\IndexPager->getRow(stdClass) #8 /srv/mediawiki/php-1.42.0-wmf.22/includes/pager/TablePager.php(120): MediaWiki\Pager\IndexPager->getBody() #9 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/Pages/ThreadHistoryListingView.php(21): MediaWiki\Pager\TablePager->getFullOutput() #10 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/LqtDispatch.php(111): ThreadHistoryListingView->show() #11 /srv/mediawiki/php-1.42.0-wmf.22/extensions/LiquidThreads/includes/LqtDispatch.php(231): LqtDispatch::threadPermalinkMain(MediaWiki\Output\OutputPage, Article, MediaWiki\Title\Title, MediaWiki\User\User, MediaWiki\Request\WebRequest) #12 /srv/mediawiki/php-1.42.0-wmf.22/includes/HookContainer/HookContainer.php(159): LqtDispatch::tryPage(MediaWiki\Output\OutputPage, Article, MediaWiki\Title\Title, MediaWiki\User\User, MediaWiki\Request\WebRequest, MediaWiki\Actions\ActionEntryPoint) #13 /srv/mediawiki/php-1.42.0-wmf.22/includes/HookContainer/HookRunner.php(2530): MediaWiki\HookContainer\HookContainer->run(string, array) #14 /srv/mediawiki/php-1.42.0-wmf.22/includes/actions/ActionEntryPoint.php(697): MediaWiki\HookContainer\HookRunner->onMediaWikiPerformAction(MediaWiki\Output\OutputPage, Article, MediaWiki\Title\Title, MediaWiki\User\User, MediaWiki\Request\WebRequest, MediaWiki\Actions\ActionEntryPoint) #15 /srv/mediawiki/php-1.42.0-wmf.22/includes/actions/ActionEntryPoint.php(510): MediaWiki\Actions\ActionEntryPoint->performAction(Article, MediaWiki\Title\Title) #16 /srv/mediawiki/php-1.42.0-wmf.22/includes/actions/ActionEntryPoint.php(145): MediaWiki\Actions\ActionEntryPoint->performRequest() #17 /srv/mediawiki/php-1.42.0-wmf.22/includes/MediaWikiEntryPoint.php(199): MediaWiki\Actions\ActionEntryPoint->execute() #18 /srv/mediawiki/php-1.42.0-wmf.22/index.php(58): MediaWiki\MediaWikiEntryPoint->run() #19 /srv/mediawiki/w/index.php(3): require(string) #20 {main} ``` ==== Impact ==== ==== Notes ==== Looks like that is solely on https://strategy.wikimedia.org/w/index.php?lqt_method=thread_history&title=Thread%3AUser_talk%3AFasten%2FDeletion_nominations and that does not prevent the page from loading :)
    • Task
    While working on T354329, I noticed that LiquidThreads only works correctly when `$wgDefaultUserOptions['lqtnotifytalk']` is set to false (or if `lqtnotifytalk` is hidden via `$wgHiddenPrefs`). Having extensions depend on specific site configuration is generally not a good idea. Implementing conditional defaults for user options (T321527) adds another assumption to the already existing ones: namely, the code would not work as expected if `lqtnotifytalk` gets listed in `wgConditionalUserOptions`. Fixing code to take conditional defaults into account was the scope of T354329; however, considering that LiquidThreads depends on site configuration in other ways and considering it is a extension with little use, I eventually decided against fixing it. See T354329#9441740 and T354329#9444475 for details. Filling this task so this gets tracked; however, it is possible LiquidThreads might be undeployed soon-ish (T350164).
    • Task
    Now that {T210206} is done, this extension should migrate away from building and passing around raw SQL to expression builders. It improves readability and security of the code and is more aligned with industry practices easing onboarding. For more information check T210206 and T350075. Calls to Database::addQuotes(), ::buildLike(), ::makeList() indicate that raw SQL is being built and passed around.
    • Task
    [[ https://www.mediawiki.org/wiki/Extension:LiquidThreads | LiquidThreads]] (LQT) is a discussion system for wiki’s talk pages. The project started in 2006 and was improved in 2009 by volunteers, the WMF made some efforts on a v3 in 2011. Nothing more has been done since then. It is still used on 5 wikis: - enwikinews - enwiktionary - huwiki - ptwikibooks - svwikisource In [[ https://docs.google.com/spreadsheets/d/1UhgSLvjqQxQlpL6GW3ghBkI88lo7LMurGynwnHKYBLI/edit#gid=0 | August 2023, on average: ]] - DiscussionTools is used about 18,780 times per day. - Flow is used about 250 times per day. - LiquidThreads is used less than once per day. ---- The work on IP masking requires significant changes for LQT, leading the Growth team to consider sunsetting LQT extensions in favor of Discussion tools -DT). Of the various solutions we'd like to discuss with the concerned communities, one is to archive or convert LQT pages to DT. The goal is to explain the possible solutions to the communities. Note: the solution adopted by translatewiki.net was to move the existing pages using LQT as an archive, and start over with DT on the main page: https://translatewiki.net/wiki/Support/LiquidThreads. LQT is not uninstalled. Possible related tasks: * {T89426} * {T107068} ---- ####Acceptance criteria [ ] The technical feasibility of simply disabling LQT is shared with @KStoller-WMF and @Trizek-WMF (AKA what would happen if we simply disabled LQT) [ ] The technical feasibility of archiving LQT boards is shared with @KStoller-WMF and @Trizek-WMF [ ] The technical feasibility of converting LQT boards is shared with @KStoller-WMF and @Trizek-WMF [ ] Feasibilities are documented at mediawiki.org relevant page(s). -- @Trizek-WMF
    • Task
    Shows as `(no description)` Shown on https://www.mediawiki.org/w/api.php?modules=threadaction
    • Task
    ``` [2023-06-19T02:31:52.287508+00:00] exception.ERROR: [d258015cf423114d64ac7d0d] [no req] PermissionsError: <strong>Your username or IP address has been blocked.</strong> [REDACTED] at /srv/mediawiki/tags/2023-06-14_13:35:46/includes/editpage/EditPage.php:998) [stacktrace] #0 /srv/mediawiki/tags/2023-06-14_13:35:46/includes/editpage/EditPage.php(676): MediaWiki\\EditPage\\EditPage->displayPermissionsError() #1 /srv/mediawiki/tags/2023-06-14_13:35:46/extensions/LiquidThreads/includes/LqtView.php(691): MediaWiki\\EditPage\\EditPage->edit() #2 /srv/mediawiki/tags/2023-06-14_13:35:46/extensions/LiquidThreads/includes/LqtView.php(409): LqtView->showReplyForm() #3 /srv/mediawiki/tags/2023-06-14_13:35:46/extensions/LiquidThreads/includes/LqtView.php(481): LqtView->doInlineEditForm() #4 /srv/mediawiki/tags/2023-06-14_13:35:46/extensions/LiquidThreads/includes/Api/ApiThreadAction.php(904): LqtView::getInlineEditForm() #5 [internal function]: MediaWiki\\Extension\\LiquidThreads\\Api\\ApiThreadAction->actionInlineEditForm() #6 /srv/mediawiki/tags/2023-06-14_13:35:46/extensions/LiquidThreads/includes/Api/ApiThreadAction.php(75): call_user_func_array() #7 /srv/mediawiki/tags/2023-06-14_13:35:46/includes/api/ApiMain.php(1913): MediaWiki\\Extension\\LiquidThreads\\Api\\ApiThreadAction->execute() #8 /srv/mediawiki/tags/2023-06-14_13:35:46/includes/api/ApiMain.php(890): ApiMain->executeAction() #9 /srv/mediawiki/tags/2023-06-14_13:35:46/includes/api/ApiMain.php(861): ApiMain->executeActionWithErrorHandling() #10 /srv/mediawiki/tags/2023-06-14_13:35:46/api.php(95): ApiMain->execute() #11 /srv/mediawiki/tags/2023-06-14_13:35:46/api.php(48): wfApiMain() #12 {main} ","exception_url":"[no req]","reqId":"d258015cf423114d64ac7d0d","caught_by":"entrypoint"} []
    • Task
    Implement the Hook system added in MediaWiki 1.35 in the extensions, see [[ https://phabricator.wikimedia.org/source/mediawiki/browse/master/docs/Hooks.md | Hooks.md ]] for documentation. [ ] Create HookRunner class and the hook handler interfaces [ ] Use hook handlers [ ] core [ ] UserMerge
    • Task
    ==== Motivation A preliminary investigation (T326759) has found that the LiquidThreads extension may be affected by IP Masking. This means that LiquidThreads will likely need to be modified to support temporary accounts such that it does not expose IP addresses after the launch of Temporary Accounts for Unregistered Editors. ===== Usage stats In [August 2023](https://docs.google.com/spreadsheets/d/1UhgSLvjqQxQlpL6GW3ghBkI88lo7LMurGynwnHKYBLI/edit#gid=0), on average: LiquidThreads was used less than once per day. ===== Where is it enabled? It is presently enabled on only on 5 Wikimedia wikis: * enwikinews * enwiktionary * huwiki * ptwikibooks * svwikisource ===== Proposed approach: The easiest approach would likely be to follow the approach for Flow (T346108). Logged out traffic can't post to LQT pages until they have either logged into an account or created a Temporary account (by editing through a different mechanism that gives them a temporary account). Provide an informative message for logged out traffic that attempts to edit LQT pages. !!Technical investigation pending!! If this approach is to be followed then the logical next steps here may look like this: [] Initiate a community conversation with the communities using LQT and let them know of our proposed approach. Provide sufficient time for assessing community feedback. [] Based on feedback, progress with disallowing unregistered editors from editing LQT without a prior temporary account. Provide an informative message for unregistered editors on LQT pages.
    • Task
    Now that {T243051} is done, this extension should migrate away from IDatabase::select() to [[https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/refs/heads/master/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php|SelectQueryBuilder]]. It would improve readability of the code, avoids mistakes by passing the wrong order of arguments, etc. For more information check T243051 and [[https://www.mediawiki.org/wiki/Manual:Database_access#SelectQueryBuilder|its documentation]]. Note that query builder is a different paradigm and changes should not be one-to-one. For example, avoid using joinConds().
    • Task
    ==== Error ==== * mwversion: `1.37.0-wmf.17` * reqId: `bd61226b-d796-4f6c-bc5a-ea319e04d45c` * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2021-08-10T15:15:56.000Z',to:'2021-08-11T18:45:39.521Z'))&_a=(query:(query_string:(query:'reqId:%22bd61226b-d796-4f6c-bc5a-ea319e04d45c%22'))) | Find reqId in Logstash ]] ```name=normalized_message [{reqId}] {exception_url} PHP Notice: Exception doing lazy updates: Exception: Thread::splitIncrementFromSubject: thread subject has no increment: ``` ```name=exception.trace,lines=10 from /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Thread.php(712) #0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array) #1 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Thread.php(712): trigger_error(string) #2 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Thread.php(638): Thread->__construct(stdClass) #3 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Thread.php(853): Thread::newFromRow(stdClass) #4 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Threads.php(84): Thread::bulkLoad(array) #5 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Threads.php(97): Threads::loadFromResult(Wikimedia\Rdbms\MysqliResultWrapper, Wikimedia\Rdbms\MaintainableDBConnRef, boolean) #6 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/Threads.php(150): Threads::where(array, array, boolean) #7 /srv/mediawiki/php-1.37.0-wmf.17/extensions/LiquidThreads/classes/LqtHooks.php(911): Threads::withRoot(WikiPage) #8 /srv/mediawiki/php-1.37.0-wmf.17/includes/HookContainer/HookContainer.php(338): LqtHooks::onGetUserPermissionsErrors(Title, User, string, string) #9 /srv/mediawiki/php-1.37.0-wmf.17/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array) #10 /srv/mediawiki/php-1.37.0-wmf.17/includes/HookContainer/HookRunner.php(4032): MediaWiki\HookContainer\HookContainer->run(string, array) #11 /srv/mediawiki/php-1.37.0-wmf.17/includes/Permissions/PermissionManager.php(504): MediaWiki\HookContainer\HookRunner->onUserCan(Title, User, string, string) #12 /srv/mediawiki/php-1.37.0-wmf.17/includes/Permissions/PermissionManager.php(464): MediaWiki\Permissions\PermissionManager->checkPermissionHooks(string, User, array, string, boolean, Title) #13 /srv/mediawiki/php-1.37.0-wmf.17/includes/Permissions/PermissionManager.php(311): MediaWiki\Permissions\PermissionManager->getPermissionErrorsInternal(string, User, Title, string) #14 /srv/mediawiki/php-1.37.0-wmf.17/includes/Permissions/UserAuthority.php(262): MediaWiki\Permissions\PermissionManager->getPermissionErrors(string, User, Title, string) #15 /srv/mediawiki/php-1.37.0-wmf.17/includes/Permissions/UserAuthority.php(208): MediaWiki\Permissions\UserAuthority->internalCan(string, string, Title, MediaWiki\Permissions\PermissionStatus) #16 /srv/mediawiki/php-1.37.0-wmf.17/includes/user/User.php(4309): MediaWiki\Permissions\UserAuthority->authorizeRead(string, Title, MediaWiki\Permissions\PermissionStatus) #17 /srv/mediawiki/php-1.37.0-wmf.17/includes/MediaWiki.php(225): User->authorizeRead(string, Title, MediaWiki\Permissions\PermissionStatus) #18 /srv/mediawiki/php-1.37.0-wmf.17/includes/MediaWiki.php(925): MediaWiki->performRequest() #19 /srv/mediawiki/php-1.37.0-wmf.17/includes/MediaWiki.php(559): MediaWiki->main() #20 /srv/mediawiki/php-1.37.0-wmf.17/index.php(53): MediaWiki->run() #21 /srv/mediawiki/php-1.37.0-wmf.17/index.php(46): wfIndexMain() #22 /srv/mediawiki/w/index.php(3): require(string) #23 {main} ``` ==== Impact ==== ==== Notes ==== * Seems to be happening to replies to just a single thread on enwikinews
    • Task
    This method is intended to convert the result of `PermissionManager::getPermissionErrors` to a Status object. With Authority, this method should no longer be needed - we can just pass `PermissionStatus` to `ApiBase::dieStatus` directly. The method doesn't have wide usage, only a few extensions, but in core the result to `RecentChange::doMarkPatrolled` is passed to it. This method should be refactored as a part of {T283220} to return status as well, then this task will get unblocked. Per https://codesearch.wmcloud.org/search/?q=errorArrayToStatus : [ ] MediaWiki Core [ ] #mediawiki-extensions-flaggedrevs [ ] #mediawiki-extensions-liquidthreads [ ] #regexblock
    • Task
    Some extension still using `EditPageBeforeEditToolbar` hook which trigger a deprecation notice and selenium are failing, which makes the whole extension broken. - `@deprecated 1.36 Use one of the many other EditPage hooks instead` - T278563 Search: https://codesearch.wmcloud.org/search/?q=%5CbEditPageBeforeEditToolbar%5Cb&i=nope&files=&excludeFiles=&repos= [x] TinyMCE (now fixed in Version 1.1 released May 26, 2021) [ ] JsonData [ ] LiquidThreads (running the hook, not using it)
    • Task
    ``` [2021-02-15T09:12:00.537254+00:00] exception.ERROR: [5a1c5f81aa5b5681908b2cf7] /w/i.php?action=history&title=Thread%3AProject%3ATranslator%2F_as_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%E2%80%93_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%282%29%2Freply_%284%29 MWException: No root in LqtView::permalinkData {"exception":"[object] (MWException(code: 0): No root in LqtView::permalinkData at /srv/mediawiki/tags/2021-02-10_14:54:04/extensions/LiquidThreads/classes/View.php:121) [stacktrace] #0 /srv/mediawiki/tags/2021-02-10_14:54:04/extensions/LiquidThreads/classes/View.php(142): LqtView::permalinkData(Object(Thread), 'thread_history', NULL) #1 /srv/mediawiki/tags/2021-02-10_14:54:04/extensions/LiquidThreads/pages/IndividualThreadHistoryView.php(22): LqtView::permalink(Object(Thread), 'View history fo...', 'thread_history') #2 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/HookContainer/HookContainer.php(333): IndividualThreadHistoryView->customizeSubtitle(Object(Article), Object(RequestContext)) #3 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/HookContainer/HookContainer.php(140): MediaWiki\\HookContainer\\HookContainer->callLegacyHook('PageHistoryBefo...', Array, Array, Array) #4 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/HookContainer/HookRunner.php(2829): MediaWiki\\HookContainer\\HookContainer->run('PageHistoryBefo...', Array) #5 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/actions/HistoryAction.php(294): MediaWiki\\HookContainer\\HookRunner->onPageHistoryBeforeList(Object(Article), Object(RequestContext)) #6 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/actions/FormlessAction.php(48): HistoryAction->onView() #7 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/MediaWiki.php(532): FormlessAction->show() #8 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/MediaWiki.php(316): MediaWiki->performAction(Object(Article), Object(Title)) #9 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/MediaWiki.php(944): MediaWiki->performRequest() #10 /srv/mediawiki/tags/2021-02-10_14:54:04/includes/MediaWiki.php(548): MediaWiki->main() #11 /srv/mediawiki/tags/2021-02-10_14:54:04/index.php(53): MediaWiki->run() #12 /srv/mediawiki/tags/2021-02-10_14:54:04/index.php(46): wfIndexMain() #13 {main} ","exception_url":"/w/i.php?action=history&title=Thread%3AProject%3ATranslator%2F_as_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%E2%80%93_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%282%29%2Freply_%284%29","reqId":"5a1c5f81aa5b5681908b2cf7","caught_by":"entrypoint"} [] ``` Reproducable by visiting https://translatewiki.net/w/i.php?action=history&title=Thread%3AProject%3ATranslator%2F_as_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%E2%80%93_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%282%29%2Freply_%284%29
    • Task
    After {T272770} I decided to write some scripts to find hook handlers that actually don't have a runner. I found `AbortMove` hook which is actively being used in [[https://codesearch.wmcloud.org/search/?q=AbortMove&i=nope&files=&excludeFiles=&repos=|four different extensions]] actually [[https://gerrit.wikimedia.org/g/mediawiki/core/+/9a1fdffe3af13610c14d8f5da49cf1b9d0b14726/HISTORY#7247|was removed in 1.25 ]] (why this is in "Bug fixes" section?) Its usages need to move to another hook.
    • Task
    The `ApiThreadAction` class in liquid threads extends the `ApiEditPage` class in core The `ApiEditPage` class is not stable to extend This led to {T264200} when switching the ApiEditPage class to dependency injection Recomendation: Rewrite ApiThreadAction to avoid using ApiEditPage
    • Task
    === Error === `MediaWiki version:` **`1.36.0-wmf.2`** ```name=message PHP Notice: unserialize(): Error at offset 65519 of 65535 bytes ``` === Impact === Noticed a few of these today, while monitoring logs for breakage from this week's train. Not enough to be a train blocker at this volume, however, on the principle that every non-blocker error log message adds friction for the train, I'm reporting this in the hope someone will prevent this from happening again. === Notes ===
    • Task
    **Steps to Reproduce**: 1. Go to https://translatewiki.net/wiki/User_talk:Abijeet_Patro#Test_talk_page_57850 2. Try to Delete the thread **Actual Results**: Encountered a fatal exception. ``` Fatal exception of type "Exception" ``` **Expected Results**: The thread should be deleted **Exception details**: ``` [2020-06-29 06:27:11] exception.ERROR: [c9e9a8a3052338c6bfac7113] /w/i.php?title=Thread:User_talk:Abijeet_Patro/Test_talk_page&action=delete Exception from line 1125 of /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/Thread.php: Post 57851 has contaminated reply 57852. Expected 57851, got 57850 {"exception":"[object] (Exception(code: 0): Post 57851 has contaminated reply 57852. Expected 57851, got 57850 at /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/Thread.php:1125) [stacktrace] #0 /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/Thread.php(1142): Thread->checkReplies(Array) #1 /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/DeletionController.php(48): Thread->replies() #2 /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/DeletionController.php(51): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Parent thread d...', Object(User)) #3 /srv/mediawiki/tags/2020-06-24_21:07:10/extensions/LiquidThreads/classes/DeletionController.php(30): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Parent thread d...', Object(User)) #4 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/HookContainer/HookContainer.php(320): LqtDeletionController::onArticleDeleteComplete(Object(WikiPage), Object(User), 'Parent thread d...', 6552295, Object(WikitextContent), Object(ManualLogEntry), 1) #5 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/HookContainer/HookContainer.php(131): MediaWiki\\HookContainer\\HookContainer->callLegacyHook('ArticleDeleteCo...', Array, Array, Array) #6 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/HookContainer/HookRunner.php(732): MediaWiki\\HookContainer\\HookContainer->run('ArticleDeleteCo...', Array) #7 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/page/WikiPage.php(2938): MediaWiki\\HookContainer\\HookRunner->onArticleDeleteComplete(Object(WikiPage), Object(User), 'content was: \"T...', 6552295, Object(WikitextContent), Object(ManualLogEntry), 1) #8 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/page/WikiPage.php(2774): WikiPage->doDeleteArticleBatched('content was: \"T...', false, Object(User), Array, 'delete', false) #9 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/page/Article.php(2145): WikiPage->doDeleteArticleReal('content was: \"T...', NULL, false, NULL, '', Object(User), Array, 'delete', false) #10 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/page/Article.php(1899): Article->doDelete('content was: \"T...', false) #11 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/actions/DeleteAction.php(41): Article->delete() #12 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/MediaWiki.php(527): DeleteAction->show() #13 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/MediaWiki.php(313): MediaWiki->performAction(Object(Article), Object(Title)) #14 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/MediaWiki.php(986): MediaWiki->performRequest() #15 /srv/mediawiki/tags/2020-06-24_21:07:10/includes/MediaWiki.php(543): MediaWiki->main() #16 /srv/mediawiki/tags/2020-06-24_21:07:10/index.php(47): MediaWiki->run() #17 {main} ","exception_id":"c9e9a8a3052338c6bfac7113","exception_url":"/w/i.php?title=Thread:User_talk:Abijeet_Patro/Test_talk_page&action=delete","caught_by":"entrypoint"} [] ``` **Instance details:** - Mediawiki core @ 4f4a998832fe6f2620ab83138c631fb2763fbea8 - Liquid Threads @ c81e40140d079af20c2ec2ed7ff1f1a289f7b89c
    • Task
    **Steps to reproduce:** Create a thread using quotes in the title such as https://translatewiki.net/wiki/Thread:Portal_talk:Es/Evitar_%22lista_blanca%22_y_%22lista_negra%22 Now fetch `Special:RecentChanges` **Actual results:** ```counterexample Portal talk:Es 11:06 ‎MarcoAurelio discusión contribs. bloquear publicó un hilo nuevo, «Evitar &quot;lista blanca&quot; y &quot;lista negra&quot;»‎ (Buenos días. Conforme a https://phabricator.wikimedia.org/T254646 se están cambiando los nombres de los mensajes y los contenidos de los mismos que usan las palabras "lista blanca" o "lista negra" po…) ``` **Expected results:** Quotes are parsed correctly: ``` Portal talk:Es 11:06 ‎MarcoAurelio discusión contribs. bloquear publicó un hilo nuevo, «Evitar "lista blanca" y "lista negra"»‎ (Buenos días. Conforme a https://phabricator.wikimedia.org/T254646 se están cambiando los nombres de los mensajes y los contenidos de los mismos que usan las palabras "lista blanca" o "lista negra" po…) ``` **Software details et al.:** * Project: https://translatewiki.net/ * MediaWiki: 1.35.0-alpha * LiquidThreads: 2.3-alpha * UI Language: es - Spanish * Skin: MonoBook
    • Task
    # LiquidThreads extension Analise where Article (not WikiPage) is really needed. ##Expected result [] use WikiPage instead of multiple types of argument Page|WikiPage|Article [] use WikiPage instead of Article where is enough (after research and confirmation) Examples: \Threads::synchroniseArticleData() WikipPage is enough: \Threads::withSummary \Threads::articleClause \Threads::newThreadTitle Done: \Threads::withRoot() https://phabricator.wikimedia.org/T251360
    • Task
    **Steps to Reproduce**: 1. Open a support thread 2. Summarize it by entering a summary 3. Save **Actual Results**: Expect the summary to appear on the thread. **Expected Results**: I don't see the summary appear on the thread. **More information**: I've summarized this thread here - https://translatewiki.net/wiki/Thread:Support/Username_change_(5) with the summary here - https://translatewiki.net/wiki/Summary:Support/Username_change_(5)_(3), but it doesn't appear on the thread. Summary seemed to have worked around 22nd Dec, last year at this time: https://translatewiki.net/wiki/Summary:Support/Request_to_enable_localization_for_Ghotuo,_as_per_Translatewiki.net_languages
    • Task
    Looks like we hit the exception added in {rELQTa91f43c894439e70a1c9674c1a37932ad8c97ae1} I didn't see anything in WMF Logstash nor any suspicious recent changes in LQT itself. Maybe not recently introduced error. ``` [2019-10-31 04:18:35] error.WARNING: [aa9df05a8c6ccf5e2e4aca5a] /w/api.php?action=feedthreads&type=replies%7Cnewthreads&thread=Thread%3AUser+talk%3A%E1%83%9B%E1%83%90%E1%83%A0%E1%83%92%E1%83%90%E1%83%9A%E1%83%9D%E1%83%9C%E1%83%90%2FTranslation+request+for+Georgian&feedformat=atom ErrorException from line 593 of /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php: PHP Notice: Exception doing lazy updates: Exception: synchroniseArticleData called on null article in /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php:308 Stack trace: #0 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(968): Threads::synchroniseArticleData(NULL, 100, 'cascade') #1 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(591): Thread->doLazyUpdates() #2 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(519): Thread->__construct(Object(stdClass)) #3 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(729): Thread::newFromRow(Object(stdClass)) #4 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(97): Thread::bulkLoad(Array) #5 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(104): Threads::loadFromResult(Object(Wikimedia\Rdbms\ResultWrapper), Object(Wikimedia\Rdbms\MaintainableDBConnRef), true) #6 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(157): Threads::where(Array, Array, true) #7 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(187): Threads::withRoot(Object(Article)) #8 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(58): ApiFeedLQTThreads->getConditions(Array, Object(Wikimedia\Rdbms\MaintainableDBConnRef)) #9 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(1603): ApiFeedLQTThreads->execute() #10 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(539): ApiMain->executeAction() #11 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(510): ApiMain->executeActionWithErrorHandling() #12 /srv/mediawiki/tags/2019-10-30_14:28:46/api.php(83): ApiMain->execute() #13 {main} {"exception":"[object] (ErrorException(code: 0): PHP Notice: Exception doing lazy updates: Exception: synchroniseArticleData called on null article in /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php:308 Stack trace: #0 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(968): Threads::synchroniseArticleData(NULL, 100, 'cascade') #1 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(591): Thread->doLazyUpdates() #2 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(519): Thread->__construct(Object(stdClass)) #3 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(729): Thread::newFromRow(Object(stdClass)) #4 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(97): Thread::bulkLoad(Array) #5 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(104): Threads::loadFromResult(Object(Wikimedia\\Rdbms\\ResultWrapper), Object(Wikimedia\\Rdbms\\MaintainableDBConnRef), true) #6 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(157): Threads::where(Array, Array, true) #7 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(187): Threads::withRoot(Object(Article)) #8 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(58): ApiFeedLQTThreads->getConditions(Array, Object(Wikimedia\\Rdbms\\MaintainableDBConnRef)) #9 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(1603): ApiFeedLQTThreads->execute() #10 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(539): ApiMain->executeAction() #11 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(510): ApiMain->executeActionWithErrorHandling() #12 /srv/mediawiki/tags/2019-10-30_14:28:46/api.php(83): ApiMain->execute() #13 {main} at /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php:593) [stacktrace] #0 [internal function]: MWExceptionHandler::handleError(1024, 'Exception doing...', '/srv/mediawiki/...', 593, Array) #1 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(593): trigger_error('Exception doing...') #2 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(519): Thread->__construct(Object(stdClass)) #3 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(729): Thread::newFromRow(Object(stdClass)) #4 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(97): Thread::bulkLoad(Array) #5 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(104): Threads::loadFromResult(Object(Wikimedia\\Rdbms\\ResultWrapper), Object(Wikimedia\\Rdbms\\MaintainableDBConnRef), true) #6 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(157): Threads::where(Array, Array, true) #7 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(187): Threads::withRoot(Object(Article)) #8 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/api/ApiFeedLQTThreads.php(58): ApiFeedLQTThreads->getConditions(Array, Object(Wikimedia\\Rdbms\\MaintainableDBConnRef)) #9 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(1603): ApiFeedLQTThreads->execute() #10 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(539): ApiMain->executeAction() #11 /srv/mediawiki/tags/2019-10-30_14:28:46/includes/api/ApiMain.php(510): ApiMain->executeActionWithErrorHandling() #12 /srv/mediawiki/tags/2019-10-30_14:28:46/api.php(83): ApiMain->execute() #13 {main} ","exception_id":"aa9df05a8c6ccf5e2e4aca5a","exception_url":"/w/api.php?action=feedthreads&type=replies%7Cnewthreads&thread=Thread%3AUser+talk%3A%E1%83%9B%E1%83%90%E1%83%A0%E1%83%92%E1%83%90%E1%83%9A%E1%83%9D%E1%83%9C%E1%83%90%2FTranslation+request+for+Georgian&feedformat=atom","caught_by":"mwe_handler"} [] [31-Oct-2019 04:18:35 UTC] PHP Notice: Exception doing lazy updates: Exception: synchroniseArticleData called on null article in /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php:308 Stack trace: #0 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(968): Threads::synchroniseArticleData(NULL, 100, 'cascade') #1 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(591): Thread->doLazyUpdates() #2 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(519): Thread->__construct(Object(stdClass)) #3 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php(729): Thread::newFromRow(Object(stdClass)) #4 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(97): Thread::bulkLoad(Array) #5 /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Threads.php(104): Threads::loadFromResult(Object(Wikimedia\Rdbms\ResultWrapper), Object(Wikimedia\Rdbms\Maintainab in /srv/mediawiki/tags/2019-10-30_14:28:46/extensions/LiquidThreads/classes/Thread.php on line 593 ```
    • Task
    Steps to reproduce: Go to https://www.mediawiki.org/wiki/Special:PrefixIndex?prefix=Project%3ACurrent+issues%2F&namespace=90&hideredirects=1&stripprefix=1 Select the one link, to https://www.mediawiki.org/wiki/Thread:Project:Current_issues/User:MZMcBride_and_sysopping_of_User:Fram/reply_(61) Expected result: https://www.mediawiki.org/wiki/Thread:Project:Current_issues/User:MZMcBride_and_sysopping_of_User:Fram/reply_(61) displays something Actual result: ``` No such thread The thread you specified does not exist. ```
    • Task
    As reported by @Krinkle on T207530, it is not possible to delete https://www.mediawiki.org/w/index.php?title=Thread:Project:Support_desk/no_respond_to_any_clicks/actions.&action=history . I reproduced this with X-Wikimedia-Debug: log enabled. The issue occurs in Thread::delete(), which uses an unindexed query to attempt to delete rows from user_message_state: ```lang=php $dbw->delete( 'user_message_state', [ 'ums_thread' => $this->id() ], __METHOD__ ); ``` Table definition: ``` CREATE TABLE `user_message_state` ( `ums_user` int(10) unsigned NOT NULL DEFAULT '0', `ums_thread` int(8) unsigned NOT NULL DEFAULT '0', `ums_read_timestamp` varbinary(14) DEFAULT NULL, `ums_conversation` int(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`ums_user`,`ums_thread`), KEY `ums_user_conversation` (`ums_user`,`ums_conversation`) ) ENGINE=InnoDB DEFAULT CHARSET=binary ``` You can see that there is no index on ums_thread. The table has 8M rows on mediawikiwiki. Log snippet: ``` 2018-12-14 05:02:27 [XBM5WwpAIHsAAAQ486oAAAAS] mwdebug1001 mediawikiwiki 1.33.0-wmf.8 DBPerformance WARNING: Expectation (writeQueryTime <= 1) by MediaWiki::main not met (actual: 5.3960931301117): query-m: DELETE FROM `user_message_state` WHERE ums_thread = 'X' [TRX#64d9be] #0 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/TransactionProfiler.php(231): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated() #1 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(1296): Wikimedia\Rdbms\TransactionProfiler->recordQueryCompletion() #2 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(1193): Wikimedia\Rdbms\Database->doProfiledQuery() #3 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(2954): Wikimedia\Rdbms\Database->query() #4 /srv/mediawiki/php-1.33.0-wmf.8/extensions/LiquidThreads/classes/Thread.php(364): Wikimedia\Rdbms\Database->delete() #5 /srv/mediawiki/php-1.33.0-wmf.8/extensions/LiquidThreads/classes/DeletionController.php(22): Thread->delete() #6 /srv/mediawiki/php-1.33.0-wmf.8/includes/Hooks.php(174): LqtDeletionController::onArticleDeleteComplete() #7 /srv/mediawiki/php-1.33.0-wmf.8/includes/Hooks.php(202): Hooks::callHook() #8 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/WikiPage.php(2794): Hooks::run() #9 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/WikiPage.php(2639): WikiPage->doDeleteArticleBatched() #10 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/Article.php(2071): WikiPage->doDeleteArticleReal() #11 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/Article.php(1826): Article->doDelete() #12 /srv/mediawiki/php-1.33.0-wmf.8/includes/actions/DeleteAction.php(46): Article->delete() #13 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(501): DeleteAction->show() #14 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(294): MediaWiki->performAction() #15 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(862): MediaWiki->performRequest() #16 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(517): MediaWiki->main() #17 /srv/mediawiki/php-1.33.0-wmf.8/index.php(42): MediaWiki->run() #18 /srv/mediawiki/w/index.php(3): include() #19 {main} {"measure":"writeQueryTime","max":1,"by":"MediaWiki::main","actual":5.3960931301117,"query":"query-m: DELETE FROM `user_message_state` WHERE ums_thread = 'X' [TRX#64d9be]"} 2018-12-14 05:02:27 [XBM5WwpAIHsAAAQ486oAAAAS] mwdebug1001 mediawikiwiki 1.33.0-wmf.8 DBQuery DEBUG: DELETE FROM `user_message_state` WHERE ums_thread = '27694' {"method":"Thread::delete","master":true,"runtime":5.3912460803986} ```
    • Task
    **Steps to reproduce** # Edit fragment of talk page which have LiquidThread # Save Edit **Actual results** After edit, LiquidThread no show content of the fragment. It shows only line: {F25595321} **Expected results** After edit, LiquidThread have to show content of the fragment.
    • Task
    LiquidThreads has been live for a long time, however we have some potential replacements candidates now (e.g. #structureddiscussions), and having to maintain 2 alternatives is wasteful for our limited resources. **Maintainers** [[ https://www.mediawiki.org/wiki/Developers/Maintainers | Developers/Maintainers ]] says "translatewiki.net staff (de facto)" **Number, severity, and age of known and confirmed security issues** Nothing in particular. **Was it a cause of production outages or incidents?** None documented. **Does it have sufficient hardware resources for now and the near future (to take into account expected usage growth)?** Yes. **Is it a frequent cause of monitoring alerts that need action, and are they addressed timely and appropriately?** No. **When it was first deployed to Wikimedia production** 2009? **Usage statistics based on audience(s) served** Actively used on enwikinews and enwiktionary, abandoned on huwiki (last thread modification dates back to May 2017). Outside Wikimedia, it's actively used on several large or mid-sized recently upgraded wikis such as [[https://translatewiki.net/wiki/Special:RecentChanges?namespace=90|translatewiki.net]], [[https://userbase.kde.org/index.php?namespace=90&translations=filter&trailer=&title=Special%3ARecentChanges|UserBase KDE]], [[https://www.elinux.org/index.php?title=Special:RecentChanges&days=365&from=&namespace=90|elinux.org]], [[http://tieteentermipankki.fi/mediawiki/index.php?title=Toiminnot:Tuoreet_muutokset&days=365&from=&namespace=90|TTP]], [[https://thwiki.cc/index.php?title=%E7%89%B9%E6%AE%8A:%E6%9C%80%E8%BF%91%E6%9B%B4%E6%94%B9&days=30&from=&namespace=90&limit=500|thwiki.cc]] and [[https://www.wikiskripta.eu/index.php?namespace=90&tagfilter=&title=Speci%C3%A1ln%C3%AD%3APosledn%C3%AD+zm%C4%9Bny|wikiskripta]]; it still stores significant history on [[http://wiki.bayernflora.de/w/index.php?title=Spezial%3AAlle+Seiten&from=&to=&namespace=90|bayernflora]], [[https://sv.wikimini.org/wiki/Special:Alla_sidor?from=&to=&namespace=90|wikimini.org]], [[http://portland.wiki/index.php?title=Special:AllPages&from=&namespace=90|PortlandWiki]], [[https://pcgamingwiki.com/wiki/Special:AllPages?from=&to=&namespace=90|PC gaming wiki]]. **Changes committed in last 1, 3, 6, and 12 months** 1 month: 1. 3 months: 8. 6 months: 14. 12 months: 30+. **Reliance on outdated platforms** - jQuery UI **Number of developers who committed code in the last 1, 3, 6, and 12 months** 1 month: 1. 3 months: 7. 6 months: 9. 12 months: 10. **Number and age of open patches** 3, dating back to July 2017 **Number and age of open bugs** 200+, dating back to 2008 **Number of known dependencies?** None **Is there a replacement/alternative for the feature? Is there a plan for a replacement?** There is Structured Discussions (Flow). We don't need to maintain two things that do the same.
    • Task
    **Setup** - MediaWiki 1.27.4 (d314c84) 01:07, 9 December 2017 - PHP 7.0.22-0ubuntu0.16.04.1 (apache2handler) - MySQL 5.7.20-0ubuntu0.16.04.1 - Liquid Threads 2.2-alpha (0a16469) 22:43, 31 January 2017 **Issue** A database query error has occurred. This may indicate a bug in the software. The reason for this to happen is that the contents of the thread is inserted uncut to the field "Other/additional reason:". Thus the contents is too long. //Query:// ```lang=sql INSERT INTO `thread_history` (th_id,th_thread,th_timestamp,th_user,th_user_text,th_change_type,th_change_object,th_change_comment,th_content) VALUES (NULL,'2501','20171227170705','74','Kghbln','4','2501','Unnecessary page: content was: \"Hi everyone, I am translating the system messages in Translatewiki.net to Spanish. During the translation I found an error i...\", and the only contributor was \"[[Special:Contributions/Ivanhercaz|Ivanhercaz]]\" ([[User talk:Ivanhercaz|talk]])','O:6:\"Thread\":26:{s:9:\"\0*\0rootId\";s:5:\"14004\";s:12:\"\0*\0articleId\";s:4:\"3334\";s:12:\"\0*\0summaryId\";N;s:13:\"\0*\0ancestorId\";s:1:\"0\";s:11:\"\0*\0parentId\";N;s:14:\"\0*\0superthread\";N;s:11:\"\0*\0ancestor\";r:1;s:19:\"\0*\0articleNamespace\";s:1:\"4\";s:15:\"\0*\0articleTitle\";s:16:\"Community_portal\";s:11:\"\0*\0modified\";s:14:\"20171227170705\";s:10:\"\0*\0created\";s:14:\"20171225214016\";s:10:\"\0*\0sortkey\";s:14:\"20171227170705\";s:5:\"\0*\0id\";s:4:\"2501\";s:7:\"\0*\0type\";i:2;s:10:\"\0*\0subject\";s:36:\"English error in the system messages\";s:11:\"\0*\0authorId\";s:4:\"3092\";s:13:\"\0*\0authorName\";s:10:\"Ivanhercaz\";s:12:\"\0*\0signature\";s:62:\"[[User:Ivanhercaz|Ivanhercaz]] ([[User talk:Ivanhercaz|talk]])\";s:16:\"\0*\0allDataLoaded\";N;s:15:\"\0*\0isHistorical\";b:0;s:15:\"\0*\0rootRevision\";N;s:10:\"editedness\";s:1:\"0\";s:10:\"\0*\0editors\";N;s:10:\"\0*\0replies\";a:0:{}s:12:\"\0*\0reactions\";N;s:10:\"replyCount\";s:1:\"0\";}') ``` //Function:// ThreadRevision::insert //Error:// 1406 Data too long for column 'th_change_comment' at row 1 (localhost) **Backtrace** ``` #0 /../w/includes/db/Database.php(901): DatabaseBase->reportQueryError('Data too long f...', 1406, 'INSERT INTO `t...', 'ThreadRevision:...', false) #1 /../w/includes/db/Database.php(1467): DatabaseBase->query('INSERT INTO `t...', 'ThreadRevision:...') #2 /../w/extensions/LiquidThreads/classes/ThreadRevision.php(99): DatabaseBase->insert('`thread_history...', Array, 'ThreadRevision:...') #3 /../w/extensions/LiquidThreads/classes/ThreadRevision.php(88): ThreadRevision->insert() #4 /../w/extensions/LiquidThreads/classes/Thread.php(188): ThreadRevision::create(Object(Thread), 4, Object(Thread), 'Unnecessary pag...') #5 /../w/extensions/LiquidThreads/classes/Thread.php(345): Thread->commitRevision(4, Object(Thread), 'Unnecessary pag...') #6 /../w/extensions/LiquidThreads/classes/DeletionController.php(22): Thread->delete('Unnecessary pag...') #7 /../w/includes/Hooks.php(195): LqtDeletionController::onArticleDeleteComplete(Object(WikiPage), Object(User), 'Unnecessary pag...', 14004, Object(WikitextContent), Object(ManualLogEntry)) #8 /../w/includes/page/WikiPage.php(2950): Hooks::run('ArticleDeleteCo...', Array) #9 /../w/includes/page/Article.php(1896): WikiPage->doDeleteArticleReal('Unnecessary pag...', false, 0, true, '', Object(User)) #10 /../w/includes/page/Article.php(1714): Article->doDelete('Unnecessary pag...', false) #11 /../w/includes/actions/DeleteAction.php(54): Article->delete() #12 /../w/includes/MediaWiki.php(493): DeleteAction->show() #13 /../w/includes/MediaWiki.php(288): MediaWiki->performAction(Object(Article), Object(Title)) #14 /../w/includes/MediaWiki.php(735): MediaWiki->performRequest() #15 /../w/includes/MediaWiki.php(509): MediaWiki->main() #16 /../w/index.php(43): MediaWiki->run() #17 {main} ``` **Solution** The interim solution to mitigate this issue is to reduce the lenght of the content added to field "Other/additional reason:" when deleting a thread to an acceptable lenght. It will e.g. be nice if there is a size limit imposed by the software.
    • Task
    Possibly related to {T111088}: when editing a LiquidThreads message, the edit checkboxes in editoptions are on separate lines and the edit summary field no longer takes all the space available: {F7850968} Another page's action=edit on translatewiki.net: {F7852129}
    • Task
    Seen after https://translatewiki.net/w/i.php?title=User_talk:Putputi&oldid=7297027 : a user talk page edit triggers the user message indicator, which however links Special:NewMessages, which is empty because no new thread/thread reply was created.
    • Task
    (From https://www.mediawiki.org/wiki/Talk:Flow/Mediawikiwiki_LQT_conversion_process by @SPage) The LQT conversion on mw.org seems to have given many pages a description > Previous page history was archived for backup purposes at SOME_NS talk:Page name/LQT Archive 1 even when this archive has no topics and hence no history except "Page got LQT-ified" (and then the changes by Flow talk page manager to archive and Flowify it). See for example the page [[https://www.mediawiki.org/wiki/Extension_talk:WikibaseLib/LQT_Archive_1 |Extension talk:WikibaseLib/LQT Archive 1]] and [[https://www.mediawiki.org/w/index.php?title=Extension_talk:WikibaseLib/LQT_Archive_1&action=history |its history]]. There's nothing in the archive page, nothing of value in its history, so the useless archive link should be removed. Is this by design? Is there a way to run a script to detect and delete this confusing reference when there's nothing worth finding in the archive and its history? Is there a replacement template for this case? (I suggest `{{EMPTY LQT page converted to Flow}}`, which takes the same parameters as {{[[https://www.mediawiki.org/wiki/Template:LQT_page_converted_to_Flow| LQT page converted to Flow]]}} but does nothing.)
    • Task
    In Liquidthreads, the "More" pulldown menu after each message, or the menu at the top of each thread, should have a "Mark as read" selection. It is nice to have it standing out at the "new messages" list but if one happens to have a thread in another context, one needs that functionality, too.
    • Task
    Liquidthread warns not to use ~~~~ in summary texts despite they are not automatically signed.
    • Task
    Running it on hhvm, we now get slow query warnings, which is nice: ``` [Thu Aug 13 01:45:00 2015] [hphp] [9433:7f7d61b28d00:0:000001] [] SlowTimer [11122ms] at runtime/ext_mysql: slow query: SELECT /* EchoBatchRowIterator::next 127.0.0.1 */ ums_user FROM `user_message_state` WHERE ums_conversation = '44024' AND ums_read_timestamp IS NULL ORDER BY ums_user ASC LIMIT 500 [Thu Aug 13 01:45:53 2015] [hphp] [9433:7f7d61b28d00:0:000002] [] SlowTimer [11812ms] at runtime/ext_mysql: slow query: SELECT /* EchoBatchRowIterator::next 127.0.0.1 */ ums_user FROM `user_message_state` WHERE ums_conversation = '44024' AND ums_read_timestamp IS NULL AND (( ums_user > '12700' )) ORDER BY ums_user ASC LIMIT 500 [Thu Aug 13 01:46:46 2015] [hphp] [9433:7f7d61b28d00:0:000003] [] SlowTimer [12859ms] at runtime/ext_mysql: slow query: SELECT /* EchoBatchRowIterator::next 127.0.0.1 */ ums_user FROM `user_message_state` WHERE ums_conversation = '44024' AND ums_read_timestamp IS NULL AND (( ums_user > '24271' )) ORDER BY ums_user ASC LIMIT 500 ``` Table definition (including indices) in production: ``` > SHOW CREATE TABLE user_message_state; +--------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +--------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | user_message_state | CREATE TABLE `user_message_state` ( `ums_user` int(10) unsigned NOT NULL DEFAULT '0', `ums_thread` int(8) unsigned NOT NULL DEFAULT '0', `ums_read_timestamp` varbinary(14) DEFAULT NULL, `ums_conversation` int(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`ums_user`,`ums_thread`), KEY `ums_user_conversation` (`ums_user`,`ums_conversation`) ) ENGINE=InnoDB DEFAULT CHARSET=binary | +--------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec) ``` It doesn't do this for every topic, BTW.
    • Task
    Because of {T107879), I checked to see if there were other such problems: The only three are: de - Thema nl - Onderwerp pt - Tópico Of these, only pt (the one we already hit) should affect us in production, due to the small number of places LiquidThreads is enabled.
    • Task
    thread_reaction apparently has a user name field, but no rename support. I don't know if this feature is actually active anywhere. See https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FLiquidThreads.git/7dab2acbd0d554053ce79e18fa21387e424a705d/lqt.sql#L98 and https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FLiquidThreads.git/7dab2acbd0d554053ce79e18fa21387e424a705d/classes%2FHooks.php#L282
    • Task
    This morning I received two email notifications, one for the move of a thread and one for its creation. The creation happened over a month ago and was already notified to me. See https://translatewiki.net/w/i.php?title=Thread:Support/About_MediaWiki:Apihelp-query%2Bextracts-param-sectionformat/en&lqt_method=thread_history ``` Ciao Nemo bis, questo messaggio ti è stato inviato da translatewiki.net per segnalarti che un nuovo thread su Translating talk:MediaWiki, 'About [[MediaWiki:Apihelp-query+extracts-param-sectionformat/en]]', è stato creato il 12 apr 2015 alle 07:10 da Purodha. Puoi leggerlo a <https://translatewiki.net/w/i.php?title=Translating_talk:MediaWiki&offset=20150412051002&lqt_mustshow=45352#About_[[MediaWiki:Apihelp-query+extracts-param-sectionformat/en]]_45352> Il testo è: Assuming that we should not translate: plain wiki raw then that should be [[MediaWiki:Apihelp-query+extracts-param-sectionformat/qqq|documented]]. See also: [[Thread:Support/About MediaWiki:Apihelp-sitematrix-param-state/ksh]]. ``` and: ``` Ciao Nemo bis, questo messaggio ti è stato inviato da translatewiki.net per segnalarti che un nuovo thread su Support, 'About [[MediaWiki:Apihelp-query+extracts-param-sectionformat/en]]', è stato creato il 12 apr 2015 alle 07:10 da Liuxinyu970226. Puoi leggerlo a <https://translatewiki.net/w/i.php?title=Support&offset=20150412051002&lqt_mustshow=45874#About_[[MediaWiki:Apihelp-query+extracts-param-sectionformat/en]]_45874> Il testo è: #REDIRECT [[Thread:Support/About MediaWiki:Apihelp-query+extracts-param-sectionformat/en]] ```
    • Task
    On mediawiki.org, since this week, posting any reply to a LiquidThread message causes the message to disappear, although the message is posted. Steps to reproduce: # Go to https://www.mediawiki.org/wiki/LiquidThreads_Test_Page # Reply to a message. Write a comment and hit the save button Expected results: * The message is added to the current thread, hiding the edit area Actual results: * The edit area disappears, and the message is not added to the current thread, although the message has been saved. Reloading the page displays the message. * The error console displays an error: ``` // Update reply links var threadWrapper = $( threadContainer ).closest( '.lqt_thread' )[0]; var threadId = threadWrapper.id.substring( prefixLength ); ^ ``` >TypeError: threadWrapper is undefined [[https://github.com/wikimedia/mediawiki-extensions-LiquidThreads/blob/285a46ea8b91eedebd25ec8cab6d461deaf50d02/lqt.js#L630|lqt.js:630:6]]
    • Task
    Per parent task, this will prevent regular users from editing the LQT namespaces, which should be considered archives. @SPage suggested this, and it seems to make sense, but probably worth a little more discussion.
    • Task
    We need to keep support for logs and namespace numbers (latter is currently in mediawiki-config, but should be moved here) For logs, compare https://office.wikimedia.org/wiki/Special:Log to https://translatewiki.net/wiki/Special:Log (latter has "[Threaded discussion log](https://translatewiki.net/w/i.php?title=Special%3ALog&type=liquidthreads&user=&page=&year=&month=-1)"). The same is true for the API: https://office.wikimedia.org/w/api.php?action=query&list=logevents&letype=liquidthreads vs. https://translatewiki.net/w/api.php?action=query&list=logevents&letype=liquidthreads . It's still in the database, but not accessible (except maybe DB dumps, not sure) We also need to keep any i18n messages used by the logs. Open q (from July 28 mtg): What are the LQT log actions, and which ones are already imported into Flow? Do we import topic title edits?
    • Task
    https://www.mediawiki.org/w/index.php?title=Thread:Help_talk:CirrusSearch/why_is_google_better&lqt_method=thread_history&uselang=en claims > 09:45, 19 December 2014 95.83.250.212 (talk) Comment text edited linking [[https://www.mediawiki.org/w/index.php?title=Thread:Help_talk:CirrusSearch/why_is_google_better&lqt_method=diff&diff=1248510&oldid=|a diff]] which says "no difference": this is not possible, null edits are not saved. Problems: * &oldid= is empty and &diff=1248510 is probably incorrect (should be the opposite), because https://www.mediawiki.org/wiki/Special:Contributions/71.227.219.170 thinks that's the ID of the original comment: https://www.mediawiki.org/w/index.php?title=Thread:Help_talk:CirrusSearch/why_is_google_better&oldid=1248510 ; * https://www.mediawiki.org/wiki/Special:Contributions/95.83.250.212, https://www.mediawiki.org/wiki/Special:DeletedContributions/95.83.250.212 and https://www.mediawiki.org/wiki/Special:Log/95.83.250.212 think that the user did not, in fact, do anything on the wiki. So the "comment edited" link is not smart enough when it can't find the second revision; and either LQT history lies, listing an edit which doesn't exist, or we have some serious issues with partly saved edits which don't turn up in revisions nor logs. Cf. {T26039} which is about *reply* history.
    • Task
    LQT's [[https://github.com/wikimedia/mediawiki-extensions-LiquidThreads/commit/4b45b3149d06a4d19cbdd4e056ef3d2e55e0fb3c|fork]] is outdated compared to MW core: * https://github.com/wikimedia/mediawiki-extensions-LiquidThreads/blob/e8a60f7f5bb89cea9c2d89211158fad62e5823bf/pages/TalkpageView.php#L524-L577 * https://github.com/wikimedia/mediawiki/blob/25fa58775377dd662332352d7fa76e399187f879/includes/pager/TablePager.php#L283-L321 E.g.: @matmarex's update https://gerrit.wikimedia.org/r/#/c/155910/ was nor replicated into LQT extension. Isn't possible to avoid the duplication of code between core and LQT?
    • Task
    Screenshot of bug. When the thread summary contains floated content (e.g. on mediawiki.org the [[mw:Template:Tracker]] template), the post body is oddly narrow due to it being stuck behind that float. This itself is a consequence of it using display:table, but there's probably a strange reason for that. -------------------------- **Version**: unspecified **Severity**: normal **Attached**: {F14814}
    • Task
    Steps to reproduce: 1) Be a translator at translatewiki.net 2) Start translating a message 3) Use the "ask help" link 4) Post a thread 4) Try to close or navigate away Observed: even though thread is saved, I get a warning. Expected: no warning. -------------------------- **Version**: master **Severity**: normal
    • Task
    I just today visited my MW.org watch list and it told me I had new messages. I only then realized that the LQT discussion element is not being added to the CPB and that I had actually missed about 5 notifications on LQT boards since this got deployed. Though we shouldn't spend too much time on LQT, I do think that if we are missing messages here, we have a problem that warrants some attention. -------------------------- **Version**: master **Severity**: normal
    • Task
    I got a notification for a thread beginning, then I got a notification for a reply to that thread, but they weren't in the same email thread. We should use email headers like Message-Id and In-Reply-To to make this easier to manage. (this may be a bug in Echo instead?) -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    LiquidThreads does not let users who are editing under an IP address edit a messenge or comment, it only lets users do it. Steps to reproduce the issue 1. Go to ether liquid thread extension talk page or Mediawiki support page 2. Click on start new discussion 3. Put any name for title and message and then click save 4. Try to edit the message and put anything again and click save. **Actual result** It won't save under an ip but a user can. It will let you save an edited title but not a message. **Expected result** Both users should be able to save the changes. -------------------------- **Version**: unspecified **Severity**: major
    • Task
    **Author:** `aditya.iiita102` **Description:** If javascript is disabled then on deleting a thread, on the delete confirmation page, error is generated. -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    **Author:** `pr4tiklahoti` **Description:** After starting a new discussion and adding some content, when a preview is done, the title changes to "Editing talk:....". However, once the discussion is saved, it remains the same and does not change back to "User talk: <username>" Steps to reproduce: 1. Go to any talk page having LQT enabled and click on "Start a new discussion link". 2. Enter the subject and the message (optional) 3. Click on the "Show Preview" button. Observe the title of the page. 4. Click on the "Save Page" button. Observe the title of the page. I Observed: 1. After step 3, the title changes from "User talk: <username>" to "Editing thread:....." 2. After step 4, the title remains the same as it was there in step 3. II Expected: 1. After step 4, the title should change back to the form "User talk: <username>". -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    I had this when importing the XML at bug 59739: Fatal error: Call to a member function getPrefixedText() on a non-object in /www/dev.translatewiki.net/w/extensions/LiquidThreads/classes/Hooks.php on line 671 -------------------------- **Version**: master **Severity**: normal
    • Task
    I just visited https://www.mediawiki.org/wiki/Special:NewMessages on MediaWiki 1.23wmf7 while not logged in and it was showing messages for me that I have not contributed to. I checked the page source, and wgUser is "null". I think the expected result is that Special:NewMessages never gives results for anonymous users. -------------------------- **Version**: master **Severity**: normal **URL**: https://www.mediawiki.org/wiki/Special:NewMessages
    • Task
    Intention: I wanted to leave a comment in a thread Steps to Reproduce: 1. Go to a LQT page (see the URL) 2. Click in the last reply button and wait until the edit form is loaded 3. Click in the reply button of the "parent" comment 4. Write something in the input box and save. Actual Results: The console showed the following message: Uncaught TypeError: Cannot read property 'id' of undefined Expected Results: No error message Reproducible: Sometimes I tried to reproduce the bug on https://test.wikipedia.org/wiki/Thread:LQT/Test_(2)?debug=1 but it didn't happen. -------------------------- **Version**: master **Severity**: major **URL**: https://pt.wikibooks.org/wiki/Thread:Utilizador_Discussão:Raylton_P._Sousa/Ajuda_com_edição_do_livro_de_Matemática/resposta_(4)?debug=1&uselang=en
    • Task
    As tested in the URL above, if a user mentions another user when replying to a post using LQT, the other user is not notified. Maybe this is because Echo requires the comment to be manually signed and LQT warns the user when it does so (since it adds a signature automatically, outside of the wikicode of the commment)? -------------------------- **Version**: unspecified **Severity**: enhancement **URL**: https://pt.wikibooks.org/wiki/T%C3%B3pico:Wikilivros:LiquidThreads/Testes/resposta_(7)?uselang=en
    • Task
    **Author:** `Volodya` **Description:** To reproduce: (for example) Go to the talk page which has no header and begin editing it. The message at the top reads: : You are editing a discussion page header. Headers are for announcements and prefaces. You might instead want to start a new discussion. Note that [[start a new discussion]] is a red link. This is not the expected behaviour after adding liquid thread extension. -------------------------- **Version**: REL1_21-branch **Severity**: trivial
    • Task
    **Author:** `Volodya` **Description:** To reploduce: Create a new thread - reply count = 0 Post a reply to the thread - reply count = 1 Delete the reply - reply count = 1 What i expect to happen: Reply count should be decremented when a reply is deleted. -------------------------- **Version**: unspecified **Severity**: minor
    • Task
    The problem is that mediawiki.action.edit.preview is intended to be used on an edit page. Not an any random edit form being reproduced dynamically in another extension. The function should either be developed separately, or mediawiki.action.edit.preview needs to be split in a module that operates per editform, that can then also be used by the edit page.
    • Task
    as per description. Maybe LQT isn't using userCan properly? -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    **Author:** `Wikifram` **Description:** As described [https://www.mediawiki.org/w/index.php?title=Project_talk:Current_issues&oldid=794412 here]; in a fairly lengthy Liquidthreads discussion, the most recent replies are no longer correctly added to the "history", and clicking on the revision time in the "history" gives the error: "The revision you have selected is corrupt, and cannot be viewed". Adding new repiies doesn't change the starting point of the error. -------------------------- **Version**: unspecified **Severity**: major **URL**: https://www.mediawiki.org/w/index.php?title=Thread:Project:Current_issues/User:MZMcBride_and_sysopping_of_User:Fram/reply_%2861%29&oldid=794339 **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=47006
    • Task
    Threaded discussion log - Wikilivros https://pt.wikibooks.org/wiki/Special:Log/liquidthreads?offset=20130919043605&limit=5&uselang=en -------------------------- **Version**: unspecified **Severity**: normal **See Also**: {T47681} **Attached**: {F12062}
    • Task
    Ideal formatting (currently used in the thread itself) See the screenshots: * The first one is from https://test.wikipedia.org/wiki/Thread:LQT/A -------------------------- **Version**: master **Severity**: minor **Attached**: {F11193}
    • Task
    1) Go to https://pt.wikibooks.org/wiki/Special:NewMessages and click in the "Reply" link of any comment. 2) Type "anything" in the edit window 3) Click on "More" and "Edit" of the previous comment **Actual Result** You'll lose "anything" you have written, with no warning message. **See Also**: * {T48040}
    • Task
    It currently has those permissions: lqt-split, lqt-merge and lqt-react. Some users would like more fine-grained access control (see URL). lqt-react apparently controls whether a user is allowed to post a reply to another thread. I guess how useful is that right if there's no access control for creating threads, or even edit your own/other user's messages. Apparently, $wgNamespaceProtection does not work as expected when it comes to the Thread and Summary namespaces. I think we should at least add those specific rights for: * creating threads * editing own message (message created by the user) * editing message created by other user * create/edit thread summary The "editing *" right may affect also the ability to change a thread subject. -------------------------- **Version**: master **Severity**: enhancement **URL**: https://www.mediawiki.org/wiki/Thread:Extension_talk:LiquidThreads/Don%27t_allow_anons_to_use_LiquidThreads
    • Task
    On mediawiki.org page, unregistered users can't edit LQT posts. It doesn't matter if the message was originally posted by the same user or not. When editing a post, the edit form is displayed as normal. But when saving the edit, the "progress" icon appears and nothing more happens. Inspecting what's going on in the AJAX calls, I can see the edit request is posted, but the server response is: {"servedby":"mw1202","error":{"code":"editconflict","info":"Edit conflict detected"}} If I edit the post as a logged in user, the same info is sent to the API when saving the edit, except the "token" which is different, so I can't see how it's detecting edit conflicts. I'm going to open another bug requesting a better handling of those error responses from the server, since the "Edit conflict detected" message isn't displayed anywhere. -------------------------- **Version**: master **Severity**: normal **URL**: https://www.mediawiki.org/wiki/Thread:Extension_talk:LiquidThreads/ip_editing
    • Task
    1. Add {{#useliquidthreads:1}} to a page "X" 2. Create a topic "Test" with some random text 3. Make sure you are watching the page X 4. Create a new account 5. Use the new account to add a reply to the topic just created 6. Use the first account to remove {{#useliquidthreads:1}} (or to add {{#useliquidthreads:0}}) to page X 7. Go to [[Special:NewMessages]] using the first account (The reply should be displayed on this page) 8. Click in the "Full thread" link You will end up in page "X", which doesn't contains the thread. This link should point to the page "Thread:X/Test", where the full thread can be read. -------------------------- **Version**: unspecified **Severity**: minor **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=34247
    • Task
    See URL. Split from bug 28138 comment 6. -------------------------- **Version**: master **Severity**: minor **URL**: https://translatewiki.net/w/i.php?title=Thread:Project:Translator/_de_Deutsch_%E2%80%93_Deutsch_%2831%29/reply_%282%29&lqt_method=thread_history&uselang=en
    • Task
    Contrary to what [[mw:Manual:$wgDefaultUserOptions]] says, lqt-watch-threads is unchecked on a fresh account on translatewiki.net. There are no local configs for this. This is obviously wrong, goes against what intended (per docs), is greatly counter-intuitive and breaks translators signup workflow because translators expect an email notification of some sort after being approved (see URL). I'm not sure the variable even exists any longer in the code (gitweb's grep didn't find it), maybe it got lost in some refactoring. However, now that bug 39513 is fixed this should not have nasty consequences. -------------------------- **Version**: master **Severity**: enhancement **URL**: https://translatewiki.net/wiki/Thread:Translating_talk:Etherpad_lite/2_french_translations_to_modify/reply_(2)
    • Task
    The new message count in the personal portlet (New Messages (n)) shows a count of 1 for me on translatewiki, but visiting Special:NewMessages gives There are no new messages for you. It is possible to check on Special:NewPages, that the count is also 0, when the message "There are no new messages for you." is shown? And when not, the extension should do an update of this counter to correct the mistake. Thanks. -------------------------- **Version**: unspecified **Severity**: normal **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=46388 https://bugzilla.wikimedia.org/show_bug.cgi?id=31251
    • Task
    Partial screenshot of a LquidFeedBack page in translatewiki.net havin bewildering red bars before html <select> lists at three places. See https://translatewiki.net/wiki/Support at least of today, There are bewildering red bars before some or all html <select> lists in LiquidFeedBack pages. Possibly a CSS problem? -------------------------- **Version**: master **Severity**: minor **URL**: https://translatewiki.net/wiki/Support **Attached**: {F10640}
    • Task
    Sometimes people like to write big replies with headers, just because they can; result in the URL (non-standard example, migrated from a normal page). Maybe the edit section links should be removed. -------------------------- **Version**: master **Severity**: enhancement **URL**: https://www.mediawiki.org/w/index.php?title=Thread:Talk:Git/IRC&diff=prev&oldid=660981
    • Task
    Apparently, there's a message for that: "lqt-reply-summary" [1], but it isn't used there. As you can see with &uselang=qqx, it doesn't display any message key. ---- [1] https://translatewiki.net/wiki/MediaWiki:Lqt-reply-summary -------------------------- **Version**: master **Severity**: trivial **URL**: https://www.mediawiki.org/w/index.php?title=Thread:Project:Support_desk/Upgrading_error_ERR_CONTENT_DECODING_FAILED&lqt_method=thread_history&uselang=qqx
    • Task
    This line on https://translatewiki.net/w/i.php?title=Special:Log/liquidthreads&dir=prev&offset=20130213112305&type=liquidthreads is formatted badly: 15:28, 3 March 2013 පසිඳු කාවින්ද changed the signature of Thread:User talk:Gnomezgrave/Good to see you! from "Pasindu (✉ • Special:Contributions/පසිඳු කාවින්ද|" to "Pasindu (✉)" I guess we need to find a way to end all formatting which starts in the signature text. (You can't see the problem in Bugzilla) -------------------------- **Version**: master **Severity**: minor **URL**: https://translatewiki.net/w/i.php?title=Special:Log/liquidthreads&dir=prev&offset=20130213112305&type=liquidthreads **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=54640
    • Task
    screenshot When there is no signature the bullet has no text. -------------------------- **Version**: master **Severity**: normal **Attached**: {F10843}
    • Task
    See this thread history: [1] Unregistered user 2.144.249.129 changed the thread subject, but there's no log for that IP [2]. Using the log without user filters [3] displays entries for IPs, though. ---- [1] https://www.mediawiki.org/w/index.php?title=Thread:Project:Support_desk/Two_general_usage_problems&lqt_method=thread_history [2] https://www.mediawiki.org/w/index.php?title=Special%3ALog&user=2.144.249.129 [3] https://www.mediawiki.org/w/index.php?title=Special%3ALog&type=liquidthreads -------------------------- **Version**: master **Severity**: normal
    • Task
    Revision as of 26 January 2013 at 03:13. The text of [/w/i.php?title=Support&offset=20130126031324&lqt_mustshow=31287 a comment] was removed. [diff] -------------------------- **Version**: master **Severity**: minor **URL**: https://translatewiki.net/w/i.php?title=Thread:Support/About_FreeCol:Model.option.displayColonyLabels.name/pt-br&lqt_oldid=40754&uselang=en
    • Task
    Uga chaga Uga chaga. classes/View.php: showThread is over 200 lines long and missing method documentation stating what it does. The whole file is 2380 lines long which is on the big side. -------------------------- **Version**: master **Severity**: normal
    • Task
    +++ This bug was initially created as a clone of Bug #41278 +++ Query example for a moved test page[1]. 0.0759 11.2M Query sandbox (16) (slave): SELECT /* Threads::synchroniseArticleData Siebrand */ COUNT(*) FROM `thread` WHERE (thread_article_id = '7474') AND (NOT (thread_article_namespace = '2' AND thread_article_title = 'Siebrand/test2')) LIMIT 1 0.0762 11.2M Query sandbox (17) (slave): SELECT /* Threads::synchroniseArticleData Siebrand */ COUNT(*) FROM `thread` WHERE (thread_article_namespace = '2' AND thread_article_title = 'Siebrand/test2') AND (NOT (thread_article_id = '7474')) LIMIT 1 [1] http://sandbox.translatewiki.net/w/i.php?title=User:Siebrand/test2 -------------------------- **Version**: master **Severity**: normal **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=41138
    • Task
    When a thread is the last thing on a page, and the menu goes beyond the content area, the part beyond the content area is unclickable. -------------------------- **Version**: unspecified **Severity**: major **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=41887
    • Task
    To quote Roan: | LQT hijacks section=new via the PerformAction hook, but it doesn't make | any attempt to hijack section=new in the API. Instead, LQT has its own | API for posting things This leads to tools that use the edit API (such as the Feedback tool) being incompatible with LQT. -------------------------- **Version**: master **Severity**: normal **See Also**: * {T54729} * {T35260} * {T59989}
    • Task
    No UNsubscribe buttons Here the user only sees ways to mark things as read, but no way to rid them from cropping up again. He even sees a watch button, but no unwatch button. He desperately needs to see "Unfollow" etc. buttons. He doesn't see a way to clear the mess from hounding him in the future months sometime again, and he doesn't see "you are seeing this because you did ..." etc. -------------------------- **Version**: unspecified **Severity**: enhancement **Attached**: {F9657}
    • Task
    PHP Fatal error: Call to a member function subject() on a non-object in /usr/local/apache/common-local/php-.21wmf1/extensions/LiquidThreads/pages/ThreadHistoricalRevisionView.php on line 78 -------------------------- **Version**: unspecified **Severity**: minor
    • Task
    On English Wikinews (en.wikinews.org), we have Liquid Threads activated in a namespace called "Comments". This is to allow readers to post comments on articles. This complements the Talk namespace, which is labelled 'Collaboration' and is for the authors of the article to use much like a Wikipedia talk page. On English Wikinews, the Liquid Threads extension is not being displayed correctly. An example of a LiquidThreads thread on en.wn: https://en.wikinews.org/wiki/Comments:%27Stop_being_so_damn_respectful%27_say_free_speech_supporters_in_London Compare the lack of styling on the elements to a screenshot of how LiquidThreads is supposed to look: https://www.mediawiki.org/wiki/File:LiquidThreads_sample_screenshot.jpg All the options that should be tucked away in the "More" section are just layed out sequentially under the comment. I've started a thread on en.wn's Water Cooler (Village Pump equivalent). https://en.wikinews.org/wiki/Wikinews:Water_cooler/technical#Liquid_Threads -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    Special:NewMessages has me logged in, as who/what exactly? This might've been filed before, though I couldn't find it. For several months now there's on Special page I often visit from url completion history, and that's Special:NewMessages on mediawiki.org. And if I'm not logged-in, I'll simply login and return to that page. Now the thing is however that sometimes I'm logged out (I know I am from logging at the header and the absence of certain scripts) yet Special:NewMessages appears to show something it shouldn't. Not sure what this is or where it came from. Could be an API request cached by my browsers, could be some state being kept somewhere else I don't know, could be someone elses messages, no idea. See screenshot for details, as well as tracking POST requests to api.php and a cookie dump. -------------------------- **Version**: master **Severity**: major **Attached**: {F10183}
    • Task
    Steps to reproduce: see URL. After setting $wgDefaultUserOptions['lqtnotifytalk'] = true; [1] on translatewiki.net, a user will receive email notifications for new threads or replies to threads if the thread is watched (that is, in LQT jargon, if it's individually watchlisted or its parent [talk] page is), regardless of their email notification settings, i.e. even if one or both of "E-mail me when a page or file on my watchlist is changed" and "E-mail me on replies to a thread I am watching" are disabled. The only workaround is to unwatch both the page and the thread. [1] https://gerrit.wikimedia.org/r/gitweb?p=translatewiki.git;a=blobdiff;f=TranslatewikiSettings.php;h=85babbfca49e6b12570e79f168a7b8f82da160dc;hp=2f13474494db6de7fbe70ca4547441892ec2f0e6;hb=f800719f61114db1f5fb54425cae100acec89365;hpb=be5777692bc4db94381600e6cc9e98d1fd9ff6c8 -------------------------- **Version**: master **Severity**: major **URL**: https://translatewiki.net/wiki/Thread:Talk:Sandbox/Test_enotif
    • Task
    Due to bug 24288 and bug 21733, the user often doesn't know why he's receiving a notification and is completely clueless about it, especially if he wants to opt-out. MediaWiki:lqt-enotif-newthread and MediaWiki:lqt-enotif-reply should have a footer like enotif_body, which currently is: ---- -- To change your e-mail notification settings, visit {{canonicalurl:{{#special:Preferences}}}} To change your watchlist settings, visit {{canonicalurl:{{#special:EditWatchlist}}}} To delete the page from your watchlist, visit $UNWATCHURL Feedback and further assistance: {{canonicalurl:{{MediaWiki:Helppage}}}} ---- And in that case $UNWATCHURL should probably depend on whether the message has been received due to watchlisting the thread or the talk page. If such a dynamic linking is too much, at least it should be noted that the user may be required to unwatch both the thread and the talk and also to change the prefences about both. -------------------------- **Version**: master **Severity**: enhancement
    • Task
    As you can see in the URL, when I created the second thread in the page 4 copies were actually created. After saving, I saw 6 (if I remember correctly) JS loading icons and I exited the page before they disappeared. This is not happening consistently and I don't know if it's LQT fault; note that LQT seems quite unreliable on translatewiki.net over HTTPS (but usually edits are lost rather than multiplicated). Bug 30222 seems different. -------------------------- **Version**: unspecified **Severity**: normal **URL**: https://translatewiki.net/w/i.php?title=User_talk:Theunitedstatesofme&lqt_method=talkpage_history
    • Task
    LQT vendetta against Flow on day of official death Hmmmm Nemo‎16:28, 10 July 2012 Tychay (talk)‎20:27, 23 July 2012 [[kgh]] (talk)‎16:19, 24 July 2012 Tychay (talk)‎20:08, 24 July 2012 Tychay (talk)‎20:21, 24 July 2012 Bawolff (talk)‎21:24, 24 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎20:08, 24 July 2012 Bawolff (talk)‎21:24, 24 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 [[kgh]] (talk)‎16:19, 24 July 2012 Tychay (talk)‎20:08, 24 July 2012 Tychay (talk)‎20:21, 24 July 2012 Bawolff (talk)‎21:24, 24 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎20:08, 24 July 2012 Bawolff (talk)‎21:24, 24 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 DaSch (talk)‎21:33, 24 July 2012 Tychay (talk)‎03:16, 31 July 2012 Tychay (talk)‎03:16, 31 July 2012 -------------------------- **Version**: master **Severity**: minor **URL**: https://www.mediawiki.org/wiki/Talk:Flow **Attached**: {F9627}
    • Task
    Almost all LQT edits are new pages, which show up in the RC with their rcid; although that's supplied, when you open the thread or the specific reply you only see the LQT interface and no "mark as patrolled" link whatsoever. This applies also to oldid (because of bug 36978?) but not to diffs to summaries or messages, like <https://translatewiki.net/w/i.php?title=Thread:Project:Translator/_it_italiano_%E2%80%93_italiano_%284%29&diff=4025564&oldid=4025551&rcid=7280704&curid=2803372> or <https://translatewiki.net/w/i.php?title=Summary:Translating_talk:Mifos/Product_mix_%3F&diff=2426154&oldid=2425669&rcid=5753315&curid=1703012> (proof f success: <https://translatewiki.net/w/i.php?title=Special:Log&dir=prev&offset=20120729211658&limit=3&type=patrol&user=Nemo+bis>). See also bug 25092 for another way in which patrolling is broken. -------------------------- **Version**: master **Severity**: normal **URL**: https://translatewiki.net/w/i.php?title=Thread:Project:Translator/_mr_Marathi_%E2%80%93_%E0%A4%AE%E0%A4%B0%E0%A4%BE%E0%A4%A0%E0%A5%80_%2822%29&rcid=7299941
    • Task
    LQT is currently dependent on WikiEditor Extension. From looking at the code and the documentation, this does not seem intentional. If WikiEditor is not installed on a wiki, LQT tries to load in the modules in resource loader. See lqt.js line 231. Another problem, the call to load ext.wikiEditor is wrapped in a conditional checking for mw.loader that is oddly inside of a mw.loader callback... If you eliminate the ext.wikiEditor dependency and run finishSetup(), LQT tries to call an undefined function 'mwSetupToolbar();' on line 212. It would seem this is a deprecated mw method ? -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    Which is unfortunate because it makes it hard/impossible to find discussions which reference the page. -------------------------- **Version**: master **Severity**: normal **URL**: https://translatewiki.net/wiki/Special:WhatLinksHere/MediaWiki:Mw-coolcats-confirm-new-title/ksh
    • Task
    Categories added to a summary should be "noincluded" in the summary page itself, or anyway the categories should list the threads and not the summaries, which add clicks and confusion. -------------------------- **Version**: master **Severity**: enhancement **URL**: https://translatewiki.net/wiki/Category:Support_requests_for_MediaWiki
    • Task
    When someone creates a thread or adds a reply on a watched page using LiquidThreads, I receive a mail with a subject like MediaWiki-Diskussion – Re: Patch for MW 1.19 As you can see, the subject does not contain the page title - which can make your inbox quite confusing if you watch several pages using LiquidThreads. (I know the page name is somewhere in the mail body, but that's more or less hidden.) Please change the subject to contain the page name, for example MediaWiki-Diskussion – Extension talk:WYSIWYG - Re: Patch for MW 1.19 or if you want to have it shorter: Extension talk:WYSIWYG - Re: Patch for MW 1.19 (the wiki name is hopefully in the mail sender) I noticed this problem on mediawiki.org, which uses LiquidThreads (Version 2.0-alpha) (5f94536) according to Special:Version. -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    Screenshot where the 1st character in the headline of an entery is obscured by a button -------------------------- **Version**: unspecified **Severity**: minor **Attached**: {F9476}
    • Task
    This comment was made by an IPv6 anonymous user, but it was signed using an IPv4 address. This appears to be something wrong with the Javascript. -------------------------- **Version**: unspecified **Severity**: major **URL**: http://www.mediawiki.org/w/index.php?title=Project:Support_desk&offset=20120606194712&lqt_mustshow=16095#Problem_with_the_window_size_in_the_edit_mode_16095
    • Task
    When oldid is specified, all messages shown have the content of the top one. For example, compare this: https://www.mediawiki.org/wiki/Thread:User_talk:Peachey88/Woa,_why_all_the_deleted_pages%3F/reply_%284%29 With this: https://www.mediawiki.org/w/index.php?oldid=539525&rcid=611053 Other examples: https://www.mediawiki.org/w/index.php?title=Thread:User_talk:Peachey88/Woa,_why_all_the_deleted_pages%3F&oldid=520001 https://www.mediawiki.org/w/index.php?title=Thread:User_talk:Peachey88/Woa,_why_all_the_deleted_pages%3F/reply_%283%29&oldid=539501 -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    Which means that LQT happily increases vandalism by users creating threads. -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    **Author:** `rschnautz` **Description:** Steps to reproduce: 1. User without comment deletion privilege edits a post. 2. Post is blanked (including title, if applicable), leaving an edit summary of why they retracted their comment. 3. Post is saved. 4. Dialog appears indicating the user may not blank a post. 5. Post blanking commits successfully. -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    I think this is a 1.19 regression (or regression in whatever version of lqt was deployed when wmf wikis hit 1.19) This was observed on mediawiki.org Steps to reproduce: *Go to special:newmessages (I assume you have new messages) *Reply to some thread *Hit save to your reply Expected behaviour: The reply is parsed and displayed under the message Actual behaviour: The reply window disappears, and there is no indication that your reply was successfully posted. -------------------------- **Version**: unspecified **Severity**: normal **URL**: https://www.mediawiki.org/wiki/Thread:User_talk:Werdna/LiquidThreads_is_awesome
    • Task
    The LQT signature length is shorter than the MW signature length. This causes problems with lengthier signatures such as my own. -------------------------- **Version**: unspecified **Severity**: normal
    • Task
    I just got an email from LQT titled "MediaWiki discussion - Reply: Reference tooltips" that contained a link to the referenced reply. The link was http://www.mediawiki.org/w/index.php?title=Talk:MediaWiki_1.19&offset=20120207055204&lqt_mustshow=11807#Reference_tooltips_11807 (which didn't work) but the "Link To" option in the web UI gave: Link URL: https://www.mediawiki.org/wiki/Thread:Talk:MediaWiki_1.19/Reference_tooltips/reply Wikitext link: [[Thread:Talk:MediaWiki 1.19/Reference tooltips/reply]] This URL worked. -------------------------- **Version**: unspecified **Severity**: normal **See Also**: https://bugzilla.wikimedia.org/show_bug.cgi?id=25684 https://bugzilla.wikimedia.org/show_bug.cgi?id=49272