The migration was done by the following steps, firts prepare the node enviroment
an open a bash in this environment::
$ make clean nvm.nodejs
...
$ ./manage nvm.bash
$ which npx
searxng/.nvm/versions/node/v23.5.0/bin/npx
In this environment the migration command from [1] is started::
$ npx @eslint/migrate-config .eslintrc.json
Need to install the following packages:
@eslint/migrate-config@1.3.5
Migrating .eslintrc.json
Wrote new config to ./eslint.config.mjs
You will need to install the following packages to use the new config:
- globals
- @eslint/js
- @eslint/eslintrc
You can install them using the following command:
npm install globals @eslint/js @eslint/eslintrc -D
The following messages were generated during migration:
- The 'node' environment is used, so switching sourceType to 'commonjs'.
[1] https://eslint.org/docs/latest/use/configure/migration-guide#migrate-your-config-file
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
To avoid issue like [1], versions from now on are pinned in::
searx/static/themes/simple/package-lock.json
To test nodejs v23 or newer is needed (will be installed by nvm). To drop a
possibly existing installation::
$ make clean
Install nodejs in nvm::
$ make nvm.nodejs
INFO: install (update) NVM at searxng/.nvm
...
Now using node v23.5.0 (npm v10.9.2)
Creating default alias: default -> v23.5 (-> v23.5.0)
INFO: Node.js is installed at searxng/.nvm/versions/node/v23.5.0/bin/node
INFO: Node.js is version v23.5.0
INFO: npm is installed at searxng/.nvm/versions/node/v23.5.0/bin/npm
INFO: npm is version 10.9.2
INFO: NVM is installed at searxng/.nvm
To test npm checks and builds:
$ make static.build.commit
Related:
[1] https://github.com/searxng/searxng/issues/4143
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
All favicons implementations have been documented and moved to the Python
package:
searx.favicons
There is a configuration (based on Pydantic) for the favicons and all its
components:
searx.favicons.config
A solution for caching favicons has been implemented:
searx.favicon.cache
If the favicon is already in the cache, the returned URL is a data URL [1]
(something like `data:image/png;base64,...`). By generating a data url from
the FaviconCache, additional HTTP roundtripps via the favicon_proxy are saved:
favicons.proxy.favicon_url
The favicon proxy service now sets a HTTP header "Cache-Control: max-age=...":
favicons.proxy.favicon_proxy
The resolvers now also provide the mime type (data, mime):
searx.favicon.resolvers
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
You have to copy and paste the query without using the keyboard to replicate the
issue. As soon as you press the keyboard the cross appears. [1]
- [1] https://github.com/searxng/searxng/issues/3725#issuecomment-2282655272
Reported-by: @Immortality-IMT in [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>