Commit Graph

328 Commits

Author SHA1 Message Date
Bobby
4fa3a54729
feat: show am/pm on date
we are cheating by using Date.toLocaleString(), that is fixed to "en"
locale, for the time portion of the date
2022-05-06 20:45:40 +07:00
BobbyWibowo
dbc0a82186 dist: rebuilt client assets and bumped v1 version string 2022-05-05 06:59:53 +00:00
Bobby
450bf72e7a
feat: allow mods to actually delete albums 2022-05-05 13:58:54 +07:00
BobbyWibowo
11030ff2f5 dist: rebuilt client assets and bumped v1 version string 2022-05-05 06:18:53 +00:00
Bobby
39b7d96b8f
feat: static preview of album description markdown
in dashboard's edit album prompt
2022-05-05 13:17:32 +07:00
BobbyWibowo
c9e84b5c24 dist: rebuilt client assets and bumped v1 version string 2022-04-20 20:10:08 +00:00
Bobby
c3f8e3e213
fix(deps): add waversurfer.js source map 2022-04-21 03:09:10 +07:00
BobbyWibowo
cf1475197e dist: rebuilt client assets and bumped v1 version string 2022-04-20 12:31:21 +00:00
Bobby
cf9c4ce7cb
fix: player.js 2022-04-20 19:29:35 +07:00
Bobby
43837cac20
chore: stray console.log in dashboard.js 2022-04-20 19:29:08 +07:00
Bobby
e9e2d4993b
fix(deps): update video.js and its plugins 2022-04-20 19:28:40 +07:00
BobbyWibowo
b28e609c18 dist: rebuilt client assets and bumped v1 version string 2022-04-15 06:42:08 +00:00
Bobby
18a235fdf9
chore: trigger actions rebuild 2022-04-15 13:41:05 +07:00
BobbyWibowo
d5a8ab471e dist: rebuilt client assets and bumped v1 version string 2022-03-09 15:09:49 +00:00
Bobby
b48d72a5ff
chore: trigger actions rebuild again
to align cache with updated actions modules
2022-03-09 22:08:42 +07:00
BobbyWibowo
aaeb66efcd dist: rebuilt client assets and bumped v1 version string 2022-03-09 00:08:10 +00:00
Bobby
9ade74645d
chore: trigger actions rebuild
mainly to re-cache dependencies against node 16
2022-03-09 07:06:34 +07:00
BobbyWibowo
8dc9ffda45 dist: rebuilt client assets and bumped v1 version string 2022-03-03 12:27:11 +00:00
Bobby
556bb801f4
chore: removed unused css 2022-03-03 19:26:04 +07:00
BobbyWibowo
7388a37cee dist: rebuilt client assets and bumped v1 version string 2022-03-03 11:55:03 +00:00
Bobby
7ee3ec1ef0
style: adhere to keyframes-name-pattern 2022-03-03 18:54:05 +07:00
BobbyWibowo
80e53da69c dist: rebuilt client assets and bumped v1 version string 2022-03-03 11:46:42 +00:00
Bobby
7194f0c838
feat: transition to stylelint v14 environment
stylelint: 13 -> 14
postcss-preset-env: 6 -> 7
eslint-plugin-compat: 3 -> 4

replaced stylelint-config-standard with
stylelint-config-standard-scss

switched to @ronilaukkarinen/gulp-stylelint, a fork of gulp-stylelint,
due to the upstream's maintainer going missing

temporarily disabled some stylelint rules to ease transition
2022-03-03 18:44:43 +07:00
BobbyWibowo
b4b5304716 dist: rebuilt client assets and bumped v1 version string 2021-10-22 14:39:52 +00:00
Bobby
07368e23c4
chore: trigger rebuild to refresh actions' cache 2021-10-22 21:38:14 +07:00
BobbyWibowo
cf2fed6605 dist: rebuilt client assets and bumped v1 version string 2021-06-06 11:33:14 +00:00
Bobby
8d79154e6c
style: phrasing in delete user prompt 2021-06-06 18:31:17 +07:00
BobbyWibowo
1e3bc5aef2 dist: rebuilt client assets and bumped v1 version string 2021-02-12 08:50:42 +00:00
Bobby Wibowo
cf4a1af209
feat: list albums' total size and zip size 2021-02-12 15:48:40 +07:00
BobbyWibowo
5d9d499642 dist: rebuilt client assets and bumped v1 version string 2021-02-12 06:08:19 +00:00
Bobby Wibowo
bba0d38e8e
chore: trigger rebuild to refresh actions' cache 2021-02-12 13:06:10 +07:00
BobbyWibowo
12d49b1d40 dist: rebuilt client assets and bumped v1 version string 2021-01-31 23:15:50 +00:00
Bobby Wibowo
274d922b2f
refactor: simplified a regex in home.js 2021-02-01 06:08:26 +07:00
Bobby Wibowo
5a74776978
fix: thumbnails not generated with mixed case
e.g. .jpG, .JPG, .PnG, etc.

