Your way to remember debug mode is still active? šŸ˜‚

Heyā€¦ i think, iā€™m not the only one who sometimes forgets to set debug mode to false againā€¦
do you have any solution for a reminder?

i think of something like a cronjob that checks debug-state to remind meā€¦
and/or showing status in kirby-panelā€¦ maybe by a special background color of the status lineā€¦ or something like thatā€¦

How do you remind yourself? =)

Iā€™m with You @demlak! :wink:
Actually itā€™s pretty easy and a no-brainer with two config files.

Set Your debug options to true in the local config file, i.e. config.localhost.php

and set it to false in the config.php
Therefore You donā€™t have to think about it anymore, unless You need to debug on the production server.

For sites that I tinker with a lot (like my own), I use this in my production config file config.example.com.php:

return [
    'ready' => function ($kirby) {
        return [
            'debug' => $kirby->user() !== null
        ];
    }
]

This comes with the benefit that I can ā€œturn on debug modeā€ on my production site by simply logging in (on sites with more than one user we may want to check for user status ā€œadminā€ or the like in that conditionā€¦

For other setups or in the rare situation that I have to debug in production without being logged in, I set an ā€œanalogous reminderā€, i.e. putting a post-it on my screen or write ā€œTurn of debug modeā€ on my ToDo list for the day. Very old school, but it works :laughing:

I do like your idea of polling for active debug mode and highlight something in the Panel, though. Sounds like a great fool-proof solution (please share if you come up with a reusable code snippet for that!).

6 Likes

Very clever Sebastian. I think I might have to adopt Your solution! =)

I like the idea of giving debug-mode only to admins that are logged in.

on my site i have to restrict to admins. we have hundreds of ldap-users =)

in case anyone is interested inā€¦ thatā€™s my solution in config.php now:

    'ready' => function ($kirby) {
            $loggedinadmin = false;
            if (kirby()->user()) {
                if (kirby()->user()->role()->id() === "admin") {
                    $loggedinadmin = true;
                } 
            }
            return ['debug' => $loggedinadmin];
    }

1 Like

Thanks for sharing and thereby bringing it up in the feed again! This is a beautiful idea @sebastiangreger @demlak <3

Shorter alternative

'ready' => function ($kirby) {
    return ['debug' => kirby()->user() !== null && kirby()->user()->role()->isAdmin()];
}
5 Likes

Such useful and sensible tips should also be included in the guide. I often search in vain for solutions here in the forum because the problem description is too unspecific. The categorical structure of the guide helps me find my way around. I feel that the guide is incomplete in many places. The numerous solutions from the forum should be made more accessible.

1 Like