Skip to content

Rebuild portal and Angular 20 workspace support#297

Merged
siarheihuzarevich merged 12 commits intomainfrom
feature/shuzarevich/cache
Apr 22, 2026
Merged

Rebuild portal and Angular 20 workspace support#297
siarheihuzarevich merged 12 commits intomainfrom
feature/shuzarevich/cache

Conversation

@siarheihuzarevich
Copy link
Copy Markdown
Member

Summary

  • Repackages the feature branch into focused commits and keeps the final tree from the previous branch state.
  • Vendors m-render, upgrades the workspace to Angular 20.3, and adds module-compatible standalone: false declarations where FFlowModule still declares legacy slices.
  • Rebuilds the portal home/services experience, adds SSR-backed stats/contributors data, and refreshes crawler/LLM/SEO artifacts.
  • Adds a lint override for the module-compatible f-flow declarables so Angular 20 compatibility and CI lint rules do not conflict.

Validation

  • npx nx run f-flow:lint

@siarheihuzarevich siarheihuzarevich self-assigned this Apr 21, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR vendors and modernizes the portal stack for Angular 20.x while rebuilding the home/services experience and adding SSR-backed stats/contributors + refreshed SEO/crawler artifacts.

Changes:

  • Vendors @foblex/m-render into the repo, adds analytics (gtag + cookie consent), and ships shared SCSS assets for docs/portal UI.
  • Refactors the portal app shell/routing (new App, new home/services pages) and adds server-side bootstrap/config that hydrates stats + contributors via TransferState.
  • Updates f-flow declarables for Angular 20 module-compat (standalone: false where needed), adds an ESLint override, and adjusts virtualization rendering.

Reviewed changes

