Commits

Back

Последние изменения из mirror GitHub. Здесь видны не только SHA, но и автор, дата, количество файлов и зоны риска.

Reset

Показаны 1482 commit'ов, страница 5 из 30.

Previous | Next

9ae7d38

feat(kanban): tag filter dropdown in the filter bar, synced with card-tag chips; server-side over full dataset

2026-08-10T19:25:20+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 3 | core 0 | module 0 | forbidden 0

Flags:

dd215c9

docs(openapi): document GET /api/v1/tasks query filters (22 params)

2026-08-10T19:19:27+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

5de67ed

fix(tasks): due-date filters resolve in the user's local timezone

2026-08-10T19:15:10+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 3 | core 0 | module 0 | forbidden 0

Flags:

8a743b0

fix(tasks): review hardening for server-side filters

2026-08-10T19:10:47+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

1347d5a

feat(tasks): resolve ALL filters server-side over the full dataset — kanban and tasks page no longer filter only the loaded cards/pages

2026-08-10T19:02:58+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 4 | core 0 | module 0 | forbidden 0

Flags:

bcb02ef

fix(api): anti-replay retry must not be gated by allowRetry — plain PATCH/POST (profile save, task create) are exactly the requests that hit 425/307 on 0-RTT hosts, and redirect:'manual' means the browser no longer auto-follows the 307; gate on opts.retry !== false so only explicit retry:false opts out. Fixes a regression where those calls surfaced HTTP_307/HTTP_425 instead of recovering

2026-08-10T18:36:30+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

f6c9999

docs(changelog): record anti-replay tolerance for all methods + 30s default timeout

2026-08-10T18:03:53+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

34c9942

feat(api): tolerate TLS 1.3 0-RTT anti-replay (425/307) for ALL methods without any server config — redirect:'manual' stops the browser from auto-following the 307 (which dropped PATCH/POST bodies -> 422) and the request() loop re-sends the request, body intact, since 425/307 mean it never reached the app; raise default timeout to 30s so slow shared-hosting pools no longer surface network errors

2026-08-10T17:57:22+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

0f20ba0

fix(cache): respect per-call TTL capped by global api_file_cache_ttl so kanban/dashboard payloads refresh in 30-45s instead of the whole global TTL; invalidate page cache on task mutations (create/update/delete/move/bulk, module add/remove) so the board and its column counters update immediately

2026-08-10T17:51:27+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 4 | core 0 | module 0 | forbidden 0

Flags:

6b0845f

refactor(kanban): skip server status count query on chunk pages; format column counters with thousands separator ("3 606")

2026-08-10T17:42:54+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

386a3d4

fix(kanban): real column counters from server (status_counts) + working background load-more; drop 'Shown X of Y' summary text

2026-08-10T17:38:08+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 6 | core 0 | module 0 | forbidden 0

Flags:

9ad0408

feat(api): treat 425 Too Early (TLS 0-RTT anti-replay) as retryable so installs with ssl_early_data recover automatically; record network/timeout/HTML transport failures that survive retries as frontend_api_error telemetry (previously invisible)

2026-08-10T17:18:29+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

425d819

fix(api): scope automatic retry default to GET/HEAD only (idempotent POSTs keep opt-in retry:true to avoid double-retry with ai.js/jobs own loops); caller abort always wins over timeout tick; status-bar retry hint timer extended to 30s

2026-08-10T16:59:52+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 3 | core 0 | module 0 | forbidden 0

Flags:

1fdb937

feat(api): automatic one-shot retry for idempotent requests on transient failures (network, timeout, 429/5xx, HTML response) so intermittent data-load errors recover without a manual page reload; respects Retry-After; opt-out with retry:false; status bar shows "Повторная попытка…" during retry; retryableStatus now includes 500

2026-08-10T16:58:21+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 13 | core 0 | module 0 | forbidden 0

Flags:

5a5dea8

fix(api): task list with limit=0 (unlimited) must skip QueryBuilder OFFSET too - a bare OFFSET without LIMIT is invalid MySQL and broke the kanban page endpoint; unlimited lists now emit a plain query

