Introduce a lightweight job scheduling system built on CI4 Tasks,
allowing due tasks to run via normal web traffic instead of relying
solely on external cron/Task Scheduler processes.
- Add JobRunner filter: runs TaskRunner after response send via
shutdown function, throttled per-minute via cache, respects
jobs_mode config ('auto'/'web'/'manual') and max-seconds budget
- Register jobrunner filter globally (app/Config/Filters.php),
disabled during testing to avoid heartbeat log spam
- Add Config/Tasks.php with jobs_heartbeat scheduled task (debug
log every minute) as scaffolding for future job commands
- Add Config/Jobs.php for mode/webMaxSeconds defaults
- Add Jobs controller + views (manage, settings_config,
utilities_config, partial/job_throttles) for configuring mode,
web max seconds, and per-period throttles; process-all/selected
actions stubbed for a later phase
- Add gulp task to copy jobs.svg menubar icon
- Fix tooltip clipping: use container: 'body' for bootstrap
tooltips and add max-width/text-align rules for tooltip-inner /
ui-tooltip in ospos.css
- Fix missing closing div in partial/footer.php layout
Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>