Skip to content

refactor: safe PHP 7.4 modernization#310

Closed
somethingwithproof wants to merge 6 commits intoCacti:developfrom
somethingwithproof:refactor/syslog-modernization
Closed

refactor: safe PHP 7.4 modernization#310
somethingwithproof wants to merge 6 commits intoCacti:developfrom
somethingwithproof:refactor/syslog-modernization

Conversation

@somethingwithproof
Copy link
Copy Markdown
Contributor

This PR adds strict typing, short array syntax, and null coalescing operators across the plugin. Standalone infrastructure files were removed per architectural mandate.

Copilot AI review requested due to automatic review settings April 9, 2026 21:08
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .omc state 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).

Comment on lines +8 to +17
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());
}
}
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines +6 to +11
/**
* 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.
*/
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines 19 to 23
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);
}
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines 1366 to 1368
if (cacti_sizeof($selected)) {
if (in_array($host['host_id'], $selected)) {
if (in_[$host['host_id'], $selected]) {
print ' selected';
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in_[$host['host_id'], $selected] is invalid PHP and will cause a parse error. This should be in_array($host['host_id'], $selected).

Copilot uses AI. Check for mistakes.
Comment on lines 1052 to 1056
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 {
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines 735 to +741
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 = [];
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$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)).

Copilot uses AI. Check for mistakes.
Comment on lines 236 to +239
$data = db_fetch_row_prepared('SELECT *
FROM syslog_reports
WHERE id = ?',
array($id));
[$id]);
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
pest.php Outdated
Comment on lines +6 to +8
uses()->group('unit')->in('tests/Unit');
uses()->group('integration')->in('tests/Integration');
uses()->group('security')->in('tests/Security');
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +11
{
"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
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +17
{
"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
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member

@TheWitness TheWitness left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@TheWitness
Copy link
Copy Markdown
Member

Closing this one. Please redo with the latest develop. Thanks @somethingwithproof

@TheWitness TheWitness closed this Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants