Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.7.3 #1538

Merged
merged 61 commits into from
Jan 24, 2025
Merged

v3.7.3 #1538

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
6b9ff57
misc: Add typehints to safe type conversion functions
adamantike Jan 12, 2025
d837070
fix: SocketIO JSON dumps with sane defaults
adamantike Jan 12, 2025
bcb6c61
Merge pull request #1475 from rommapp/misc/add-typehints-safe-functions
adamantike Jan 12, 2025
b298da8
Merge pull request #1474 from rommapp/fix/socketio-json-dumps
adamantike Jan 12, 2025
978a40e
[ROMM-1297] Fix loading psx mednafen core
gantoine Jan 12, 2025
245e225
misc: Upgrade Poetry to v2.0
adamantike Jan 12, 2025
8855e55
Merge pull request #1478 from rommapp/romm-1297
gantoine Jan 12, 2025
5ecb6d3
Merge pull request #1476 from rommapp/misc/poetry-v2
adamantike Jan 12, 2025
b683934
misc: Migrate optional dependencies to standard pyproject format
adamantike Jan 12, 2025
d0ba1d6
[HOTFIX] Fix remove from continue playing
gantoine Jan 12, 2025
04c78ab
Merge pull request #1479 from rommapp/misc/optional-deps-pyproject
adamantike Jan 13, 2025
bfc0c8a
Merge pull request #1480 from rommapp/hotfix-remove-continue-playing
gantoine Jan 13, 2025
56631db
fix: Poetry dependency installation during pytest job
adamantike Jan 13, 2025
c164a9a
[ROMM-1273] Use platform versions to check if game playable
gantoine Jan 13, 2025
6e3d5d6
Merge pull request #1483 from rommapp/misc/fix-pytest-run
adamantike Jan 13, 2025
6867486
fix: Set users email to null if empty
adamantike Jan 14, 2025
a2cc8ea
Merge pull request #1485 from rommapp/romm-1273
gantoine Jan 14, 2025
9319e3d
[ROMM-1484] Manually set control scheme for sega games
gantoine Jan 14, 2025
b35f878
Merge pull request #1490 from rommapp/fix/set-users-email-null
adamantike Jan 14, 2025
424266c
Merge pull request #1491 from rommapp/romm-1484
gantoine Jan 14, 2025
195b0cf
[HOTFIX] Change all DateTime columns to TIMESTAMP
gantoine Jan 14, 2025
fefcc63
fix server detault value
gantoine Jan 14, 2025
5ee3f63
[ROMM-1495] Fix filters in filter bar
gantoine Jan 16, 2025
68af8b0
Remove labels from issue templates
gantoine Jan 16, 2025
07c7883
Merge pull request #1493 from rommapp/hotfix-datetime-timezones
gantoine Jan 17, 2025
fb622ff
fix: Improve support for older PostgreSQL versions
adamantike Jan 18, 2025
19c4c61
Merge pull request #1504 from rommapp/fix/improve-support-older-postg…
adamantike Jan 19, 2025
987aa23
fix: English translation value for "collections"
adamantike Jan 20, 2025
d5a9002
Merge pull request #1509 from rommapp/fix/en-translation-collections
adamantike Jan 20, 2025
c018c75
misc: Add useful profiling tools to dev dependencies
adamantike Jan 20, 2025
6f5e0a0
misc: Do not fail if LOGLEVEL is not uppercase
adamantike Jan 20, 2025
f539bad
Merge pull request #1511 from rommapp/misc/fix-loglevel-uppercase
adamantike Jan 20, 2025
881466e
Merge pull request #1510 from rommapp/misc/add-dev-profiling-tools
adamantike Jan 20, 2025
1cc22ec
[ROMM-1503] Remember search query when going back to page
gantoine Jan 20, 2025
af6878a
remove unused search rom dialog
gantoine Jan 20, 2025
2200ea5
also fix for gallery views
gantoine Jan 20, 2025
d06ad1d
remove search dialog from main app bar
gantoine Jan 20, 2025
0bc0939
[ROMM-1505] Skip CSRF checks when request has Authorization header
gantoine Jan 21, 2025
bea42ef
[ROMM-1517] Use rating for dufficulty
gantoine Jan 21, 2025
8d294bf
[ROMM-1482] Display game summary with mdeditor
gantoine Jan 21, 2025
e084998
move pr template outside subfolder
gantoine Jan 21, 2025
a78b6e1
[ROMM-1522] Stop trying to set last_played from UI
gantoine Jan 21, 2025
ac6f2be
Merge pull request #1525 from rommapp/romm-1522
gantoine Jan 22, 2025
f669f3f
misc: Upgrade rq to v2.1
adamantike Jan 22, 2025
90e5665
Merge pull request #1527 from rommapp/misc/upgrade-rq-v2.0
adamantike Jan 22, 2025
6927a97
improved check
gantoine Jan 22, 2025
fcd5b78
Merge pull request #1519 from rommapp/romm-1482
gantoine Jan 23, 2025
514233d
Merge pull request #1518 from rommapp/romm-1517
gantoine Jan 23, 2025
0ec35fb
Merge pull request #1516 from rommapp/romm-1505
gantoine Jan 23, 2025
c4b9e88
fix: Correctly ignore hashes for Xbox 360 platform
adamantike Jan 23, 2025
589be51
Merge pull request #1531 from rommapp/fix/xbox-360-hash-ignored
adamantike Jan 24, 2025
b659ebe
[ROMM-1529]
gantoine Jan 24, 2025
ee465ad
Merge pull request #1514 from rommapp/romm-1503
gantoine Jan 24, 2025
5979618
remove unnecessary migrations
gantoine Jan 24, 2025
5f26a26
Merge pull request #1534 from rommapp/romm-1529
gantoine Jan 24, 2025
e8d5860
Add dependabot yml
gantoine Jan 24, 2025
7c3a943
Merge pull request #1537 from rommapp/dependabot-yml
gantoine Jan 24, 2025
5f8078b
Drop the legacy eslint ignore file
gantoine Jan 24, 2025
dc42506
Merge pull request #1539 from rommapp/drop-legacy-eslintignore
gantoine Jan 24, 2025
d366052
set package type to module
gantoine Jan 24, 2025
b6638b0
Merge pull request #1540 from rommapp/fixup-eslint-trunk
gantoine Jan 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
name: Bug report
about: Report a bug, issue or problem
title: "[Bug] Bug title"
labels: bug
assignees: ""
---

Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/custom.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
name: Custom issue template
about: Describe this issue template's purpose here.
title: "[Other] Custom issue title"
labels: other
assignees: ""
---
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
name: Feature request
about: Suggest an idea for this project
title: "[Feature] Feature title"
labels: feature
assignees: ""
---

