Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Strict types update - #343

Draft
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main
Draft

Strict types update#343
Vitexus wants to merge 45 commits into
envms:masterfrom
VitexSoftware:main

Conversation

@Vitexus

Copy link
Copy Markdown

No description provided.

Vitexusand others added 30 commits November 20, 2024 23:20
Converts array values to JSON strings to ensure compatibility with
PDO and other components that require scalar values. This change
prevents potential issues when handling array data in query parameters
and type conversions.
Adds support for encoding arrays in the Utilities class, enhancing
data handling consistency across the application.
Introduce full support for PHP 8.1+ by leveraging strict typing, union types, and modern features. Update composer dependencies and configuration to align with current PHP standards.
Add CI/CD configurations, including testing workflows with PHPUnit and dependency updates via Dependabot.
Enhance developer experience with PHP-CS-Fixer, customized IDE settings, and detailed documentation guidelines. Provide funding model instructions and update project metadata to reflect the modernized fork.
Includes breaking changes such as raising the minimum PHP version to 8.1 and updating method signatures for type safety.
Introduces initial Debian packaging for FluentPDO, a modernized PHP library requiring PHP 8.1+. Includes metadata, control files, and scripts for building, testing, and distributing the package.
Adds Jenkins pipelines for parallel builds and artifact management across multiple distributions, as well as integration with Aptly for publishing.
Provides essential documentation, including README files and changelog, and sets up automated CI tests using Salsa CI.
Enhances maintainability and distribution readiness for FluentPDO.
Allows the use of alternative PDO drivers (MySQL, PostgreSQL, SQLite, SQL Server) by adding them as options in the dependency list.
Improves flexibility for environments where the default PDO driver is unavailable or a specific database backend is preferred.
Add explicit \Traversable return type to Select::getIterator() to match
Base::getIterator() signature and comply with PHP 8.1+ requirements.
Check if key is string before calling str_starts_with() to prevent
TypeError when array has numeric keys.
Restore elseif clause that was accidentally removed, fixing parse error.
- Updated to use pkg-php-tools for proper Debian PHP packaging
- Added autoload.php with PSR-4 autoloader
- Added pkg-php-tools autoloader mapping
- Removed composer.json from installed package (not needed)
- Removed composer-global-update from postinst
- Simplified debian/rules with --with phpcomposer
- Dependencies auto-detected via ${phpcomposer:Debian-require}
- Package structure now matches Debian PHP policy
Upgrades several Composer dependencies, including Symfony components to v8 and various PHP tools, enhancing compatibility and security. Refines code by adding or clarifying type annotations and phpdoc comments for better static analysis and maintainability. Cleans up whitespace and modernizes some signatures for consistency.
Replaces runtime error trigger with an exception for invalid
method invocations to enable better error handling and
consistency with standard exception practices. c
- Added metainfo.xml file following AppStream specification
- Extracted metadata from debian/control
- Included project URLs and developer information
- Added proper categorization and content rating
Co-Authored-By: Warp <agent@warp.dev>
- Updated PHPDoc comments across multiple files to reflect the FluentPDO package.
- Improved documentation for classes and methods, including parameter and return type annotations.
- Added additional information about the library's functionality and authorship.
- Fixed minor inconsistencies in comments and documentation formatting.
- Aktualizován debian/README.Debian s instrukcemi pro Debian autoloader
- Přechod z vendor/autoload.php na /usr/share/php/*/autoload.php
- Využití pkg-php-tools a phpab pro generování autoloaderu
- Dokumentace pro migraci existujících aplikací
Use multiflexi-<distroFamily>:<distroCode> Docker images instead of
multiflexi-<distroCode>:latest for builds with repo.multiflexi.eu.
Add workspace cleanup to prevent permission issues.
Co-Authored-By: Oz <oz-agent@warp.dev>
…ons in Debian autoloader
- debian/control: add composer as first Depends (or replace composer-debian)
to guarantee /usr/share/php/Composer/InstalledVersions.php is present
- debian/autoload.php: require InstalledVersions.php and call reload() to
accumulate per-package data across chained autoloaders; APP_NAME/APP_VERSION
constants pin the root package identity
- debian/rules: inject guarded defined()||define() constants at build time
using PKG_SOURCE/PKG_VERSION from dpkg-parsechangelog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use jq to extract the composer.json name field at build time (PKG_SOURCE),
and fall back to __DIR__/composer.json at runtime when APP_NAME is unset.
Add jq to Build-Depends where missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vitexusand others added 15 commits April 21, 2026 12:08
…time file I/O
Replace runtime json_decode(file_get_contents()) fallback with a build-time
sed injection: debian/rules replaces the 'unknown' placeholder with the
PKG_SOURCE value (jq .name from composer.json), keeping full compatibility
with composer package naming conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APP_NAME is for the application layer (Ease\Shared::appName()); the
package registry identity must always be the composer.json name field
written at build time, keeping compatibility with ad-hoc composer use.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
$version in InstalledVersions is now a '0.0.0' placeholder replaced by
debian/rules with PKG_VERSION (dpkg-parsechangelog) at dh_install time.
Debian packages carry no git history, so the changelog is the only
reliable version source; APP_VERSION define remains for Ease\Shared.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The python insertion script emitted \\ (two chars) which the shell
interpreted as a literal backslash argument to sed instead of a
Makefile recipe line continuation; replace with single \.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Libraries (type=library) only populate InstalledVersions with their
name and version; APP_NAME/APP_VERSION constants are reserved for
application packages (type=project).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls the Jenkins job color before entering the Test stage so apt-get
does not hit the repository while it is being rebuilt by the Ansible
republish job. Uses waitUntil instead of buildBlocker (plugin absent).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents test installation failures caused by apt-get hitting the
repository while it is being rebuilt by the Ansible republish job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Forky is still unstable/research-only. The full Debian package
ecosystem is not yet available for Forky, causing cascading
unmet dependency failures. Re-enable once the full stack builds
cleanly for Forky.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@Vitexus