Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: improve consistency of torrent action headings #230

Open
wants to merge 90 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
30e480a
refactor access to collage actions
May 9, 2024
c5dc2b1
render vote rankings and tag management via twig
May 9, 2024
5fc7f4c
add lazy/eager image loading attributes
May 10, 2024
cb8b72c
allow [JS] action from torrents browse and notifications pages
May 10, 2024
aaadc35
handle more of the reportsv2 page with twig
May 4, 2024
cc9c820
improve group merge matching on upload
May 11, 2024
e124521
minor bbcode cleanup
May 11, 2024
d757773
prettier request checkboxes
May 12, 2024
9b98a34
use torrents.created instead of torrent.Time
May 10, 2024
20d90c0
non-staff can transition neither locked nor pinned threads
May 14, 2024
6efb71e
determine collage category during construction
May 15, 2024
2a0939a
flush the thread catalogue entry for a modified forum post
May 17, 2024
6033ed3
twigify Top 10 last.fm
May 8, 2024
0d07a80
enforce PSR12.Classes.ClosingBrace and PSR12.ControlStructures.Contro…
May 17, 2024
1d9671a
remove access to invitations forum when invite privileges are revoked
May 14, 2024
4e0e70b
removed unused TGroup::groupLog()
May 22, 2024
b082700
fix sphinx delta cleanup
May 25, 2024
9c33864
twigify the upload form
May 12, 2024
c4e627d
twigify staff inbox
May 24, 2024
d3c1c83
cleanup css class hidden
May 26, 2024
8210ab1
Fix filtering user setting sections hiding API keys
Jan 2, 2024
f3f0525
refactor and simplify artist autocomplete
May 29, 2024
eb72b38
finish Top10 Tag twigification
May 22, 2024
3bcdf08
fix handling exceptions during sql transaction
Jun 3, 2024
85d4885
Fix showing noartwork covers
Jun 3, 2024
b130acf
use classes to style site log
Jun 5, 2024
e367591
twigify the torrent details of a tgroup
May 28, 2024
701dbae
simplify how forum/comment replies are built
Jun 4, 2024
f98bdad
change default sort to ip first seen
Jun 8, 2024
ae179e3
save user site ip addresses in a dedicated table
Jun 2, 2024
e151789
add Pg table inspector
Jun 9, 2024
03a5a6c
Fix request(s) API returning dict sometimes
Jun 10, 2024
ba39232
fix tree ban staff notes
Jun 12, 2024
6afaa19
Update whichbrowser/parser dependency
Jun 12, 2024
07694cf
add ability to run queries against the Pg database
Jun 15, 2024
3e033f1
remove dead code
Jun 13, 2024
4e3148b
appify mysql table info
Jun 11, 2024
d1ccb19
removed unused exception classes
Jun 15, 2024
f0526fa
modify and remove TGroup artists through the ArtistRole class
Jun 15, 2024
8ccff26
Update top10 API docs
mantramantra12 Jun 13, 2024
34d8990
fix editing custom user permissions
Jun 18, 2024
c581e07
do not leak info on password reset request
Jun 19, 2024
032be46
refactor bad passwords check
Jun 13, 2024
82ec126
remove Validator JS
Jun 17, 2024
3e3902a
don't query latest forex rate in payment_list
Jun 20, 2024
a6d1c03
store the request context in the Base class
Jun 18, 2024
353e766
Use TGroup::cover method in ImageProxy
Jun 11, 2024
3c6ded1
update katex to 0.16.10
Jun 20, 2024
2128ab3
Fix fetching lastfm recent track when empty
Jun 22, 2024
f9a818d
fix email history UI
Jun 24, 2024
b8970ba
update recovery page
Jun 25, 2024
38a987d
use protonlabs/bitcoin lib
Jun 24, 2024
7388740
remove dead javascript code
Jun 20, 2024
c509ee8
docker: move init to entrypoint to avoid conflicts with mount
Jun 23, 2024
87438cb
Include errorList in error log digest
Jun 26, 2024
85f0285
move db query tracking from Debug to DB class
Jun 23, 2024
4aa8b19
fix inactivity warning email
Jun 28, 2024
063a66a
cleanup poll html
Jun 29, 2024
d7052e9
refactor torrent redownload
May 31, 2024
e97bb3a
refactor staff pm post body
Jun 25, 2024
8b1323d
cleanup top10 votes no end year
Jun 29, 2024
e315dda
fix collage autocomplete cache key
Jul 2, 2024
8937b50
ajax.php: paginate collage endpoint
Jun 30, 2024
d051579
fix array_key_extract_suffix usage
Jun 29, 2024
43698b8
refactor Friend class to use Gazelle\User objects
Jun 29, 2024
5c2dfbc
refactor report type onclick
Jul 4, 2024
f4d9037
Fix showing news in admin toolbox
Jul 9, 2024
abc33b6
Fix showing request tags on user profile
Jun 27, 2024
3441e76
Fix hiding collage covers
Jun 26, 2024
86836a9
Fix partial quoting in PMs
Jun 11, 2024
09b938e
restore rowa/rowb rendering
Jul 4, 2024
82b0bb4
further request context refactoring
Jun 24, 2024
593c738
twigify torrent group list
Jul 5, 2024
fef8aa7
appify torrent edit save
Jun 30, 2024
59eb291
sort by IP address, not asciibetical address
Jul 16, 2024
787e8b1
remove unused Javascript countdown code
Jul 16, 2024
8eae8b1
nuke addDOMLoadEvent() and tidy up user settings paranoia
Jul 17, 2024
3c0fa94
revamp torrent flags
Jun 27, 2024
91a0682
Disable autocomplete for lastfm username
Jul 16, 2024
8383869
nuke stupid PHP function ports
Jul 19, 2024
ec0ed58
finish twigification of batch tag editor
Feb 13, 2024
024a4e9
reportsv2 add other torrent's url to log message by default
Jul 23, 2024
e607e0e
implement session filter by date
Jul 16, 2024
136c400
merge ajax.js and script_start.js into global.js
Jul 28, 2024
33edbeb
minor reportsv2 cleanup
Jul 27, 2024
7863133
remove jquery datetimepicker
Jul 29, 2024
60ddc45
add eslint
Jul 3, 2024
705fdf1
docker bullseye to bookworm
Jul 30, 2024
3e2f8f8
Add reports to user page when viewed by staff
Jul 31, 2024
6ec0209
docs: improve consistency of torrent action headings
RogueOneEcho Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 10 additions & 9 deletions .docker/gitlab.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
FROM debian:bullseye-slim
FROM debian:bookworm-slim