Expand Down
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE/config.yml

This file was deleted.

16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/frontend"
schedule:
interval: "weekly"
reviewers:
- "gantoine"
target-branch: "master"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
reviewers:
- "adamantike"
target-branch: "master"
2 changes: 1 addition & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

- name: Install dependencies
run: |
poetry install --sync
poetry sync --extras test

- name: Initiate database
run: |
Expand Down
4 changes: 2 additions & 2 deletions DEVELOPER_SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ Then create the virtual environment
```sh
# Fix disable parallel installation stuck: $> poetry config experimental.new-installer false
# Fix Loading macOS/linux stuck: $> export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
poetry install --sync
poetry sync
```

If you are on Arch Linux or another Arch-based distro, you need to run the command as follows:

```sh
# https://bbs.archlinux.org/viewtopic.php?id=296542
CFLAGS="-Wno-error=incompatible-pointer-types" poetry install --sync
CFLAGS="-Wno-error=incompatible-pointer-types" poetry sync
```

#### - Spin up mariadb in docker
Expand Down
18 changes: 13 additions & 5 deletions backend/alembic/versions/0009_models_refactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import sqlalchemy as sa
from alembic import op
from sqlalchemy.exc import OperationalError
from utils.database import CustomJSON
from utils.database import CustomJSON, is_postgresql

# revision identifiers, used by Alembic.
revision = "0009_models_refactor"
Expand All @@ -21,6 +21,10 @@
def upgrade() -> None:
connection = op.get_bind()

json_array_build_func = (
"jsonb_build_array()" if is_postgresql(connection) else "JSON_ARRAY()"
)

try:
with op.batch_alter_table("platforms", schema=None) as batch_op:
batch_op.alter_column(
Expand Down Expand Up @@ -87,13 +91,13 @@ def upgrade() -> None:
"url_screenshots",
existing_type=CustomJSON(),
nullable=True,
existing_server_default=sa.text("(JSON_ARRAY())"),
existing_server_default=sa.text(f"({json_array_build_func})"),
)
batch_op.alter_column(
"path_screenshots",
existing_type=CustomJSON(),
nullable=True,
existing_server_default=sa.text("(JSON_ARRAY())"),
existing_server_default=sa.text(f"({json_array_build_func})"),
)

try:
Expand All @@ -108,6 +112,10 @@ def upgrade() -> None:
def downgrade() -> None:
connection = op.get_bind()

json_array_build_func = (
"jsonb_build_array()" if is_postgresql(connection) else "JSON_ARRAY()"
)

