Adminer 5.5.0
Z nástupu AI jsem byl trochu rozčarovaný. Model udělal třeba 80 % požadované kvality práce, ale donutit ho dodělat ten zbytek nebo to dodělávat sám nakonec často zabralo víc času, než když bych si to udělal sám celé od začátku. Často mi to připadalo jako hádat se s blbcem. Když přišel model Fable 5 a David Grudl kvůli němu zrušil návštěvu festivalů, tak jsem se rozhodl tomu dát šanci znovu.
A jsem nadšen! Model kódu rozumí kolikrát líp než já. Zeptal jsem se ho třeba „Jak to, že se v Admineru pro SQLite zobrazuje struktura tabulky sqlite_schema?“ A on mi to správně vysvětlil – sám bych to musel v kódu hledat a vymýšlet to. Spoustu práce mi ušetřil hlavně dotaz „Podívej se na poslední verze MySQL/PostgreSQL/SQLite a navrhni novinky, které by šly do Admineru zahrnout.“ Pak už jen stačilo zaškrtnout, které z těch novinek chci, a bylo hotovo. Tohle procházení novinek se mi nikdy dělat nechce, protože většina z nich se Admineru nijak netýká. Při práci se model jen tak mimochodem zmínil, že v process listu došlo v PostgreSQL 9.2 k přejmenování jednoho sloupce, a opravil to taky.
Nebo jsem chtěl v SQLite podporovat tabulky STRICT bez toho, aniž bych tím zaplevelil uživatelské rozhraní. Navrhl použít mechanizmus engine, který se v MySQL používá pro výběr typu tabulky. Jde skutečně o elegantní řešení, ke kterému je UI už navíc hotové. Časem bych k němu nejspíš dospěl i sám.
Pomohl mi i se zvýrazňovačem syntaxe. Třeba při přidávání podpory pro VECTOR do Admineru nejprve do submodulu jush commitnul zvýraznění syntaxe a pak do Admineru přidal samotnou podporu. Ještě mi připomněl, ať submodul pushnu jako první.
S tímhle už mě baví pracovat, je to rovnocenný parťák. Část novinek v Admineru je tedy ve spolupráci s Fable.
- Zakázal jsem neplatné porty a sockety. (GHSA-58cq-mgw2-38m5)
- Ignoruje se neplatný
X-Forwarded-Prefix. (GHSA-8478-xrj3-h9c2) - Do process listu jsem přidal odkaz pro zkopírování do schránky. Dávno existuje možnost ho i naklonovat, ale pokud je moc dlouhý, tak se nevejde do URL.
- Odkazy pro zkopírování dotazů do schránky nefungují v nebezpečných kotextech (např. na HTTP), takže se nově ani nezobrazují.
- V editaci se zalamují zobrazené hodnoty. To se hodí hlavně u needitovatelných položek na více řádků.
- Zrychlil jsem zvýrazňování syntaxe, hlavně při editaci dlouhých textů a při velkém množství zvýrazňovaných položek (typicky JSON v datech tabulky).
- Dá se připojit k socketu bez serveru pomocí
:/tmp/mysql.sock. (bug #1199, regrese z 5.4.0) - MySQL: V parametrech funkcí se neexportuje příznak
IN. - MySQL: Sloupce typu
vectorse ve výpisu a editaci zobrazují jako text. - MySQL: Odstranil jsem podporu MySQL 5.0 (z roku 2005) a starší.
- MySQL, SQLite: Ve změně tabulky jde sloupce přesouvat pomocí drag and drop.
- MariaDB: Podpora typů
inet4ainet6. - MariaDB: Podpora password validation pluginů při správě uživatele – Adminer volal odděleně
PASSWORD(), aby se nezahešované heslo neukládalo do historie. To se těmto pluginům nelíbilo. (bug SF-814) - MariaDB 11.7+: Podpora typu a indexů
vector. - PostgreSQL 9.2+: Zvýraznění dotazu v process listu.
- SQLite: Podpora typu
ANY. - SQLite: Podpora možností
STRICTaWITHOUT ROWID. - SQLite: Samotné
integer PRIMARY KEYuž se nebere jakoAUTOINCREMENT. - SQLite: Zakázání editace
sqlite_schema. - MS SQL: Oprava dotazů s více výsledky. (bug #1180)
Přidal jsem taky jednoduchý ovladač pro Redis a plugin pro přihlášení za reverzní proxy. Samotný Adminer totiž nevěří hlavičce X-Forwarded-For, takže neplatné pokusy o přihlášení za reverzní proxy znemožní přihlášení z jakékoliv IP adresy.
Diskuse je zrušena z důvodu spamu.

