Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
5b6a58f
wip: intercom like live chat with chat widget
abhinavxd Jun 28, 2025
61a70f6
clean up live chat
abhinavxd Jul 6, 2025
282dc83
fix set correct var name
abhinavxd Jul 6, 2025
8ee81c2
feat: Widget dark mode and chat reply expectation message in chat title.
abhinavxd Jul 16, 2025
74732bf
feat: Add expand/collapse functionality to chat view
abhinavxd Jul 16, 2025
3c37095
feat: Add loading indicators to chat components and improve spinner UI
abhinavxd Jul 16, 2025
646bbc7
wait for widget vue app to be ready before showing the widget icon
abhinavxd Jul 16, 2025
d4f644c
feat translate widget app
abhinavxd Jul 16, 2025
11fd57a
update lucide-vue-next to version 0.525.0
abhinavxd Jul 20, 2025
26b3b30
feat: add authenticated user support by passing JWT from parent to wi…
abhinavxd Jul 20, 2025
4beab72
feat: add external user ID support and secret field for inboxes.
abhinavxd Jul 20, 2025
e2bba04
Fix: Trusted domain validation for live chat widget, check the referr…
abhinavxd Jul 20, 2025
f05014f
refactor: implement widget authentication middleware with standard …
abhinavxd Jul 20, 2025
c35ab42
feat: configurable visitor information collection with a form before …
abhinavxd Jul 20, 2025
081a5c6
fix: update main.js to import styles from shared-ui instead
abhinavxd Aug 3, 2025
1962abd
feat: implement rate limiting for public widget endpoints with Redis …
abhinavxd Aug 18, 2025
f72f158
- show thumbnail image in widget thread instead of the entire image
abhinavxd Aug 18, 2025
6cfa938
fix: remove unnecessary filter from default icon styling in widget
abhinavxd Aug 18, 2025
4f9fc02
show uploading state when file is being uploaded from widget
abhinavxd Aug 18, 2025
68c2708
feat: remove VisitorInfoForm component and integrate customizable pre…
abhinavxd Aug 21, 2025
d7fe615
Center pre chat form title
abhinavxd Aug 21, 2025
a2234e9
make widget expand to full viewport height
abhinavxd Aug 21, 2025
18d4a8f
feat: auto-remove pending outgoing widget messages after 10 seconds i…
abhinavxd Aug 23, 2025
9a77c89
Merge branch 'main' into feat/live-chat-channel
abhinavxd Aug 23, 2025
45a77b1
fix build
abhinavxd Aug 23, 2025
7711183
fix component import
abhinavxd Aug 23, 2025
c721d19
fix migration
abhinavxd Aug 23, 2025
ed44805
fix: newly created conversation not being added to the conversation l…
abhinavxd Aug 25, 2025
d7067bc
feat: add email fallback / continutiy inbox feature for live chat inbox
abhinavxd Sep 20, 2025
5de870c
Config option to show or hide ‘Powered by Libredesk’ in the live chat…
abhinavxd Sep 24, 2025
c7291b1
fix layout for live chat inbox tabs for smaller devices
abhinavxd Sep 24, 2025
3a59901
fixes to pre chat form
abhinavxd Sep 24, 2025
1deeaf6
remove unnecessary descriptions for fields and translations
abhinavxd Sep 24, 2025
54e6144
refactor and fixes to convo continuity
abhinavxd Sep 24, 2025
1de54fe
add network connection banner in live chat widget
abhinavxd Sep 25, 2025
16ca6b6
Send batched unread messages in conversation continuity email after c…
abhinavxd Oct 2, 2025
f7e243f
update fetchMessageAttachments to use signed URLs for media attachmen…
abhinavxd Oct 4, 2025
a4b5340
move file system media url secret and expiry duration to `fs.go`
abhinavxd Oct 4, 2025
9c43b88
hide live chat continuity emails in AgentMessageBubble
abhinavxd Oct 4, 2025
4a1e7af
do not sending typing ws message to widget clients if it's a private …
abhinavxd Oct 4, 2025
bf1cf02
Merge branch 'main' into feat/live-chat-channel
abhinavxd Oct 4, 2025
6840f73
fix component imports
abhinavxd Oct 4, 2025
0f207a0
remove missing query from query map
abhinavxd Oct 4, 2025
0dedc0b
remove missing query from queries struct
abhinavxd Oct 4, 2025
95ae55d
add missing comma in get-contact-chat-conversations query
abhinavxd Oct 4, 2025
7858a94
add missing error check
abhinavxd Oct 4, 2025
aae8d1f
Consider visitors and contacts same, as the only difference is that v…
abhinavxd Oct 5, 2025
98b3b54
Add installation tab to live chat form for copying widget js snippet
abhinavxd Oct 5, 2025
7217086
add instructions for authenticated users for live chat widget
abhinavxd Oct 5, 2025
7958d7e
Merge branch 'main' into feat/live-chat-channel
abhinavxd Jan 13, 2026
2421b96
fix merge conflcits
abhinavxd Jan 14, 2026
08acb09
fix build
abhinavxd Jan 14, 2026
4d25ae7
reduce the number of fetched conversation messages from 1000 to 400 f…
abhinavxd Jan 14, 2026
511f464
fix merge conflict issues
abhinavxd Jan 15, 2026
e2a9a00
Live chat: add admin toggle to open widget directly into previous con…
abhinavxd Jan 17, 2026
8ebe77a
- Fix copy button component usage
abhinavxd Jan 18, 2026
107f1ad
fix issues with threading with widget messages
abhinavxd Jan 18, 2026
0aa4cad
refactor(sidebar): improve layout and styling of sidebar components, …
abhinavxd Jan 18, 2026
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
  •  
  •  
  •  