with op.batch_alter_table("roms", schema=None) as batch_op:
batch_op.alter_column(
"igdb_id",
Expand Down Expand Up @@ -136,13 +144,13 @@ def downgrade() -> None:
"path_screenshots",
existing_type=CustomJSON(),
nullable=False,
existing_server_default=sa.text("(JSON_ARRAY())"),
existing_server_default=sa.text(f"({json_array_build_func})"),
)
batch_op.alter_column(
"url_screenshots",
existing_type=CustomJSON(),
nullable=False,
existing_server_default=sa.text("(JSON_ARRAY())"),
existing_server_default=sa.text(f"({json_array_build_func})"),
)
batch_op.alter_column(
"file_size_units", existing_type=sa.VARCHAR(length=10), nullable=True
Expand Down
13 changes: 8 additions & 5 deletions backend/alembic/versions/0012_add_regions_languages.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,22 @@


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
connection = op.get_bind()

with op.batch_alter_table("roms", schema=None) as batch_op:
batch_op.add_column(sa.Column("regions", CustomJSON(), nullable=True))
batch_op.add_column(sa.Column("languages", CustomJSON(), nullable=True))

with op.batch_alter_table("roms", schema=None) as batch_op:
# Set default values for languages and regions
batch_op.execute("UPDATE roms SET languages = JSON_ARRAY()")
batch_op.execute("UPDATE roms SET regions = JSON_ARRAY(region)")
if is_postgresql(connection):
batch_op.execute("UPDATE roms SET languages = jsonb_build_array()")
batch_op.execute("UPDATE roms SET regions = jsonb_build_array(region)")
else:
batch_op.execute("UPDATE roms SET languages = JSON_ARRAY()")
batch_op.execute("UPDATE roms SET regions = JSON_ARRAY(region)")
batch_op.drop_column("region")

# ### end Alembic commands ###


def downgrade() -> None:
connection = op.get_bind()
Expand Down
5 changes: 4 additions & 1 deletion backend/alembic/versions/0014_asset_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,10 @@ def upgrade() -> None:

# Move data around
with op.batch_alter_table("roms", schema=None) as batch_op:
batch_op.execute("update roms set igdb_metadata = JSON_OBJECT()")
if is_postgresql(connection):
batch_op.execute("update roms set igdb_metadata = jsonb_build_object()")
else:
batch_op.execute("update roms set igdb_metadata = JSON_OBJECT()")
batch_op.execute(
"update roms set path_cover_s = '', path_cover_l = '', url_cover = '' where url_cover = 'https://images.igdb.com/igdb/image/upload/t_cover_big/nocover.png'"
)
Expand Down
12 changes: 7 additions & 5 deletions backend/alembic/versions/0015_mobygames_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import sqlalchemy as sa
from alembic import op
from utils.database import CustomJSON
from utils.database import CustomJSON, is_postgresql

# revision identifiers, used by Alembic.
revision = "0015_mobygames_data"
Expand All @@ -18,7 +18,8 @@


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
connection = op.get_bind()

with op.batch_alter_table("platforms", schema=None) as batch_op:
batch_op.add_column(sa.Column("moby_id", sa.Integer(), nullable=True))

Expand All @@ -27,9 +28,10 @@ def upgrade() -> None:
batch_op.add_column(sa.Column("moby_metadata", CustomJSON(), nullable=True))

with op.batch_alter_table("roms", schema=None) as batch_op:
batch_op.execute("update roms set moby_metadata = JSON_OBJECT()")

# ### end Alembic commands ###
if is_postgresql(connection):
batch_op.execute("update roms set moby_metadata = jsonb_build_object()")
else:
batch_op.execute("update roms set moby_metadata = JSON_OBJECT()")


def downgrade() -> None:
Expand Down
25 changes: 25 additions & 0 deletions backend/alembic/versions/0030_user_email_null.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"""Change empty string in users.email to NULL.

Revision ID: 951473b0c581
Revises: 0029_platforms_custom_name
Create Date: 2025-01-14 01:30:39.696257

"""

from alembic import op

# revision identifiers, used by Alembic.
revision = "0030_user_email_null"
down_revision = "0029_platforms_custom_name"
branch_labels = None
depends_on = None


def upgrade() -> None:
with op.batch_alter_table("users", schema=None) as batch_op:
batch_op.execute("UPDATE users SET email = NULL WHERE email = ''")


def downgrade() -> None:
with op.batch_alter_table("users", schema=None) as batch_op:
batch_op.execute("UPDATE users SET email = '' WHERE email IS NULL")
Loading
Loading