Also simplified some codes.
2021-02-01 05:23:53 +07:00
Bobby Wibowo
37076049e1
style: sort extension names in home.js 2021-02-01 05:20:47 +07:00
BobbyWibowo
6142674007 dist: rebuilt client assets and bumped v1 version string 2021-01-27 17:20:44 +00:00
Bobby Wibowo
ce1e7bb21d
feat: added max age support to newsfeed
Hardcoded to 91 days (~3 months).
2021-01-28 00:18:30 +07:00
BobbyWibowo
220ec14d83 dist: rebuilt client assets and bumped v1 version string 2021-01-27 17:07:46 +00:00
Bobby Wibowo
0b428171bb
refactor: use typeof for undefined in client-side
I didn't notice anything breaking prior to this, but just to be safe.
2021-01-28 00:06:05 +07:00
BobbyWibowo
0f1ba57737 dist: rebuilt client assets and bumped v1 version string 2021-01-27 16:52:31 +00:00
Bobby Wibowo
968494bb37
fix: systeminformation v5 breaking changes
Made the codes for stats generation a bit more readable.

Usage percentage for file systems will now properly reflect "non-root"
usage percentage in ext2/3/4 file systems.
2021-01-27 23:50:45 +07:00
BobbyWibowo
afc467b4ed dist: rebuilt client assets and bumped v1 version string 2021-01-27 16:26:37 +00:00
Bobby Wibowo
9b63eda26f
fix: bulma v0.9.2 breaking changes (proper fix) 2021-01-27 23:24:53 +07:00
BobbyWibowo
e10d99bb6f dist: rebuilt client assets and bumped v1 version string 2021-01-27 16:21:45 +00:00
Bobby Wibowo
c9d9d69204
fix: bulma v0.9.2 breaking changes 2021-01-27 23:19:39 +07:00
BobbyWibowo
9dc52774be dist: rebuilt client assets and bumped v1 version string 2021-01-08 20:22:09 +00:00
Bobby Wibowo
2838e718cd
chore: trigger dist rebuild 2021-01-09 03:20:18 +07:00
BobbyWibowo
9f9debae44 AUTO: Rebuilt client assets and bumped v1 version string 2021-01-08 19:52:23 +00:00
Bobby Wibowo
f52493291a
feat: same/higher group warning when editing user
Also Object.freeze() permissions object in permissionController.
I don't think it's much to be worried about, as no "set" will be done to
it during the service's operation, but oh well, might as well.
2021-01-09 02:51:23 +07:00
BobbyWibowo
1049f51248 AUTO: Rebuilt client assets and bumped v1 version string 2021-01-08 04:31:31 +00:00
Bobby Wibowo
da112ce485
feat: 2 digits fractions for percentage in stats 2021-01-08 11:29:36 +07:00
BobbyWibowo
afa09b0312 AUTO: Rebuilt client assets and bumped v1 version string 2021-01-08 04:00:40 +00:00
Bobby Wibowo
a37057e099
fix: error icon not showing for url upload errors 2021-01-08 09:43:20 +07:00
Bobby Wibowo
e9d22ea3ea
fix: home uploader not parsing size error properly
Also fixed error icon not showing with errors from finishing chunks.
2021-01-08 09:37:35 +07:00
Bobby Wibowo
43a9a5babb
updated README.md's 2020-12-27 19:45:27 +07:00
BobbyWibowo
3de44243a2 AUTO: Rebuilt client assets and bumped v1 version string 2020-12-27 11:17:13 +00:00
Bobby Wibowo
18db55ba24
Added scripts/rebuild-hashes.js
Closes #345
2020-12-27 18:16:01 +07:00
BobbyWibowo
b4b4c08d1a AUTO: Rebuilt client assets and bumped v1 version string 2020-12-26 16:51:46 +00:00
Bobby Wibowo
441faad4a7
page auto-scroll now only happens when moving page
specifically the auto-scroll in uploads/users/albums list.
previously it'd auto scroll to the top for every same-page operation.
now it'd only auto scroll when actually moving page.
so same-page operations such as deleting uploads, editing users, etc.
will no longer scroll away.
2020-12-26 23:50:52 +07:00
BobbyWibowo
3d1374680a AUTO: Rebuilt client assets and bumped v1 version string 2020-12-26 12:55:39 +00:00
Bobby Wibowo
e85e8e886d
added lolisafe upstream compat to /api/album/:id
it will re-map body of /api/album/get/:id into upstream-compatible body.
prep for lolisafe albums support for magane plugin.

