Skip to content

Commit

Permalink
v2024.3.3-prealpha
Browse files Browse the repository at this point in the history
  • Loading branch information
mceachen committed Mar 21, 2024
1 parent b1ef4d6 commit 7be3f21
Show file tree
Hide file tree
Showing 38 changed files with 102 additions and 91 deletions.
26 changes: 17 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,38 @@ This page contains a detailed list of changes made in every build of PhotoStruct
- Library upgrades to new versions of PhotoStructure are automatic, but older versions of PhotoStructure cannot open libraries from newer versions of PhotoStructure.

<!-- TODO: -->
<!-- - 🐛 Sync doesn't seem to no-op properly for a completed directory -->
<!-- - 🐛 Tag gallery is not sorted and has too many rows -->

<!-- - ✨ Logs are now viewable in the UI -->
<!-- - 🐛 [Tag reparenting doesn't seem to work properly on rebuilds](https://forum.photostructure.com/t/who-tags-are-incorrectly-excluded-from-keywords/676/6?u=mrm). -->
<!-- - 🐛 Sync resume (after pause) on mac via the menubar (not the main window nav button) doesn't seem to support "resume" properly -->

<!-- fix "tag context" for "next previous" context. I'd always done a search, clicked a thumb, and then clicked esc to go back to the search results. But... if you click a thumb from a search, and then click "next" or "previous", it ignores that you can from a search, and does the chronological next asset, which is very confusing/irritating. -->
<!-- - 📦 Fixed "tag context" for "next previous" context. I'd always done a search, clicked a thumb, and then clicked esc to go back to the search results. But... if you click a thumb from a search, and then click "next" or "previous", it ignores that you can from a search, and does the chronological next asset, which is very confusing/irritating. -->

<!-- - 🐛 (todo): Thumbnails in tag samples are [chronologically ordered](https://discord.com/channels/818905168107012097/1148116413190520923) -->

<!-- - 🐛 (need to verify): Ensure progress is updated during library rebuild (the prior build didn't properly update the `Progress` table, so your computer was busy but you didn't know why). -->

<!--- 📦 (TODO) Add sync reports for AssetFile re-syncs during library rebuilds and video transcodes -->
<!-- - 📦 (TODO) Add sync reports for AssetFile re-syncs during library rebuilds and video transcodes -->

<!-- - ✨ Add "county" support for the geotagger (to help discriminate between [same-named cities](https://discord.com/channels/818905168107012097/1218392684302172170)). This version will automatically schedule a "retag library" job, which is much faster than a "library rebuild," as we skip asset re-aggregation, transcoding, and preview generation, and only re-tag every asset. -->

## v2024.3.3-prealpha

**to be released**
**released 2024-03-20**

- 🐛 Replaced the ExifTool health check timeout with `statTimeoutMs` (which defaults to 30s -- prior builds timed out after 7 seconds)

- 🐛 Node.js v21 support: fixed `DeprecationWarning: The ``punycode`` module is deprecated.`

- 📦 Update Docker image to Node.js 20.11

- 📦 Update SQLite tooling to 3.45

- ✨ Add "county" support for the geotagger (to help discriminate between [same-named cities](https://discord.com/channels/818905168107012097/1218392684302172170)). This version will automatically schedule a "retag library" job, which is much faster than a "library rebuild," as we skip asset re-aggregation, transcoding, and preview generation, and only re-tag every asset.
<a id="v2024.3.2-alpha"></a>
<a id="v2024.3.2-prealpha"></a>

## v2024.3.2-beta

**`-prealpha` released 2024-03-14 🥧 and promoted to `-beta` on 2024-03-19**
**`-prealpha` released 2024-03-14 🥧 and promoted to `-beta` on 2024-03-20**

- 🐛 The warning message `Error: env(): failed to read .env file` caused [sync to fail to run](https://discord.com/channels/818905168107012097/818907922767544340/1217724819483791421]). This warning is now only emitted by the main service, and only if the file exists.

Expand Down Expand Up @@ -109,7 +117,7 @@ As an example, a build might be `v2024.1.7-beta`. If it proves sufficiently stab

PhotoStructure now adds `Where/Country/Region/City` tags for those photos and videos with Latitude and Longitude metadata.

Note that this feature is uses an embedded geo database, so no network access is required. This initial implementation only inclues cities with a population of 1000 or greater. See the new `tagGeo` and `tagGeoTemplate` [settings](/go/settings) for more details.
Note that this feature uses an embedded geo database, so no network access is required. This initial implementation only includes cities with a population of 1000 or greater. See the new `tagGeo` and `tagGeoTemplate` [settings](/go/settings) for more details.

### 🔃 Sync improvements

Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# <https://photostructure.com/server/photostructure-for-docker/>

# https://github.com/photostructure/base-tools/pkgs/container/base-tools-debian
FROM photostructure/base-tools-debian:sha-1605d9d as builder
FROM photostructure/base-tools-debian:sha-2f5c9bb as builder

# https://docs.docker.com/develop/develop-images/multistage-build/

Expand All @@ -21,7 +21,7 @@ RUN yarn install --frozen-lockfile --production --no-cache

# This must match the base image from
# https://github.com/photostructure/base-tools-debian/blob/main/Dockerfile
FROM node:20.10.0-bookworm-slim
FROM node:20.11-bookworm-slim

# ffmpeg is used for video frame extraction and transcoding
# libheif-examples provides "heif-convert"
Expand Down
12 changes: 6 additions & 6 deletions VERSION.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"version": "2024.3.2-beta",
"version": "2024.3.3-prealpha",
"versionMajor": 2024,
"versionMinor": 3,
"versionPatch": 2,
"versionPatch": 3,
"versionPrerelease": [
"beta"
"prealpha"
],
"release": "2024.3.2-beta+20240320133326",
"gitSha": "f510a99f0cb85a261405b7831fbbc749dc164e15",
"gitDate": "2024-03-20T20:33:26.000Z"
"release": "2024.3.3-prealpha+20240320221341",
"gitSha": "84e58c788ce0a6315415da9cb73a807d535433f6",
"gitDate": "2024-03-21T05:13:41.000Z"
}
2 changes: 1 addition & 1 deletion bin/info.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/list.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/logcat.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/logtail.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/photostructure.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/sync.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/web.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/worker.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion defaults.env
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Welcome to PhotoStructure! These are the settings for version 2024.3.1.
# Welcome to PhotoStructure! These are the settings for version 2024.3.
#
# Please see https://photostructure.com/environment-variables for more
# information about using environment variables with PhotoStructure.
Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "photostructure",
"productName": "PhotoStructure",
"author": "PhotoStructure, Inc. <[email protected]>",
"version": "2024.3.2-beta",
"version": "2024.3.3-prealpha",
"license": "SEE LICENSE IN LICENSE.md",
"description": "PhotoStructure for Servers",
"homepage": "https://photostructure.com/server/photostructure-for-node/",
Expand All @@ -25,17 +25,17 @@
"@iarna/toml": "2.2.5",
"@parcel/watcher": "2.4.1",
"@photostructure/tz-lookup": "9.0.2",
"@sentry/node": "7.105.0",
"@sentry/node": "7.107.0",
"argon2": "0.40.1",
"batch-cluster": "13.0.0",
"better-sqlite3": "9.4.3",
"body-parser": "1.20.2",
"commander": "12.0.0",
"croner": "^8.0.1",
"exiftool-vendored": "24.6.0",
"express": "4.18.3",
"express": "4.19.1",
"express-session": "1.18.0",
"fast-xml-parser": "4.3.5",
"fast-xml-parser": "4.3.6",
"file-type": "16.5.4",
"fs-extra": "11.2.0",
"he": "1.2.0",
Expand All @@ -51,7 +51,7 @@
"platform-folders": "0.6.0",
"plist": "3.1.0",
"pug": "3.0.2",
"punycode": "2.3.1",
"punycode.js": "2.3.1",
"semver": "7.6.0",
"sharp": "0.32.6",
"source-map-support": "0.5.21",
Expand Down
2 changes: 1 addition & 1 deletion photostructure

Large diffs are not rendered by default.

Binary file modified public/3rd-party-licenses.txt.gz
Binary file not shown.
Binary file modified public/app/about.css.gz
Binary file not shown.
Binary file modified public/app/about.css.map.gz
Binary file not shown.
Binary file modified public/app/about.js.gz
Binary file not shown.
Binary file modified public/app/app.css.gz
Binary file not shown.
Binary file modified public/app/app.css.map.gz
Binary file not shown.
Binary file modified public/app/app.js.gz
Binary file not shown.
Binary file modified public/app/health.css.gz
Binary file not shown.
Binary file modified public/app/health.css.map.gz
Binary file not shown.
Binary file modified public/app/health.js.gz
Binary file not shown.
Binary file modified public/app/install.js.gz
Binary file not shown.
Binary file modified public/app/settings.css.gz
Binary file not shown.
Binary file modified public/app/settings.css.map.gz
Binary file not shown.
Binary file modified public/app/settings.js.gz
Binary file not shown.
Binary file modified public/app/splash.css.gz
Binary file not shown.
Binary file modified public/app/splash.css.map.gz
Binary file not shown.
Binary file modified public/app/splash.js.gz
Binary file not shown.
Binary file modified tools/linux-x64/sqlite3
Binary file not shown.
17 changes: 12 additions & 5 deletions tools/linux-x64/sqlite3-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ Applied on Debian 11 x64:
```sh
sudo apt install -y build-essential curl

# If using `sh-docker`:

source <(egrep "^(YEAR|VERSION)=" /code/src/library/node_modules/better-sqlite3/deps/download.sh)
# If using `yarn --cwd src/library sh-docker`:

# If you're on an actual debian box:

# source <(egrep "^(YEAR|VERSION)=" $HOME/src/photostructure/src/library/node_modules/better-sqlite3/deps/download.sh)

# If using `yarn --cwd src/library sh-docker`:
source <(egrep "^(YEAR|VERSION)=" /code/src/library/node_modules/better-sqlite3/deps/download.sh)

export DEST=/tmp/sqlite-$VERSION

mkdir -p $DEST \
Expand All @@ -19,9 +20,15 @@ mkdir -p $DEST \
&& ./configure --enable-static --disable-readline LDFLAGS="-static -pthread" \
&& make clean \
&& make -j `nproc` \
&& strip sqlite3 \
&& cp sqlite3 ~/src/photostructure/tools/linux-x64
&& strip sqlite3
&& cp sqlite3 /tmp/sqlite3
```

Then on the host:

# OMG DOCKER CP DOESN'T ACCEPT GLOBS
```sh
docker cp $(docker ps --filter name=photostructure_library --quiet):/tmp/sqlite3 ~/src/photostructure/tools/linux-x64
```

To validate the binary is static, `ldd` should report "not a dynamic executable:"
Expand Down
9 changes: 5 additions & 4 deletions tools/mac-arm64/sqlite3-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ bash # to avoid zsh

brew install curl

YEAR=2022
VERSION=3400000
source <(egrep "^(YEAR|VERSION)=" ~/src/photostructure/src/library/node_modules/better-sqlite3/deps/download.sh)

mkdir -p /tmp/sqlite \
&& cd /tmp/sqlite \
export DEST=/tmp/sqlite-$VERSION

mkdir -p $DEST \
&& cd $DEST \
&& curl https://sqlite.org/$YEAR/sqlite-autoconf-$VERSION.tar.gz | tar -xz --strip 1 \
&& ./configure --enable-static-shell --enable-static --disable-readline --disable-shared \
&& make clean \
Expand Down
4 changes: 2 additions & 2 deletions tools/win-x64/sqlite3-README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Extracted from https://www.sqlite.org/2024/sqlite-tools-win-x64-3450100.zip
Extracted from https://sqlite.org/2024/sqlite-tools-win-x64-3450200.zip

https://www.virustotal.com/gui/file/632027d21b045ff822f594d7481a07fea5a745d71ea191311c8b25158803f0fa
https://www.virustotal.com/gui/file/24d4655fde07743257cc18f7ebb4ca66dee9be7267778fa2db810e5a68edf4f9
Binary file modified tools/win-x64/sqlite3.exe
Binary file not shown.
89 changes: 42 additions & 47 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -124,44 +124,44 @@
resolved "https://registry.yarnpkg.com/@photostructure/tz-lookup/-/tz-lookup-9.0.2.tgz#3b03dbedc305c872d9f7b99f78c386f8ba986197"
integrity sha512-H8+tTt7ilJNkFyb+QgPnLEGUjQzGwiMb9n7lwRZNBgSKL3VZs9AkjI1E//FcwPjNafwAH932U92+xTqJiF3Bbw==

"@sentry-internal/tracing@7.105.0":
version "7.105.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.105.0.tgz#9cb06f8281454343215cfe4b119c8198f032ec72"
integrity sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==
"@sentry-internal/tracing@7.107.0":
version "7.107.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.107.0.tgz#a10b4abcbc9e0d8da948e3a95029574387ca7b16"
integrity sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==
dependencies:
"@sentry/core" "7.105.0"
"@sentry/types" "7.105.0"
"@sentry/utils" "7.105.0"
"@sentry/core" "7.107.0"
"@sentry/types" "7.107.0"
"@sentry/utils" "7.107.0"

"@sentry/core@7.105.0":
version "7.105.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.105.0.tgz#89db519dd9aa7326de63a7eaccf861de3769ab1c"
integrity sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==
"@sentry/core@7.107.0":
version "7.107.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.107.0.tgz#926838ba2c2861d6bd2bced0232e1f9d1ead6c75"
integrity sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==
dependencies:
"@sentry/types" "7.105.0"
"@sentry/utils" "7.105.0"
"@sentry/types" "7.107.0"
"@sentry/utils" "7.107.0"

"@sentry/node@7.105.0":
version "7.105.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.105.0.tgz#cfe8e5602dff2cc754a95412f44c9ca8156422ff"
integrity sha512-b0QwZ7vT4hcJi6LmNRh3dcaYpLtXnkYXkL0rfhMb8hN8sUx8zuOWFMI7j0cfAloVThUeJVwGyv9dERfzGS2r2w==
"@sentry/node@7.107.0":
version "7.107.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.107.0.tgz#d60c2e28953f2ba14d12ada9190f1fc577b2b280"
integrity sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==
dependencies:
"@sentry-internal/tracing" "7.105.0"
"@sentry/core" "7.105.0"
"@sentry/types" "7.105.0"
"@sentry/utils" "7.105.0"
"@sentry-internal/tracing" "7.107.0"
"@sentry/core" "7.107.0"
"@sentry/types" "7.107.0"
"@sentry/utils" "7.107.0"

"@sentry/types@7.105.0":
version "7.105.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.105.0.tgz#51dadb7ad650e883459acf18df2ecbb5b4b6e5c2"
integrity sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==
"@sentry/types@7.107.0":
version "7.107.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.107.0.tgz#5ba4b472be6ccad9aecd58dbc0141a09dafb68c1"
integrity sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==

"@sentry/utils@7.105.0":
version "7.105.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.105.0.tgz#727187d252b97cb9e6c78bcdd0e9a1d14e60f313"
integrity sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==
"@sentry/utils@7.107.0":
version "7.107.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.107.0.tgz#b8524539d052a40f9c5f34a8347501f0f81a0751"
integrity sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==
dependencies:
"@sentry/types" "7.105.0"
"@sentry/types" "7.107.0"

"@sindresorhus/df@^1.0.1":
version "1.0.1"
Expand Down Expand Up @@ -492,11 +492,6 @@ [email protected]:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454"
integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==

[email protected]:
version "0.5.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==

[email protected]:
version "0.6.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
Expand Down Expand Up @@ -695,17 +690,17 @@ [email protected]:
safe-buffer "5.2.1"
uid-safe "~2.1.5"

express@4.18.3:
version "4.18.3"
resolved "https://registry.yarnpkg.com/express/-/express-4.18.3.tgz#6870746f3ff904dee1819b82e4b51509afffb0d4"
integrity sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==
express@4.19.1:
version "4.19.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.19.1.tgz#4700635795e911600a45596138cf5b0320e78256"
integrity sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==
dependencies:
accepts "~1.3.8"
array-flatten "1.1.1"
body-parser "1.20.2"
content-disposition "0.5.4"
content-type "~1.0.4"
cookie "0.5.0"
cookie "0.6.0"
cookie-signature "1.0.6"
debug "2.6.9"
depd "2.0.0"
Expand Down Expand Up @@ -737,10 +732,10 @@ fast-fifo@^1.1.0, fast-fifo@^1.2.0:
resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c"
integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==

[email protected].5:
version "4.3.5"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.5.tgz#e2f2a2ae8377e9c3dc321b151e58f420ca7e5ccc"
integrity sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ==
[email protected].6:
version "4.3.6"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff"
integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==
dependencies:
strnum "^1.0.5"

Expand Down Expand Up @@ -1643,10 +1638,10 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"

[email protected]:
punycode.js@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7"
integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==

[email protected]:
version "6.11.0"
Expand Down

0 comments on commit 7be3f21

Please sign in to comment.