2026-08-10T13:49:27+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

af45a42

feat(kanban): load ALL accessible tasks by default (no 100-card cap); new global setting kanban_max_cards (Admin > Settings): 0 = show everything at once, N = chunked with automatic load-more on scroll (IntersectionObserver); honest summary counter shows real total; task list API supports limit=0 = unlimited

2026-08-10T13:47:32+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 12 | core 0 | module 0 | forbidden 0

Flags:

b973815

fix(web): dashboard cycles widget - misplaced closing quote turned HTML string concat into a relational comparison, rendering literal "false" as the whole widget body when active cycles exist; cycle cards/progress/task counters now render

2026-08-10T13:32:02+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

da961ef

feat(web): server-side pagination and server-side filters for tasks and projects lists (limit 50/30, page param, manager/priority/client filters); add projects pager UI

2026-08-10T12:30:33+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 4 | core 0 | module 0 | forbidden 0

Flags:

dd17b3d

fix(api): project detail - include client_title via counterparties join so the client name renders instead of raw public_id

2026-08-10T12:20:04+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

e53da96

fix(web): entry route - canonical redirect /web/index.php -> /web/ (preserving query string) as requested; explicit ?route= values still work directly,

2026-08-10T09:48:06+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

cc5b9cb

fix(web): entry route - map path-derived /web/index.php to the index route (Dashboard) instead of 404 on unknown index.php route; explicit ?route= values untouched,

2026-08-10T09:45:19+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

e139a9b

docs(changelog): release 0.2.0.1

2026-08-10T09:26:48+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

8ec1a85

fix(web): pages.css - restore missing @media wrapper around .crm-automation-page .crm-section-head mobile rules (orphan closing brace since 462360c5; braces now balanced 2773/2773),

2026-08-10T09:24:16+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

1a3054f

fix(web): my-day/my-week metric tiles - box-shadow none !important and min-width 105px (was 118px) for #myDayFocusSummary and #myWeekMetrics tiles,

2026-08-10T09:18:12+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

053faec

fix(web): switches - .form-switch .form-check-input:checked box-shadow none so an enabled toggle has no hover/focus glow ring,

2026-08-10T09:15:02+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

fffd444

feat(web): sepia theme - add warm --crm-ve-* token set so editor-rendered spoilers/content match the parchment palette,

2026-08-10T09:13:25+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

425fd83

fix(web): visual editor spoiler - move --crm-ve-* tokens from .crm-ve-editor scope to :root so rendered content (comments/descriptions/ideas) keeps spoiler styling outside the editor; dark theme accent green via --crm-primary, add contrast theme --crm-ve set,

2026-08-10T09:12:01+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

8e5b2a7

fix(web): kanban - guard edge-hover listeners with data-edge-bound flag (prevent accumulation on board re-render, review follow-up),

2026-08-10T09:04:39+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

559b85d

feat(web): kanban - scroll buttons fade-in animation on board edge hover (edge-left/edge-right zones + slide keyframe; is-visible keeps buttons persistent when scrollable; reduced-motion safe),

2026-08-10T09:03:40+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

8bd08fe

fix(web): kanban - add typing-context guard to board wrap keydown handler (review follow-up),

2026-08-10T09:01:22+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

669fc9d

feat(web): kanban - keyboard navigation with Left/Right arrows scroll the board by one column (Tab focuses board wrapper; document-level fallback ignores typing contexts and open modals),

2026-08-10T09:00:39+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

4c09b79

feat(web): kanban horizontal scroll navigation - visible scrollbar, floating scroll buttons (left/right), scroll-wrap container; improves UX when many columns overflow viewport,

2026-08-10T08:41:26+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 3 | core 0 | module 0 | forbidden 0

Flags:

93e2425

fix(web): make footer static (not sticky) - was position:sticky bottom:0, now flows naturally at page bottom, freeing vertical space,

2026-08-10T08:35:44+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

c334956

fix(web): crm-metric-tile - add explicit 16px padding for standalone tiles and 16px horizontal padding for inside-card rows; align with system card visual style,