/api/album/:id/:page will stil respond with the old format as that's
what the dashboard use and expect.

list views of uploads, users and albums in dashboard will now show
total items count on the table's top right corner.
2020-12-26 19:54:41 +07:00
BobbyWibowo
1382afd8c8 AUTO: Rebuilt client assets and bumped v1 version string 2020-12-26 11:50:53 +00:00
Bobby Wibowo
c5647cb8bf
albums sidebar in dashboard is now collapsible
they'll also be collapsed on initial page load

this uses a new client-side dependency, bulma-collapsible
https://github.com/creativebulma/bulma-collapsible

/api/albums to fetch albums list now support simple reply, where only
their ids and names will be returned.
this simple reply will also return all of the user's albums, instead of
being limited to only 9 or 25 entires like before.

fixed add to album in dashboard, and album selector in homepage uploader
being limited to only 25 albums.
2020-12-26 18:49:51 +07:00
BobbyWibowo
98080204da AUTO: Rebuilt client assets and bumped v1 version string 2020-12-26 09:53:26 +00:00
Bobby Wibowo
d917bbdf32
apply offset to dashboard icon 2020-12-26 15:10:26 +07:00
BobbyWibowo
4530449a87 AUTO: Rebuilt client assets and bumped v1 version string 2020-12-25 14:07:36 +00:00
Bobby Wibowo
346d9864f3
improved codes for statistics
much more expandable, and should be easier to understand overall.

make more statistics operations run concurrently to speed them up.

make linuxDiskStats config key obsolete by using systeminformation
package to also query for any mounted file systems.
2020-12-25 21:06:21 +07:00
BobbyWibowo
b30d5e4608 AUTO: Rebuilt client assets and bumped v1 version string 2020-12-19 05:07:18 +00:00
Bobby Wibowo
635a9c4a14
no source changes, but obligatory actions trigger
recently upgraded actions/setup-node action, just in case doing so could
help refreshing cache or whatever
2020-12-19 12:05:51 +07:00
BobbyWibowo
27a2717b48 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-17 22:20:40 +00:00
Bobby Wibowo
c30361e648
fix version requirement for gulp-dart-sass
also bumped v1 version string to trigger rebuilding again
it's mostly so that github actions' yarn cache gets rebuilt too or smth
2020-11-18 05:19:11 +07:00
BobbyWibowo
c1472218bb AUTO: Rebuilt client assets and bumped v1 version string 2020-11-17 18:14:40 +00:00
Bobby Wibowo
a94d482fc5
replaced gulp-sass with gulp-dart-sass
removed node-sass as explicit dev dependency
gulp-dart-sass will already require sass (new dart sass, not node-sass)

added fibers as a new dev dependency
this is a requirement to speed up async sass compiling
https://sass-lang.com/dart-sass

full sub-dependencies upgrade (deleted yarn.lock then did yarn install)

