Emilien Klein [Sun, 6 Dec 2020 20:02:39 +0000 (21:02 +0100)]
Upgrade alpine from 3.8 to 3.10 in armhf Dockerfile
The Docker for armhf doesn't build anymore on Alpine 3.8, upgrading to 3.10.
Building works fine on a Rapsberry Pi 4 running Raspbian GNU/Linux 10 (buster)
This is the error with 3.8:
```
[2/4] Fetching packages...
error css-loader@4.3.0: The engine "node" is incompatible with this module. Expected version ">= 10.13.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c apk --update --no-cache add yarn nodejs-current python2 build-base && cd /shaarli && yarn install && yarn run build && rm -rf node_modules' returned a non-zero code: 1
```
Not upgrading to 3.11, due to this error:
```
2/4] Fetching packages...
error browserslist@4.14.3: The engine "node" is incompatible with this module. Expected version "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7". Got "13.1.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c apk --update --no-cache add yarn nodejs-current python2 build-base && cd /shaarli && yarn install && yarn run build && rm -rf node_modules' returned a non-zero code: 1
```
Not upgrading to 3.12 either, due to this error:
```
ERROR: unsatisfiable constraints:
py2-pip (missing):
required by: world[py2-pip]
The command '/bin/sh -c apk --update --no-cache add py2-pip && cd /usr/src/app/shaarli && pip install --no-cache-dir mkdocs && mkdocs build --clean' returned a non-zero code: 1
```
There's probably a way to have Python2 pip installed on 3.12, but I suppose other issues would arise (such as the one happening with 3.11), so only proposing to upgrade to 3.10 now. This would probably be looked at more in detail when merging the amd64 and arm/v7 Docker builds, see #1496.
ArthurHoaro [Sun, 8 Nov 2020 12:54:39 +0000 (13:54 +0100)]
Fix an issue truncating extracted metadata content
Previous regex forced the selection to stop at either the first single or double quote found, regardless of the opening quote. Using '\1', we're sure to wait for the proper quote before stopping the capture.
ArthurHoaro [Sun, 8 Nov 2020 12:13:13 +0000 (13:13 +0100)]
Reviewed Apache configuration
(in documentation)
For security purpose, block access to any static file not matching the list of allowed extensions.
It allows us to remove the specific retriction on dotfiles, and fix Apache part of #1608.
ArthurHoaro [Sat, 7 Nov 2020 13:27:49 +0000 (14:27 +0100)]
Reviewed nginx configuration
Both in documentation and Docker image.
For security purpose, it no longer allow to access static files through
the main nginx *location*. Static files are served if their extension
matches the whitelist.
As a side effect, we no longer need specific restrictions, and
therefore it fixes the nginx part of #1608.
ArthurHoaro [Sat, 10 Oct 2020 15:40:26 +0000 (17:40 +0200)]
Feature: bulk creation of bookmarks
This changes creates a new form in addlink page allowing to create
multiple bookmarks at once more easily. It focuses on re-using as much
existing code and template component as possible.
These changes includes:
- a new form in addlink (hidden behind a button by default),
containing a text area for URL, and tags/private status to apply to
created links
- this form displays a new template called editlink.batch, itself
including editlink template multiple times
- User interation in this new templates are handle by a new JS script
(shaare-batch.js) making AJAX requests, and therefore does not need page
reloading
- ManageShaareController has been split into 3 distinct controllers:
+ ShaareAdd: displays addlink template
+ ShaareManage: various operation applied on existing shaares
(change visibility, pin, deletion, etc.)
+ ShaarePublish: handles creation/edit forms and saving Shaare's
form
- Updated translations
ArthurHoaro [Fri, 16 Oct 2020 09:50:53 +0000 (11:50 +0200)]
Feature: add weekly and monthly view/RSS feed for daily page
- Heavy refactoring of DailyController
- Add a banner like in tag cloud to display monthly and weekly links
- Translations: t() now supports variables with optional first letter
uppercase
ArthurHoaro [Fri, 16 Oct 2020 18:17:08 +0000 (20:17 +0200)]
Feature: Share private bookmarks using a URL containing a private key
- Add a share link next to « Permalink » in linklist (using share icon
from fork awesome)
- This link generates a private key associated to the bookmark
- Accessing the bookmark while logged out with the proper key will
display it
Ganesh Kandu [Tue, 27 Oct 2020 12:12:35 +0000 (17:42 +0530)]
Replaced PHP_EOL to "\n"
i was getting error
```
An error occurred while parsing JSON configuration file (data/config.json.php): error code #4
➜ Syntax error
Please check your JSON syntax (without PHP comment tags) using a JSON lint tool such as jsonlint.com.
```
after debug i found
```php
$data = str_replace(self::getPhpHeaders(), '', $data);
$data = str_replace(self::getPhpSuffix(), '', $data);
```
doesn't removing php header and php suffix
cause of this issue was PHP_EOL represents the endline character for the current system. if my ```config.json.php``` was encoded with unix ( LF ) and php running on windows windows encoding ( CR LF ) is not same as unix encoding ( LF ) so ```str_replace``` doesn't replace strin then it causes issue.
ArthurHoaro [Wed, 21 Oct 2020 11:12:15 +0000 (13:12 +0200)]
Feature: add a Server administration page
It contains mostly read only information about the current Shaarli instance,
PHP version, extensions, file and folder permissions, etc.
Also action buttons to clear the cache or sync thumbnails.
Part of the content of this page is also displayed on the install page,
to check server requirement before installing Shaarli config file.