* feat: added surveyClosedMessage field to database and also added it's types
* feat: added the custom closed message to the frontend
* fix: fixes build issue
* fix: refactored the code to toggle surveyClosedMessage and redirectUrl
* pnpm format
* recreate prisma migration
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* add isDraft=true to all new questions and remove it on save
* update button to show on draft questions
* re-add input validation
---------
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* created new create-display and updated display endpoints with zod, db service-layer, and next.js route handlers
* changed the api URL and changed few type definations
* new getTeamDetails service is created which will be further used by display and response endpoints
* changed the prisma call with getTeamDetails service
* created display services and zod validation schema
* removed envId from func parameter
* fix build error by adding a type annotation
* Moved the return inside try block
* Removed comments
* changed the update display service name to markDisplayResponded
* Update route.ts
* reference person type in display, check response code first then transform to json
* add createdAt & updatedAt to person when query display
* pnpm format
* small optimizations
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* Added Notification API
* Added Email functionality to the weekly
notification
* Added no live survey email notification
* Activating weeklySummary notification alertSwitch
* Adding check to include only surveys which
have weeklySummary enabled
* Updated the condition for weekSummary
notification check
* update UI
* Update to reduce number of database calls
* Updated the email subject when no survey in weeklysummary
* applied pnpm format
* update notification settings with new types and fix functionality
* loop through all products to send weekly summary email, colocate files
* fix build errors
* add more types
* add vercel.json for cron configuration
* remove console.logs, limit responses to 5 per survey
* update email subject
* improve how responses are displayed in summary email
* update email layout
* add cron to github action instead of vercel
* add github action
* add beta flag
---------
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* feat: person overview is now a server rendered page
* feat: loader component & fix: minor changes as suggested
* hide: session count
* getAttributeValue always returns string
* fix: remove createdAt & updatedAt fields from user for now
* fix: use select instead of include to specify retreival fields
* feat: suspense streaming
* feat: skeleton table for streaming and loading
* fix: use integrated loading and cleanup components
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* only add packages once to their main package and remove them from other packages to avoid version conflicts
* update package versions
* update package versions, clean packages
* remove old vscode settings
* exclude formbricks-com from pnpm dev
* narrow down tsconfig includes, pnpm-lock update
* add pnpm test to github action
* fix: adds animation on duplicate tag
* fix: fixes error data flow
* fix: fixes tag getting animated on all errors
* fix: changes icon to heroicons
* fix: fixes error being thrown when adding duplicate tag
* fix: fixes responses not getting refetched
* init: jest for formbricks/js
* test: formbricks init
* test: formbricks set attributes
* test: formbricks updated attributes
* test: formbricks track, refresh, route change
* test: formbricks logout
* chore: use strict checking & replace let w const
* chore: destructure variables
* feat: test coverage visibility
* updated: pnpm lock file
* feat: tests now use a mock API
* fix: mock actual formbricks survey response and not empty placeholders
* rename: unit test for clarity
* chore: destructure setting attributes into individual tests
* feat: mock console logger for cleaner cli during tests
* add top level test script for turbo
* update babel config to fix errors in formbricks-js build
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* add placement enum and prop to db scheme
* enable placement toggle in setttings
* enable in-app survey placement demo
* add position helper function
* add placement to in-app-modal preview
* add placement prop to api endpoint
* add placement to widget
* remove coming soon
* add styling
* add apply tailwind styles instead of a ts function
* add clickoutside and darkoverlay prop
* add darkOverlay and clickOutside form
* update js package tailwind apply classes
* add background to widget and close on click outside
* only show backdrop and clickOutside if is center
* only display background when modal is centered
* responsive changes in js widget
* add updated migration, move styles from global.css to function
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* use new services for server-side data retrieval in survey responses & summary
* fix build errors
* add notes to response schema
* add response notes
* fix type conflicts
* add tag functionality
* run pnpm format
* fix tag state not updating correctly
* fat: added prisma model for Tag
* feat: adds api route for tags
* fat: added prisma model for Tag
* feat: adds mutation hook for creating a tag
* feat: adds apis for creating and retrieving tags
* feat: adds sample UI for creating and retrieving tags
* feat: adds UI components for Combobox
* feat: adds api router for fetching all tags for a product
* feat: adds combobox and api for appending tag to a response
* feat: adds api call for removing a tag from a response
* fix: relaced normal post with swr mutations
* fix: mutations for adding and deleting tags
* feat: integrated the create and delete tags apis and combobox
* fix: fixes api routes and db queries for tags apis
* fix: fixes api routes and headers
* feat: adds tag delete functionality
* feat: adds update tag api and UI
* feat: adds tags count api and integration
* feat: inital UI for tags table
* fix: UI for autosave name component
* fix: fixes api response
* fix: fixes errors on merge tags
* fat: added prisma model for Tag
* fix: replaces lodash.debounce with lodash
* fix: fixes capital letter tags not getting added
* fix: changed tag table to relate to environment
* fix: migrated tag apis from product to environment
* fix: formatting with prettier
* fix: fixes tags interface in single response
* fix: fixes UI bugs
* fix: fixes text on no tags
* fix: deleted local migrations
* fix: synced migrations with main
* fix: fixes combobox bugs
* fix: fixes placeholder
* update migrations
* fix build issues
* fix tag adding functionality
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* Add exit intent and scroll depth automatic actions
* Remove lorem ipsum text
* Modified event listeners to not get called if survey is already running
* Add trackEvent inside event listeners
* Remove lorem ipsum
* Move event listeners to init
* Fix exit intent listener
* Modify event listeners to get called everytime and change exit intent text
* Add missed files
* Move events to separate file and add name check
* Add name check
* Fix build error
* feat: added current person attributes to the user response
* feat: added tooltip showing user attributes in response view
* fix: switched to using the service layer and added annotations for json field
* rename PersonAttributesData to ResponsePersonAttributes to fit current naming scheme
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* feat: add deletes account button on profile section.
* feat: add delete account action when user click on delete account button
* feat:logout user when his account is deleted
* feat: added warning message before user deletes account
* feat: add description to Delete account
section
* fix: fix: build issue.
* fix: avoid giving the ownership of a team to a member who is not an admin
* fix: merge conflict
* fix: use !== in delete button disabled prop
* fix: typo semething -> Something
* refactor: simplified user deletion logic
* refactor: explain user deletion logic
* refactor: remove unecessary delete membership queries
* feat: add deletes account button on profile section.
* feat: add delete account action when user click on delete account button
* feat:logout user when his account is deleted
* feat: added warning message before user deletes account
* fix merge conlicts
* update to delete info text
* feat: delete the team if the owner deletes his account and the team has no admins
* add await