Copilot reviewed 245 out of 544 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
libs/m-render/src/lib/common/services/popover.service.ts Adds a signal-based popover message service
libs/m-render/src/lib/common/services/index.ts Exposes service barrel exports (incl. theme service)
libs/m-render/src/lib/common/index.ts Adds common barrel exports
libs/m-render/src/lib/common/domain/providers.ts Adds HEADER_CONFIGURATION_PROVIDER token + store interface
libs/m-render/src/lib/common/domain/index.ts Adds domain barrel exports
libs/m-render/src/lib/common/domain/i-link.ts Adds ILink type
libs/m-render/src/lib/common/domain/configuration-providers/provide-title.ts Adds title configuration interface
libs/m-render/src/lib/common/domain/configuration-providers/provide-logo.ts Adds logo configuration interface
libs/m-render/src/lib/common/domain/configuration-providers/provide-language.ts Adds language configuration interface
libs/m-render/src/lib/common/domain/configuration-providers/provide-header.ts Adds header configuration interfaces
libs/m-render/src/lib/common/domain/configuration-providers/index.ts Adds configuration-providers barrel
libs/m-render/src/lib/analytics/provide-g-tag.ts Adds provider factory + config token for gtag
libs/m-render/src/lib/analytics/index.ts Exports analytics entrypoints
libs/m-render/src/lib/analytics/g-tag.service.ts Adds gtag loader/service with router pageview support
libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.ts Adds cookie consent popup component
libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.scss Adds cookie consent popup styles
libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.html Adds cookie consent popup template
libs/m-render/src/index.ts Adds library root barrel exports
libs/m-render/src/assets/styles/styles.scss Adds m-render base styles entrypoint
libs/m-render/src/assets/styles/_table.scss Adds table styles
libs/m-render/src/assets/styles/_preview-group.scss Adds preview-group styles
libs/m-render/src/assets/styles/_link.scss Adds link styles
libs/m-render/src/assets/styles/_fonts.scss Adds Inter font-face declarations
libs/m-render/src/assets/styles/_doc-text.scss Adds markdown/doc typography styles
libs/m-render/src/assets/styles/_code-highlight.scss Adds syntax highlighting token styles
libs/m-render/src/assets/styles/_code-group.scss Adds code-group styles
libs/m-render/src/assets/styles/_button.scss Adds shared button styling
libs/m-render/src/assets/styles/_badge.scss Adds badge styling
libs/m-render/src/assets/styles/_alert.scss Adds alert block styling
libs/m-render/project.json Adds Nx project configuration for m-render
libs/m-render/package.json Defines m-render package metadata + peer deps
libs/m-render/ng-package.json Configures ng-packagr packaging + assets
libs/m-render/jest.config.ts Adds Jest config for m-render
libs/m-render/eslint.config.mjs Adds ESLint config for m-render package
libs/m-render/README.md Adds m-render README content
libs/m-render/LICENSE Adds MIT license + attribution
libs/f-flow/src/f-virtual/f-virtual-for.ts Reworks progressive render loop; removes unused trackBy input
libs/f-flow/src/f-node/f-rotate-handle/f-rotate-handle.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-node/f-resize-handle/f-resize-handle.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-node/f-node.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-node/f-group.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-node/f-drag-handle.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-line-alignment/f-line-alignment.component.ts Marks component as standalone: false
libs/f-flow/src/f-draggable/f-draggable.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-draggable/f-drag-blocker.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-connectors/f-node-output/f-node-output.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-connectors/f-node-outlet/f-node-outlet.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-connectors/f-node-input/f-node-input.directive.ts Marks directive as standalone: false
libs/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts Marks component as standalone: false
libs/f-flow/src/f-connection/f-connection/f-connection.component.ts Marks component as standalone: false
libs/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts Marks component as standalone: false
libs/f-flow/src/f-connection-v2/components/connection-selection/f-connection-selection.ts Marks component as standalone: false
libs/f-flow/src/f-connection-v2/components/connection-path/f-connection-path.ts Marks component as standalone: false
libs/f-flow/src/f-connection-v2/components/connection-marker/f-connection-marker.ts Marks directive as standalone: false
libs/f-flow/src/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.ts Marks component as standalone: false
libs/f-flow/src/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.ts Marks component as standalone: false
libs/f-examples/nodes/stress-test/example.ts Removes Material imports + removes unused trackCell
libs/f-examples/nodes/stress-test/example.html Drops trackBy trackCell usage from *fVirtualFor
libs/f-examples/external-apps/ai-low-code-platform/project.json Fixes project root/sourceRoot + lint glob paths
libs/f-examples/external-apps/ai-low-code-platform/ai-low-code-platform.ts Removes unused FFlowModule import from standalone component
libs/f-examples/extensions/minimap-example/example.ts Removes unused MatIcon import
libs/f-examples/connections/connection-content/example.ts Removes unused Angular Material imports
eslint.config.js Disables prefer-standalone for module-compatible f-flow subset
apps/f-flow-portal/tsconfig.app.json Updates server entry path
apps/f-flow-portal/src/server/stats/index.ts Exports server stats fetcher
apps/f-flow-portal/src/server/main.server.ts Adds server bootstrap entry
apps/f-flow-portal/src/server/contributors/index.ts Exports server contributors fetcher
apps/f-flow-portal/src/server/app.config.server.ts Adds SSR config + app initializer hydration for stats/contributors
apps/f-flow-portal/src/main.ts Boots App instead of AppComponent
apps/f-flow-portal/src/main.server.ts Removes old server bootstrap
apps/f-flow-portal/src/app/showcase.config.ts Removes old showcase config (moved to app/config)
apps/f-flow-portal/src/app/shared/styles/_section.scss Adds shared section/card/link mixins for portal
apps/f-flow-portal/src/app/shared/models/index.ts Adds shared model barrel
apps/f-flow-portal/src/app/shared/models/footer.ts Adds footer link/column models
apps/f-flow-portal/src/app/shared/index.ts Adds shared barrel
apps/f-flow-portal/src/app/shared/components/section-head/section-head.ts Adds reusable section heading component
apps/f-flow-portal/src/app/shared/components/section-head/section-head.scss Styles section heading component
apps/f-flow-portal/src/app/shared/components/section-head/section-head.html Template for section heading component
apps/f-flow-portal/src/app/shared/components/section-head/index.ts Barrel export for section-head
apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.ts Adds portal header component
apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.scss Styles portal header component
apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.html Template for portal header component
apps/f-flow-portal/src/app/shared/components/portal-header/index.ts Barrel export for portal-header
apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.ts Adds portal footer component
apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.scss Styles portal footer component
apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.html Template for portal footer component
apps/f-flow-portal/src/app/shared/components/portal-footer/index.ts Barrel export for portal-footer
apps/f-flow-portal/src/app/shared/components/index.ts Adds shared components barrel
apps/f-flow-portal/src/app/pages/services/services.scss Adds services page grid + anchor scrolling layout
apps/f-flow-portal/src/app/pages/services/services.html Adds services page composition + cookie popup defer
apps/f-flow-portal/src/app/pages/services/sections/why/why.ts Adds services “why” section
apps/f-flow-portal/src/app/pages/services/sections/why/why.scss Styles services “why” section
apps/f-flow-portal/src/app/pages/services/sections/why/why.html Template for services “why” section
apps/f-flow-portal/src/app/pages/services/sections/why/index.ts Barrel export for services “why”
apps/f-flow-portal/src/app/pages/services/sections/tiers/tiers.ts Adds services tiers section
apps/f-flow-portal/src/app/pages/services/sections/tiers/tiers.html Template for tiers section
apps/f-flow-portal/src/app/pages/services/sections/tiers/index.ts Barrel export for tiers
apps/f-flow-portal/src/app/pages/services/sections/team/team.ts Adds services team section
apps/f-flow-portal/src/app/pages/services/sections/team/team.scss Styles services team section
apps/f-flow-portal/src/app/pages/services/sections/team/team.html Template for services team section
apps/f-flow-portal/src/app/pages/services/sections/team/index.ts Barrel export for services team
apps/f-flow-portal/src/app/pages/services/sections/steps/steps.ts Adds services steps section
apps/f-flow-portal/src/app/pages/services/sections/steps/steps.scss Styles services steps section
apps/f-flow-portal/src/app/pages/services/sections/steps/steps.html Template for services steps section
apps/f-flow-portal/src/app/pages/services/sections/steps/index.ts Barrel export for services steps
apps/f-flow-portal/src/app/pages/services/sections/services-flow/services-flow.scss Styles services background flow surface
apps/f-flow-portal/src/app/pages/services/sections/services-flow/services-flow.html Adds deferred render for services flow canvas
apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/services-flow-configuration.ts Adds services flow configuration model
apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/service-node.ts Adds service node model
apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/service-connection.ts Adds service connection model
apps/f-flow-portal/src/app/pages/services/sections/services-flow/mock/mock.ts Adds services flow mock configuration
apps/f-flow-portal/src/app/pages/services/sections/services-flow/index.ts Barrel export for services flow
apps/f-flow-portal/src/app/pages/services/sections/services-flow/enums/service-node-type.ts Adds node type enum
apps/f-flow-portal/src/app/pages/services/sections/services-flow/enums/service-connection-style.ts Adds connection style enum
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.ts Adds wrapper node component
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.scss Styles wrapper node host
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.html Wrapper node template
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/index.ts Barrel export for wrapper node
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.ts Adds step node component
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.scss Styles step node
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.html Step node template
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/index.ts Barrel export for step node
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/index.ts Barrel export for wrapper node components
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/service-build-node.ts Adds build node component
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/service-build-node.html Build node template
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/index.ts Barrel export for build node
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/index.ts Barrel export for services-flow components
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/service-node-connector.ts Adds visual connector component
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/service-node-connector.scss Styles connector component
apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/index.ts Barrel export for connector
apps/f-flow-portal/src/app/pages/services/sections/index.ts Barrel export for services sections
apps/f-flow-portal/src/app/pages/services/sections/hero/index.ts Barrel export for services hero
apps/f-flow-portal/src/app/pages/services/sections/hero/hero.ts Adds services hero section using live stats
apps/f-flow-portal/src/app/pages/services/sections/hero/hero.html Template for services hero section
apps/f-flow-portal/src/app/pages/services/sections/final/index.ts Barrel export for services final CTA
apps/f-flow-portal/src/app/pages/services/sections/final/final.ts Adds services final section
apps/f-flow-portal/src/app/pages/services/sections/final/final.scss Styles services final section
apps/f-flow-portal/src/app/pages/services/sections/final/final.html Template for services final section
apps/f-flow-portal/src/app/pages/services/sections/faq/index.ts Barrel export for FAQ section
apps/f-flow-portal/src/app/pages/services/sections/faq/faq.ts Adds FAQ section behavior
apps/f-flow-portal/src/app/pages/services/sections/faq/faq.scss Styles FAQ section
apps/f-flow-portal/src/app/pages/services/sections/faq/faq.html FAQ template
apps/f-flow-portal/src/app/pages/services/sections/cases/index.ts Barrel export for cases section
apps/f-flow-portal/src/app/pages/services/sections/cases/cases.ts Adds services cases section (theme-aware showcase cards)
apps/f-flow-portal/src/app/pages/services/sections/cases/cases.scss Styles cases section
apps/f-flow-portal/src/app/pages/services/sections/cases/cases.html Cases template
apps/f-flow-portal/src/app/pages/not-found/not-found.ts Adds new not-found page with centralized SEO service
apps/f-flow-portal/src/app/pages/not-found/not-found.scss Removes trailing whitespace
apps/f-flow-portal/src/app/pages/not-found/not-found.html Renames “Blog” link label to “Articles”
apps/f-flow-portal/src/app/pages/home/sections/why/why.ts Adds home “why” section
apps/f-flow-portal/src/app/pages/home/sections/why/why.scss Styles home “why” section
apps/f-flow-portal/src/app/pages/home/sections/why/why.html Home “why” template
apps/f-flow-portal/src/app/pages/home/sections/why/index.ts Barrel export for home “why”
apps/f-flow-portal/src/app/pages/home/sections/team/team.ts Adds home team + contributors section
apps/f-flow-portal/src/app/pages/home/sections/team/team.html Home team template
apps/f-flow-portal/src/app/pages/home/sections/team/index.ts Barrel export for home team
apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.ts Adds home showcase section
apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.scss Styles home showcase section
apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.html Home showcase template
apps/f-flow-portal/src/app/pages/home/sections/showcase/index.ts Barrel export for home showcase
apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.ts Adds home ref-apps section
apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.scss Styles ref-apps section
apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.html Ref-apps template
apps/f-flow-portal/src/app/pages/home/sections/ref-apps/index.ts Barrel export for ref-apps
apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.ts Adds structured “project facts” content
apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.scss Styles project facts section
apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.html Project facts markup
apps/f-flow-portal/src/app/pages/home/sections/project-facts/index.ts Barrel export for project facts
apps/f-flow-portal/src/app/pages/home/sections/index.ts Adds home sections barrel
apps/f-flow-portal/src/app/pages/home/sections/hero/index.ts Barrel export for home hero
apps/f-flow-portal/src/app/pages/home/sections/hero/hero.ts Adds new home hero with copy-to-clipboard install
apps/f-flow-portal/src/app/pages/home/sections/hero/hero.html Home hero template
apps/f-flow-portal/src/app/pages/home/sections/hero-flow/index.ts Barrel export for hero flow
apps/f-flow-portal/src/app/pages/home/sections/hero-flow/hero-flow.scss Updates marker selector + removes deep layout override
apps/f-flow-portal/src/app/pages/home/sections/hero-flow/hero-flow.html Switches to @defer + marker component usage
apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/index.ts Barrel export for hero-flow-anchor
apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/hero-flow-anchor.ts Adds hero-flow anchor component for layout
apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/hero-flow-anchor.html Anchor template
apps/f-flow-portal/src/app/pages/home/sections/final-cta/index.ts Barrel export for home final CTA
apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.ts Adds home final CTA section
apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.scss Styles home final CTA
apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.html Home final CTA template
apps/f-flow-portal/src/app/pages/home/sections/changelog/index.ts Barrel export for changelog section
apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.ts Adds home changelog cards
apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.scss Styles changelog section
apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.html Changelog template
apps/f-flow-portal/src/app/pages/home/home.scss Adds home page grid + pointer-events layering
apps/f-flow-portal/src/app/pages/home/home.html Adds home page composition + cookie popup defer
apps/f-flow-portal/src/app/not-found-page/not-found-page.component.ts Removes legacy not-found component
apps/f-flow-portal/src/app/home.config.ts Removes legacy home config
apps/f-flow-portal/src/app/home-page/home-page-image/home-page-image.component.ts Removes legacy home-page image component
apps/f-flow-portal/src/app/home-page/home-page-image/home-page-image.component.html Removes legacy image markup
apps/f-flow-portal/src/app/core/team/team.ts Adds shared TEAM source + core GitHub logins set
apps/f-flow-portal/src/app/core/team/team-member.ts Adds ITeamMember interface
apps/f-flow-portal/src/app/core/team/index.ts Adds team barrel exports
apps/f-flow-portal/src/app/core/structured-data/structured-data.ts Adds JSON-LD injection service
apps/f-flow-portal/src/app/core/structured-data/index.ts Barrel export for structured-data
apps/f-flow-portal/src/app/core/stats/stats.ts Adds SSR/client stats service (TransferState-backed)
apps/f-flow-portal/src/app/core/stats/stats-snapshot.ts Adds stats snapshot + fallback + state key
apps/f-flow-portal/src/app/core/stats/index.ts Adds stats barrel exports
apps/f-flow-portal/src/app/core/stats/format.ts Adds count/version formatting helpers
apps/f-flow-portal/src/app/core/seo/seo.ts Adds centralized SEO metadata service
apps/f-flow-portal/src/app/core/seo/index.ts Barrel export for SEO service
apps/f-flow-portal/src/app/core/screenshot/external-component-screenshot.ts Renames screenshot service class + log prefix
apps/f-flow-portal/src/app/core/contributors/index.ts Adds contributors barrel exports
apps/f-flow-portal/src/app/core/contributors/contributors.ts Adds SSR/client contributors service (TransferState-backed)
apps/f-flow-portal/src/app/core/contributors/contributors-snapshot.ts Adds contributors snapshot + fallback + state key
apps/f-flow-portal/src/app/config/showcase-config.ts Adds new showcase config location
apps/f-flow-portal/src/app/config/portal-config.ts Adds shared portal constants
apps/f-flow-portal/src/app/config/index.ts Adds config barrel exports
apps/f-flow-portal/src/app/app.ts Replaces AppComponent with App and updates template/style refs
apps/f-flow-portal/src/app/app.routes.ts Refactors routing: home/services are app-owned pages
apps/f-flow-portal/src/app/app.config.ts Updates gtag + consent bridge; imports cookie key constant
apps/f-flow-portal/src/app/app.config.server.ts Removes legacy server app config (moved under src/server)
apps/f-flow-portal/server.ts Uses @angular/ssr/node engine + new server bootstrap + legacy redirect
apps/f-flow-portal/public/robots.txt Expands crawler allow-list notes + explicit LLM bots
apps/f-flow-portal/public/markdown/showcase/overview.md Updates SEO title/description
apps/f-flow-portal/public/markdown/guides/react-flow-vs-foblex-flow-for-angular-teams.md Updates SEO title/description
apps/f-flow-portal/public/markdown/guides/consulting.md Converts consulting page to “moved” notice + client redirect
apps/f-flow-portal/public/markdown/404.md Updates 404 copy and links
apps/f-flow-portal/public/llms.txt Refreshes LLM-readable site summary + links
apps/f-flow-portal/project.json Adds Sass include path, SSR entry, budgets, and allowedCommonJsDependencies
CLAUDE.md Adds agent guidance entrypoint
CHANGELOG.md Adds note about fVirtualForTrackBy removal
AGENTS.md Adds agent guidance entrypoint (duplicate of CLAUDE.md content)
Files not reviewed (1)
  • libs/m-render/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.scss Outdated