bumped v1 version string to trigger auto rebuild
2020-11-18 01:13:30 +07:00
BobbyWibowo
0eaf34748e AUTO: Rebuilt client assets and bumped v1 version string 2020-11-12 09:10:06 +00:00
Bobby Wibowo
eaf726b726
obligatory versions bump to trigger rebuild 2020-11-12 16:08:52 +07:00
BobbyWibowo
6d674cabaf AUTO: Rebuilt client assets and bumped v1 version string 2020-11-10 15:57:45 +00:00
Bobby Wibowo
98e6c59255
expanded gulp linter to lint server-side JS files
changed reporter formatter for gulp stylelint from verbose to string
this should now only print out issues to console

linted other server-side JS files that i missed out on previous commits

bumped versions.js to trigger github actions
2020-11-10 22:56:18 +07:00
BobbyWibowo
d796b31bd1 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-05 16:11:53 +00:00
Bobby Wibowo
a0777fb1d7
fixed upload urls button not working
would happen when in config uploads.urlMaxSize equals uploads.maxSize
2020-11-05 23:10:22 +07:00
BobbyWibowo
0cfd3fe059 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-04 04:27:31 +00:00
Bobby Wibowo
a0ab3d436e
Slight improvement to error handlers in frontend 2020-11-04 11:26:22 +07:00
BobbyWibowo
762ef3141c AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 17:22:57 +00:00
Bobby Wibowo
5426c6f98d
Updated player.js 2020-11-04 00:21:55 +07:00
BobbyWibowo
e06d927a2b AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 16:11:17 +00:00
Bobby Wibowo
fbf582f09e
Disabled version string in embedded player 2020-11-03 23:10:15 +07:00
BobbyWibowo
2626b03192 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 15:52:30 +00:00
Bobby Wibowo
9c7241d145
Allow filtering audio files with is:audio
For now only support FLAC, MP3, WAV and WMA
More extensions will come at a later date
2020-11-03 22:51:29 +07:00
BobbyWibowo
628d4aab55 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 15:38:31 +00:00
Bobby Wibowo
12cffb022d
Added waveform in embedded player if playing audio
Added LICENSE files

Moved videojs plugins into their own sub-directories in libs directory
2020-11-03 22:37:24 +07:00
BobbyWibowo
3e98307986 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 14:26:16 +00:00
Bobby Wibowo
519d4154e7
Updated 2020-11-03 21:25:07 +07:00
BobbyWibowo
4cbf0c6fa5 AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 14:21:07 +00:00
Bobby Wibowo
bffc9c88e5
Audio files now work with the embedded player 2020-11-03 21:17:57 +07:00
BobbyWibowo
daa2a2f1fa AUTO: Rebuilt client assets and bumped v1 version string 2020-11-03 13:59:43 +00:00
Bobby Wibowo
3da75cd602
linted src/css/player.scss 2020-11-03 20:58:45 +07:00
Bobby Wibowo
f5e70b2d96
Added experimental embedded video.js player thingy 2020-11-03 20:56:32 +07:00
BobbyWibowo
b7d3d496e7 AUTO: Rebuilt client assets and bumped v1 version string 2020-10-30 18:13:11 +00:00
Bobby Wibowo
47dd512910
Removed custom ESLint curly rule
Sigh, why did you do this, past me..?

Also fixed "Delete uploads by names".
2020-10-31 01:12:09 +07:00
BobbyWibowo
a86967c251 AUTO: Rebuilt client assets and bumped v1 version string 2020-10-30 15:55:14 +00:00
Bobby Wibowo
c40478dd0a
Upgraded to ESLint 7 2020-10-30 22:54:02 +07:00
BobbyWibowo
b49231dd0e AUTO: Rebuilt client assets and bumped v1 version string 2020-10-12 15:06:24 +00:00
Bobby Wibowo
51016667cd
Bumped all versions 2020-10-12 22:05:28 +07:00
BobbyWibowo
3129e8f5b7 AUTO: Rebuilt client assets and bumped v1 version string 2020-10-11 10:33:49 +00:00
Bobby Wibowo
22e6c2c3c6
Updated
Replaced all Array.concat() with spread operator and/or push().
Fixed some faulty search logics when using exclusion filters.
Fixed capitalization of mac font in _variables.scss. Stylelint somehow
fricked up again in my previous commit.
2020-10-11 17:32:22 +07:00
BobbyWibowo
2017b149da AUTO: Rebuilt client assets and bumped v1 version string 2020-10-02 16:55:35 +00:00
Bobby Wibowo
59fa4824d2
Updated _variables.scss
File extension change since bulma v0.9.1
2020-10-02 23:54:41 +07:00
BobbyWibowo
90583e1f3b AUTO: Rebuilt client assets and bumped v1 version string 2020-10-02 16:53:22 +00:00
Bobby Wibowo
f211a39aef
Cleaned up dashboard.js 2020-10-02 23:52:15 +07:00
BobbyWibowo
b589e070d8 AUTO: Rebuilt client assets and bumped v1 version string 2020-10-01 21:36:08 +00:00
Bobby Wibowo
3c1f0996a3
Updated dashboard.js
It's a bit eh, but it works.
This should finally fix active sidebar menus getting deactivated in
certain conditions and all that kinda jazz.
2020-10-02 04:34:44 +07:00
BobbyWibowo
8e5e6ce018 AUTO: Rebuilt client assets and bumped v1 version string 2020-09-08 12:05:04 +00:00
Bobby Wibowo
c113184385
Improved disk usage entry in statistics
Now will calculate usage as (total - avail).
In Linux, ext filesystems by default reserves 5% of the space to be
usable by root, making them essentially already "used" space.
Originally we didn't take that into account.

Disk usage percentage will now round down: Math.round() -> Math.floor().
The general behavior in other tools such as "df".
2020-09-08 19:04:12 +07:00
BobbyWibowo
0cac4a947f AUTO: Rebuilt client assets and bumped v1 version string 2020-09-07 16:10:09 +00:00
Bobby Wibowo
6b2b8e9b0e
Updated dependencies
node-fetch: 2.6.0 -> 2.6.1 (security)

browserslist: 4.14.0 -> 4.14.1
stylelint: 13.6.1 -> 13.7.0

Obligatory bump to versions.json as this commit requires rebuilding
client assets (dev dependencies updates affect style.css).
As usual, rebuilds will be in the next commit by the build bot.
2020-09-07 23:08:53 +07:00
BobbyWibowo
6bcde5a86b AUTO: Rebuilt client assets and bumped v1 version string 2020-08-24 05:36:40 +00:00
Bobby Wibowo
8214c70ce7
Obligatory commit to test automation 2020-08-24 12:35:49 +07:00
BobbyWibowo
0e9d5328e3 Rebuilt client assets and bumped v1 version string 2020-08-24 01:25:08 +00:00
Bobby Wibowo
a2f544db99
Updated dashboard.js
FIX: Directly jumping to N page from pagination caused the menu item in
sidebar (e.g. Manage users) to be inactive.
2020-08-24 08:24:13 +07:00
BobbyWibowo
c08785dc5f Rebuilt client assets and bumped v1 version string 2020-08-24 01:09:31 +00:00
Bobby Wibowo
65847232c4
Added "time taken" info for Statistics menu 2020-08-24 08:08:21 +07:00
BobbyWibowo
1c7bff20d9 Rebuilt client assets and bumped v1 version string 2020-08-22 19:23:01 +00:00
Bobby Wibowo
f3d6a90a0b
Updated dashboard.js and home.js again 2020-08-23 02:22:03 +07:00
BobbyWibowo
001e741a08 Rebuilt client assets and bumped v1 version string 2020-08-22 19:21:14 +00:00
Bobby Wibowo
d1663b7c50
Updated home.js 2020-08-23 02:20:26 +07:00
BobbyWibowo
25fd9186c8 Rebuilt client assets and bumped v1 version string 2020-08-21 18:40:05 +00:00
Bobby Wibowo
0b27babb31
Refactored "hhmmss" -> "uptime" 2020-08-22 01:39:04 +07:00
BobbyWibowo
6fb234984a Rebuilt client assets and bumped v1 version string 2020-08-21 18:36:27 +00:00
Bobby Wibowo
41fb14e865
Added system & node uptime to Statistics menu
src/js/misc/utils.js: Added page.getPrettyUptime().

Updated dependency:
helmet: 3.23.3 -> 4.1.0

