From c53ff904bdc7876cf6df52f2b4ca39985c27a3cd Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Tue, 16 Jan 2024 17:03:35 -0800 Subject: [PATCH 1/4] chore: add pgvector to development environment Postgres --- packages/server/postgres/Dockerfile | 7 ++++++- .../server/postgres/extensions/install.sql | 1 + .../postgres/extensions/pgvector/Makefile | 20 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 packages/server/postgres/extensions/pgvector/Makefile diff --git a/packages/server/postgres/Dockerfile b/packages/server/postgres/Dockerfile index 8558479fe14..8bd7203bfc9 100644 --- a/packages/server/postgres/Dockerfile +++ b/packages/server/postgres/Dockerfile @@ -2,9 +2,14 @@ FROM postgres:15.4 ADD extensions /extensions -RUN apt-get update && apt-get install -y build-essential locales +RUN apt-get update && apt-get install -y \ + build-essential \ + locales \ + postgresql-server-dev-15 \ + git RUN cd /extensions/postgres-json-schema && make install && make installcheck +RUN cd /extensions/pgvector && make install RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 diff --git a/packages/server/postgres/extensions/install.sql b/packages/server/postgres/extensions/install.sql index ddc60250061..b2670548069 100644 --- a/packages/server/postgres/extensions/install.sql +++ b/packages/server/postgres/extensions/install.sql @@ -1 +1,2 @@ CREATE EXTENSION IF NOT EXISTS "postgres-json-schema"; +CREATE EXTENSION IF NOT EXISTS "vector"; diff --git a/packages/server/postgres/extensions/pgvector/Makefile b/packages/server/postgres/extensions/pgvector/Makefile new file mode 100644 index 00000000000..5fc4b88df70 --- /dev/null +++ b/packages/server/postgres/extensions/pgvector/Makefile @@ -0,0 +1,20 @@ +.PHONY: all clone build install + +# Default target +all: build + +# Target for handling the pgvector repository +clone: + if [ ! -d "pgvector" ]; then \ + git clone https://github.com/ankane/pgvector.git; \ + else \ + cd pgvector && git pull; \ + fi + +# Target for building pgvector +build: clone + cd pgvector && make + +# Target for installing pgvector +install: build + cd pgvector && make install From 41408d73f6ef7563c574545866f29e5511606161 Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Tue, 16 Jan 2024 17:09:30 -0800 Subject: [PATCH 2/4] fix: MailManagerDebug now always creates file paths under the O/S limit --- packages/server/email/MailManagerDebug.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/server/email/MailManagerDebug.ts b/packages/server/email/MailManagerDebug.ts index 0ac3458e671..7b63d2c9dff 100644 --- a/packages/server/email/MailManagerDebug.ts +++ b/packages/server/email/MailManagerDebug.ts @@ -9,9 +9,12 @@ export default class MailManagerDebug extends MailManager { Subject: ${subject} Body: ${body}`) + let toStr = to + if (Array.isArray(to)) toStr = to.join(',') + const {html} = options // limit filename length so it does not exceed filesystem limits - const filename = `${to.slice(0, 50)}-${subject.replaceAll(' ', '-').slice(0, 180)}.html` + const filename = `${toStr.slice(0, 50)}-${subject.replaceAll(' ', '-').slice(0, 180)}.html` const folder = '/tmp' fs.writeFileSync(`${folder}/${filename}`, html) // make it a link so you can click it in the terminal From 344a0a3a460d4be65a15c8f552a60903f6988d2b Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Tue, 16 Jan 2024 17:11:34 -0800 Subject: [PATCH 3/4] fix: bump rethinkdb-ts (fixes development errors on my system) --- packages/server/package.json | 2 +- yarn.lock | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 70538edd626..ddeec07ce0d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -128,7 +128,7 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "relay-runtime": "^14.1.0", - "rethinkdb-ts": "2.5.1", + "rethinkdb-ts": "2.6.0", "rrule": "^2.7.2", "samlify": "^2.8.2", "sharp": "^0.32.6", diff --git a/yarn.lock b/yarn.lock index 25d9bed60eb..387e01c6ac9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12898,6 +12898,7 @@ draft-js-utils@^1.4.0: "draft-js@https://github.com/mattkrick/draft-js/tarball/559a21968370c4944511657817d601a6c4ade0f6": version "0.10.5" + uid "025fddba56f21aaf3383aee778e0b17025c9a7bc" resolved "https://github.com/mattkrick/draft-js/tarball/559a21968370c4944511657817d601a6c4ade0f6#025fddba56f21aaf3383aee778e0b17025c9a7bc" dependencies: fbjs "^0.8.15" @@ -21053,7 +21054,7 @@ rethinkdb-ts-migrate@^0.3.6: sucrase "^3.21.0" tslib "^2.4.0" -rethinkdb-ts@2.5.1, rethinkdb-ts@2.6.0, rethinkdb-ts@^2.4.5: +rethinkdb-ts@2.6.0, rethinkdb-ts@^2.4.5: version "2.6.0" resolved "https://registry.yarnpkg.com/rethinkdb-ts/-/rethinkdb-ts-2.6.0.tgz#25ad1561d58836761463718470310b4bf911f9eb" integrity sha512-RKkTP/P1dNNK265qmNjBqiiWlawRw7+MNVoro9UJa8RPvdB9+MJwzWxz7rgTLrfJr77FuaRQMqzlRexx6ivfUQ== From 0cd5751ae92f44d65bde2ddc75e060c092a57853 Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Thu, 18 Jan 2024 11:48:21 -0800 Subject: [PATCH 4/4] chore: review fixes --- .github/workflows/build.yml | 3 ++- packages/server/email/MailManagerDebug.ts | 3 +-- packages/server/postgres/Dockerfile | 4 +++- .../postgres/extensions/pgvector/Makefile | 20 ------------------- 4 files changed, 6 insertions(+), 24 deletions(-) delete mode 100644 packages/server/postgres/extensions/pgvector/Makefile diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 559455aedf3..8b7cf97ce90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,8 @@ jobs: id-token: "write" services: postgres: - image: postgres:15.4 + # Image is pinned to v15, OK since it's just for testing + image: ankane/pgvector # This env variables must be the same in the file PARABOL_BUILD_ENV_PATH env: POSTGRES_PASSWORD: "temppassword" diff --git a/packages/server/email/MailManagerDebug.ts b/packages/server/email/MailManagerDebug.ts index 7b63d2c9dff..3ca089c510b 100644 --- a/packages/server/email/MailManagerDebug.ts +++ b/packages/server/email/MailManagerDebug.ts @@ -9,8 +9,7 @@ export default class MailManagerDebug extends MailManager { Subject: ${subject} Body: ${body}`) - let toStr = to - if (Array.isArray(to)) toStr = to.join(',') + const toStr = to.toString() const {html} = options // limit filename length so it does not exceed filesystem limits diff --git a/packages/server/postgres/Dockerfile b/packages/server/postgres/Dockerfile index 8bd7203bfc9..e37b75a097e 100644 --- a/packages/server/postgres/Dockerfile +++ b/packages/server/postgres/Dockerfile @@ -9,7 +9,9 @@ RUN apt-get update && apt-get install -y \ git RUN cd /extensions/postgres-json-schema && make install && make installcheck -RUN cd /extensions/pgvector && make install +RUN git clone --branch v0.5.0 \ + https://github.com/pgvector/pgvector.git /extensions/pgvector && \ + cd extensions/pgvector && make clean && make && make install RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 diff --git a/packages/server/postgres/extensions/pgvector/Makefile b/packages/server/postgres/extensions/pgvector/Makefile deleted file mode 100644 index 5fc4b88df70..00000000000 --- a/packages/server/postgres/extensions/pgvector/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -.PHONY: all clone build install - -# Default target -all: build - -# Target for handling the pgvector repository -clone: - if [ ! -d "pgvector" ]; then \ - git clone https://github.com/ankane/pgvector.git; \ - else \ - cd pgvector && git pull; \ - fi - -# Target for building pgvector -build: clone - cd pgvector && make - -# Target for installing pgvector -install: build - cd pgvector && make install