WackoWiki: ToDo R6.1 ūüďĆ

https://wackowiki.org/doc     Version: 15.09.2021 11:54
Dev[link19]/Release[link20]/R6.1[link21]/ToDo

R 6.1

Roadmap[link1]
dev repo [bitbucket.org][link2]
ChangeLog[link3]
https://github.com/WackoWiki/w[...]pare/6.0.22...master[link4]

Main Focus: Implement new PHP 8 functionality and improve GUI usability.

Please look here for open issues from R6.0[link5] .

1. PHP

1.1. PHP 8.0

  1. https://stitcher.io/blog/new-in-php-8
  2. https://php.watch/versions/8.0
  3. https://github.com/php/php-src/blob/php-8.0.0/UPGRADING

  1. PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, null given
    • if (count($file) > 0) -> if (is_countable($file) && count($file) > 0)

1.2. PHP 8.1

  1. https://stitcher.io/blog/new-in-php-81
  2. https://github.com/php/php-src/blob/master/UPGRADING

2. Features

3. Core

  1. made time format depended from localization and user preferences
    • DateTime::format()
    • IntlDateFormatter::format()
  2. add utf8_word_count function
  3. Why does it store interwiki in session and not as JSON in _cache/config/interwiki.conf?
    • get_inter_wiki_url($name, $tag)
  4. move interwiki.conf and antispam.conf into table & _cache/config/*
  5. add option to enforce email validation before a user can login
  6. notify_watcher(): add direct link to diff mode in email body
  7. it sucks to see again and over again all these random session_notice(s), add a option to turn it off for daily work.
  8. COLLATE utf8mb4_bin for¬†tag eats ūĚď¶ūĚď≤ūĚďīūĚď≤ūĚď¶ūĚďłūĚďĽūĚď≠ūĚďľ in¬†LIKE '/%' query, without slash it¬†finds it, whO_Ot
  9. UTF-8 text must be checked for well-formedness
    • static function is_utf8($string)
      {
        return (bool) preg_match('//u', $string);
      }
  10. localize default date formats
  11. improve and foster message sets
  12. set return type declarations : (array | bool | float | int | mixed | string | void | ... )
  13. fix client side JS input validation patterns
    1. new, clone and rename handler
  14. Replace all HTML-Entities except HTML special chars[link7]
    1. nbsp; ‚ÄĒ to¬†indent or¬†add¬†extra spacing to¬†a paragraph, sentence, or¬†another portion, better using CSS¬†instead of¬†multiple non-breaking spaces.
  15. allow also login with email address instead of user name
  16. move link and notifications functions in own class
    • $this->msg->notify_user()
    • $this->ref->link()

4. Installer

  1. validate username
  2. Nginx: installer seems to activate rewrite_mode ?
  3. use dbal also for installer: $db->sql_query($sql)

5. Handler


6. Action

7. Formatter

8. Cache


9. Admin Panel

10. Database

11. WikiEdit

  1. Autocomplete seems broken, shows possible page ‚Äď but¬†selection does not¬†work
  2. add Unicode support
  3. use only one popup for new link, having link and link description together
  4. select and remember the color of the highlighter or marker, keep selected color in session
  5. popup for tables
    1. select rows and columns
    2. set table header
  6. select color for text and highlighting
  7. resize textarea
  8. undo / redo
  9. JavaScript search & replace
  10. ECMAScript 2018

12. Libs

  1. https://github.com/pear/Text_Highlighter/pull/5

13. Refactoring


14. Themes


15. Ideas

16. Documentation

17. Feedback


18. Testing


18.1. Test cases

-> Test cases

18.2. Debug

https://app.codacy.com/gh/WackoWiki/wackowiki/dashboard

declare(strict_types=1);