clear
{{language.name}} No language found.
swap_horiz
{{language.name}} No language found.
search
TRANG
2018-12-17 01:40
**Code migration of Tatoeba**

In the past couple of months we've been working on upgrading the framework on which Tatoeba is built (CakePHP) to a newer version. We're starting to have something tangible so I deployed the new Tatoeba version on the dev website: https://dev.tatoeba.org/

I would like to invite everyone to test and report things that do not work, as this will help me prioritize what to fix. Please focus on testing features that would impact you the most. You can report issues here on the Wall or in the Tatoeba chatroom at https://chat.tatoeba.org.

Do not create issues on GitHub. At this stage, many things still don't work. I'm keeping track of what's left to do in a GitHub project:
https://github.com/Tatoeba/tatoeba2/projects/2
If something doesn't work and you see it in the "To do" column, there is no need to report it.

I am aiming to deploy the new Tatoeba on the main website somewhere around mid-January. This leaves us about 4 weeks to test and fix as many things as possible. For some features will remain broken, but that's okay, as long as the new Tatoeba is overall functional, the rest can be fixed afterwards.

Thank you for your help!
hide replies
AlanF_US
2018-12-17 12:12 - 2018-12-19 10:14
At the moment, any search I do for a word fails. The form of the error display differs depending on whether I'm logged in and whether it's an ordinary or advanced search. This is the error I get when I do an advanced search for a word:

"Call to a member function getSearchableLists() on boolean
Error"
hide replies
TRANG
2018-12-18 21:46
I'll be tackling the search next week. It's one of the features that has not been migrated yet.
TRANG
24 days ago
The search feature has been migrated and is now testable on the dev website.
hide replies
AlanF_US
22 days ago
Searches now result in other errors. For instance, this regular search for translations of "bull" into Russian:

https://dev.tatoeba.org/eng/sen...rom=eng&to=rus

results in this error message:

Call to a member function linkTranslationModel() on boolean
Error in: ROOT/src/Controller/SentencesController.php, line 870

as well as a bunch of warnings.
hide replies
AlanF_US
17 days ago
It looks like the problem has been fixed. I don't get an error anymore.
Rockaround
2018-12-18 20:27
Do we need to create a new account? Is there one for testing purposes? I tried mine in case the user database was the same, but it does not seem to be working.
hide replies
TRANG
2018-12-18 21:05
You'll need to create a new account (which is a good thing because you'll be testing if the registration works fine).

