jmiller 71a102028d
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
fix: security & correctness batch (#99, #100, #101, #102, #106)
#99 — AI AJAX endpoint hardening:
- require core.edit/core.create on com_content before generating (was
  reachable by any authenticated back-end user → paid-credit abuse)
- callAiApi: 20s timeout + HTTP status check (throw on non-200) instead of
  silently returning an empty string

#100 — Sitemap information disclosure + robustness:
- filter to public (guest) view levels so registered/special-access
  articles are never written into the public sitemap
- atomic write (temp file + rename) so concurrent saves can't expose a
  half-written sitemap.xml
- (throttling + SEF URLs remain follow-ups, noted on the issue)

#101 — Expose newer columns in CSV + API:
- og_video, event_data, recipe_data, custom_schema added to CSV export/import
  (appended, so existing CSVs still import) and to the REST API field whitelist
- import validates JSON fields as arrays/objects and og_video as http(s)
  (prevents re-introducing the #97 scalar-JSON-LD crash via import)

#102 — Forward-compat (complete):
- Factory::getLanguage() -> getApplication()->getLanguage() (4 sites)
- Joomla\CMS\Filesystem\File/Folder -> Joomla\Filesystem\* (ImageHelper, ImageGenerator)

#106 — partial: loadArticle() now caches null misses (array_key_exists),
getArticleDate() skips 0000-00-00 dates. Batch-JS halt deferred — the
offset=0 design re-fetches failed rows, so the created>0 guard prevents an
infinite loop; a safe fix needs cursor-based pagination in BatchController.
2026-06-29 09:52:51 -05:00

Contributor Covenant Code of Conduct

Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone.

Our Standards

  • Be empathetic and kind
  • Be respectful of differing opinions
  • Accept constructive feedback
  • Own mistakes and learn from them

Unacceptable behavior includes sexualized language/imagery, trolling, harassment, doxing, and other inappropriate conduct.

Enforcement

Report incidents to hello@mokoconsulting.tech or through GitHub Discussions if you prefer a community-visible approach. Private complaints will be reviewed promptly and fairly.

Enforcement Guidelines

  1. Correction — Private warning
  2. Warning — Formal warning and limited interaction
  3. Temporary Ban — Time-boxed exclusion
  4. Permanent Ban — Removal from the community

Attribution

Adapted from the Contributor Covenant v2.1.

2026-06-29 16:27:36 +00:00
Languages
PHP 87.4%
JavaScript 9%
CSS 2.4%
HTML 1.2%