lolisafe.js: Disabled CSP by default.
Since helmet 4, CSP would instead be enabled by default.
2020-08-22 01:35:30 +07:00
BobbyWibowo
855c76a792 Rebuilt client assets and bumped v1 version string 2020-07-29 22:12:17 +00:00
Bobby Wibowo
425a32a501
Updated _variables.scss 2020-07-30 05:10:43 +07:00
Bobby Wibowo
34d3601c30
Transitioned styling to Sass
Added new dev dependencies:
bulma, gulp-sass, node-sass

Updated some dependencies

Various other things related to styling

Bumped v1 version string and rebuilt client assets
2020-07-28 21:47:48 +07:00
Bobby Wibowo
3c2abcfadd
Improvements to newsfeed.js
Cleaned up some CSS

Bumped v1 version string and rebuilt client assets
2020-07-28 16:44:04 +07:00
Bobby Wibowo
6daa1e529e
Added src/js/misc/newsfeed.js
A small script to pull feed from blog.fiery.me as news thingy.
2020-07-28 03:46:15 +07:00
Bobby Wibowo
24ed7c48bb
Updated dashboard.js
Bumped v1 version string
2020-07-19 18:26:44 +07:00
Bobby Wibowo
a200f81fd5
Updated dependencies
Rebuilt client assets and bumped v1 version string
2020-07-19 18:23:33 +07:00
camjac251
7a23707555
change window.location.host to window.location.hostname
location.hostname() is unsupported by Opera and gives an error using the latest ESLint gulp plugin.
2020-07-01 13:59:22 -05:00
Bobby Wibowo
1981159805
Updated auth.njk again (and auth.js)
Better solution for #215

Bumped v1 version string and rebuilt client asset
2020-06-27 17:42:36 +07:00
Bobby Wibowo
0caa669980
Fix homepage's Config tab not saving some options
Resolved #211

Bumped v1 version string and rebuilt client asset
2020-06-22 19:45:42 +07:00
Bobby Wibowo
40dd662976
Removed delete URL from upload response
I wasn't aware ShareX wouldn't do a basic GET request to the delete URL,
but would instead open your browser to it.
Unfortunately, due to the structure of lolisafe auth setting token
through HTTP header, which had always been done by JS as it has to get
the value from local storage, just visiting the API from browser will
merely respond with "No token provided".
We'd need cookie-based auth, which I do not want to add.
The old me that added deletion API long ago might have been aware of
this fact, but the me of a few hours ago already forgot..
I'll give this further thoughts at a later date, as ShareX isn't really
a priority to me.

Bumped v1 version string and rebuilt client assets.
2020-06-20 04:01:16 +07:00
Bobby Wibowo
b4ab04f55a
Async-load render.js
Also fixed undefined vars check, as var === undefined throws error
when truly not defined.
It's probably specific to browsers (don't recall seeing this in node).

Bumped v1 version string and rebuilt client assets.
2020-06-20 03:33:39 +07:00
Bobby Wibowo
d29621d5ff
Make render.js standalone
Despite that, it still expects the existence of a so-called main script
in "page" variable, and also expects to be loaded by it instead,
with an internal check to load itself if the main script fails to call
itself within the expected conditions.

Improved button colors in SweetAlert prompts.

Refactored window.onload() to DOMContentLoaded's event listener.
This should essentially allow pages to have multiple scripts that listen
to that event.

Bumped v1 version string and rebuilt client assets.
2020-06-20 02:30:57 +07:00
Bobby Wibowo
51c8df71bc
Added deletion URL for ShareX or derivatives
For registered users only!
This requires adding a basic GET API for file deletion, so that I did.
Configs which guests download will not include pattern for delete URL,
so they won't get notified of unusable delete URL or anything like that.

dev: Improved logger.debug() to support specifying options for node's
Util.inspect() if an object is set as its last param
(assuming >1 params).
Default options now also includes enabling colors.

src/js/utils.js: Simplified dynamic ShareX config generator.
Among other things, it will now use JSON.stringify().
I don't even remember why we didn't use that in the first place..

Some logic improvements in src/js/home.js.