43 changes: 36 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ GOPATH ?= $(HOME)/go
STUFFBIN ?= $(GOPATH)/bin/stuffbin

# The default target to run when `make` is executed.
.DEFAULT_GOAL := build
.DEFAULT_GOAL := build

# Install stuffbin if it doesn't exist.
$(STUFFBIN):
Expand All @@ -28,25 +28,54 @@ install-deps: $(STUFFBIN)
@echo "→ Installing frontend dependencies..."
@cd ${FRONTEND_DIR} && pnpm install

# Build the frontend for production.
# Build the frontend for production (both apps).
.PHONY: frontend-build
frontend-build: install-deps
@echo "→ Building frontend for production..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm build
@echo "→ Building frontend for production - main app & widget..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm build:main
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm build:widget

# Build only the main frontend app.
.PHONY: frontend-build-main
frontend-build-main: install-deps
@echo "→ Building main frontend app for production..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm build:main

# Build only the widget frontend app.
.PHONY: frontend-build-widget
frontend-build-widget: install-deps
@echo "→ Building widget frontend app for production..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm build:widget

# Run the Go backend server in development mode.
.PHONY: run-backend
run-backend:
@echo "→ Running backend..."
CGO_ENABLED=0 go run -ldflags="-s -w -X 'main.buildString=${BUILDSTR}' -X 'main.versionString=${VERSION}' -X 'github.com/abhinavxd/libredesk/internal/version.Version=${VERSION}' -X 'main.frontendDir=frontend/dist'" cmd/*.go

# Run the JS frontend server in development mode.
# Run the JS frontend server in development mode (main app only).
.PHONY: run-frontend
run-frontend:
@echo "→ Installing frontend dependencies (if not already installed)..."
@cd ${FRONTEND_DIR} && pnpm install
@echo "→ Running frontend..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm dev
@echo "→ Running main frontend app..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm dev:main

# Run the main frontend app in development mode.
.PHONY: run-frontend-main
run-frontend-main:
@echo "→ Installing frontend dependencies (if not already installed)..."
@cd ${FRONTEND_DIR} && pnpm install
@echo "→ Running main frontend app..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm dev:main

# Run the widget frontend app in development mode.
.PHONY: run-frontend-widget
run-frontend-widget:
@echo "→ Installing frontend dependencies (if not already installed)..."
@cd ${FRONTEND_DIR} && pnpm install
@echo "→ Running widget frontend app..."
@export VITE_APP_VERSION="${VERSION}" && cd ${FRONTEND_DIR} && pnpm dev:widget

# Build the backend binary.
.PHONY: build-backend
Expand Down
Loading
Loading