WORKDIR /var/www

ENV DEBIAN_FRONTEND noninteractive
ENV PHP_VER 8.2
ENV NODE_VERSION 20
ENV DEB_RELEASE=bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV PHP_VER=8.3
ENV NODE_VERSION=20

# Uncomment to skip the chromium download when installing puppeteer. If you do,
# you'll need to launch puppeteer with:
Expand All @@ -20,7 +21,7 @@ RUN apt-get update \
gnupg2 \
&& mkdir -p /etc/apt/keyrings \
&& curl -sL https://packages.sury.org/php/apt.gpg | apt-key add - \
&& echo "deb https://packages.sury.org/php/ bullseye main" | tee /etc/apt/sources.list.d/php.list \
&& echo "deb https://packages.sury.org/php/ $DEB_RELEASE main" | tee /etc/apt/sources.list.d/php.list \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_VERSION}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
Expand All @@ -30,7 +31,7 @@ RUN apt-get update \
make \
mktorrent \
nginx \
netcat \
netcat-openbsd \
nodejs \
php${PHP_VER}-cli \
php${PHP_VER}-curl \
Expand Down Expand Up @@ -95,13 +96,13 @@ RUN apt-get update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
# Python tools layer
&& pip3 install chardet eac-logchecker xld-logchecker
&& pip3 install --break-system-packages chardet eac-logchecker xld-logchecker

