refactor: safe PHP 7.4 modernization#310
refactor: safe PHP 7.4 modernization#310somethingwithproof wants to merge 6 commits intoCacti:developfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Modernizes the syslog plugin codebase for PHP 7.4 by enabling strict_types, converting legacy array() syntax to [], and adding/adjusting test scaffolding (Pest + Cacti stubs).
Changes:
- Added
declare(strict_types=1);across many plugin entrypoints and helpers. - Converted many
array(...)usages to short array syntax and used null-coalescing in a few places. - Added Pest bootstrap plus new/updated regression/unit tests (and introduced
.omcstate artifacts).
Reviewed changes
Copilot reviewed 165 out of 165 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Unit/StrictTypingTest.php | Adds a unit test intended to enforce strict_types across PHP files (currently missing assertions). |
| tests/Helpers/CactiStubs.php | Adds Cacti function stubs to load plugin code in isolation (doc comment references wrong plugin). |
| tests/regression/issue278_command_execution_refactor_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue277_import_payload_loader_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue276_bulk_action_dispatch_helper_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue270_mariadb_detection_strict_test.php | Adds strict_types in regression test. |
| tests/regression/issue269_import_text_trim_check_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue269_import_text_branch_logic_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue258_replication_create_sql_test.php | Adds strict_types + array syntax changes (currently contains a parse error). |
| tests/regression/issue254_partition_table_locking_test.php | Adds strict_types + short array syntax in regression test. |
| tests/regression/issue253_alert_sql_placeholder_test.php | Adds strict_types + short array syntax in regression test. |
| pest.php | Adds Pest configuration (currently references non-existent test directories). |
| template/index.php | Adds strict_types declaration. |
| index.php | Adds strict_types declaration. |
| images/index.php | Adds strict_types declaration. |
| locales/index.php | Adds strict_types declaration. |
| locales/LC_MESSAGES/index.php | Adds strict_types declaration. |
| locales/po/index.php | Adds strict_types declaration. |
| locales/po/.omc/state/subagent-tracking.json | Tool/agent state artifact (should not be versioned). |
| syslog.php | Adds strict_types + array modernizations (currently contains a parse error in in_array call). |
| syslog_alerts.php | Adds strict_types + array modernizations (currently contains multiple parse errors and an incorrect DB wrapper usage). |
| syslog_reports.php | Adds strict_types + array modernizations (currently contains a parse error and incorrect DB wrapper usage). |
| syslog_removal.php | Adds strict_types + array modernizations (currently contains a parse error). |
| syslog_process.php | Adds strict_types declaration. |
| syslog_counter.php | Adds strict_types declaration. |
| syslog_batch_transfer.php | Adds strict_types declaration. |
| functions.php | Adds strict_types + array modernizations (currently contains a parse error in XML helper). |
| database.php | Adds strict_types + short array default params for syslog DB wrapper functions. |
| setup.php | Adds strict_types + short array syntax in multiple places. |
| .omc/state/checkpoints/checkpoint-2026-03-10T20-39-47-373Z.json | Tool state artifact (should not be versioned). |
| .omc/state/checkpoints/checkpoint-2026-03-18T22-02-29-245Z.json | Tool state artifact (should not be versioned). |
| .omc/sessions/00154a04-53d3-406d-a8c0-d950b0d851dc.json | Tool session artifact (should not be versioned). |
| .omc/sessions/01772d10-bd48-494e-aa79-205e910e9948.json | Tool session artifact (should not be versioned). |
| .omc/sessions/01b3795f-e386-4ec4-a732-d945284f60c1.json | Tool session artifact (should not be versioned). |
| .omc/sessions/0368fad6-b616-4822-9147-988db8ab8af0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/037a214f-6a32-435d-bc3f-0891cc8edc06.json | Tool session artifact (should not be versioned). |
| .omc/sessions/08e99344-71a5-430d-a8e6-470b7070e74b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/0e66c2b3-810c-4506-b0a8-41b5b3f8b852.json | Tool session artifact (should not be versioned). |
| .omc/sessions/0fc017e5-7aa6-44c8-9279-bd97abda3fed.json | Tool session artifact (should not be versioned). |
| .omc/sessions/12e6a414-6405-4283-957b-756a71639194.json | Tool session artifact (should not be versioned). |
| .omc/sessions/15348764-ec71-4eae-b6b3-3d8b6e55c3fc.json | Tool session artifact (should not be versioned). |
| .omc/sessions/17212049-8ec2-4c3f-aa7d-e9de67f4620e.json | Tool session artifact (should not be versioned). |
| .omc/sessions/1811f6f2-cfc2-4e06-9132-715c08273e24.json | Tool session artifact (should not be versioned). |
| .omc/sessions/1e68b869-abcc-4e0d-af2a-ef1cb01848af.json | Tool session artifact (should not be versioned). |
| .omc/sessions/1f190996-eb16-4afe-945f-e6667f86857c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/1f6662b9-61e3-4691-a36b-a369947568db.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2026b27a-f394-4ca2-8eac-27d92a903540.json | Tool session artifact (should not be versioned). |
| .omc/sessions/21ef87f3-d19b-4cd4-a4b6-6e8738c89a04.json | Tool session artifact (should not be versioned). |
| .omc/sessions/221d55b8-b3af-4972-8277-37def770aa53.json | Tool session artifact (should not be versioned). |
| .omc/sessions/26679323-e79b-47ae-a145-0ac264609c1b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/27a0ee7c-c524-49b5-94d3-4ccf4b0ffb64.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2840679b-9c00-4171-aa8c-f9f0f1adf667.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2baa0362-6a06-4c5b-9de3-4234e5a1b27f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2d772e0a-7886-4b50-b714-d4d7496daa29.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2d8cc9f3-acbe-485f-80ba-dfab63de95bb.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2d8ff310-c7db-45ab-a74a-b4ecd9e2f44f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2da3f4dc-d425-4734-a9a9-605346e2afff.json | Tool session artifact (should not be versioned). |
| .omc/sessions/2e282317-969c-4da3-8b9c-2972e9b5c6ba.json | Tool session artifact (should not be versioned). |
| .omc/sessions/3169722d-eca9-40a6-a5aa-46b24141a94e.json | Tool session artifact (should not be versioned). |
| .omc/sessions/31b56d1d-cf1f-40b5-8391-d809feaa7e1c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/32134f9d-11bf-4641-b8ad-f21ea440662e.json | Tool session artifact (should not be versioned). |
| .omc/sessions/341c807f-6b93-4ef7-bae7-2734a822496d.json | Tool session artifact (should not be versioned). |
| .omc/sessions/34a16cc2-d181-4a65-b935-b4f52095ec0c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/3cba6224-6006-4bc7-bb86-cac01084e14b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/3db16e30-12e9-473e-8e97-9dbbf6d78ddb.json | Tool session artifact (should not be versioned). |
| .omc/sessions/3e783b64-e0de-4ef7-bfb5-77933bf0a18d.json | Tool session artifact (should not be versioned). |
| .omc/sessions/40139664-f38d-44bb-b293-d86210b4a789.json | Tool session artifact (should not be versioned). |
| .omc/sessions/406a66f4-807a-475d-b6cf-4a7174c7bfae.json | Tool session artifact (should not be versioned). |
| .omc/sessions/410a80f0-bd18-4a66-9201-c3441974d75a.json | Tool session artifact (should not be versioned). |
| .omc/sessions/487064df-17bc-4140-b39a-57178f0f3eb7.json | Tool session artifact (should not be versioned). |
| .omc/sessions/4984fe67-8b88-478a-81af-7e9a621a38b9.json | Tool session artifact (should not be versioned). |
| .omc/sessions/52cad551-4ab6-4685-b5ef-e3475666e161.json | Tool session artifact (should not be versioned). |
| .omc/sessions/5630391a-53f5-445f-aa45-85dca0fa9064.json | Tool session artifact (should not be versioned). |
| .omc/sessions/56480f6d-b036-4aaa-a910-9455d8152700.json | Tool session artifact (should not be versioned). |
| .omc/sessions/564a90f2-26b6-4c3d-881b-4d04e8ea59f3.json | Tool session artifact (should not be versioned). |
| .omc/sessions/56571159-4bdf-4bb7-9bc6-751e7433a833.json | Tool session artifact (should not be versioned). |
| .omc/sessions/5695e9c8-2d2a-45f2-91e3-fc91c06d1b89.json | Tool session artifact (should not be versioned). |
| .omc/sessions/584bfb72-cdaf-4818-97ca-e885fc6911de.json | Tool session artifact (should not be versioned). |
| .omc/sessions/5a034134-2524-4af9-b6d5-d7df0073b1ee.json | Tool session artifact (should not be versioned). |
| .omc/sessions/5b8b21f6-0fdf-47f6-a116-dc2d5b0ef0a7.json | Tool session artifact (should not be versioned). |
| .omc/sessions/622ce4a2-0151-41ef-b9a9-c956b6a0f1aa.json | Tool session artifact (should not be versioned). |
| .omc/sessions/634251ee-150e-46bb-952b-f728bae5900b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/63648f22-ba82-4871-a252-159b899e2813.json | Tool session artifact (should not be versioned). |
| .omc/sessions/679faf5d-f67f-4e67-b8b6-61f2e646fc2c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/67d27b7e-57c5-4a00-b417-2213d629f59f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/6d025159-150f-4b0d-b529-7decb9e83476.json | Tool session artifact (should not be versioned). |
| .omc/sessions/6e17000e-d5dc-4397-867f-195fd5fbff2b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/6e5ac3ac-9f78-4afb-b522-baf382e4e20f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/737d7187-1bd3-4a34-8126-c79a58a6ec4b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/76861ce4-af03-4f89-a66d-f414c09150e5.json | Tool session artifact (should not be versioned). |
| .omc/sessions/76b7e542-f1f4-46cb-8fcc-ff23a4eda594.json | Tool session artifact (should not be versioned). |
| .omc/sessions/77f80fec-21cd-4fcb-b6fd-b7d5cfa24471.json | Tool session artifact (should not be versioned). |
| .omc/sessions/79726f42-a0e1-4446-9a91-2c2f36b602bc.json | Tool session artifact (should not be versioned). |
| .omc/sessions/7a147406-0079-4ae6-be3b-d62e761f4a0d.json | Tool session artifact (should not be versioned). |
| .omc/sessions/7a4e7177-3ebc-440d-96d4-886714b5335b.json | Tool session artifact (should not be versioned). |
| .omc/sessions/7d1d30e6-55b7-4337-baaa-4c112a7bf8e4.json | Tool session artifact (should not be versioned). |
| .omc/sessions/8605cecc-f783-46c6-b837-db757f53208f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/898d7cf6-ac50-4b00-8c79-49ae8a5406f5.json | Tool session artifact (should not be versioned). |
| .omc/sessions/89e64882-37c2-4013-9d75-4ab00f9b9ae2.json | Tool session artifact (should not be versioned). |
| .omc/sessions/8a9c31ed-e97f-4ecf-9ade-f7225f6773c3.json | Tool session artifact (should not be versioned). |
| .omc/sessions/8c791133-2944-4918-bd11-510bffce9b27.json | Tool session artifact (should not be versioned). |
| .omc/sessions/8d437272-e639-479f-8055-e33df31df174.json | Tool session artifact (should not be versioned). |
| .omc/sessions/8dc1bbec-5997-4da0-9d54-b9eea34f5ed0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/915864d7-c217-45d2-8f88-ac4c48ce3df8.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9330de4a-ff5a-4234-bfaf-75072a5443ac.json | Tool session artifact (should not be versioned). |
| .omc/sessions/93f5b9f0-d0df-40db-820b-22043ae0ed69.json | Tool session artifact (should not be versioned). |
| .omc/sessions/95adc17b-dbfb-4537-8452-6bd7c82b1ef0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/966b8ce8-271c-4435-b1b2-64aa8505f81e.json | Tool session artifact (should not be versioned). |
| .omc/sessions/971571ad-90ed-4804-bd4a-49e30f6ecaf8.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9745bbc3-6fb5-4fab-be2d-6ea1babc367c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9747833f-968b-4688-ac22-7f0fc96412a1.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9830b6ad-99c6-4dae-b31e-fb9613941707.json | Tool session artifact (should not be versioned). |
| .omc/sessions/98484f99-9acc-4fa9-a6b8-752b7983e957.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9c4774f9-844d-4103-8c91-5a294afa8261.json | Tool session artifact (should not be versioned). |
| .omc/sessions/9ffb08b4-6da0-4498-807f-31bff88b7cb4.json | Tool session artifact (should not be versioned). |
| .omc/sessions/a229b2c8-59e6-435f-a9db-6eac0270e49e.json | Tool session artifact (should not be versioned). |
| .omc/sessions/aaaf4cd1-9628-47a4-8d9d-5e68e122b58f.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ab9cfdcd-ae28-435b-a34d-1ae5eb97b9f8.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ad75091a-99c6-4a12-aae1-794e53dea2d6.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ad9e35a9-3e6f-4c2d-95da-039d7c4726f0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ae30c77e-6274-419e-95dc-915b9cd6b6fc.json | Tool session artifact (should not be versioned). |
| .omc/sessions/b466285d-fa7d-4f09-82d0-853f1f86aec1.json | Tool session artifact (should not be versioned). |
| .omc/sessions/b9af45bf-6db6-41f5-97cd-4cac37fb0c41.json | Tool session artifact (should not be versioned). |
| .omc/sessions/bbd79a2e-7060-4acd-bf02-f76e97de4fb0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/bd36c41b-2aeb-4a19-9eee-2ddff79781d7.json | Tool session artifact (should not be versioned). |
| .omc/sessions/bf08a70a-c9d5-4625-8a73-c5a81bfd54f9.json | Tool session artifact (should not be versioned). |
| .omc/sessions/c23e1a42-ec10-489a-b87f-f114413cbaa8.json | Tool session artifact (should not be versioned). |
| .omc/sessions/c601ae81-d35e-4304-963f-1976c2c660c9.json | Tool session artifact (should not be versioned). |
| .omc/sessions/c67a7716-bf47-4541-be7a-319c8da24051.json | Tool session artifact (should not be versioned). |
| .omc/sessions/c92c6e23-9a28-4f9a-ad69-1b5a71b23663.json | Tool session artifact (should not be versioned). |
| .omc/sessions/cc2e25fc-219c-4b1e-862f-d59f4b1034f6.json | Tool session artifact (should not be versioned). |
| .omc/sessions/cf695ae8-c1b7-413d-8056-94d5f28d329c.json | Tool session artifact (should not be versioned). |
| .omc/sessions/cf6b301f-dc34-4a20-a43e-52e6cad2c9b3.json | Tool session artifact (should not be versioned). |
| .omc/sessions/cfbed635-4358-4491-87d7-2b1d496e8440.json | Tool session artifact (should not be versioned). |
| .omc/sessions/d0f11964-9ebf-4227-a0ec-1fbbdc3d9fc2.json | Tool session artifact (should not be versioned). |
| .omc/sessions/d182033f-0274-440d-9e4d-3b64e7d16044.json | Tool session artifact (should not be versioned). |
| .omc/sessions/d4ca0a76-9287-4f01-b717-ff45ccff7137.json | Tool session artifact (should not be versioned). |
| .omc/sessions/d667c6e2-111a-46fb-889e-0de3c321bfd4.json | Tool session artifact (should not be versioned). |
| .omc/sessions/d749ba2a-4b8d-42a9-9051-617f5da2072d.json | Tool session artifact (should not be versioned). |
| .omc/sessions/da055f94-9f77-4ac0-9790-e7a44d51c874.json | Tool session artifact (should not be versioned). |
| .omc/sessions/da9c4e72-5e1b-4674-96cd-2347c0c30f17.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ddcbb95b-c957-448f-81b6-a9c9140911be.json | Tool session artifact (should not be versioned). |
| .omc/sessions/de01ce98-7346-43f4-97da-b7b4ce5106f5.json | Tool session artifact (should not be versioned). |
| .omc/sessions/debf9da4-4328-4ed9-a2bc-f420fb1fa8fb.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e2284b4d-28a5-4978-9e63-799b51d69cf2.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e344b250-ca00-4697-b9ba-e77f3efaf4f7.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e4651b09-d772-45d3-8dae-18a0702eac31.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e723e5f6-2d45-46e4-99f5-b76e0bc442de.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e765d5ae-e9af-477a-9189-b7dee358b369.json | Tool session artifact (should not be versioned). |
| .omc/sessions/e879f22d-f550-4182-9846-94409ce44dd0.json | Tool session artifact (should not be versioned). |
| .omc/sessions/eaf2b6d4-74ad-4441-a852-249f332cee42.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f37053e8-08b1-4be4-be2e-ebd598e662dd.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f451d9f8-f690-424b-9ad8-e7ef6538ce43.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f61ee014-b229-4cdf-98fd-70b20e346eec.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f699a501-8ad5-49fc-ba93-43b597e96018.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f6a7cb0a-8515-4d2d-a91f-7bfecd1d73ec.json | Tool session artifact (should not be versioned). |
| .omc/sessions/f8dae8d8-02de-45c5-ad1f-dde56895f0bf.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fac5e1b2-3f5d-40f4-9e20-3c33bbea8ab4.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fc8b0852-72c5-4f54-82c2-8630122d8d0d.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fd002be5-2116-4450-a815-aa76c524a446.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fd846fd3-8ee2-4fec-b57b-2f1dba87dfa3.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fd8716af-77dd-4a73-9853-05cf44f4feee.json | Tool session artifact (should not be versioned). |
| .omc/sessions/fe82f874-1147-4635-9585-197d9217a1e5.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ff1d7231-8c0c-4851-88db-092f94417168.json | Tool session artifact (should not be versioned). |
| .omc/sessions/ff55ea36-139a-42b5-834d-29dc91ad5430.json | Tool session artifact (should not be versioned). |
| test('every php file in plugin_syslog has strict_types enabled', function () { | ||
| $files = new RecursiveIteratorIterator( | ||
| new RecursiveDirectoryIterator(dirname(__DIR__, 2), RecursiveDirectoryIterator::SKIP_DOTS) | ||
| ); | ||
|
|
||
| foreach ($files as $file) { | ||
| if ($file->getExtension() === 'php' && strpos($file->getPathname(), '/vendor/') === false) { | ||
| $content = file_get_contents($file->getPathname()); | ||
| } | ||
| } |
There was a problem hiding this comment.
The test iterates over PHP files but never asserts anything about their contents. As written, it will pass even if files are missing declare(strict_types=1);, and it also ignores file_get_contents() failures. Please add an assertion inside the loop to verify strict_types is present (and fail if the file cannot be read).
tests/Helpers/CactiStubs.php
Outdated
| /** | ||
| * Cacti function stubs for testing plugin_npc in isolation. | ||
| * | ||
| * Each stub uses if(!function_exists()) guards so Cacti's real | ||
| * functions take precedence when the full bootstrap is available. | ||
| */ |
There was a problem hiding this comment.
Docblock references "plugin_npc" but this file is used for syslog plugin tests; the comment is misleading. Please update the description to match the syslog plugin context.
| if (!function_exists('cacti_sizeof')) { | ||
| function cacti_sizeof($value) { | ||
| if (is_array($value) || $value instanceof Countable) { | ||
| if (is_[$value] || $value instanceof Countable) { | ||
| return count($value); | ||
| } |
There was a problem hiding this comment.
is_[$value] is invalid PHP and will cause a parse error. This should be the intended is_array($value) (or is_countable() depending on the goal).
| if (cacti_sizeof($selected)) { | ||
| if (in_array($host['host_id'], $selected)) { | ||
| if (in_[$host['host_id'], $selected]) { | ||
| print ' selected'; |
There was a problem hiding this comment.
in_[$host['host_id'], $selected] is invalid PHP and will cause a parse error. This should be in_array($host['host_id'], $selected).
| if (cacti_sizeof($array)) { | ||
| foreach ($array as $key=>$value) { | ||
| if (is_array($value)) { | ||
| if (is_[$value]) { | ||
| $xml .= "\t<$key>" . syslog_ia2xml($value) . "</$key>\n"; | ||
| } else { |
There was a problem hiding this comment.
is_[$value] is invalid PHP and will cause a parse error when generating XML. This should be is_array($value) (or is_iterable() if that was the intent).
| function removal_import() { | ||
| $xml_data = syslog_get_import_xml_payload('syslog_removal.php?header=false'); | ||
|
|
||
| /* obtain debug information if it's set */ | ||
| $xml_array = xml2array($xml_data); | ||
| $xml_array = xml2[$xml_data]; | ||
|
|
||
| $debug_data = array(); | ||
| $debug_data = []; |
There was a problem hiding this comment.
$xml_array = xml2[$xml_data]; is invalid PHP and will cause a parse error. This should call the XML parsing helper function (likely xml2array($xml_data)).
| $data = db_fetch_row_prepared('SELECT * | ||
| FROM syslog_reports | ||
| WHERE id = ?', | ||
| array($id)); | ||
| [$id]); |
There was a problem hiding this comment.
report_export() uses db_fetch_row_prepared() against syslog_reports. Since syslog_reports is created in/reads from the syslog database, this should use the syslog_db_* wrapper to ensure the correct connection is used when a dedicated syslog DB is configured.
pest.php
Outdated
| uses()->group('unit')->in('tests/Unit'); | ||
| uses()->group('integration')->in('tests/Integration'); | ||
| uses()->group('security')->in('tests/Security'); |
There was a problem hiding this comment.
uses()->group('integration')->in('tests/Integration') and uses()->group('security')->in('tests/Security') reference directories that do not exist in this repo (only tests/Unit, tests/Helpers, tests/regression are present). This may break Pest bootstrapping or cause confusing no-op grouping; either add the directories or remove these registrations.
| { | ||
| "created_at": "2026-03-18T22:02:29.244Z", | ||
| "trigger": "manual", | ||
| "active_modes": {}, | ||
| "todo_summary": { | ||
| "pending": 0, | ||
| "in_progress": 0, | ||
| "completed": 0 | ||
| }, | ||
| "wisdom_exported": false | ||
| } No newline at end of file |
There was a problem hiding this comment.
This appears to be editor/automation state (".omc" checkpoint metadata) rather than plugin source code. It should not be committed to the repository; please remove these files and add .omc/ to .gitignore (and similarly remove any nested .omc directories under locales).
| { | ||
| "agents": [ | ||
| { | ||
| "agent_id": "a33b6631b18c42743", | ||
| "agent_type": "oh-my-claudecode:deep-executor", | ||
| "started_at": "2026-03-18T14:34:53.430Z", | ||
| "parent_mode": "none", | ||
| "status": "failed", | ||
| "completed_at": "2026-03-18T18:53:41.236Z", | ||
| "duration_ms": 15527806 | ||
| } | ||
| ], | ||
| "total_spawned": 1, | ||
| "total_completed": 0, | ||
| "total_failed": 1, | ||
| "last_updated": "2026-03-18T18:53:41.236Z" | ||
| } No newline at end of file |
There was a problem hiding this comment.
This file under locales/po/.omc/... appears to be tool state/telemetry (agent tracking) rather than plugin source. Please remove it from the repo and ensure .omc/ is ignored so it doesn't get re-added.
TheWitness
left a comment
There was a problem hiding this comment.
You have a bunch of .omc session directories. I've opened a pull request to exclude these files, but you should be removing from this pull.
|
Closing this one. Please redo with the latest develop. Thanks @somethingwithproof |
This PR adds strict typing, short array syntax, and null coalescing operators across the plugin. Standalone infrastructure files were removed per architectural mandate.