ToDo R6.0


Please pick a issue you can solve.

R 6.0

Roadmap
dev repo [bitbucket.org]
ChangeLog


Main Focus: UTF-8 support and migration


R6.0 is more or less R5.5 with Unicode support. Please look here for open issues from R5.5 .


1. PHP

1.1. PHP 7.4

  1. https://secure.php.net/manual/en/migration74.php

2. Features


3. Core

  • set return type declarations : (array | bool | float | int | mixed | string | void | ... )
  • implement support for relative path
    1. absolute path must ensured for cookies, redirect, canonical, sitemap
  • fix client side JS input validation patterns, see below under testing
    1. login and registration action
    2. new, clone and rename handler
  • Replace all HTML-Entities except HTML special chars
    1. nbsp; — to indent or add extra spacing to a paragraph, sentence, or another portion, better using CSS instead of multiple non-breaking spaces.

4. Installer

  • add note to base_url about relative path: "... or the path, relative to base url, starting with /"
    • current input form type is url and won't match /wiki/
  • router may does not load CSS and images until config.php is written DONE -> bugs:532
  • PHP Notice:  Undefined variable: wacko_config in /test/class/settings.php on line 39
    PHP Warning:  array_merge(): Expected parameter 2 to be an array, null given in /test/class/settings.php on line 39
    
    PHP Notice:  Undefined index: tls in /test/setup/header.php on line 4
    PHP Notice:  Undefined index: tls in /test/setup/common.php on line 9
    PHP Notice:  Undefined index: base_url in /test/setup/common.php on line 15
  1. define('CACHE_SESSION_DIR', '/tmp'); is defined in constant.php, and currently not set via the installer
    1. use ini_get('session.save_path') as indicator, BUT we do not use the PHP build in session! -> write value, its a nuisance that the user currently has to do this on his own
  2. offer to create the recovery_password within the install process

5. Handler

  • Full Diff is very slow with multi-byte support
    • it may take seconds, the larger the document the longer it takes.
    • the only thing that was changed is setting the /u flag and changing substr to mb_substr
    • revision:1bf90f9

6. Action


7. Formatter

str_replace("\xc2\xa0", " ", $string);

8. Cache


9. Admin Panel


10. Database


11. WikiEdit

  • add Unicode support

12. Libs

  1. php-diff successor
    1. https://github.com/jfcherng/php-diff
    2. https://github.com/JBlond/php-diff <— SWITCHED TO 
    3. https://github.com/sebastianbergmann/diff

13. Refactoring


14. Themes

Avoid @import to include external stylesheets because it blocks parallel downloads, use the link tag instead.


15. Documentation

16. Feedback


17. Testing


HTML5 pattern

Unable to check <input pattern='[\p{L}\p{Nd}\-\.]+'> because the pattern is not a valid regexp: invalid identity escape in regular expression

JavaScript does not support the construct \p{}.

Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf eval blockiert ("script-src"). 5 autocomplete.js:280:2

17.1. Test cases

-> Test cases

17.2. Debug