Skip to content

Listing columns don't save properly w/ global preferences #14314

@duncanmcclean

Description

@duncanmcclean

Bug description

I haven't been able to pinpoint the cause yet, but there seems to be a weird issue where the listing columns preference doesn't save correctly when you have it set as a global preference in resources/preferences.yaml.

Related: duncanmcclean/statamic-cargo#148

CleanShot.2026-03-20.at.19.11.06.mp4

How to reproduce

  1. Create an Orders collection
  2. Paste this into the blueprint YAML file:
title: Order
tabs:
  main:
    display: Main
    sections:
      -
        fields:
          -
            handle: title
            field:
              type: text
              required: true
              validate:
                - required
          -
            handle: date
            field:
              type: date
              display: Date
              listable: true
          -
            handle: customer
            field:
              type: users
              display: Customer
              listable: true
          -
            handle: grand_total
            field:
              type: money
              display: 'Grand Total'
              listable: true
          -
            handle: order_status
            field:
              type: text
              display: 'Order Status'
              listable: true
  sidebar:
    display: Sidebar
    sections:
      -
        fields:
          -
            handle: slug
            field:
              type: slug
              localizable: true
              validate: 'max:200'
  1. Create an entry and fill the values
  2. Create resources/preferences.yaml file:
collections:
  orders:
    columns:
        - date
        - title
        - customer
        - grand_total
        - order_status
  1. Visit the orders listing page
  2. Click to "Customize columns" and remove "Grand Total" and "Order Status" and click Save.
  3. See the columns change
  4. Go to another page
  5. Go back to the orders listing page
  6. See the columns are back again

Logs

Environment

Environment
Application Name: Cargo Sandbox
Laravel Version: 12.49.0
PHP Version: 8.4.19
Composer Version: 2.9.5
Environment: local
Debug Mode: ENABLED
URL: cargo-sandbox.test
Maintenance Mode: OFF
Timezone: UTC
Locale: en

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: sqlite
Logs: stack / single
Mail: smtp
Queue: redis
Session: file

Storage
public/storage: NOT LINKED

Statamic
Addons: 1
Sites: 1
Stache Watcher: Enabled
Static Caching: Disabled
Version: 6.0.0 PRO

Statamic Addons
duncanmcclean/statamic-cargo: 1.x-dev

Cargo
Carts: file
Orders: file
Payment Gateways: Dummy, Stripe

Installation

Fresh statamic/statamic site via CLI

Additional details

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions