Compare commits

..

8 Commits

Author SHA1 Message Date
Henry
d1d8a43d3c fix: remove content type restriction on attachments 2026-02-04 22:37:18 +00:00
Henry
8ed719c485 fix: support external avatar URLs in generateAvatarUrl 2026-02-04 22:20:23 +00:00
Henry
f455bec6a7 fix: hide tooltip if content is empty 2026-02-04 21:57:50 +00:00
Henry
aee5391f28 fix: show avatar image in user menu 2026-02-04 21:53:04 +00:00
Henry
c8517ed4c2 feat: generate presigned URLs for avatars 2026-02-04 21:50:37 +00:00
Henry
ceac4c0d81 refactor: use createS3Client in auth hooks 2026-02-04 20:49:20 +00:00
Henry
4c5856ec24 feat: update avatar upload to use new endpoint 2026-02-04 20:47:26 +00:00
Henry
976373a65b refactor: replace presigned URL uploads with backend upload endpoints 2026-02-04 20:46:23 +00:00
2 changed files with 1 additions and 18 deletions

View File

@@ -47,17 +47,7 @@ See our [roadmap](https://kan.bn/kan/roadmap) for upcoming features.
## Self Hosting 🐳 ## Self Hosting 🐳
### One-click Deployments The easiest way to self-host Kan is with Docker Compose. This will set up everything for you including your postgres database.
The easiest way to deploy Kan is through Railway. We've partnered with Railway to maintain an official template that supports the development of the project.
<a href="https://railway.com/deploy/kan?referralCode=bZPsr2&utm_medium=integration&utm_source=template&utm_campaign=generic">
<img src="https://railway.app/button.svg" alt="Deploy on Railway" height="40" />
</a>
### Docker Compose
Alternatively, you can self-host Kan with Docker Compose. This will set up everything for you including your postgres database.
1. Create a new file called `docker-compose.yml` and paste the following configuration: 1. Create a new file called `docker-compose.yml` and paste the following configuration:

View File

@@ -143,13 +143,6 @@ export const boardRouter = createTRPCRouter({
}, },
); );
if (!result) {
throw new TRPCError({
message: `Board with public ID ${input.boardPublicId} not found`,
code: "NOT_FOUND",
});
}
// Generate presigned URLs for workspace member avatars // Generate presigned URLs for workspace member avatars
const workspaceWithAvatarUrls = result.workspace const workspaceWithAvatarUrls = result.workspace
? { ? {