# testing layer
# backports needed for sphinx
# sphinx needs its config that cannot be passed through a gitlab CI service
# hence it is installed in this container
RUN echo 'deb http://deb.debian.org/debian bullseye-backports main' > /etc/apt/sources.list.d/backports.list \
RUN echo "deb http://deb.debian.org/debian ${DEB_RELEASE}-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
postgresql-client \
Expand Down Expand Up @@ -132,7 +133,7 @@ RUN echo 'deb http://deb.debian.org/debian bullseye-backports main' > /etc/apt/s
# && rm /tmp/firefox.tar.bz2 \
# && ln -fs /opt/firefox/firefox /usr/bin/firefox

COPY --from=composer:2.6.6 /usr/bin/composer /usr/local/bin/composer
COPY --from=composer:2.7.7 /usr/bin/composer /usr/local/bin/composer
COPY .docker /var/www/.docker

# Permissions and configuration layer
Expand Down
8 changes: 4 additions & 4 deletions .docker/sphinxsearch/sphinx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ source torrents : torrents_base {
INNER JOIN sphinx_tg AS g ON (t.gid = g.id)
sql_joined_field = artistname from query; \
SELECT t.id, aname FROM sphinx_a JOIN sphinx_t AS t USING(gid) ORDER BY t.id ASC;
sql_query_post_index = DELETE FROM sphinx_delta WHERE Time <= \
(SELECT id FROM sphinx_index_last_pos WHERE type = 'torrents')
sql_query_post_index = DELETE FROM sphinx_delta WHERE created <= \
(SELECT FROM_UNIXTIME(ID) FROM sphinx_index_last_pos WHERE type = 'torrents')
}
index torrents {
source = torrents
Expand Down Expand Up @@ -365,8 +365,8 @@ source requests : requests_base {
SELECT RequestID AS ID, UserID FROM requests_votes
sql_attr_multi = uint Bookmarker from query; \
SELECT RequestID AS ID, UserID FROM bookmarks_requests
sql_query_post_index = DELETE FROM sphinx_requests_delta WHERE TimeAdded <= \
(SELECT ID FROM sphinx_index_last_pos WHERE type = 'requests')
sql_query_post_index = DELETE FROM sphinx_requests_delta WHERE created <= \
(SELECT FROM_UNIXTIME(ID) FROM sphinx_index_last_pos WHERE type = 'requests')
}
source requests_delta : requests_base {
sql_query = SELECT ID, UserID, TimeAdded, LastVote, CategoryID, Title, TagList, \
Expand Down
11 changes: 11 additions & 0 deletions .docker/web/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ run_service()
service "$1" start || exit 1
}

if [ ! -e .docker-init-done ] ; then
.docker/web/generate-config.sh
composer --version
composer install --no-progress --optimize-autoloader
bin/local-patch
yarn
npx update-browserslist-db@latest
yarn dev
touch .docker-init-done
fi

while ! nc -z mysql 3306
do
echo "Waiting for MySQL..."
Expand Down
33 changes: 0 additions & 33 deletions .eslintrc.js

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ __MACOSX/
/yarn-error.log

.docker/mysql-home/.mysql_history
.docker-init-done
!.docker/mysql-home/.my.cnf

/public/static/styles/**/*.css
Expand Down
7 changes: 4 additions & 3 deletions .phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,15 @@
<exclude name="PSR2.Classes.PropertyDeclaration.SpacingAfterType" />
<exclude name="PSR2.Methods.FunctionCallSignature" />

<exclude name="PSR12.Classes.ClosingBrace" />
<exclude name="PSR12.ControlStructures.ControlStructureSpacing" />
<exclude name="PSR12.Traits.UseDeclaration" />

<exclude name="Squiz.Functions.FunctionDeclarationArgumentSpacing" />
<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine" />
<!-- function x() { return $x; } is ok -->
<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace" />
<exclude name="Squiz.WhiteSpace.ScopeClosingBrace" />
<exclude name="Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore" />
<!-- <?php } ?> is ok -->
<exclude name="Squiz.WhiteSpace.ScopeClosingBrace.Indent" />
</rule>

