chore: rename remaining subfeed references to siftlode

Replace the leftover 'subfeed' name across logger names + log_config,
frontend localStorage keys, Postgres user/db/volume defaults in the
compose files, .env.example, config.py, backup/restore scripts and the
README. Pure rename; no behavioural change. localStorage keys move from
subfeed.* to siftlode.* (one-time UI-state reset is acceptable).
This commit is contained in:
npeter83 2026-06-21 06:53:12 +02:00
parent f13e51fdc8
commit ebcb5144b6
31 changed files with 67 additions and 67 deletions

View file

@ -71,7 +71,7 @@ BASE_SCOPES = "openid email profile"
READ_SCOPES = f"{BASE_SCOPES} {READ_SCOPE}"
WRITE_SCOPES = f"{BASE_SCOPES} {READ_SCOPE} {WRITE_SCOPE}"
log = logging.getLogger("subfeed.auth")
log = logging.getLogger("siftlode.auth")
router = APIRouter(prefix="/auth", tags=["auth"])

View file

@ -30,7 +30,7 @@ class Settings(BaseSettings):
git_sha: str = "unknown"
build_date: str = ""
database_url: str = "postgresql+psycopg://subfeed:subfeed@db:5432/subfeed"
database_url: str = "postgresql+psycopg://siftlode:siftlode@db:5432/siftlode"
# Session cookie signing key.
secret_key: str = _DEFAULT_SECRET_KEY

View file

@ -14,7 +14,7 @@ from app import sysconfig
from app.config import settings
from app.db import SessionLocal
log = logging.getLogger("subfeed.email")
log = logging.getLogger("siftlode.email")
def _smtp() -> dict:

View file

@ -5,20 +5,20 @@ from pathlib import Path
from fastapi import FastAPI, HTTPException
# When started via uvicorn --log-config the "subfeed" logger is already configured
# When started via uvicorn --log-config the "siftlode" logger is already configured
# (see log_config.json). This block is a timestamped fallback for other entrypoints
# (tests, scripts) so our logs are never silently dropped.
_subfeed_logger = logging.getLogger("subfeed")
if not _subfeed_logger.handlers:
_siftlode_logger = logging.getLogger("siftlode")
if not _siftlode_logger.handlers:
_handler = logging.StreamHandler(sys.stdout)
_handler.setFormatter(
logging.Formatter("%(asctime)s %(levelname)-5s [%(name)s] %(message)s")
)
_subfeed_logger.addHandler(_handler)
_subfeed_logger.setLevel(logging.INFO)
_subfeed_logger.propagate = False
_siftlode_logger.addHandler(_handler)
_siftlode_logger.setLevel(logging.INFO)
_siftlode_logger.propagate = False
log = logging.getLogger("subfeed.app")
log = logging.getLogger("siftlode.app")
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse, JSONResponse
from fastapi.staticfiles import StaticFiles

View file

@ -28,7 +28,7 @@ from app.youtube.client import YouTubeClient, YouTubeError
router = APIRouter(prefix="/api/channels", tags=["channels"])
log = logging.getLogger("subfeed.api")
log = logging.getLogger("siftlode.api")
@router.get("")

View file

@ -27,7 +27,7 @@ from app.sync.runner import (
run_subscription_resync,
)
logger = logging.getLogger("subfeed.scheduler")
logger = logging.getLogger("siftlode.scheduler")
_scheduler: BackgroundScheduler | None = None

View file

@ -8,7 +8,7 @@ from sqlalchemy.orm import Session
from app.config import settings
from app.models import AppState
log = logging.getLogger("subfeed.state")
log = logging.getLogger("siftlode.state")
# Bounds for the admin-set maintenance re-validation batch (videos re-checked per run).
MAINTENANCE_BATCH_MIN = 100

View file

@ -11,7 +11,7 @@ import re
from sqlalchemy import and_, exists, func, select
from sqlalchemy.orm import Session
log = logging.getLogger("subfeed.autotag")
log = logging.getLogger("siftlode.autotag")
from app import progress, sysconfig
from app.models import Channel, ChannelTag, Tag, Video

View file

@ -34,7 +34,7 @@ from app.sync.runner import get_service_user
from app.sync.videos import apply_video_details, parse_dt
from app.youtube.client import YouTubeClient
log = logging.getLogger("subfeed.maintenance")
log = logging.getLogger("siftlode.maintenance")
# Reasons recorded on Video.unavailable_reason. "removed" = absent from videos.list
# (deleted or made private); "abandoned" = an upcoming premiere that never went live.

View file

@ -18,7 +18,7 @@ from app.models import Channel, OAuthToken, Playlist, PlaylistItem, User, Video
from app.sync.videos import apply_video_details, parse_dt
from app.youtube.client import YouTubeClient, YouTubeError
log = logging.getLogger("subfeed.sync")
log = logging.getLogger("siftlode.sync")
# Cost of a single YouTube write op (playlists/playlistItems insert/update/delete).
WRITE_UNIT_COST = 50

View file

@ -12,7 +12,7 @@ from sqlalchemy.orm import Session
from app import progress, quota, sysconfig
log = logging.getLogger("subfeed.sync")
log = logging.getLogger("siftlode.sync")
from app.models import Channel, OAuthToken, Subscription, User
from app.sync.subscriptions import import_subscriptions
from app.sync.videos import (

View file

@ -8,7 +8,7 @@ from sqlalchemy.orm import Session
from app.models import Channel, Subscription, User
from app.youtube.client import YouTubeClient, best_thumbnail
log = logging.getLogger("subfeed.sync")
log = logging.getLogger("siftlode.sync")
def _to_int(value) -> int | None:

View file

@ -16,7 +16,7 @@ from app.config import settings
from app.models import User
from app.security import decrypt
log = logging.getLogger("subfeed.youtube")
log = logging.getLogger("siftlode.youtube")
GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token"
API_BASE = "https://www.googleapis.com/youtube/v3"