Bumped v1 version string and rebuilt client assets.
2020-06-20 01:28:23 +07:00
Bobby Wibowo
4225819b98
Updated src/js/misc/utils.js
Make prepareShareX function practically optional.
If the ShareX element is missing, it shouldn't break everything else.
2020-06-15 15:39:29 +07:00
Bobby Wibowo
15f29f3fb9
Better error handlers in home uploader 2020-06-10 03:01:12 +07:00
Bobby Wibowo
c1d3b9724c
Fix auto page thingy breaking
Basically, when you're on the very last page of either uploads or users
lists, and then you decide to delete all uploads/users in the list, by
default it will automatically load the latest valid page (e.g. page - 1,
or more if it has to).
Unfortunately, that behavior will get cancelled out by "Something else
is still loading" warning. This fixed that.

Bumped v1 version string and rebuilt client assets.
2020-06-10 02:06:43 +07:00
Bobby Wibowo
8bcee712ac
A toggle button to show original file names
For admins, preference for your personal uploads list and Manage uploads
aren't shared, just like thumbs/lists toggle.

Non-keyed keywords for filtering will now apply to original names too.

Added a new fontello icon for this button.

Various other things I'm too lazy to write.
2020-06-07 12:29:17 +07:00
Bobby Wibowo
f305b08077
Disable some buttons on disabled albums
Also apply strikethrough to their public links.
Though similar with albums that have their public links explicitly
disabled, despite having strikethrough, they're still clickable.
Of course they'll just lead to 404 page regardless.
2020-06-03 09:20:40 +07:00
Bobby Wibowo
5e5d5c5647
Manage albums admin page, and more!
Resolves #194.

Added pagination for Manage your albums page.

Albums sidebar will now only list 9 albums at most.
Use Manage your albums page to view the rest.
Albums in the list will now have View uploads button after all.

Delete album button for albums renamed to Disable album.
Since techincally the server would've always been disabling the albums
instead of deleting them.
It was something upstream dev's decided, and I haven't bothered changing
its behavior.

I'll work on actual Delete album feature some other days.

As the title says, added Manage albums admin page.

Viewing uploads of an album will hook into albumid: filter key.

I'll work on filter and bulk operations some other days.

Updated styling for disabled albums and users.
Instead of havine a line through them, they will be greyed out.
Disable public page of albums will still use line through however.

Links to album's disabled public page are now clickable.

Added a new button styling is-dangerish.
It'll be orange.

Renamed /api/albums/delete to /api/albums/disable.
For backwards compatibility, /api/albums/delete will still work
but automatically re-routed to /api/albums/disable.

/api/uploads/list will no longer print SQLite errors for moderators
or higher when encountering them.
It was originally used to inform moderators of non-existing colum names
when used for sorting.
But on one of the recent commits, I had added a check for allowed colum
names.

Improved some caching in dashboard page.

Added new entries to cookie policy.

Some other small things.

Bumped v1 version string and rebuilt client assets.
2020-06-01 11:44:16 +07:00
Bobby Wibowo
62a977542e
Switched to BLAKE3 for file hashing [MORE]
UPDATE YOUR CONFIG FILE IF YOU USE CHUNKED UPLOADS!
Read more about this at the end.

Added new dependency: blake3

Hashes will be created as the uploads are being written to disk.
With exception for chunked uploads!
For them specifically, their hashes will be created as they're being
rebuilt into a single file.
Should still be a lot better than the previous case where it had to
re-read the already written files.

To support that feature, added a new file
controllers/multerStorageController.js.
It's just a custom storage engine for Multer.

chunkSize option now allows setting max chunk size from config file.
Previously it was hardcoded to 95MB, but assuming you have paid
Cloudflare plans, you can actually have up to 500MB.

Also moved the option to be after maxSize and before urlMaxSize.
Made a lot more sense to me this way, as chunked uploads only work on
regular uploads.

Updated v1 version string and rebuilt client assets.
2020-05-29 02:52:58 +07:00
Bobby Wibowo
58cbcdd1fe
Updated some Nunjucks files and home.js
Updated options in _globals.njk to NOT use camelCase.

Rephrased banned categories.

Added toggle option for banned categories into faq.njk.

Added FAQ message about Tor and/or VPNs being blocked.

Updated faq.njk and cookiepolicy.njk for updated option names.

Updated cookie settings for Cookie Consent in home.js.
Now it will only enable Secure cookie if on HTTPS protocol.
This should properly store the cookie in local installations.

Bumped v1 version string and rebuilt client assets.
2020-05-28 05:18:09 +07:00