Skip to content

feat: versioning#3624

Open
robsongajunior wants to merge 68 commits into
devfrom
feat/versioning
Open

feat: versioning#3624
robsongajunior wants to merge 68 commits into
devfrom
feat/versioning

Conversation

@robsongajunior

Copy link
Copy Markdown
Contributor

No description provided.

sim and others added 30 commits June 17, 2026 09:12
… filtering options

- Removed unused imports and components from ListView.vue.
- Introduced GenericDataView.vue to encapsulate DataView functionality and improve code reusability.
- Enhanced filtering logic to support dynamic dropdowns for status, environment, and current deployment status.
- Updated computed properties and methods for filtering deployments based on user input.
- Refactored the template structure to use slots for rendering deployment rows in GenericDataView.
- Improved styling and layout for better user experience.
- Implemented FormFieldsDeploymentVersion.vue for managing deployment version details including resource entries, environment settings, and deployment strategies.
- Enhanced ListView.vue to include a button for creating new deployment versions and improved the layout for displaying deployment information.
- Created a new helper module for deployment status management, encapsulating status icons, severity classes, and resource pack metadata.
- Refactored existing code to utilize the new helper functions and improve readability and maintainability.
…yload handling

- Updated DeploymentResourceService and DeploymentService to use the new base URL for API requests.
- Changed account_id to client_id in the deployment version adapter.
- Added new methods for editing draft versions and deploying draft versions in DeploymentVersionService.
- Refactored the deployment drawer and list view components to utilize the updated deployment service methods.
- Removed legacy code related to mock services and adjusted the deployment status handling.
- Updated form field mappings and payload transformations for creating and editing deployments.
- Cleaned up unused variables and functions in the deployments helper module.
- Introduced StatusTag.vue for displaying deployment status with severity colors and icons.
- Created deployment-resource-registry.js to manage various deployment resources and their services.
- Added deployment-status.js to handle deployment status normalization and resource pack management.
- Updated ListView.vue to integrate new components and improve deployment filtering and sorting.
- Implemented DeploymentRowCell.vue and StatusDurationCell.vue for better display of deployment details.
- Removed WorkloadVersionTab.vue as part of the refactor to streamline workload management.
- Adjusted CurrentVersionSection.vue and VersionHistorySection.vue to use new deployment helpers and components.
* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: robsongajunior <robson.ga.junior@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* DEPLOY (#3481) (#3485)

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

---------

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add checkout components for plan selection and payment processing

- Implemented  to display features of selected plans.
- Created  for handling plan selection and payment method input.
- Developed  to encapsulate plan selection and feature display.
- Added  for Stripe payment integration with validation.
- Introduced  to show success message after subscription.
- Built  for dynamic pricing calculations and coupon application.

* feat: update dependencies and improve service order handling

* feat: refine plan selection and update billing cycle handling

* feat: add hobby plan option and enhance additional data form with company details

* feat: remove 'scale' plan option and update related components

* feat: implement signup plan type selector and enhance additional data handling

* feat: update additional data form handling and enhance related components

* feat: update plan links and refine button labels in signup process

* feat: replace billing cycle buttons with toggle component for improved UX

* feat: update additional data form state management and enhance plan selection components

* feat: improve tailwind configuration by enhancing font family and animation definitions

* feat: implement new plans feature with payment integration and UI enhancements

* feat: integrate checkout session handling and update payment components for improved user experience

* feat: streamline checkout session client secret emission in pricing calculation block

* feat: billing plan change drawers + /info-driven plan detection

- Rebuild Billing subscription panel with SubscriptionPlanCard,
  UpgradeToProCard, SubscriptionPlanRow, DialogDowngradePlan and a
  shared billing-date util.
- Add new plan-change flow: signup plan-selection-drawer, checkout
  pricing-calculation-block, and the upgrade DrawerPlanInfo (POST-only
  happy path, no PATCH on init to avoid 409 on open DRAFT sessions).
- useCurrentSubscription is now a thin wrapper over the account store:
  account.has_service_order_plan from /info is the single source of
  truth, and refetch() hits /info so the card reacts after subscription
  effected and downgrade.
- useServiceOrders.loadServiceOrder filters by status at the API level;
  add getServiceOrder helper for on-demand single-SO reads.
- service-orders adapter extracts clientSecret / checkoutSessionId from
  metadata / root / payment / session / checkout / stripe so callers can
  resume an open Stripe checkout session.
- useCheckoutSessionPreparer pre-fetches the Stripe clientSecret BEFORE
  opening the drawer (mirrors the signup pattern) — removes the empty-
  prop / async-watch race that left the payment element in skeleton.
- Cache plans catalogue (queryKeys.plans.list): staleTime 1h, gcTime
  24h, no refetch on mount/focus. Coalesce concurrent ACTIVE SO list
  calls behind a singleton promise.
- BillsView: render UpgradeToProCard only after isHobby resolves; toast
  on successful plan transition once refetchUntil confirms new SKU.
- CurrentInvoiceCard: Plan Charge from SO pricing
  (subscription.planChargeValue); Total = Plan Charge + Professional
  Services; skeleton honors subscription.isLoading.
- Stripe appearance: align Label (12px) and Input/Placeholder (14px)
  with LabelBlock / inputTextFontSize; read CSS vars for colors;
  fontSizeBase in px for the Stripe iframe root context.
- Plan downgrade hits the dedicated downgrade endpoint instead of the
  generic PATCH.
- Move signup-services / billing-services imports from
  AdditionalDataView (governed by no-direct-http-in-components) into
  the signup-block templates that actually call them; drop the props
  that only existed for transport.

* chore: apply prettier formatting after dev merge

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Robson Junior <robson.ga.junior@gmail.com>
…O refactor (#3524)

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: robsongajunior <robson.ga.junior@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* DEPLOY (#3481) (#3485)

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

---------

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add checkout components for plan selection and payment processing

- Implemented  to display features of selected plans.
- Created  for handling plan selection and payment method input.
- Developed  to encapsulate plan selection and feature display.
- Added  for Stripe payment integration with validation.
- Introduced  to show success message after subscription.
- Built  for dynamic pricing calculations and coupon application.

* feat: update dependencies and improve service order handling

* feat: refine plan selection and update billing cycle handling

* feat: add hobby plan option and enhance additional data form with company details

* feat: remove 'scale' plan option and update related components

* feat: implement signup plan type selector and enhance additional data handling

* feat: update additional data form handling and enhance related components

* feat: update plan links and refine button labels in signup process

* feat: replace billing cycle buttons with toggle component for improved UX

* feat: update additional data form state management and enhance plan selection components

* feat: improve tailwind configuration by enhancing font family and animation definitions

* feat: implement new plans feature with payment integration and UI enhancements

* feat: integrate checkout session handling and update payment components for improved user experience

* feat: streamline checkout session client secret emission in pricing calculation block

* feat: billing plan change drawers + /info-driven plan detection

- Rebuild Billing subscription panel with SubscriptionPlanCard,
  UpgradeToProCard, SubscriptionPlanRow, DialogDowngradePlan and a
  shared billing-date util.
- Add new plan-change flow: signup plan-selection-drawer, checkout
  pricing-calculation-block, and the upgrade DrawerPlanInfo (POST-only
  happy path, no PATCH on init to avoid 409 on open DRAFT sessions).
- useCurrentSubscription is now a thin wrapper over the account store:
  account.has_service_order_plan from /info is the single source of
  truth, and refetch() hits /info so the card reacts after subscription
  effected and downgrade.
- useServiceOrders.loadServiceOrder filters by status at the API level;
  add getServiceOrder helper for on-demand single-SO reads.
- service-orders adapter extracts clientSecret / checkoutSessionId from
  metadata / root / payment / session / checkout / stripe so callers can
  resume an open Stripe checkout session.
- useCheckoutSessionPreparer pre-fetches the Stripe clientSecret BEFORE
  opening the drawer (mirrors the signup pattern) — removes the empty-
  prop / async-watch race that left the payment element in skeleton.
- Cache plans catalogue (queryKeys.plans.list): staleTime 1h, gcTime
  24h, no refetch on mount/focus. Coalesce concurrent ACTIVE SO list
  calls behind a singleton promise.
- BillsView: render UpgradeToProCard only after isHobby resolves; toast
  on successful plan transition once refetchUntil confirms new SKU.
- CurrentInvoiceCard: Plan Charge from SO pricing
  (subscription.planChargeValue); Total = Plan Charge + Professional
  Services; skeleton honors subscription.isLoading.
- Stripe appearance: align Label (12px) and Input/Placeholder (14px)
  with LabelBlock / inputTextFontSize; read CSS vars for colors;
  fontSizeBase in px for the Stripe iframe root context.
- Plan downgrade hits the dedicated downgrade endpoint instead of the
  generic PATCH.
- Move signup-services / billing-services imports from
  AdditionalDataView (governed by no-direct-http-in-components) into
  the signup-block templates that actually call them; drop the props
  that only existed for transport.

* chore: apply prettier formatting after dev merge

* refactor: extract service-orders helpers and slim subscription composables

- split service-orders into constants/strategy modules; adapter helpers DRY
- extract subscription-helpers and account-settings-adapter; trim composables
- share CheckoutSubmissionFooter between billing drawers
- swap button `pi-spin` icon hack for the standard `:loading` prop
- eslint require-vue-query: allow queryClient imperative API + utility-file suffixes
- azion.config: route /edge_api to the edge API origin

* feat: billing SO flow refactor with downgrade banner and reload polling

- single SO list by account (drop per-status fetches and read cache)
- detect downgrade via metadata.status; new DowngradePendingBanner + DialogCancelDowngrade
- pro cycle flows: review-only drawer (m->y) and dedicated dialog (y->m)
- billing period / next charge date / last update sourced from SO fields
- refetchUntil polling on payment/upgrade/downgrade-success to absorb webhook lag
- persist additional-data form state when going back from checkout in signup

* chore: apply eslint --fix formatting

* fix: poll for active SO after pro signup to avoid stale hobby state in billing

When a new Pro user lands on Billing right after Stripe payment, the
backend may still hold the SO as DRAFT (webhook hasn't promoted it yet).
The existing auto-load only fetches once and falls back to 'hobby' when
no ACTIVE is found, leaving the billing cards stuck on the previous plan
until a manual refresh.

Add an opt-in poll (6x, 2s interval) triggered only when the singleton
holds a paid DRAFT (status=DRAFT + priceId) and no ACTIVE is present.
The cards stay in skeleton during the wait, and resolve to the right
plan as soon as the webhook completes.

* fix: silence require-vue-query on useServiceOrders and tighten fullName regex range

* chore: apply prettier formatting on fullName regex

* fix: render yearly plan as monthly equivalent in change-plan drawer

PricingCard shows /mo regardless of cycle, but getAnnualPrice was
returning the full yearly priceValue (e.g. 240), producing "$240/mo"
on the Yearly toggle. Divide the yearly priceValue by 12 so the card
reflects the monthly-equivalent price ("$20/mo").

* feat: instrument billing and onboarding flows with segment analytics

- new BillingTracker for plan-change funnel events
- expand SignUpTracker with onboarding step events
- wire events on App.vue, afterEachRoute, account-activation,
  BillsView and AdditionalDataView
- AnalyticsTrackerAdapter exposes the new trackers

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Robson Junior <robson.ga.junior@gmail.com>
Co-authored-by: Guilherme Santana <guilherme30santana@gmail.com>
…ion) (#3526)

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: robsongajunior <robson.ga.junior@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* DEPLOY (#3481) (#3485)

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: correct default page size to 50 and use store value

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: change project version

* feat: adding components folder to storybook (#3467)

* chore: backup before EdgeSQL migration fix - broken state

* feat: storybook folder components

* chore: remove wrong plan

* chore: storybook -- azion sync

* chore: azion cli config update

* chore: storybook azion config

* fix: active default rule

* fix: azion deploy configuration

* chore: adjust debug response rules description

* chore: update azion cli

* chore: adding azion defineConfig and remote prefix rotation

* feat: adding deploy-storybook.yml

* fix: remove pnpm

* chore: using working-directory

* chore: syntax and storybook yml adjust

* fix: path of trigger storybook pipeline

* chore: update storybook readme.md

* chore: unify package.json of storybook dependencies and devDependencies

* chore: adding license to storybook packagejson

* fix: storybook cicd install dependencies

* chore: trigger storybook deploy

* fix: unify packagejson

* fix: branch main to publish storybook modification

* chore: storybook depoloy during dev merge

* fix: persist monthly usage card column selections in local storage and improve label formatting (#3469)

* fix: persist monthly usage card column selections in local storage and improve label formatting

* fix: add console warning for local storage parsing errors in monthly usage card

* fix: refactor monthly usage card default selection logic and improve local storage handling

* fix: exclude /sse endpoint from security headers rules (#3468)

* fix: update security headers to exclude /sse endpoint from specific rules

* fix: simplify oauth security headers configuration by replacing criteria with match patterns

* fix: remove exclusion rule for /sse endpoint in cookie rewrite configuration

* [ENG-37033] refactor: rename fields from edgeFunctionsEvents to functionEvents (#3427)

* feat: rename fields from edgeFunctionsEvents to functionEvents

* feat: rename httpEvents to workload events and function events across services and tests

* SYNC (#3478)

* Deploy - 13/04/2026 (#3455)

* chore(deps): bump immutable from 4.3.7 to 4.3.8

Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

* SYNC (#3379)

* fix: general fixex in new home dashboard (#3380)

- Add delete dialog integration for workloads, edge-dns, buckets, and functions in resources block
- Enable dismiss button for communications card
- Fix CustomPages key name to 'Custom Page' in activity routing maps
- Add gap and height styling to monthly usage skeleton blocks
- Fix routing links for object-storage and functions

* fix: hide home changelog component (#3381)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate (#3378)

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: add domain validation for Let's Encrypt HTTP-01 certificate

* fix: fix OOM crash and reduce memory pressure in query cache encryption (#3369)

* perf: fix oom crash and reduce memory pressure in query cache encryption

- fix uint8ArrayToBase64 O(n^2) string concatenation with 32KB chunking
- memoize getEncryptionKey to avoid 100k PBKDF2 iterations per encrypt call
- throttle persistClient writes to 2s to prevent write storm during prefetch
- replace uncontrolled Promise.allSettled batches with schedulePrefetch
- call resetCacheSync on switchAccount to stop background intervals

* perf(encryption): replace PBKDF2 key with non-extractable CryptoKey in IDB

- store non-extractable AES-GCM key in IndexedDB (extractable: false),
  key material is never exposed to JS or DevTools
- encrypt/decrypt payloads as ArrayBuffer instead of base64, eliminating
  all string conversion overhead
- fallback to ephemeral in-memory key if IDB is unavailable (private
  browsing, quota exceeded) — encryption still works within the session
- guard decryptSensitiveData to reject non-ArrayBuffer input, discarding
  legacy base64 entries from the old PBKDF2 format on first load
- guard filterNullValues to pass ArrayBuffer/TypedArray through unchanged
  instead of treating them as empty objects
- remove deriveKey, getEncryptionSecret, uint8ArrayToBase64, base64ToUint8Array

* style: fix prettier formatting on sessionManager.js

* fix: improve navigation performance and navbar UX (ENG-36926) (#3382)

- Optimize route guards: remove unnecessary async from billingGuard,
  cliGuard, and flagGuard; apply theme only once via module-level flag
- Decouple navbar visibility from loading state to prevent flash/collapse
  during route transitions
- Add responsive skeleton loading state to navbar for initial page load
- Fix profile menu not closing when clicking Personal Token/Your Settings

* feat: add routing support for dns zone and purge variants in activity history

* feat: add routing support for dns zone records

* fix: make resource labels domain-specific (#3383)

Replace generic 'Name' column headers with specific labels (Zone Name,
Bucket Name, Function Name) for better clarity. Update empty state
messages to use handleTextDomainWorkload helper for dynamic labeling
based on domain context.

* fix: remove unecessary code - formfieldshome

* feat: set max width add popup support for resource name columns (#3389)

Wrap Teleport components in v-if template for proper conditional rendering
in popup components. Integrate text-format-with-popup column builder for
resourceName and parentResourceName fields to display truncated text with
popup overlay. Add column width constraints and use useDataTable composable
for shared table functionality.

* fix: cleanning FielText flex div to label and input align

* fix: fix navbar flash on navigation and workload protocol error (ENG-36926) (#3388)

- logoutGuard: only call startLoading for logout routes instead of
  every navigation, eliminating the navbar flash
- layout: use isBootstrapping computed (hasSession + route meta) to
  control navbar skeleton and footer visibility, replacing loading store
- layout: wrap router-view to prevent footer from sticking to header
- workload form: add optional chaining to protocols.http access

* [ENG-36889] feat: add skeleton loading states for cached edit views (#3387)

* feat: add skeleton loading states for cached edit views

Add EditViewSkeleton components for EdgeFirewall, EdgeServices, and
WafRules edit views that use cached listing data without proper
skeleton loading states during data fetch.

ENG-36889

* fix: only show navbar skeleton when navigating between authenticated routes

Prevents the navbar skeleton from flashing during login, MFA,
additional-data, and other auth screens by checking that the user
has an active session and is not coming from an auth route.

* fix: update sort and filter paths to use active field (#3392)

* chore: azion-theme to @aziontech/theme

* fix: upgrade theme version

* fix: theme version upgrade with fixed export

* chore: bump project version (#3397)

* refactor: migrate jsonform renderers to webkit components and fix prop typos

- rename fieldTextPassword to fieldPassword from @aziontech/webkit/field-password
- fix aditionalError typo to additionalError across all custom renderers
- replace inline Password component with FieldPasswordStrength from webkit
- update migration plan to reflect correct component names

* fix: refactoring error page to reusable ErrorPage.vue

* fix: webkit bump dep

* chore(deps): bump flatted from 3.3.3 to 3.4.2

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

* fix: errorpage buttons default props

* chore: country flag from webkit

* chore: remove flag.css

* chore: remove compare with azion, not used more 2 years

* chore: remove /views/Playground/PlaygroundView.vue

* [ENG-36879] feat: use webkit testimonials-carousel component (#3398)

* feat: replace local testimonials component with webkit testimonials-carousel

- Remove local client-testimonials-block.vue template
- Use @aziontech/webkit/testimonials-carousel component instead
- Move testimonials data to SignupView

* feat: bump @aziontech/webkit to ^1.6.0 for testimonials-carousel support

* chore: update yarn.lock for @aziontech/webkit ^1.6.0

* feat: bump @aziontech/webkit to ^1.7.1

* feat: rename table columns and update default values

* feat: hide parent resource columns in last activities block

* fix: extend date filter range from 1 to 2 years

* fix: correct default page size to 50 and use store value

* feat: change the page size from 200 to 100 (#3407)

* feat: add support for larger data volume units (#3393)

Extend data volume formatting to support petabytes, exabytes, zettabytes,
and yottabytes. Use manual formatting for these larger units since
Intl.NumberFormat does not support them natively.

* feat: include inactive certificates in mTLS filter (#3411)

Adds 'inactive' to the list of filtered status values in the mutual authentication settings, allowing users to select certificates with inactive status

* refactor: migrate copy-block to @aziontech/webkit

- Replace local copy-block component with @aziontech/webkit/copy-block
- Update imports in 12 files across views and table columns
- Remove src/templates/copy-block/ directory

* chore: bump version

* [ENG-36878] feat: migrate password fields to unified FieldPassword from webkit (#3415)

* feat: migrate password fields to unified FieldPassword from webkit

Replace all PrimeVue Password and FieldPasswordStrength usages with the
unified FieldPassword component. Use showStrength prop and @strength emit
for password validation in signup, reset-password, your-settings and sign-in.

* chore: bump version to 1.55.3

* [36882] refactor: remove clipboardWrite prop drilling and migrate to CopyBlock (#3416)

* refactor: remove clipboardWrite prop drilling and migrate to CopyBlock

Replace manual PrimeButton + clipboardWrite helper pattern with
CopyBlock component from @aziontech/webkit across 45 files.
Remove clipboardWrite prop declarations and prop drilling chains
that spanned 3-4 levels of components. The only remaining usages
are 2 direct imports where clipboard is used as a service callback
(menu action and toast callback), not as a UI button.

* refactor(real-time-events): remove toast notification on copy and fix scroll behavior

* chore: bump version to 1.55.4

* chore: fix conflict

* fix: unify button action-bar-block

* chore: removing select theme from footer

* chore: yarn format

* chore: fix conflict

* fix: fix button contact sales size

* [ENG-37079] feat: unify datatable components and remove legacy templates (#3424)

* refactor: migrate DataTable to webkit and consolidate column renderers (ENG-37079)

- migrate DataTable compound component to @aziontech/webkit/list-data-table
- consolidate 17 column renderers into 4 webkit cells (CellDisplay, CellClipboard, CellExpand, CountryFlag)
- move columns and dialog into src/components/list-table
- remove src/components/DataTable (re-export from webkit via index.js)
- remove src/templates/list-table-block (moved to list-table)
- update copy-block imports to button-copy
- fix cursor-pointer on rows without action
- fix CopyBlock click not navigating to edit
- fix actions in RulesEngine (unwrap computed refs)
- fix empty-results-block with illustration slot
- fix column selector deselect with dataKey
- fix CellExpand empty state with "-"
- fix icon-with-tooltip when vendorData is falsy
- fix EdgeStorage multiselect checkbox deselect
- fix EdgeStorage file list loading on page reload
- remove vertical scroll from tables
- remove Payment History filter
- add frozenColumns to Variables key column and Object Storage Buckets name column
- add .npmrc for registry resolution

* chore: bump @aziontech/webkit to 1.14.1

* refactor: removing unused code

* chore: remove extra left padding classes in switch uses

* [ENG-37137] feat: migrate primevue imports to webkit wrappers (#3436)

* refactor: migrate primevue imports to webkit wrappers (ENG-37137)

Replace all direct primevue/* component imports with @aziontech/webkit/*
equivalents across 277 files.

Migrated components: accordion, accordion-tab, avatar, badge, breadcrumb,
button, calendar, card, carousel, checkbox, chip, chips, column, datatable,
dialog, divider, dropdown, inline-message, inputnumber, inputswitch,
inputtext, listbox, menu, message, multiselect, overlaypanel, paginator,
password, picklist, progressbar, progressspinner, radiobutton, selectbutton,
sidebar, skeleton, splitbutton, steps, tabmenu, tabpanel, tabview, tag,
textarea, timeline, toolbar.

Kept as primevue direct imports (no webkit wrapper):
useToast, useDialog, Toast, DynamicDialog, ConfirmDialog, FilterMatchMode,
primevue/api, primevue/config, primevue/icons/*.

* chore: bump @aziontech/webkit to ^1.16.0

* fix: add missing PrimeButton webkit import in copy dialogs

* chore: bump @aziontech/webkit to ^1.17.0

* [ENG-37137] refactor: migrate all primevue imports to @aziontech/webkit (#3440)

* refactor: migrate all primevue imports to @aziontech/webkit (ENG-37137)

Replace all direct primevue imports with @aziontech/webkit equivalents
across ~90 files. Use WebkitPlugin for centralized PrimeVue setup in
main.js. Remove primevue from direct dependencies. Add webkitViteConfig
for optimizeDeps. Replace ChevronRightIcon with pi icon class.

* chore: remove .npmrc from tracked files

* chore: revert yarn.lock changes

* chore: add .npmrc to gitignore

* chore: bump @aziontech/webkit to ^1.19.0

* feat: adding console storybook components  (#3442)

* feat: storybook

* chore: ErrorPageBlock storie adjust

* fix: flex tailwind apply

* fix: ErrorPageBlock.stories.js replacing primevue/button to @aziontech/webkit/button

* feat: storybook adding action-bar-block

* feat: storybook adding action-bar-block

* chore: storybook added templates/DialogUnsaved.stories.js

* fix: yarn format

* refactor: remove ConsoleFeedback from info-drawer-block

* chore: yarn format

* feat: adding claude skill

* feat: add skills/storybook-update-component

* fixing storybook items

* chore: storybook skills complete with inject dependencie

* fix: InfoBanner, MessageNotification stories

* chore: removed TemplateEngineBlock.stories.js - deprecated, WIP new template page

* feat: enabling storybook router mock

* chore: remove storie ActivityHistoryBlock, DEPRECATED

* chore: Basic Search Block

* chore: remove storie LoadingBlock due deprecated component

* chore: addint DialogOnboardingScheduling.stories

* fix: compilation and theme import updates

* chore: sort storybook templates

* chore: solving pull request conflict

* chore: solving pull request conflict

* chore: solving pull request conflict

* fix: yarn.lock pr conflict

* fix: yarn.lock pr conflict

* chore: fix layout of dialog-copy-key

* chore: adding storybook/yarn.lock

* fix: header-actions to info-drawer/empty-drawer and update the ui of realtime events

* chore(deps): bump lodash from 4.17.23 to 4.18.1 (#3439)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore(deps): bump lodash-es from 4.17.23 to 4.18.1 (#3438)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.18.1
  dependency-type: indirect
...

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key (#3444)

* feat: add theme (#3418)

* feat: add theme

* fix: fix imports

* chore: adjust storybook details (#3448)

* chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /storybook (#3446)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

* fix: theme test (#3453)

* fix: adjust column widths on last activities home and surface tokens on home blocks (#3452)

* fix: column size activity home

* fix: temporary fixes surfaces at home

* fix: rename API field and improve domain error styling (#3449)

* fix: inlinemessage export name (#3456)

* fix: inlinemessage exportname

* chore: replace inline-message to inlinemessage

* chore: fix tabview render

* chore: storybook azion deploy, replace Dialog/CopyTokenDialog.vue to templates/dialog-copy-key (#3450)

* chore: delete src/views/PersonalTokens/Dialog/CopyTokenDialog and replace to templates/dialog-copy-key

* feat: storybook azion deploy

* fix: storybook npm script

* chore: storybook final azion config

* fix: replace @aziontech/webkit/accordion to primevue/accordion (#3458)

* fix: rules engine #groupheader="slotProps" (#3459)

* fix: correct variable reference in onRowEditCancel (#3460)

* chore: @aziontech/webkit bump version (#3461)

* chore(deps): bump axios from 1.13.6 to 1.15.0 (#3462)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

* fix: fix sync main (#3464)

* fix: fix sync main

* fix: reorder import statements in sessionManager.js

* SYNC Main (#3463)

* feat: update product names and metric slugs mappings

* feat: update metric slugs to use separate unit property

* chore: change project version

* feat: implement SSE client and related cache synchronization features (#3457)

- Add useSSE composable for managing SSE connection state in Vue components.
- Introduce CacheInvalidator class to handle cache invalidation based on SSE activity events.
- Create PrefetchExecutor to manage prefetching of stale queries.
- Implement PrefetchScheduler for aggregating prefetch operations within a fixed time window.
- Develop Prefetch Query Function Registry to map query key patterns to their fetch functions.
- Register various query functions for prefetching across different services.
- Add SSEClient class for managing SSE connections with automatic reconnection and event handling.
- Establish a structured approach for handling server and network errors during SSE communication.

---------

* fix: user-flag  add null safety checks to prevent TypeError (#3465)

* chore: change project version

* chore(deps-dev): bump vite from 5.4.21 to 6.4.2 (#3451)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.21 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

---------

* hotfix: EmptyResults miss create click (#3472)

* refactor: replace EmptyResultsBlock  webkit usage
- Replace from templates to webkit usage
- createPagePath replaced to the usage of click-to-create event to router.push

* fix: replace createPagePath to click event

* fix: param removed createPagePath of ListTable

* chore: remove createPagePath of ListTable

* chore: backup before EdgeSQL migration fix - broken state

* chore: remove EdgeSQL_*.md files

---------

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#3473)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /storybook (#3480)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

* chore: backup before EdgeSQL migration fix - broken state

* chore: fix merge

* chore: remove files

* chore: remove EmptyResultsBlock.stories.js

* chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 (#3484)

Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/mafintosh/protocol-buffers-schema/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: protocol-buffers-schema
  dependency-version: 3.6.1
  dependency-type: indirect
...

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: HerbertJulio <herbert.julio@azion.com>
Co-authored-by: Herbert Vicente Cotta Julio <hvcotta@gmail.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add checkout components for plan selection and payment processing

- Implemented  to display features of selected plans.
- Created  for handling plan selection and payment method input.
- Developed  to encapsulate plan selection and feature display.
- Added  for Stripe payment integration with validation.
- Introduced  to show success message after subscription.
- Built  for dynamic pricing calculations and coupon application.

* feat: update dependencies and improve service order handling

* feat: refine plan selection and update billing cycle handling

* feat: add hobby plan option and enhance additional data form with company details

* feat: remove 'scale' plan option and update related components

* feat: implement signup plan type selector and enhance additional data handling

* feat: update additional data form handling and enhance related components

* feat: update plan links and refine button labels in signup process

* feat: replace billing cycle buttons with toggle component for improved UX

* feat: update additional data form state management and enhance plan selection components

* feat: improve tailwind configuration by enhancing font family and animation definitions

* feat: implement new plans feature with payment integration and UI enhancements

* feat: integrate checkout session handling and update payment components for improved user experience

* feat: streamline checkout session client secret emission in pricing calculation block

* feat: billing plan change drawers + /info-driven plan detection

- Rebuild Billing subscription panel with SubscriptionPlanCard,
  UpgradeToProCard, SubscriptionPlanRow, DialogDowngradePlan and a
  shared billing-date util.
- Add new plan-change flow: signup plan-selection-drawer, checkout
  pricing-calculation-block, and the upgrade DrawerPlanInfo (POST-only
  happy path, no PATCH on init to avoid 409 on open DRAFT sessions).
- useCurrentSubscription is now a thin wrapper over the account store:
  account.has_service_order_plan from /info is the single source of
  truth, and refetch() hits /info so the card reacts after subscription
  effected and downgrade.
- useServiceOrders.loadServiceOrder filters by status at the API level;
  add getServiceOrder helper for on-demand single-SO reads.
- service-orders adapter extracts clientSecret / checkoutSessionId from
  metadata / root / payment / session / checkout / stripe so callers can
  resume an open Stripe checkout session.
- useCheckoutSessionPreparer pre-fetches the Stripe clientSecret BEFORE
  opening the drawer (mirrors the signup pattern) — removes the empty-
  prop / async-watch race that left the payment element in skeleton.
- Cache plans catalogue (queryKeys.plans.list): staleTime 1h, gcTime
  24h, no refetch on mount/focus. Coalesce concurrent ACTIVE SO list
  calls behind a singleton promise.
- BillsView: render UpgradeToProCard only after isHobby resolves; toast
  on successful plan transition once refetchUntil confirms new SKU.
- CurrentInvoiceCard: Plan Charge from SO pricing
  (subscription.planChargeValue); Total = Plan Charge + Professional
  Services; skeleton honors subscription.isLoading.
- Stripe appearance: align Label (12px) and Input/Placeholder (14px)
  with LabelBlock / inputTextFontSize; read CSS vars for colors;
  fontSizeBase in px for the Stripe iframe root context.
- Plan downgrade hits the dedicated downgrade endpoint instead of the
  generic PATCH.
- Move signup-services / billing-services imports from
  AdditionalDataView (governed by no-direct-http-in-components) into
  the signup-block templates that actually call them; drop the props
  that only existed for transport.

* chore: apply prettier formatting after dev merge

* refactor: extract service-orders helpers and slim subscription composables

- split service-orders into constants/strategy modules; adapter helpers DRY
- extract subscription-helpers and account-settings-adapter; trim composables
- share CheckoutSubmissionFooter between billing drawers
- swap button `pi-spin` icon hack for the standard `:loading` prop
- eslint require-vue-query: allow queryClient imperative API + utility-file suffixes
- azion.config: route /edge_api to the edge API origin

* feat: billing SO flow refactor with downgrade banner and reload polling

- single SO list by account (drop per-status fetches and read cache)
- detect downgrade via metadata.status; new DowngradePendingBanner + DialogCancelDowngrade
- pro cycle flows: review-only drawer (m->y) and dedicated dialog (y->m)
- billing period / next charge date / last update sourced from SO fields
- refetchUntil polling on payment/upgrade/downgrade-success to absorb webhook lag
- persist additional-data form state when going back from checkout in signup

* chore: apply eslint --fix formatting

* fix: poll for active SO after pro signup to avoid stale hobby state in billing

When a new Pro user lands on Billing right after Stripe payment, the
backend may still hold the SO as DRAFT (webhook hasn't promoted it yet).
The existing auto-load only fetches once and falls back to 'hobby' when
no ACTIVE is found, leaving the billing cards stuck on the previous plan
until a manual refresh.

Add an opt-in poll (6x, 2s interval) triggered only when the singleton
holds a paid DRAFT (status=DRAFT + priceId) and no ACTIVE is present.
The cards stay in skeleton during the wait, and resolve to the right
plan as soon as the webhook completes.

* fix: silence require-vue-query on useServiceOrders and tighten fullName regex range

* chore: apply prettier formatting on fullName regex

* fix: render yearly plan as monthly equivalent in change-plan drawer

PricingCard shows /mo regardless of cycle, but getAnnualPrice was
returning the full yearly priceValue (e.g. 240), producing "$240/mo"
on the Yearly toggle. Divide the yearly priceValue by 12 so the card
reflects the monthly-equivalent price ("$20/mo").

* feat: instrument billing and onboarding flows with segment analytics

- new BillingTracker for plan-change funnel events
- expand SignUpTracker with onboarding step events
- wire events on App.vue, afterEachRoute, account-activation,
  BillsView and AdditionalDataView
- AnalyticsTrackerAdapter exposes the new trackers

* refactor: route service-orders through vue-query with post-payment flag

* chore: apply lint/prettier formatting

* refactor: extract safeTrackerCall helper for tracker error handling

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Guilherme Santana <44853071+gdsantana@users.noreply.github.com>
Co-authored-by: paulosf0 <paulo.ferreira@azion.com>
Co-authored-by: ROBSON.JUNIOR <robsongajunior@users.noreply.github.com>
Co-authored-by: Paulo Sobrinho Ferreira <110847590+pauloSF0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Isaque Böck <isaquebockdos@gmail.com>
Co-authored-by: Eduardo de Cesaro <44036260+cesaroeduardo@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Robson Junior <robson.ga.junior@gmail.com>
Co-authored-by: Guilherme Santana <guilherme30santana@gmail.com>
…#3538)

* Revert "[ENG-37160] fix: billing/SO follow-up credit, downgrade routing and onboarding refresh (#3529)"

This reverts commit 82cb5f0.

* Revert "[ENG-37160] feat: new plans view with billing/SO refactor (re-submission) (#3526)"

This reverts commit f8480c2.
sim and others added 13 commits June 17, 2026 11:42
…nt versioning

- Added execution plan (execution-plan.md) detailing work units, dependencies, and dispatch strategy for the VersionShell feature.
- Created initial version shell plan (plan-v1.md) outlining requirements, component hierarchy, and integration strategy for Application with versioned endpoints.
- Defined state machine, version service contract, and sub-resource services for edge applications.
- Established testing strategy and documentation updates for the new versioning architecture.
- Add `createVersionCommandBus` to manage command registration and execution.
- Introduce `onVersionCommand` for registering command handlers in the VersionShell.
- Create `useVersionContext` to provide current version state to nested components.
- Define version states and actions in `version-machine.js` for better state management.
- Implement `ProcessingOverlay` and `VersionActionBar` components for UI interactions.
- Add `VersionActionDialog` for actions requiring user comments.
- Create `VersionStateBadge` to visually represent version states.
- Develop `version-shell-block` template to encapsulate version management logic.
- Implement `useVersionShell` composable to integrate version query and command dispatching.
- Updated VersionActionBar to emit a 'cancel' event.
- Created a new test suite for VersionShell to validate event emissions for updated, command-error, and cancel actions.
- Enhanced various form fields in EdgeApplications to respect read-only state.
- Introduced ApplicationVersionAdapter and ApplicationVersionBadge components for better version management.
- Implemented VersionsListView for managing application versions with filtering and sorting capabilities.
- Minor UI adjustments in DomainDrawer for consistent styling.
Replace per-state maps in VersionActionBar with shared metaFor() metadata
from version-actions composable, supporting multiple primary actions and
isolated DELETE. Teleport the action bar into #action-bar and expand the
provided version context (availableActions, disabledActions, isVersioned,
dispatch). Add confirmation-only props to VersionActionDialog and rename
the failed state to error.

Remove dead versioning/deployment UI (EnvironmentTag, VersionStateDot,
ApplicationVersionBadge, VersionsListView, Create/LinkDeploymentDrawer,
resource-options) and rewrite DEPLOYMENT-API.md.
…support

- Refactor CreateDrawerBlock in EdgeApplicationsFunctions to accept a versioned service for creating and editing functions.
- Update ListView in EdgeApplicationsFunctions to integrate version context and allow for CRUD operations based on versioning.
- Modify Drawer in EdgeApplicationsOrigins to handle null edgeApplication provider safely.
- Adjust FormFields in EdgeApplicationsOrigins to ensure compatibility with the new edgeApplication injection.
- Enhance Drawer in EdgeApplicationsRulesEngine to support versioned service operations.
- Update ListView in EdgeApplicationsRulesEngine to incorporate version context and manage actions based on read-only state.
- Refactor ListView in Environments to simplify deployment policy handling.
- Revamp deploymentSettingsBlock in Workload to improve deployment linking and metadata handling.
- Introduce VersionListDataView component in Storybook for better version management visualization.
@aziontech aziontech deleted a comment from github-actions Bot Jun 17, 2026
@robsongajunior

Copy link
Copy Markdown
Contributor Author

recheck

@robsongajunior

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@github-actions

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


2 out of 3 committers have signed the CLA.
✅ (gdsantana)[https://github.com/gdsantana]
✅ (robsongajunior)[https://github.com/robsongajunior]
@SiM
sim seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

robsongajunior and others added 3 commits June 17, 2026 16:12
- Deleted DeploymentsListSection.vue, ResourcesSection.vue, and VersionHistorySection.vue as they are no longer needed.
- Updated domainsBlock.vue to maintain compatibility with the existing API.
- Cleaned up VersionListDataView.stories.js by removing unnecessary comments.
Fix the build_and_activate payload so the deploy flow creates new
releases correctly: send version_id plus global_id/resource_id by
resource type, and switch from removeQueries to invalidate
releases/deployments/detail caches so new releases show up immediately.

- Add DeploymentReleaseService + DeploymentReleaseAdapter covering the
  full release lifecycle (list, get, create, patch, build, delete,
  cancel, archive, promote, activate, rollback, strategy)
- Move release normalization/display logic out of the version adapter,
  slimming deployment-version-adapter to versions only
- Replace deployment-version mocks with the real release service in
  DeploymentHistoryTab (now per-deployment) and DeploymentVersionsList
- Add Workload Releases section + useWorkloadReleases composable that
  aggregates releases across a workload's deployment bindings
- Add Deployments SettingsTab; normalize audit actor to email
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge WIP Work in progress

Development

Successfully merging this pull request may close these issues.

2 participants