<rule ref="Generic.Arrays.DisallowLongArraySyntax" />
Expand Down
29 changes: 12 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
FROM debian:bullseye-slim
FROM debian:bookworm-slim

ENV DEB_RELEASE bullseye
ENV DEBIAN_FRONTEND noninteractive
ENV PHP_VER 8.2
ENV NODE_VERSION 20
ENV DEB_RELEASE=bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV PHP_VER=8.3
ENV NODE_VERSION=20

# Uncomment to skip the chromium download when installing puppeteer. If you do,
# you'll need to launch puppeteer with:
Expand Down Expand Up @@ -31,7 +31,7 @@ RUN apt-get update \
cron \
make \
nginx \
netcat \
netcat-openbsd \
nodejs \
php${PHP_VER}-cli \
php${PHP_VER}-common \
Expand Down Expand Up @@ -98,10 +98,12 @@ RUN apt-get update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
# Python tools layer
&& pip3 install chardet eac-logchecker xld-logchecker
&& pip3 install --break-system-packages chardet eac-logchecker xld-logchecker

COPY . /var/www
COPY --from=composer:2.7.2 /usr/bin/composer /usr/local/bin/composer
COPY .docker/ /var/www/.docker
COPY lib /var/www/lib
COPY bin/ /var/www/bin
COPY --from=composer:2.7.7 /usr/bin/composer /usr/local/bin/composer

# Permissions and configuration layer
RUN useradd -ms /bin/bash gazelle \
Expand All @@ -116,19 +118,12 @@ RUN useradd -ms /bin/bash gazelle \
&& grep '^disable_functions' /etc/php/${PHP_VER}/cli/php.ini \
| sed -r 's/pcntl_(fork|signal|signal_dispatch|waitpid),//g' \
> /etc/php/${PHP_VER}/cli/conf.d/99-boris.ini \
&& .docker/web/generate-config.sh \
&& echo "Generate file storage directories..." \
&& perl /var/www/bin/generate-storage-dirs /var/lib/gazelle/torrent 2 100 \
&& perl /var/www/bin/generate-storage-dirs /var/lib/gazelle/riplog 2 100 \
&& perl /var/www/bin/generate-storage-dirs /var/lib/gazelle/riploghtml 2 100 \
&& chown -R gazelle:gazelle /var/lib/gazelle /var/www \
&& npm install -g npm@10.4.0 \
&& su gazelle -c 'composer --version \
&& composer install --no-progress --optimize-autoloader \
&& bin/local-patch \
&& yarn \
&& npx update-browserslist-db@latest \
&& yarn dev'
&& npm install -g npm@10.8.2

EXPOSE 80/tcp
EXPOSE 3306/tcp
Expand Down
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ help:
echo ' dump-torrent - create a tarball of the rip logs'
echo ' git-submodules - update the git submodules'
echo ' lint-css - lint (style check) the CSS'
echo ' lint-js - lint (style check) the Javascript'
echo ' lint-php - lint (style check) the PHP'
echo ' lint-twig - lint (style check) the Twig templates'
echo ' mysqldump - dump mysql database from docker to misc/mysql-dump.sql'
Expand Down Expand Up @@ -70,6 +71,10 @@ lint-css:
yarn lint:css
yarn lint:css-checkstyle

.PHONY: lint-js
lint-js:
yarn run eslint -c misc/eslint.config.mjs public/static

.PHONY: lint-php
lint-php:
yarn lint:php:internal
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ In the root folder of the Gazelle repository, run the following command:

`docker compose up -d`

This will pull and build the needed images to run Gazelle on Debian
Bullseye. A volume is mounted from the base of the git repository at
This will pull and build the needed images to run Gazelle on Debian.
A volume is mounted from the base of the git repository at
`/var/www` in the container. Changes to the source code are
immediately served without rebuilding or restarting.

Expand Down
Loading