2026-08-10T08:32:20+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

92e8cef

fix(web): add missing project status translations (status_new/active/planning/in_progress/blocked/done) to js_overrides.php for all 7 locales - fixes English status badges on projects page with Russian locale,

2026-08-10T08:22:18+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

e3682d7

fix(web): reorder theme options in profile select - light, sepia, dark, contrast,

2026-08-10T08:12:45+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

da1ea2a

fix(web): add sepia gantt scoped token block - swap blue active/project tints for warm brown on gantt bars, dots and badges; no blue accents remain in sepia theme,

2026-08-10T07:51:49+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

5a872b8

fix(web): status/error toast tokens are now per-theme - sepia loading popup shows warm brown instead of fixed green; dark keeps readable mid-green, contrast uses brand dark green (AA preserved),

2026-08-10T07:26:21+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

c77d49f

feat(web): add sepia theme (warm parchment) as a pure token block in themes.css - proving the theme architecture: light-variant themes need zero component repairs; register in header allowlist, api.js THEMES, profile select + 7 language keys,

2026-08-10T07:22:24+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 11 | core 0 | module 0 | forbidden 0

Flags:

bc746ca

refactor(web): remove all dead var(--token, #hex) fallbacks across CSS/JS/PHP - add light modal/popover tokens to :root so no raw hex colors remain outside token definitions

2026-08-10T07:15:39+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 13 | core 0 | module 0 | forbidden 0

Flags:

00e2908

refactor(web): migrate remaining inline colors in PHP templates to CSS tokens - ideas.php AI-step accents (new --crm-idea-clarify/--crm-idea-gap tokens), cycles.php color-mix primary borders + on-accent text, admin_updates.php code/secret blocks to --crm-code-bg/text,

2026-08-10T06:51:18+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 4 | core 0 | module 0 | forbidden 0

Flags:

9d9291a

fix(web): contrast theme - secondary/ghost/outline buttons get white bg + black borders (base 10% ink tint was nearly invisible); modal buttons now match high-contrast design,

2026-08-10T06:43:08+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

0b3e822

refactor(web): unify all remaining colors into CSS variables - zero hardcoded colors in base CSS/JS/PHP, themes only swap token sets; cal-* dark tokens, color-mix tints, fixed status/error overlay tokens, SVG obstacle via inline style

2026-08-10T06:35:07+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 7 | core 0 | module 0 | forbidden 0

Flags:

61a0669

fix(web): dark theme - kill bootstrap box-shadow glows (AI digest, danger, badge/chip/btn, tasks checkboxes), keep focus-visible ring

2026-08-10T06:00:25+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

6478aa1

fix(web): contrast theme audit - no blue accents, AA-safe green gantt/VE tokens, brand green default module color

2026-08-10T05:47:51+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 11 | core 0 | module 0 | forbidden 0

Flags:

58b3c13

fix(web): themes - migrate remaining hardcoded colors to CSS variables so dark/contrast themes have no light artifacts or unreadable text

2026-08-09T20:57:27+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 8 | core 0 | module 0 | forbidden 0

Flags:

45c7316

fix(web): themes - modal/offcanvas/drawer/popover surfaces to tokens (password modal was white in dark), dark glass + contrast solid white/black

2026-08-09T19:52:05+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

c906235

fix(web): themes - review: preserve light .updates-info text (text-soft), export bg uses --crm-surface (light stays #fff), drop redundant try/catch in theme PATCH

2026-08-09T19:46:55+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 2 | core 0 | module 0 | forbidden 0

Flags:

ea231dc

fix(web): themes dark - last undefined color vars (knowledge space active tints, dashboard catalog) to crm tokens

2026-08-09T19:40:42+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags:

70653aa

fix(web): themes dark - dashboard builder bar/catalog/controls to CSS vars (no white panels/blue in dark), knowledge active states use brand green via crm-primary

2026-08-09T19:39:31+00:00

Anton Barinov <55404783+Anton-Barinov@users.noreply.github.com>

Files: 1 | core 0 | module 0 | forbidden 0

Flags: