Commit graph

3148 commits

Author SHA1 Message Date
kilo-code-bot[bot]
763b995564
Add Thomas Lübker testimonial to customers page (#43830)
## Summary
- Adds a new testimonial from Thomas Lübker to the Fleet
customers/testimonials page
- Quote: "I think it is key that people understand the leverage they
have with AI if everything is 'code'. In the AI age, clickops will not
prevail!"
- Anonymous-style testimonial (no company logo) with LinkedIn profile
link

### Changes
- `handbook/company/testimonials.yml` — added new testimonial entry
- `website/assets/images/testimonial-author-thomas-luebker-48x48@2x.png`
— added profile image placeholder

---

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1776743212657769)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-20 22:56:35 -05:00
Eric
7fc259c895
Website: add claude.md (#43815)
Changes:
- Added website/.claude/CLAUDE.md, a file to provide guidance to Claude
code when working in the website folder.
2026-04-20 18:04:17 -05:00
Allen Houchins
337f4a9e04
Add Druva inSync as a Windows FMA (#43817)
Add support for Druva inSync: new winget input
(ee/maintained-apps/inputs/winget/druva-insync.json), app metadata
(added entry in ee/maintained-apps/outputs/apps.json) and
platform-specific output with version, installer URL,
installer/uninstaller script refs, sha256 and upgrade_code
(ee/maintained-apps/outputs/druva-insync/windows.json). Also add
frontend icon component and mapping
(frontend/pages/SoftwarePage/components/icons/DruvaInSync.tsx and
index.ts) plus the PNG asset
(website/assets/images/app-icon-druva-insync-60x60@2x.png) so the app is
manageable and visually represented in the UI.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43702
2026-04-20 16:01:18 -05:00
Eric
308e5f3dc8
Website: Update style mixins and variables (#43801)
Changes:
- Created spacing.less, a file that contains the common
padding/margin/gap values used on the website
- Updated containers.less to contain mixins for page containers
- Added feature-blocks.less, a file that contains three mixins:
`.feature-with-image()`, `.three-column-features()`, and
`.responsive-feature-row()`
- Added mixins for common text styles to typography.less
- Updated pages to use the new mixins

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Centralized spacing and typography system for consistent, responsive
layouts
* Reusable feature-block patterns for image/text rows and multi-column
feature grids

* **Style**
* Standardized page containers and content areas with responsive padding
and max-widths
  * Unified heading/body styles via new typography utilities
* Simplified markup and improved feature image/text alignment and
responsiveness
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-20 14:55:27 -05:00
Noah Talerman
fa796cdd5a
Move Apple Business instructions out of UI and into guides (#43638)
For the following quick win:
- https://github.com/fleetdm/fleet/issues/43435
2026-04-20 15:16:56 -04:00
Dan Gordon
33f0d8454a
Post whitepaper IT leader's guide to Linux device management AND fix whitepaper form hardcode. (#43780)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves
#https://github.com/fleetdm/confidential/issues/14837
**Related issue:** Resolves
#https://github.com/fleetdm/confidential/issues/14839


Commit 1 - fixes the basic-whitepaper.ejs page so that the LP form
headline is not hard coded to GitOps anymore.
Commit 2 - posts the whitepaper and sets up the LP page 


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
  * Form headline on whitepaper download page is now customizable.
  * Enhanced email submission feedback handling during download process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-20 12:07:06 -05:00
johnjeremiah
f2f513a559
Adding GCM script to layout.ejs (#43507)
Adds google consent mode code to the ejs and re-orders the flow of tags
to support GCM


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Moved analytics and consent scripts so they load only in production.
* Added a client-side consent mode initializer with explicit default
consent states.
* Explicitly included Google Analytics and Ads loader/configuration for
the site properties.
* Reordered a pair of landing-page scripts to change their load
sequence.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-17 16:18:10 -05:00
Rachael Shaw
01a79b08b8
Website: Update code styles inside callout blocks (#43728)
Fixed uneven padding and made the code blocks a little more compact
inside callout blocks to blend better with the smaller text size.

#### Before:
<img width="644" height="115" alt="Screenshot 2026-04-17 at 12 12 06 PM"
src="https://github.com/user-attachments/assets/c9b65b35-8025-454a-b707-374790259f66"
/>

#### After:
<img width="653" height="129" alt="Screenshot 2026-04-17 at 12 23 38 PM"
src="https://github.com/user-attachments/assets/59909631-9107-4347-a8d9-1e7ad0809f2b"
/>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
  * Enhanced spacing for inline code elements within tip blocks
* Improved first-child element padding handling to better accommodate
code formatting

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-17 13:00:04 -05:00
Noah Talerman
51af71f712
Move VPP instructions out of UI and into guides (#43641)
- @noahtalerman: For the following quick win:
  - https://github.com/fleetdm/fleet/issues/43435
2026-04-17 12:23:48 -05:00
Eric
b63d597846
Website: update cta-button mixin hover state (#43717)
Changes:
- Added hover styles to the cta-button mixin.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Call-to-action buttons now display white text without underline on
hover.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-17 12:15:32 -05:00
Eric
c10142aec3
Website: Update note blocks on docs pages to use tip-block mixin (#43686)
Changes:
- Updated the notes on the vital-details, policy-details, and
query-details template pages to use the tip-block mixin

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Refined styling consistency across documentation pages while
maintaining visual appearance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-16 17:27:53 -05:00
Eric
26c288263c
Website: Add mixins for checklists and cta buttons (#43682)
Changes:
- Created checklist.less, a file that contains two mixins for checklists
(`.checklist()` and `.article-checklist()`), and updated stylesheets to
use the mixins.
- Added a mixin for CTA buttons (`.cta-button()`), and updated
stylesheets to use the mixin.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Standardized call-to-action button styling across all pages with a
unified design system approach.
* Consolidated checklist styling for improved visual consistency
throughout articles and landing pages.
  * Refined button hover effects for a more cohesive user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-16 15:26:35 -05:00
Rachael Shaw
62c41fa5b2
Website: Update callout box to use styles from the product, and update bubble component for displaying role types (#43651)
+ Update bubble component to use for displaying roles in REST API docs
+ Update callout box to reflect styles in the product, and create a new
mixin for consistent styling

(Adding the actual bubbles to the REST API docs will be done in a
separate PR, figured we could get these changes merged in first since it
might take awhile to verify that the role permissions are documented
accurately.)

#### Screenshot of style changes in the REST API docs:
<img width="1057" height="444" alt="Screenshot 2026-04-15 at 5 59 44 PM"
src="https://github.com/user-attachments/assets/1478b4d0-f610-4f87-a72f-2b08af917484"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Role bubbles can be clickable links for specific roles and show hover
interactions.

* **Style**
* Redesigned bubble visuals (typography, padding, border, radius,
colors) with distinct role variants.
  * Added hover transition for role-linked bubbles.
* Consolidated "tip" block styling across the site for consistent layout
and spacing.
  * Minor spacing tweak for bubbles in documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-16 10:38:38 -05:00
Eric
be14f7c10d
Website: Add webinar article template page. (#43627)
Changes:
- Added support for a new article category: `webinar`.
- Added a template page for webinar articles.
- Added an additional route for webinar articles that users are taken to
to watch the webinar recording.
- Added `deliver-webinar-access-request`, an action that updates CRM
records when users fill out the form on the webinar template page.
- Updated the accepted `intentSignal` values in the
create-historical-event helper.
- Added an article for the "Beyond the hype, practical AI for device
management" webinar.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Public webinar pages (/webinars/:slug and /watch) with optional
embedded video and a new page template, script, and styles.
* Sidebar signup form (first name, last name, work email) with prefill
for signed-in users and improved scroll behavior.
* POST API to request webinar access: validates email domain, records a
webinar-request event, triggers background CRM sync, and returns a watch
view on success.
* Static-site build now recognizes webinar articles and enforces
embedded-video URL validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-16 09:14:28 -05:00
Noah Talerman
1fe982a7ed
Move APNs instructions out of UI and into guides (#43434)
- @noahtalerman: For the following quick win:
  - https://github.com/fleetdm/fleet/issues/43435
2026-04-15 14:44:34 -05:00
Allen Houchins
86b5eaf4a9
Rename iMazing Profile Editor to iMazing in the FMA library (#43555)
Replace the fleet-maintained app record for "iMazing Profile Editor"
with the full "iMazing" app. Deleted the old input file and added a new
input for imazing; renamed output paths and updated app metadata (bundle
identifier, slug, categories). Bumped version to 3.5.2 and updated
installer URL, install/uninstall script refs and SHA256. Updated
frontend icon mapping and website routes to point to the new imazing
slug, and adjusted fleet configs: workstation software slug, dynamic
label query, and macOS patch policy to reference imazing/darwin and the
new bundle identifier.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* iMazing application (v3.5.2) now replaces iMazing Profile Editor with
improved capabilities and enhanced functionality.
* Application category updated from Developer tools to Utilities for
better organization and discoverability.

* **Updates**
* Updated deployment configurations, system routes, and management
policies to support iMazing across all managed environments and
platforms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-14 14:57:24 -05:00
Eric
0d598f6c6b
Website: update new password form (#43548)
Changes:
- Updated the new password form and change password form on the
logged-in customer dashboard to have the same password requirements the
register form
- Updated the button styles on the 498 response page

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Strengthened password requirements: 12–48 characters, must include at
least one number and one symbol.
  * More specific validation feedback for new/confirm password fields.

* **Bug Fixes**
* Modal focus behavior improved so password inputs receive focus when
opened.

* **Style**
  * Primary button styling applied to password actions.
  * Link hover visuals enhanced.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-14 13:51:00 -05:00
Allen Houchins
10a7476ecc
Add Thunderbird Windows app and scripts (#43553)
Add metadata and install/uninstall automation for Thunderbird on
Windows. Adds ee/maintained-apps/inputs/winget/thunderbird.json plus
PowerShell install/uninstall scripts (NSIS silent /S, install uses
/PreventRebootRequired=true; uninstall resolves registry entry for x64
en-US and appends /S). Update maintained apps outputs: register
Thunderbird in ee/maintained-apps/outputs/apps.json and add
ee/maintained-apps/outputs/thunderbird/windows.json (version 149.0.2,
installer URL and sha256, script refs). Also update frontend icon
component and app PNG asset for Thunderbird.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43526
2026-04-14 13:27:19 -05:00
Eric
b18195ba19
Website: Change two articles to use the comparison template (#43541)
Changes:
- Updated fleet-vs-jamf-vs-iru-kandji-mdm-comparison.md and
fleet-vs-jumpcloud-vs-workspace-one-comparison.md to use the comparison
article template.
- Updated the styles for mobile comparison tables

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved comparison table display on mobile devices by allowing table
labels to wrap properly instead of staying on a single line.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-14 12:12:34 -05:00
Allen Houchins
3e75d59bc0
Add Granola as a Windows FMA (#43537)
Add support for Granola (Windows) including winget input,
installer/uninstaller scripts, and output metadata. Added
ee/maintained-apps/inputs/winget/granola.json plus install/uninstall
PowerShell scripts, and new
ee/maintained-apps/outputs/granola/windows.json containing version
7.128.0, installer URL and script refs (with SHA256). Also register
Granola in ee/maintained-apps/outputs/apps.json and update the frontend
icon and website app image assets for Granola.
2026-04-14 11:51:59 -05:00
Eric
703e825105
Website: Add two exits to vpp app metadata proxy (#43531)
Related to: https://github.com/fleetdm/confidential/issues/15379

Changes:
- Added two exits to the VPP metadata proxy that are used when the Apple
API returns errors. `appleApiReturnedServerError` Is returned when the
Apple API returns a 500 error, and `appleApiReturnedForbiddenResponse`
is used when the Apple API returns a 403 response.
- Updated the error handler in the VPP metadata proxy to return the body
of the logged error.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved Apple App Store API error handling: forbidden (403) and
server (500) responses are now distinguished and mapped to specific
error outcomes.
* Other API errors now return the API response body (not the internal
error object), and error logging text was clarified for better
diagnostics.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-14 11:06:41 -05:00
Allen Houchins
3d067afb47
Add Linear as a Windows FMA (#43521)
Add Windows support for Linear: new winget input
(ee/maintained-apps/inputs/winget/linear.json) with installer metadata
and category, plus install/uninstall PowerShell scripts. Add output
metadata (ee/maintained-apps/outputs/linear/windows.json) including a
version entry, installer URL, sha256 and script refs, and register the
app in apps.json. Update frontend icon component to reference a new PNG
and add the image asset.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #43501
2026-04-14 09:57:23 -05:00
johnjeremiah
b8378026b0
Adding ActiveCampaign tracking tag (#43225)
This change adds the active campaign tracking code to layout.ejs
2026-04-10 17:00:43 -05:00
Eric
d90f8dfd27
Website: update when stripe customers are created for new users (#43424)
Changes:
- Updated when Stripe customers are created for users who sign up on the
website. A Stripe customer will be created for new users if they
purchase a self-service Fleet Premium license.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Stripe customer accounts are now created during checkout instead of at
signup, deferring billing setup until needed.
* Signup no longer creates a Stripe customer record as part of user
registration.
* Checkout now enforces billing feature availability and includes
improved handling when creating customer billing records.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-10 15:23:18 -05:00
kilo-code-bot[bot]
4b659bd3a1
Rename /jamf-alternative to /replace-jamf (#43409)
## Summary

- Renames the `/jamf-alternative` landing page URL to `/replace-jamf`
- Adds a redirect from `/jamf-alternative` → `/replace-jamf` so existing
links continue to work
- Updates all internal references (route config, controller, view,
styles, JS, layout, homepage link)

## Changes

**Renamed files:**
- `website/views/pages/landing-pages/jamf-alternative.ejs` →
`replace-jamf.ejs`
- `website/assets/styles/pages/landing-pages/jamf-alternative.less` →
`replace-jamf.less`
- `website/assets/js/pages/landing-pages/jamf-alternative.page.js` →
`replace-jamf.page.js`
- `website/api/controllers/landing-pages/view-jamf-alternative.js` →
`view-replace-jamf.js`

**Updated references in:**
- `website/config/routes.js` — route and redirect
- `website/views/layouts/layout.ejs` — script tag
- `website/assets/styles/importer.less` — LESS import
- `website/views/pages/homepage.ejs` — announcement banner link

---

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1775832943499849)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-10 11:56:13 -05:00
Isabell Reedy
f3609de8ab
Update HoP as DRI + maintainer for communications page (#43405)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated documentation ownership and auto-approval permissions for the
company communications handbook section to reflect current team
structure.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-10 16:03:43 +01:00
Eric
fe72a6c1c4
Website: add support for new usage statistics (#42923)
Closes: https://github.com/fleetdm/fleet/issues/42049

Changes:
- Added four attributes to the HistoricalUsageSnapshot model:
`oktaConditionalAccessConfigured`, `conditionalAccessEnabled`,
`conditionalAccessBypassDisabled`, and
`entraConditionalAccessConfigured`
- Added the new usage statistics as inputs to the
receive-usage-analytics webhook

> Note: Before this PR can be merged, the website's database needs to be
migrated to add the new columns.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added tracking for conditional access configuration states across Okta
and Entra platforms, including bypass and enablement status.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-10 08:27:02 -05:00
johnjeremiah
27bfa6b20e
Adding cpc for paid search (#43274)
Adding the code cpc - for paid search so that we get attribution
correct.
2026-04-10 09:18:54 -04:00
kilo-code-bot[bot]
cff7036f1b
Remove six case studies from customers page and social proof handbook (#43352)
## Summary
- Removes six anonymous case studies that are no longer needed:
open-source-software-company, interactive-entertainment-company,
financial-technology-company, open-source-organization,
global-saas-company, and online-marketplace.
- Deletes the 6 article markdown files from `articles/`, which
automatically removes them from the dynamically-rendered customers page
(`fleetdm.com/customers`).
- Removes 7 references to these case studies from
`handbook/marketing/fleet-social-proof.md`.
- Removes 3 redirect routes from `website/config/routes.js` that pointed
to the now-deleted case studies.

## Changes
| File | Change |
|------|--------|
| `articles/financial-technology-company.md` | Deleted |
| `articles/global-saas-company.md` | Deleted |
| `articles/interactive-entertainment-company.md` | Deleted |
| `articles/online-marketplace.md` | Deleted |
| `articles/open-source-organization.md` | Deleted |
| `articles/open-source-software-company.md` | Deleted |
| `handbook/marketing/fleet-social-proof.md` | Removed 7 table rows
referencing the 6 case studies |
| `website/config/routes.js` | Removed 3 redirect rules for deleted case
studies |

---

Built for [Irena
Reedy](https://fleetdm.slack.com/archives/D0APYC9R9SL/p1775761161561979)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-09 14:14:22 -05:00
Eric
d7abf5d16c
Website: update job title on /customers page (#43351)
Changes:
- Updated Mike Meyer's job title on the case study carousel on the
/customers page.
2026-04-09 14:04:26 -05:00
Ashish Kuthiala
d391db1287
update mike meyer title per his request (#43336)
updated title to Senior systems engineer & Technical lead

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-09 11:58:32 -05:00
Eric
2ab76af34c
Website: add maintainer and DRI for ee/fleet-agent-downloader to website custom config. (#43331)
Changes:
- Added the `ee/fleet-agent-downloader` directory to the
`githubRepoDRIByPath` and `githubRepoMaintainersByPath` config values to
the website's custom configuration, and removed
`ee/bulk-operations-dashboard` (which was removed in the PR that added
that directory).
2026-04-09 11:08:48 -05:00
Eric
830463d0e5
Website: add quote to /jamf-alternative page (#43305)
Closes: https://github.com/fleetdm/confidential/issues/15271

Changes:
- Added a quote to the top of the /jamf-alternative page
2026-04-08 18:07:31 -05:00
Eric
76a8a4c4e2
Website: Add new logos to logo-carousel component (#43267)
Changes:
- Added 8 new logos to the `<logo-carousel>` component
2026-04-08 13:12:23 -05:00
kilo-code-bot[bot]
536fbb73bf
Add new testimonial from LinkedIn comment on Foursquare migration post (#43249)
## Summary

- Adds a new commented-out testimonial entry to
`handbook/company/testimonials.yml` sourced from a LinkedIn comment (URN
7279546151945519104) on Mike Meyer's Foursquare-to-Fleet migration post.
- The entry is commented out per handbook instructions since it contains
TODO placeholders that need to be filled in manually from the LinkedIn
comment (requires authentication to access).
- The LinkedIn comment URL:
https://www.linkedin.com/feed/update/urn:li:activity:7267672056970788866/?dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287279546151945519104%2Curn%3Ali%3Aactivity%3A7267672056970788866%29

## TODO before merging

The following fields need to be filled in from the LinkedIn comment
(requires logging in to LinkedIn to view):

1. `quote` - The text of the comment
2. `quoteAuthorName` - The commenter's name
3. `quoteAuthorJobTitle` - The commenter's job title
4. `quoteAuthorProfileImageFilename` - Upload the commenter's profile
image and update the filename
5. `productCategories` - Verify the correct category (currently set to
`[Device management]`)
6. `quoteLinkUrl` - Verify or update to the commenter's LinkedIn profile
URL if preferred

---

Built for [Dan
Gordon](https://fleetdm.slack.com/archives/C0AN44FQC01/p1775665779923419?thread_ts=1775661619.633759&cid=C0AN44FQC01)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Dan Gordon <daniel@fleetdm.com>
Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-04-08 13:06:16 -05:00
Mike McNeil
2545d48627
Website: Update partners.ejs (#43262)
Doesn't need to say "channel"
2026-04-08 12:42:24 -05:00
Eric
bbaabd782c
Website: bring back support for markdown ((bubbles)) (#43189)
Related to: https://github.com/fleetdm/fleet/issues/42738

Changes:
- Uncommented and updated the code that replaces text content in double
parentheses with `<bubble>` elements in build-static-content to not
replace content inside of `<code>` elements
- Created a `<bubble>` component based on the ((bubbles)) in the
Sails.js docs.
2026-04-08 10:56:59 -05:00
Eric
aca1f0bb92
Website: update package-lock.json (#43245)
Closes: https://github.com/fleetdm/confidential/issues/15275

Changes:
- Updated website/package-lock.json by running `npm update`
2026-04-08 10:52:07 -05:00
kilo-code-bot[bot]
f47c0e5670
Add event UTM medium codes to source channel attribution (#43150)
## Summary

- Adds 9 event-related UTM medium codes (`mc`, `rc`, `le`, `ec`, `fe`,
`pe`, `se`, `wh`, `ws`) to the marketing attribution logic in
`update-or-create-contact-and-account.js`
- Maps these codes to the `'Event'` source channel, following the same
pattern used for Digital and Organic channels
- Adds friendly name mappings for each event code (e.g., `mc` → "Major
conference (MC)", `wh` → "Fleet hosted webinar (WH)")

### UTM Medium → Source Channel Mapping

| Code | Description | Source Channel |
|------|-------------|---------------|
| `mc` | Major conference | Event |
| `rc` | Regional conference | Event |
| `le` | Local event/meetup | Event |
| `ec` | Executive community | Event |
| `fe` | Field event/workshop | Event |
| `pe` | Partner event | Event |
| `se` | Speaking engagement | Event |
| `wh` | Fleet hosted webinar | Event |
| `ws` | Sponsored webinar | Event |

### Changes

The source channel determination logic now has three branches:
1. **Digital** — `ps`, `so`, `pm`, `cs`, `em` (unchanged)
2. **Event** — `mc`, `rc`, `le`, `ec`, `fe`, `pe`, `se`, `wh`, `ws`
(new)
3. **Organic** — everything else / no UTM medium (unchanged, remains the
default fallback)

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1775584746996929)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-07 18:11:38 -05:00
RachelElysia
357371911b
Website: Reroute learn-more-about/abm-issues (#42995) 2026-04-07 18:33:06 -04:00
Eric
0190326740
Website: update code block syntax highlighting styles (#43156)
Closes: https://github.com/fleetdm/fleet/issues/42116 

Changes:
- Updated the syntax highlighting styles on documentation pages
(app-details, query-details, osquery-table-details, vital-details,
command-details, script-details, and policy-details)
- Added support and styles for syntax highlighting on article pages.
2026-04-07 14:16:25 -05:00
Eric
5652731f89
Website: Update logging in VPP proxy endpoint (#43124)
Changes:
- Updated the get-vpp-app-metadata endpoint to log all errors returned
by the Apple API
2026-04-07 10:26:38 -05:00
Eric
3a6ecb5a11
Website: add package-lock.json (#43001)
Changes:
- Updated the top-level .gitignore to allow a package-lock.json file in
the website/ folder
- Added website/package-lock.json
2026-04-06 17:45:44 -05:00
Eric
b1ea2121da
Website: Add "About Fleet" section to case study article template page. (#43086)
Closes https://github.com/fleetdm/fleet/issues/41798


Changes:
- Added an "About Fleet" section to the case study article template
page.
- Removed the "About Fleet" sections from case study articles.



FYI @irenareedy: After this change is merged, you will not need to
include an "About Fleet" section on new case study articles.
2026-04-06 17:28:36 -05:00
Eric
e9a0f0ff2b
Website: update search and article styles (#43076)
Related to: #42652

Changes:
- Updated the colors of the docsearch search menu
- Updated the `<li>` marker color on article pages
2026-04-06 15:03:42 -05:00
Dan Gordon
3e37820b9f
Post article: Deploy fleet to Proxmox (#43058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** RESOLVES  fleetdm/confidential#15231

Post a Guide on installing Fleet to Proxmox. Proxmox hypervisor as host.
2026-04-06 14:58:26 -05:00
Eric
ef119bd6c6
Website: Add cookieyes footer link (#43071)
Changes:
- Updated the website layout to add a "Do Not Sell or Share My Personal
Information" link for users who see the Cookie Yes banner for CCPA.
2026-04-06 13:37:05 -05:00
Isabell Reedy
064ae0f7e7
Update receive-from-github.js (#42726) 2026-04-06 12:42:20 +01:00
kilo-code-bot[bot]
7d47b46e3f
Add 'Edit page' button to integrations page (#42789)
## Summary

- Adds an "Edit page" button to the integrations page (`/integrations`),
linking to the source EJS template on GitHub for easy editing
- Follows the same pattern and styling used by the existing edit button
on docs pages (green outline button with pencil icon, hover state)

## Changes

- **`website/views/pages/integrations.ejs`** — Added an edit button link
(`<a purpose="edit-button">`) inside the page heading section, pointing
to
`https://github.com/fleetdm/fleet/edit/main/website/views/pages/integrations.ejs`
- **`website/assets/styles/pages/integrations.less`** — Added styling
for the `[purpose='edit-button']` selector within the page heading,
matching the docs page edit button style (green border, hover fill,
pencil icon spacing)

---

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1775011563009399)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-04-03 17:23:08 -05:00
Luke Heath
b6c0fd0d5d
Add data point to engineering KPI script (#42903) 2026-04-03 17:07:44 -05:00