mahjongpantheon / pantheon Goto Github PK
View Code? Open in Web Editor NEWPrimary Pantheon project repository
Home Page: https://riichimahjong.org
License: GNU General Public License v3.0
Primary Pantheon project repository
Home Page: https://riichimahjong.org
License: GNU General Public License v3.0
There should be a separate page with full ruleset overview accessible for everyone. Now only administrators see the ruleset overview.
Набросов в рон | 65 (10.52%)
The functionality to edit a players profile that was available in rheda under
http://localhost:4002/profile/edit/xx has been removed, but the function has not yet been added to Forseti.
The bug was replicated a few times, by using a fresh pull from commit a9b2e23
running
make container
make run
make dev
make seed
make seed_tournament
creating a tournament with EMA Rules and prescripted seating.
After canceling a round in the management page in Forseti, and then Reentering the exact same result once more via Frey, the backend seems to time out as a lot of timeout errors are visible in PHP logs from Rheda, and the whole frontend times out. After a long time(some minutes) and a reauth the system seems to recover, and the error cannot be recreated until the next session.
2023/04/21 12:49:12 [error] 113#113: *1439 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 127.0.0.1, server: , request: "POST /v2/Common.Frey/QuickAuthorize HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:4004" 127.0.0.1 - - [21/Apr/2023:12:49:12 +0300] "POST /v2/Common.Frey/QuickAuthorize HTTP/1.1" 504 497 "-" "GuzzleHttp/7" "-" 2023/04/21 12:49:13 [error] 113#113: *1441 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 127.0.0.1, server: , request: "POST /v2/Common.Frey/QuickAuthorize HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:4004" 127.0.0.1 - - [21/Apr/2023:12:49:13 +0300] "POST /v2/Common.Frey/QuickAuthorize HTTP/1.1" 504 497 "-" "GuzzleHttp/7" "-" 2023/04/21 12:49:13 [error] 112#112: *1417 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 127.0.0.1, server: , request: "POST /v2/Common.Frey/GetPersonalInfo HTTP/1.1", upstream:
например вот эта игра https://rating.riichimahjong.org/eid146/game/beec8b068bbda3732d4daf3f9088bdd3c8b9b333 имеет правильный таймстамп
а эта https://rating.riichimahjong.org/eid146/game/660436f0b486a07dd04bfb854d85552747ef6902 на самом деле закончилась на 2 часа раньше, в 21:22
если зайти в профиль любого игрока и кликать на точки на графике рейтинга, то там игры в правильном порядке, и как раз сбитое время можно будет обнаружить
This will gain +0.1 points from spam-assassin.
Also maybe we should remove html mails and keep plain text only, as we don't send any media content.
See https://r.riichi.top/eid154
With predefined seating, players list does not include the delete button. Check if this is required and provide either bugfix or instructions for administrators for this case.
Код, ответственный за это:
pantheon/Rheda/src/controllers/RatingTable.php
Lines 143 to 147 in dacd54e
Предлагаю, если в $name
нет пробелов, возвращать просто $name
, не пытаясь ничего с ним делать.
Hanchan should end after the 4th South if one player has at least 30000 points. Current minimum value is 30100
When adding a Player to a tournament in Forseti via "Manage Players".
Only the last added player is shown.
Only after a page reload, is one able to see the whole list of Players
In the "Manage Games" Menu for a tournament after i.e. a round has finished, the score, round number etc. is not refreshed automatically, and a page reload is required.
At least a refresh button should be there.
Steps to reproduce:
Check behavior when excluding one or two players, but not the whole table.
Removing a replacement player via Rheda(on view http://localhost:4002/eid2/reg) does not work.
Field in db is not updated.
Had the problem at the last tournament, because a player showed up in the last minute and i needed to remove the replacement player again, which i then did directly from the event_registered_player table.
After logging in in Tyr , the Player Name is not loaded correctly, and just "Player Name" is displayed.
After reloading the Page, the Name is then loaded correctly.
Use case:
Suggestion:
Сообщение
7-2-1-8
4-2-6-3
2-4-3-8
1-7-8-6
7-6-3-8
1-2-4-6
1-7-4-3
2-7-6-8
2-7-4-6
1-4-3-8
1-2-6-3
7-4-3-8
1-4-6-8
2-7-1-3
This happens due to hardcoded condition in Rheda: https://github.com/MahjongPantheon/pantheon/blob/master/Rheda/src/controllers/TournamentControlPanel.php#L226
Looks like this logic is incorrect, and we should rely on the total number of players participating in certain hanchan.
Check if games end properly when time is out.
See eid170,171 for presumably problematic ruleset configuration.
When attempting to generate new seating on the Games Management page, by clicking the designated button, the status changes to "Seating..." but then, after a few seconds, returns to "Not Started" without any seating being created.
Additionally, if manual seating arrangements are specified for the same tournament, the status remains stuck on "Seating..." indefinitely.
Affected tournament: https://manage.riichimahjong.org/event/184/games
Сейчас, английский перевод несёт на себе ещё и функцию placeholder'ов, что приводит к тому, что при изменении английского текста, менять одно и то же нужно в двух местах. Может быть стоит сделать placeholder'ы языконезависимыми?
Как повторить:
sudo apt install docker.io git
git clone https://github.com/MahjongPantheon/pantheon.git
cd pantheon
sudo make container
sudo make run
Как проявляется:
На 4001 и 4002 портах пустая страница, 4003 недоступен.
Ошибки:
bin/phinx
не найден при sudo make seed
[email protected]
, т.к. ожидал архитектуру darwin
, а получил linux
Логи:
sudo make logs
wins with riichi: 71
riichi bets won: 71
riichi in yaku stats: 70
https://rating.riichimahjong.org/eid146/user/187
71 / 71 / 70
https://github.com/MahjongPantheon/pantheon/pull/242/files
Is it still not implemenetd? What about crons, daemons, etc?
The page at URL https://rating.riichimahjong.org/eid132/timer produces next log item:
[31-Mar-2023 19:19:56 UTC] PHP Warning: Undefined array key "title" in /Mimir/src/TwirpServer.php on line 1619
We need to disable timer page and link for finished events. Also check if this error happens when some users are dropped from event or are excluded from the seating.
Now all events are hidden by default and could be shown by pressing a button in "My events" page. This should be controlled also by some checkbox in event add/modify page.
LocalStorage has first priority while cookies have secondary. See
pantheon/Tyr/app/services/idb/index.ts
Line 81 in b667407
This leads to some undesirable behavior after password reset:
Also check domain of cookies for Tyr and Rheda: the domain should be exactly .riichi.top
everywhere (started with dot)
See database, eid193 and less. chipsValue
should not exist in ruleset_config
there.
https://gui.mjtop.net/eid70/game/d290b5ee8a0108d1ee03a6189bd22cf08aea7366
Предлагаю вместо этого писать "N/A"
It would be very comfortable if the functionality to send recovery and signup mails via smarthost would work out of the box with docker compose.
Tested Steps to make it work:
FROM_MAIL=Pantheon<[email protected]>`
SMTP_HOST=mail.domain.test:587
[email protected]
SMTP_PASS=password
SMTP_TLS=YES
SMTP_STARTTLS=YES
apk add ssmtp
in Frey container
Add configuration for ssmtp to /etc/ssmtp/ssmtp.conf filled with env variables
# cat /etc/ssmtp/ssmtp.conf
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=SMTP_HOST
# Where will the mail seem to come from?
rewriteDomain=
# The full hostname
hostname=pantheon
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=SMTP_USER
AuthPass=SMTP_PASS
UseTLS=SMTP_TLS
UseSTARTTLS=SMTP_STARTTLS
$additionalHeaders, string $additionalParams)
{
$boundary = md5(uniqid() . microtime());
$additionalHeaders['Content-Type'] = 'multipart/alternative; boundary="' . $boundary . '"';
$additionalHeaders['From'] = SMTP_FROM;
Unbind from non-required externals.
Example: plausible.io
Now we have 4 predefined rulesets with the ability to change details when making a new event. Usually club ratings are based on previous season rules, so there could be some improvements in the process:
After finishing the last round of a tournament with preseating, the tournament control page throws an error:
Something went wrong: Response: HTTP/1.1 500 Internal Server Error
PHP Error:
[28-Mar-2023 07:34:07 UTC] PHP Warning: Undefined array key 8 in /var/www/html/pantheon-prod/Mimir/src/primitives/EventPrescript.php on line 262 [28-Mar-2023 07:34:07 UTC] PHP Fatal error: Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, null given in /var/www/html/pantheon-prod/Mimir/src/helpers/Seating.php:624
It does not really pose a problem, as the round is calculated properly.
Bug can be mitigated by adding a "dummy" round in the prescripting.
Solution:
tournament control page should display something along the lines of "no more prescripted rounds available" or similar, but should still allow hiding and showing rating table(newer version have this toggle in the tournament overview as well).
Pantheon version used when discovering bug hast the following commit as head:
1221ea0
Adding a view for a player to see for which events they are enrolled in would be helpful.
Maybe adding "Enrolled/Registered Events" or something like that in Forset, with the option to click an enrolled event and be redirected to rating table in rheda.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.