chore: add CI, lint config, login rate limit and split large modules
- Rate-limit failed logins (8 per 15 min per IP or username, 429 + Retry-After) - Add ruff/mypy config and GitHub Actions workflow (ruff, pytest, tsc, tests, build) - Apply ruff autofixes (import order, pyupgrade) - Extract rpy_helpers.py, engine-util.ts, TranslationParts.tsx and translation-types.ts from oversized modules - Add dependency-free React UI tests - Refresh README and ARCHITECTURE (Naninovel/Tomie, status and plans) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
57a4edcbfd
commit
bbbcc6a5d8
42 files changed
+678
-391
No files matched your search
@@ -1,12 +1,11 @@
|
||||
"""Integration against PostgreSQL in a temporary schema, never touches library rows."""
|
||||
import asyncio
|
||||
import copy
|
||||
import os
|
||||
from uuid import uuid4
|
||||
|
||||
import httpx
|
||||
import pytest
|
||||
from sqlalchemy import select, text
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||
|
||||
from app import db as database
|
||||
@@ -128,6 +127,7 @@ def test_complete_mod_workflow(pg_manifest, monkeypatch):
|
||||
assert repeated_lines.count("Upstream addition") == 1
|
||||
# A real replacement is converted, and a stale upload is refused.
|
||||
import io
|
||||
|
||||
from PIL import Image
|
||||
image = io.BytesIO()
|
||||
Image.new("RGB", (32, 32), "red").save(image, "PNG")
|
||||
|
||||
Reference in new issue
Block a user