The database is a copy from the website from a couple of years ago. If you were not registered back then, you won't have an account on the dev website.
hide replies
Rockaround
2018-12-18 21:26
Good that I tried, since it does not seem to be working. I am redirected to the same page (https://dev.tatoeba.org/eng/users/register), without any error message, but with the "we need to make sure you are human" field empty and the "terms of use" checkbox unchecked.

I tried many times, so I am fairly confident it's not a human error. Firefox v64.0.
hide replies
TRANG
24 days ago
The registration should be fixed now, please give it another try when you can.
hide replies
Rockaround
21 days ago
Somehow, now, my username and email address are already taken. I guess some part of the process went through last time. However, I cannot connect with my usual password, and the "recover password" function does not seem to work, as I don't receive any email, even in the spam folder.
hide replies
TRANG
21 days ago
The email notification was disabled (to avoid spam) which is why you couldn't use the "Reset password" feature. I enabled it and triggered the password recovery for your account. You should be receiving an email with the new password.

Also, when you were not able to login previously, it was probably because you tried to log in with an incorrect password. I didn't realize you were registered since 2013. Any account created before 2018 should actually be available on the dev website.
hide replies
Rockaround
21 days ago
So the recover password function works well.

Having a wrong url can cause troubles though: https://dev.tatoeba.org/eng/users/register) This one (with the parenthesis at the end) gives a "Missing Method in UsersController" error page.

Email addresses with a "+" sign are refused when registering. That's a shame, as it is a very nice functionality for many email providers.

Otherwise, I tried registering another account, to finally test the functionality, and that seems to be working flawlessly.
hide replies
TRANG
13 days ago
The error page is now the same as on the main website.

Note that the error page you saw was due to debug mode being enabled and will appear if debug is enabled again on the dev website.
Guybrush88
2018-12-18 22:43
I just noticed that the count of sentences in some pages is wrong, since it says that there's just one sentence, even if there are several thousands of sentences in the selected languages and in the general Tatoeba corpus. The first occurence is here: https://dev.tatoeba.org/ita/sta...es_by_language , although every other number of sentences for each language is fine. The other occurence appears in such urls: https://dev.tatoeba.org/ita/sen...ne/indifferent or https://dev.tatoeba.org/ita/sen...ne/indifferent or https://dev.tatoeba.org/ita/sen...ne/indifferent
hide replies
TRANG
24 days ago
There was some issue with plural strings. This should be fixed now.
hide replies
Guybrush88
24 days ago
I think there has been a regression, now everything in the gui is shown in English even when switching between several locales
hide replies
TRANG
24 days ago
It's fixed.
hide replies
Guybrush88
23 days ago
thanks
AlanF_US
23 days ago
I found two issues and sent you e-mail about them. They have to do with functionality regarding sentence lists (selecting the language(s) in which to show the translations and downloading a list).
hide replies
AlanF_US
17 days ago
It looks like both of these issues have been fixed. Thanks!
hide replies
TRANG
17 days ago
Thanks for re-testing :)
hide replies
AlanF_US
16 days ago
You're welcome. :)

New problem (or new manifestation of old problem): I did a search for the word "бы" in Russian, specifying random order for results:

https://dev.tatoeba.org/eng/sen...o=&sort=random

and that went fine. However, when I clicked "Owned by a self-identified native" and then the "Advanced search" button, I saw this:

Notice (1024): Undefined property: SentencesController::$UsersLanguages in /srv/tatoeba.org/www/src/Controller/SentencesController.php on line 713 [CORE/src/Controller/Controller.php, line 387]

Warning (512): Unable to emit headers. Headers sent in file=/srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php line=853 [CORE/src/Http/ResponseEmitter.php, line 48]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 148]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 181]

Call to a member function find() on boolean
Error
Documentation API
Error in: ROOT/src/Controller/SentencesController.php, line 713
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
Searching for "君の家" (no quotes) in any language led to these warnings:

Notice (1024): Search query warning: index 'jpn_main_index': query word(s) mismatch: 君, の, 家 [APP/Model/Behavior/SphinxBehavior.php, line 130]

Notice (1024): Search query warning: index 'jpn_main_index': query word(s) mismatch: 君, の, 家 [APP/Model/Behavior/SphinxBehavior.php, line 130]

Warning (512): Unable to emit headers. Headers sent in file=/srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php line=853 [CORE/src/Http/ResponseEmitter.php, line 48]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 148]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 181]

but 8 results were found.
hide replies
TRANG
16 days ago
These are only warnings and, I think, can be ignored. The warning message show up on the dev website because debug mode is on. On the main website, they will not show up.
AlanF_US
16 days ago - 16 days ago
ׂSearching for "אוהב" in any language (no quotes) led to this line:

:::
Search: אוהב (1,000 results out of 1908 occurrences)
:::

It's a little odd that there's a thousands separator in "1,000" but none in "1908".
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago - 16 days ago
Searching for "אוהב" where "Is unapproved" is set to "Yes" leads to somewhat strangely formatted output:

:::
Advanced search (0 results)

< >

< >
:::

where the < and > symbols are gray. I guess that these are the header and footer for the list, and would contain page numbers if there were any hits. However, doing the same advanced search on the main site shows the following:

:::
No results found for: אוהב
:::

without any < or > symbols. That certainly looks better.
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
Clicking on "Contribute" -> "Add sentences" brings up a page where "Sentences added" is one of the two choices. Clicking on "SENTENCES WANTED" at the bottom gives the following:

:::

Unknown method "getPaginatedVocabulary"
BadMethodCallException
Could this be caused by using Auto-Tables?
...

:::
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
Going to "Add new sentences" and then adding a sentence that already exists gives the warning "Your sentence was not added because the following already exists." That's great. However, nothing stops you from adding a "translation" of a sentence that has the same content and same language as the original.
hide replies
TRANG
13 days ago
The translation is not really added, if you refresh, it will actually disappear.

This is the case already in production, if I'm not mistaken. When adding translations there is no warning about duplicates. The translation is displayed no matter what. If the sentence already exists, then only the link is created.
AlanF_US
16 days ago
Clicking on my "Wall messages" displays the following:

:::

AlanF_US's messages on the Wall (total %count%)

< >

< >
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
Clicking on "Translate AlanF_US's sentences" (from my profile) displays the following under every sentence except the first in the list:

:::

Warning (2): array_keys() expects parameter 1 to be array, object given [APP/View/Helper/SentencesHelper.php, line 155]

Warning (2): array_keys() expects parameter 1 to be array, object given [APP/View/Helper/SentencesHelper.php, line 156]

Warning (2): array_merge() [<a href='https://secure.php.net/function...ay-merge</a>]: Argument #1 is not an array [APP/View/Helper/SentencesHelper.php, line 159]

Warning (2): array_slice() expects parameter 1 to be array, null given [APP/View/Helper/SentencesHelper.php, line 175]

Warning (2): array_slice() expects parameter 1 to be array, null given [APP/View/Helper/SentencesHelper.php, line 176]

Warning (2): Invalid argument supplied for foreach() [APP/View/Helper/SentencesHelper.php, line 181]

hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
On the dev site, in the list of interface languages, Arabic (or at least some language with Arabic script) is last. On the production site, this language is eighth from last. I don't know whether this discrepancy matters.
hide replies
TRANG
13 days ago
I guess that would be just a minor inconvenience: if you are an Arabic speaker and were used to find the language in that position, it'll take a bit more time to find the item in the list.
AlanF_US
16 days ago
Clicking on "Transcriptions" in my profile gives the following output:

:::

Notice (1024): Undefined property: TranscriptionsController::$User in /srv/tatoeba.org/www/src/Controller/TranscriptionsController.php on line 149 [CORE/src/Controller/Controller.php, line 387]

Warning (512): Unable to emit headers. Headers sent in file=/srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php line=853 [CORE/src/Http/ResponseEmitter.php, line 48]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 148]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 181]

Call to a member function getIdFromUsername() on boolean
Error
Error in: ROOT/src/Controller/TranscriptionsController.php, line 149
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
Click on "Contribute -> Improve sentences", then click on "@change". You get this:

:::
@change (1,120 sentence)
:::

There should be no thousands separator (unless we always use a thousands separator with four-digit numbers throughout the interface), and "sentence" should be "sentences".
hide replies
TRANG
13 days ago
This is fixed.

Note that there are probably other places where the numbers are localized. For instance:
- in English "1,000"
- in French "1 000"

It seems that in the new CakePHP, the formatting of messages related to pagination handles localization of numbers. So wherever there's pagination and the title mentions the number of results, you may see a separator for big numbers. Not always because it depends how we coded it.

In the long term we probably want to use the localized numbers (with separators) everywhere, to make big numbers more readable. I think until then we can live with a bit of discrepancy, having some places with separators and some without.
AlanF_US
16 days ago
If I go to "Languages of members", then click on "English", I get this:

:::
The User association is not defined on UsersLanguages.
InvalidArgumentException
:::
hide replies
TRANG
13 days ago
This is fixed.
AlanF_US
16 days ago
If I go to my profile, then click "Vocabulary", I get this:

