Skip to content

Autofocus on title text-input causes annoying behaviour when using Collaboration #12010

@simonerd

Description

@simonerd

Bug description

On loading an entry-edit-view the focus is always set to the title field. Looking into this, the TextFieldtype has a simple check if it's the title (or alt, same thing) field:

<text-input
    ref="input"
    :value="value"
    :classes="config.classes"
    :focus="config.focus || name === 'title' || name === 'alt'"
    // …
/>

This might usually be somewhat useful, but is very annoying when using the Collaboration package. Whenever someone opens an entry the title field is focused, which triggers Collaboration to block that field. However, due to racing conditions or whatever, this very often blocks a field even for the user that is currently opening the page. This leads to situations like this:

Image

Although this is probably more of an issue to fix in the Collaboration package, the initial cause of it is the autofocus on the title field. As we don't need this in our project anyways, could we please have an opt-out config for this behaviour? Thanks!

How to reproduce

Install and enable Collaboration. Open any entry on two browser windows (e. g. one normal one incognito) with different users. Might need 2-3 attempts, but very much sooner than later you should find yourself in a situation like in the screenshot above.

Logs

Environment

Environment
Application Name: "My App"
Laravel Version: 11.45.1
PHP Version: 8.3.19
Composer Version: 2.8.5
Environment: local
Debug Mode: ENABLED
URL: localhost:8001
Maintenance Mode: OFF
Timezone: UTC
Locale: de

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

Drivers
Broadcasting: reverb
Cache: file
Database: pgsql
Logs: daily
Mail: log
Queue: database
Session: file

Statamic
Addons: 3
Sites: 1
Stache Watcher: Disabled
Static Caching: Disabled
Version: 5.60.0 PRO

Statamic Addons
statamic-rad-pack/typesense: 2.3.1
statamic/collaboration: 1.0.1
statamic/eloquent-driver: 4.29.0

Statamic Eloquent Driver
Asset Containers: eloquent
Assets: eloquent
Blueprints: file
Collection Trees: eloquent
Collections: file
Entries: eloquent
Forms: file
Global Sets: file
Global Variables: file
Navigation Trees: eloquent
Navigations: file
Revisions: eloquent
Sites: file
Taxonomies: file
Terms: eloquent
Tokens: eloquent

Installation

Fresh statamic/statamic site via CLI

Additional details

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions