Commit Graph

183 Commits

Author SHA1 Message Date
ruslan ca5d1af2b5 fix: webpool containers now stay alive 24h; recycle on session expiry
- Pool containers got IDLE_TIMEOUT=86400 instead of SESSION_IDLE_SECONDS (300s)
  to prevent them from cycling every 5 minutes while idle
- On session expiry, WEBPOOLIDX containers are now stopped so ensure_web_pool()
  recreates them fresh for the next user (prevents dirty Chromium state)
2026-07-21 13:53:18 +00:00
ruslan 3eff94fbb2 ui: remove credentials badge from WEB sessions, remove Back button from RDP
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 11:07:21 +00:00
ruslan de56959ba2 fix autofill: handle two-step login forms (CommuniGate)
- Fill username by specific attrs even without visible password field
  (handles two-step forms: username first, password appears after)
- Broad input[type=text] fallback only fires when password field is present
  (prevents filling R7-Office font selector and other app inputs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 11:02:55 +00:00
ruslan d258f3e0fd fix autofill: stop filling when no visible password field on page
Prevents autofill from filling app text inputs (e.g. R7 font selector)
after login. Now tryFill() bails out immediately if no input[type=password]
is visible — meaning we are no longer on a login form.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 09:02:22 +00:00
ruslan 51590cea80 seo: add explicit shortcut icon link to all templates for Yandex favicon indexing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:38:24 +00:00
ruslan 65b098b702 fix: serve favicon.ico from /favicon.ico route with correct mime type
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:32:04 +00:00
ruslan a9213eb507 update favicon.ico: multi-size (16/32/48/64/128/256px) from favicon.svg
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:27:16 +00:00
ruslan cc5d7b8476 revert: white cards, remove credentials from service tiles
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:13:38 +00:00
ruslan cdc30f126c fix: add cache-busting v=2 to style.css to force browser reload
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:10:29 +00:00
ruslan ccc3a2fb51 fix: force original icon box size with explicit !important overrides
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:08:15 +00:00
ruslan 4c2fc455ff revert: restore original icon box size
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:05:12 +00:00
ruslan 1fe62af26b revert: remove search bar and credentials collapsible
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:04:04 +00:00
ruslan 4d5e01855f dashboard: collapsible credentials block; autofill: fix Pult username field
- Credentials wrapped in svc-credentials-wrap with toggle button and chevron
- Credentials hidden by default, expand on click (CSS class toggle)
- Autofill: add autofocus selector to catch fields like Zabbix name=name
- Autofill: re-fill username after password fill if Pult/Zabbix cleared it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 08:00:02 +00:00
ruslan cfadc72e6c dashboard: glassmorphism cards, compact accent icon box, live search bar
- Tile cards: backdrop-filter blur(22px), rgba white bg, inset highlight
- Hover: translateY(-5px) + brighter glass effect
- Icon box: 68px compact rounded square with blue gradient accent
- Added live search input with glass style (filters by service name)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 07:48:11 +00:00
ruslan 174efa7f57 form: add Select All checkbox to products list in access request form 2026-07-20 20:19:07 +00:00
ruslan b7a5d42644 fix: serve /favicon.ico so search engines find the site icon 2026-07-20 19:37:09 +00:00
ruslan 0ffab2e98f web overlay: add 2s progress bar before showing Enter button 2026-07-20 19:29:44 +00:00
ruslan f1449460d0 nav: hide title text when green Enter button appears on overlay 2026-07-20 19:27:09 +00:00
ruslan 706c647ba6 nav: replace hint text with green Enter button on overlay 2026-07-20 19:24:12 +00:00
ruslan b185049a60 nav: show click-to-continue hint on overlay, fullscreen on that click 2026-07-20 19:21:02 +00:00
ruslan f00d51cd76 nav: fullscreen on first user interaction with screen (browser policy fix) 2026-07-20 19:16:02 +00:00
ruslan e079723922 nav: add labels to buttons, auto-fullscreen on session open 2026-07-20 19:12:47 +00:00
ruslan 709de88c95 fix: encode From header with RFC 2047 to fix email delivery with Cyrillic sender name 2026-07-20 17:06:52 +00:00
ruslan 09833cd298 Replace spinner with mont-emoji(3).gif animation in RDP and WEB overlays 2026-07-20 16:41:58 +00:00
ruslan 81608f8741 webpool: disable password save dialog and add chromium-l10n for Russian UI
- Add --disable-features=PasswordManagerEnabled to Chromium flags
- Add credentials_enable_service=False and profile.password_manager_enabled=False to Chrome Preferences
- Install chromium-l10n package in Dockerfile for Russian browser UI
2026-07-20 16:15:44 +00:00
ruslan 806c5d8e1f session wait page: replace visible card with silent dark redirect 2026-07-20 16:04:21 +00:00
ruslan f028f91ce4 universal-runtime: fix JS SyntaxError — remove bash escapes from single-quoted heredoc 2026-07-20 15:57:43 +00:00
ruslan 36570631cf universal-runtime: fix overlay hiding error messages on reconnect 2026-07-20 15:50:54 +00:00
ruslan 19a9764d8e universal-runtime: replace status badge with centered overlay Подготовка приложения... 2026-07-20 15:45:50 +00:00
ruslan f61953f32a rdp-proxy: rename overlay text to Подготовка рабочего стола... 2026-07-20 15:31:42 +00:00
ruslan 8707c72d23 rdp-proxy: pre-connect xfreerdp at container startup for instant sessions 2026-07-20 15:19:51 +00:00
ruslan 283f4f93c9 rdp-proxy: show overlay only after connect, remove waiting phase 2026-07-20 15:16:43 +00:00
ruslan 6f40e9dc72 rdp-proxy: replace corner status with centered fullscreen overlay
- Remove Ожидайте corner badge
- Phase 1 (connecting): centered spinner + Подключение к рабочему столу... + elapsed timer
- Phase 2 (desktop ready): progress bar fills over 5.8s then fades out
- Errors (reconnect) shown in small top-left box only
2026-07-20 15:05:27 +00:00
ruslan 3433e32df3 Handle renewal: extend expiry, add new products, send renewal email 2026-07-08 08:56:53 +00:00
ruslan 4b4b07dd20 Fix Telegram sendMessage: switch to HTML parse mode, escape user data 2026-07-03 11:37:30 +00:00
ruslan 18bb4bfaf4 Update description text: Партнеры MONT и их заказчики 2026-06-15 13:27:03 +00:00
ruslan 2a494dfa5e Reduce left panel title font size to fit narrow column 2026-06-08 09:39:06 +00:00
ruslan 8bf6c44485 Fix left panel overflow: top-align content, allow vertical scroll 2026-06-08 09:37:18 +00:00
ruslan dff17ad56a Move logo inside left panel to fix overlap at any screen size 2026-06-08 09:33:20 +00:00
ruslan 0d22003716 Fix logo overlap on mobile, fix cookie banner persistence 2026-06-08 09:29:39 +00:00
ruslan 986dcf5c84 Update favicon: new SVG and PNG versions 2026-05-29 16:11:26 +00:00
ruslan efa1c26e5d Email improvements: domain-aware portal URL, embedded logo, fix product list color
- Store request origin domain in PendingAccessRequest.portal_url
- Use per-request portal URL in approval/rejection emails
- Embed logo as base64 so it displays without external image loading
- Fix 'Предоставлен доступ к продуктам' text color to match body color
- Switch Telegram polling to 30-second interval with single-worker flock fix
2026-05-29 16:10:40 +00:00
ruslan e5ea23487e Add Telegram approval flow: inline buttons, user creation, email notifications 2026-05-29 14:41:42 +00:00
ruslan ad1e781040 Add cookie consent banner with localStorage persistence 2026-05-28 11:42:24 +00:00
ruslan 4a16813942 Update logo link to www.mont.ru 2026-05-28 11:17:12 +00:00
ruslan 202b609b3e Update Made by Galyaviev email to ruslan@ipcom.su 2026-05-28 11:12:32 +00:00
ruslan 56cc2495a6 Logo links to mont.ru or 4mont.ru depending on domain 2026-05-28 11:10:35 +00:00
ruslan 59bfb66ae4 Open maps.mont.ru when accessed via stand.mont.ru 2026-05-28 10:44:33 +00:00
ruslan 7918c16a59 Replace contact modal with mailto link on Made by Galyaviev 2026-05-28 10:29:17 +00:00
ruslan de49bffc1b Update privacy redirect to mont.ru/ru-ru/privacy 2026-05-28 10:22:54 +00:00