:::
Class 'App\Controller\Sanitize' not found
Error in: ROOT/src/Controller/VocabularyController.php, line 78
hide replies
TRANG
13 days ago
This is fixed.
Guybrush88
16 days ago - 16 days ago
I tried to add a brand new sentence with no translations. It was properly added, but I got this message: Your sentence was not added because the following already exists.

Also, the auto-detection of languages doesn't work at all. I tried both with a brand new sentence and a translation, and the language is set as unknown.
hide replies
TRANG
13 days ago
This is fixed.
hide replies
Guybrush88
13 days ago
The auto-detection of languages when adding a new sentence isn't working yet, I still always get the sentences I add marked as "unknown" language.
Guybrush88
16 days ago - 16 days ago
Tags get eventually added, but first, I get this message in a new page that gets opened (https://dev.tatoeba.org/ita/tags/add_tag_post), instead of remaining in the same page:

Warning (2): fopen(http://127.0.0.1:8080/add?str=p...&amp;value=1): failed to open stream: Connection refused [APP/Event/SuggestdListener.php, line 37]

Warning (512): Unable to emit headers. Headers sent in file=/srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php line=853 [CORE/src/Http/ResponseEmitter.php, line 48]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 148]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 181]

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/tatoeba.org/www/vendor/cakephp/cakephp/src/Error/Debugger.php:853) [CORE/src/Http/ResponseEmitter.php, line 181]
hide replies
TRANG
13 days ago
This is fixed.
Guybrush88
16 days ago
When opening the page containing all the sentences containing a given tag (i.e. https://dev.tatoeba.org/ita/tag...tag/5616/ita), the sentences are not shown and I get these error messages:

Notice (8): Trying to get property of non-object [APP/Template/Element/sentences/sentence_and_translations.ctp, line 12]

Notice (8): Trying to get property of non-object [APP/Template/Element/sentences/sentence_and_translations.ctp, line 16]

Notice (8): Trying to get property of non-object [APP/Template/Element/sentences/sentence_and_translations.ctp, line 22]

Notice (8): Trying to get property of non-object [APP/Template/Element/sentences/sentence_and_translations.ctp, line 24]

Notice (8): Trying to get property of non-object [APP/Template/Element/sentences/sentence_and_translations.ctp, line 26]
hide replies
TRANG
13 days ago
This is fixed.
Guybrush88
13 days ago
a minor issue: when posting a new message on the wall, within the browser tab, there isn't the thread number, which is present on prod
hide replies
TRANG
11 days ago
This is fixed.
Guybrush88
13 days ago
On prod, when one wants to delete one of his messages on the wall, he/she gets a confirmation box before actually deleting it. On dev, this doesn't happen, the message gets deleted right away without any confirmation box
hide replies
TRANG
11 days ago
This is fixed.
Guybrush88
13 days ago
The auto-completion of tags doesn't work. When I start to type an existing tag, the dropdown menu doesn't appear, as it should do
hide replies
TRANG
13 days ago
The tool for auto-completion of tags is not installed on the dev. The same goes for language detection.

These features cannot be tested currently. Depending if I have time or not to install the tools, they may be tested next week on dev, but otherwise we can only check that once the main website is updated.
AlanF_US
12 days ago
Trang, first of all, many thanks for all the fixes that you and your team have done! I also appreciate your reporting on them here. I'm going to use this post as the base for any comments about new problems I find.
hide replies
AlanF_US
12 days ago
When I try to make an indirect link into a direct link on the random sentence on the main page, the "in progress" wheel spins around but never stops. However, when I go to one of those sentences in a separate browser tab, I see that it has been linked correctly. Here's the random sentence:

https://dev.tatoeba.org/eng/sentences/show/365568

and here are the sentences I linked to it:

https://dev.tatoeba.org/eng/sentences/show/42187
https://dev.tatoeba.org/eng/sentences/show/430410
AlanF_US
12 days ago
The lists to which a sentence belongs are not being displayed properly on the right-hand side. To recreate this, add a sentence to a list. Then go to that sentence's page. On the right-hand side, under "Lists", you'll see a bullet without the name of the list.
AlanF_US
12 days ago
When I go to the page for a list and change the value of "Who can add/remove sentences", the "in progress" wheel keeps spinning without stopping.
TRANG
11 days ago
The 3 errors you reported above are fixed.
hide replies
AlanF_US
11 days ago
Thanks! Here are two more:

(1) Somehow, the contents of my list "Rus (5): worth learning: private"

https://dev.tatoeba.org/eng/sen...ists/show/7436

got lost between yesterday and today. Unless someone deliberately deleted those sentences from the list, something went wrong.

(2) I can't create a new list. If I try, I get the message "An Internal Error Has Occurred".
hide replies
TRANG
10 days ago
These should be fixed.
hide replies
AlanF_US
10 days ago
Thanks!

I notice that audio can't be played on the dev site. In cases where the same sentence exists on both prod and dev, the URL for the audio looks similar:

https://audio.tatoeba.org/sentences/fra/181359.mp3
https://dev.tatoeba.org/files/audio/fra/181359.mp3

This could well be a test issue rather than a software issue, but I'm reporting it anyway.
hide replies
TRANG
7 days ago
This is fixed. I changed the audio URL to audio.tatoeba.org. This was a config issue.
hide replies
AlanF_US
7 days ago
I confirmed that this works now. Thanks.
Guybrush88
8 days ago
On dev, whenever I try to modify my settings, I get told every time that an error has occurred while saving the new settings, but no details are provided. No setting change is actually modified. I tested this with many different settings.
hide replies
TRANG
7 days ago
This should be fixed. It was not happening all the time, only if "Email notifications" were disabled.
hide replies
Guybrush88
7 days ago
yep, I confirm it is fixed, thanks
cojiluc
6 days ago - 6 days ago
In the advanced search, when one searches for all sentences in the language X where there is a translation by a user Y, one gets an error saying that

“translation owner”, because “Y” is not a valid username

For example try, X=French, Y=Trang:

https://dev.tatoeba.org/eng/sen...io=&sort=words
hide replies
AlanF_US
5 days ago
I confirmed this. The interesting thing is that specifying "Trang" as an owner of the sentence (not the translation) works.
TRANG
5 days ago
Good catch. This is fixed.
CK
CK
5 days ago
Problem with browsing tags.

https://dev.tatoeba.org/eng/tag..._with_tag/7770

An Internal Error Has Occurred
Error: An Internal Error Has Occurred.

(I tried it twice.)



https://dev.tatoeba.org/eng/tag..._with_tag/1097

However, this one gets no error.
hide replies
TRANG
5 days ago
I haven't had any issue.
hide replies
CK
CK
5 days ago
I tried the first link again and this time I got the following error.
https://dev.tatoeba.org/eng/tag..._with_tag/7770

Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 14688256 bytes)
File /srv/tatoeba.org/www/src/View/Helper/TranscriptionsHelper.php
Line: 183
hide replies
TRANG
4 days ago - 4 days ago
I see, this is when you have the settings at 100 results per page.

This is probably not something I'll be able to fix right now. This is an optimization issue.
soliloquist
5 days ago
I think there's a bug with the add-to-list function on pages with numerous sentences (like list pages or "translate user's sentences" pages). On such pages, sentence selection goes wrong if a previously-selected sentence is selected again. Add-to-list command is erroneously sent to the previous sentence.

It might sound unclear so I've created a few example sentences to demonstrate.

https://dev.tatoeba.org/eng/act...es_of/testuser

Just add those sentences into some lists. Do it in order, not randomly. After getting done with the 3rd one, select the 1st or 2nd one again and try to add it into another list. You'll reproduce the bug.

This is present on both the main and the dev site.
hide replies
TRANG
4 days ago
I'll be creating an issue for this on GitHub. The list feature in general would need a complete revamp.
hide replies
soliloquist
3 days ago
Thank you.