Comment thread libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.html Outdated
Comment thread libs/m-render/src/lib/common/services/popover.service.ts Outdated
Comment thread apps/f-flow-portal/public/markdown/guides/consulting.md Outdated
Comment thread libs/m-render/src/lib/analytics/g-tag.service.ts
Comment thread libs/f-flow/src/f-virtual/f-virtual-for.ts
Comment thread libs/f-flow/src/f-virtual/f-virtual-for.ts
Comment thread libs/f-flow/src/f-virtual/f-virtual-for.ts Outdated
Comment thread libs/m-render/src/lib/common/services/index.ts Outdated
siarheihuzarevich and others added 4 commits April 22, 2026 13:29
- Replace polynomial regexes with linear indexOf-based parsers in
  parseFileLinkLine, parseSingleBracketText, parseComponentTag, and
  MarkCodeFocusedBlocksPostProcessor to close CodeQL ReDoS alerts.
- Unnest <button> from <a> in cookie popup, fix invalid opacity: 100%.
- Clear pending timeout in PopoverService.show before scheduling a new one.
- Tear down GTagService router subscription with takeUntilDestroyed.
- Drop duplicated JSDoc in contributors snapshot and the <script> redirect
  in the consulting markdown stub (server already 301s to /services).
- Cap f-virtual-for calibration batch by the frame budget to avoid jank.
- Remove theme.service re-export from common barrel and import
  ThemeService from ../theme directly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Production Angular builds strip ng-reflect-* attributes, so the cypress
specs could not locate connections, groups, or dragged nodes against a
production build. Expose stable data-f-connection-type, data-f-group-parent-id,
and data-f-node-parent-id host bindings and update the specs accordingly.
Also silence benign ResizeObserver notifications in support/e2e.ts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Root config is eslint.config.js, not .mjs — the old import resolved to
undefined and skipped the shared rules for this project.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace fixed cy.wait(150) with a waitForStableNodePosition helper that
polls getBoundingClientRect until consecutive reads agree within 2px.
Removes a flaky timing assumption where the node layout had not settled
by the time the drag started.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@siarheihuzarevich siarheihuzarevich marked this pull request as ready for review April 22, 2026 11:49
@siarheihuzarevich siarheihuzarevich merged commit d880ebf into main Apr 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants