Repository navigation
Conversation
…nd installers + CI/CD Core Changes: - Add DatabaseProviderConfigurator: normalize provider names, configure EF + Hangfire, translate SQL Server schema types for Postgres/SQLite, auto-create database - Add FirstRunSetup wizard: interactive DB selection on first startup, non-interactive fallback for containers (env vars or SQLite default) - Hangfire storage per provider (PostgreSql/SQLite/SqlServer) - Fix Hangfire.Storage.SQLite path extraction (was creating file named "Data Source=...") Fail-Soft Startup (no Telegram config = no crash): - TelegramUserApiClient: resilient constructor + auto-delete corrupt sessions - TelegramUserApiInitializationService: skip when ApiId/ApiHash missing - TelegramPanel: skip bot registration without token (no 100s GetMe hang) - TelegramBotService: instant return when BotToken is empty One-Command Installers: - install.sh (Linux/macOS): Docker or native path, auto-detect deps - install.ps1 (Windows PowerShell): Docker or native, .NET SDK install CI/CD: - .github/workflows/ci.yml: build + test on push/PR - .github/workflows/release.yml: tag-triggered release with 4-platform publish archives + Docker image + GitHub Release Infrastructure: - Dockerfile: multi-stage sdk:9.0 → aspnet:9.0-alpine, non-root - .dockerignore: prevent local obj/bin leaking into container - docker-compose.yml: postgres healthcheck with start_period - init.sql: idempotent (extensions only, no schema conflict with EF) - README.md: quick-start, install commands, architecture overview Tests: - 41 new tests for DatabaseProviderConfigurator (normalize, translate, edge cases) - All 42 solution tests pass Tested end-to-end: - SQLite: schema + /health ✅ - PostgreSQL (docker compose): 12 tables + /health ✅ - SQL Server (mssql:2022 container): 13 tables + /health ✅
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 37912375 | Triggered | Generic Password | 4acd83a | install.ps1 | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
|
Closing in favor of PR #46, which is rebased on the real default branch (master) and contains only the genuine delta. This PR was based on the stale |
🎯 Summary
Full multi-database architecture with zero-config startup — the app now supports PostgreSQL, SQLite, and SQL Server out of the box, with an interactive wizard on first run.
✅ What's New
Multi-Database Engine
DatabaseProviderConfigurator— single source of truth for EF Core + Hangfire provider selection, schema translation, and database creationnvarchar(max)→TEXT,GETUTCDATE()→NOW()/datetime('now'),uniqueidentifier→uuid, etc.First-Run Wizard (
FirstRunSetup.cs)Fail-Soft Startup
One-Command Installers
install.sh— Linux/macOS (Docker or native path)install.ps1— Windows PowerShell (Docker or native)CI/CD Workflows
ci.yml— build + test on every push/PRrelease.yml— tag-triggered: 4-platform publish + Docker image + GitHub ReleaseInfrastructure
.dockerignore, healthcheck improvements, idempotentinit.sqlREADME.mdwith quick-start guide🧪 Test Results
📁 Files Changed
29 files, +2462 / -195