Compare commits

..

4277 Commits

Author SHA1 Message Date
Dhruwang f4512cc86e synced translations 2025-09-10 15:49:07 +05:30
Dhruwang 0c77da1456 Merge branch 'main' of https://github.com/formbricks/formbricks into feat/6511-chinese-simplified-translations 2025-09-10 15:48:19 +05:30
Dhruwang 2db309dd1f zh-CN -> zh-Hans-CN 2025-09-10 11:44:44 +05:30
Piyush Gupta feee22b5c3 feat: Quota management(part 1 & part 2) (#6521)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-09-09 13:25:05 +00:00
Dhruwang Jariwala a5433f6748 feat: improved project and org switch (#6500)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-09-09 12:58:44 +00:00
Dhruwang Jariwala 557f14bab8 fix: requried questions being skipped (#6506)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-09-09 08:33:41 +00:00
Dhruwang Jariwala fdba260301 fix: project styling settings issues (#6488) 2025-09-09 08:33:28 +00:00
Yuuenn f0c4c7000c fix(i18n): correct zh-CN label for Traditional Chinese 2025-09-08 20:36:41 +03:00
Yuuenn ccd401c0a5 add translation for fix#6512 2025-09-08 19:52:02 +03:00
Yuuenn e9bf0b7dd9 Merge remote-tracking branch 'upstream/main' into feat/6511-chinese-simplified-translations
Merge upstream/main into feat/6511-chinese-simplified-translations to sync with latest changes
2025-09-08 19:43:17 +03:00
Yuuenn 9e322a4fff fix translation 2025-09-08 19:17:33 +03:00
Yuuenn cf36b59fd6 fix translation 2025-09-08 18:31:53 +03:00
devin-ai-integration[bot] 764b8ec260 docs: update single use links documentation to reflect sharing modal location (#6513)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2025-09-08 12:08:26 +00:00
Dhruwang Jariwala ac5d1e651e fix: untranslated string (#6512) 2025-09-08 10:27:31 +00:00
Yuuenn 83b6f71867 feat(i18n): add Simplified Chinese (zh-CN) translations 2025-09-07 17:17:02 +03:00
Yuuenn 26203640a4 feat: simplified chinese translations 2025-09-06 21:33:51 +03:00
Johannes 62ffcc8e68 docs: clarified Roles docs + added 2FA (#6507) 2025-09-05 04:03:44 -07:00
Dhruwang Jariwala 326872a86b fix: response data table settings modal breaking (#6501) 2025-09-05 10:41:39 +00:00
Victor Hugo dos Santos 892b55662e chore: conditionally enable Sentry plugin based on authentication token (#6502) 2025-09-05 09:44:46 +00:00
Harsh Bhat 23143c8664 docs: Integrate mintlify docs with Posthog (#6487)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-09-05 07:27:21 +00:00
dependabot[bot] 4c71caf0da chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#6491)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 07:50:27 +02:00
Dhruwang Jariwala 173821f846 chore: dropdown menu storybook (#6453) 2025-09-04 05:20:38 +00:00
Matti Nannt f139830020 fix: sentry source map upload workflow authentication (#6327)
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: Victor Hugo dos Santos <115753265+victorvhs017@users.noreply.github.com>
2025-09-02 21:57:41 +00:00
Jonathan Reimer 70979a3b5b Add Linux Foundation health score badge to README (#6496) 2025-09-02 18:35:14 +02:00
Matti Nannt 061fa036be chore: add deployment options to ECR image build action (#6498) 2025-09-02 17:54:15 +02:00
Dhruwang Jariwala b83c0a4a5d chore: update romanian translations (#6495) 2025-09-02 10:58:49 +00:00
Dhruwang Jariwala 1bc0563965 fix: update action class issue (#6484) 2025-09-02 10:44:22 +00:00
Dhruwang Jariwala 3a4e2a9f85 fix: duplicate response and contact deletion calls (#6489) 2025-09-02 05:49:20 +00:00
Dhruwang Jariwala bd48139a4f chore: tag stories (#6468) 2025-09-01 13:46:10 +00:00
Harsh Bhat 89fe82a0d6 docs: Add docs for Link settings (#6492) 2025-09-01 13:44:06 +00:00
om pharate 65dc1fa771 fix(tooltip): wrap TooltipContent in a Portal for improved rendering (#6458)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-09-01 11:49:54 +00:00
Dhruwang Jariwala 438990bffc chore: slider component story (#6469) 2025-09-01 10:56:50 +00:00
Dhruwang Jariwala 7f7bc989c6 fix: data table toolbar alignment (#6486) 2025-09-01 10:14:22 +00:00
Victor Hugo dos Santos baa2b31bc9 fix: conditional logic build groups bug (#6476) 2025-09-01 10:04:31 +00:00
Matti Nannt 77aecf3aad chore: upgrade nextjs to 15.5.0 (#6454)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-09-01 09:51:17 +02:00
Dhruwang Jariwala 7c1110239b fix: mobile preview on large screens (#6478) 2025-08-29 08:51:40 +00:00
Dhruwang Jariwala eeb337521b fix: email verify survey question preview (#6474) 2025-08-29 05:46:14 +00:00
Dhruwang Jariwala 182f674879 fix: multiple recalls in redirect url (#6467) 2025-08-28 08:38:58 +00:00
Piyush Gupta 73c0da4b75 chore: Updates prisma to the latest version (#6457) 2025-08-28 07:44:01 +00:00
Matti Nannt f475b2e6d5 chore: remove deprecated scale plan from stripe subscription update (#6472) 2025-08-27 14:38:38 +00:00
Dhruwang Jariwala e5e8941016 chore: tweaked confirmation modal (#6471)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-08-27 13:11:23 +00:00
Anshuman Pandey c39c9998f0 fix: surveys package rtl (#6379)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-08-27 05:52:46 +00:00
Piyush Gupta a8c8e6f83f feat: adds switch component stories (#6462)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-08-26 06:15:03 +00:00
Dhruwang Jariwala 8a5e9f38d7 chore: delete dialog stories (#6452)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-26 05:54:28 +00:00
Dhruwang Jariwala a0740d20ea chore: improved version comparison (#6413) 2025-08-26 05:54:16 +00:00
Dhruwang Jariwala 71f378a494 fix: select dropdown in project create modal (#6465) 2025-08-26 04:46:23 +00:00
Dhruwang Jariwala 4bececeb56 fix: Japanese translations (#6464) 2025-08-25 12:06:49 +00:00
Satoshi 71c96f48d7 feat: japanese translations (#6461) 2025-08-25 02:27:31 -07:00
Johannes 05d88a3069 docs: add API reference to Personal Links (#6463) 2025-08-24 23:48:36 -07:00
Piyush Gupta b6a63edc88 feat: adds line break support in open text question textarea (#6456) 2025-08-25 05:57:04 +00:00
Matti Nannt a3764f0316 chore: increase data migration timeout to 600s (#6455) 2025-08-21 21:46:30 +02:00
Piyush Gupta ec52bdf3fe feat: adds stories for logo component (#6448) 2025-08-20 14:57:43 +00:00
Victor Hugo dos Santos 2e9ad3ce07 fix: community PR check 6400 (#6427)
Co-authored-by: Alex <alexander.seliakov@gmail.com>
2025-08-20 09:04:48 +00:00
Matti Nannt 654bd232d6 chore(cursor): add monorepo overview rule and refine database rule metadata (#6444) 2025-08-20 07:29:03 +00:00
Piyush Gupta 01984cf8ca chore: upgrades prisma to latest version (#6442) 2025-08-19 14:40:31 +00:00
Anshuman Pandey 3eb18bb120 fix: alert message on invalid file in file upload question (#6431) 2025-08-19 12:42:31 +00:00
Piyush Gupta 59859d0e4f fix: organization access checks (#6441) 2025-08-19 11:23:59 +00:00
Piyush Gupta c60c8cb7bd feat: adds stories for tooltip component (#6433) 2025-08-19 07:48:46 +00:00
Matti Nannt 9fa7aef253 chore: upgrade node-alpine image to 3.22 (#6437) 2025-08-19 07:45:46 +00:00
Piyush Gupta a23594428a fix: color picker in product logo (#6434)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-19 07:14:23 +00:00
Piyush Gupta 56e7106d6e fix: open text number question logic evaluation (#6439) 2025-08-19 06:03:49 +00:00
Matti Nannt 318f891540 fix: ECR workflow action failing (#6435) 2025-08-18 16:58:30 +02:00
Piyush Gupta a59881f9ae feat: adds drag and drop to matrix question fields (#6386) 2025-08-18 14:38:53 +00:00
Matti Nannt 7ab4a45ad6 feat: add ecr workflow (#6414) 2025-08-18 15:17:14 +02:00
Matti Nannt 2990e3805f fix: docker security scan action not uploading results (#6432) 2025-08-18 13:54:58 +02:00
Dhruwang Jariwala 29132ab029 fix: metadata issue (#6422)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-08-15 09:50:15 +00:00
Dhruwang Jariwala f860d8d25d fix: link preview settings tweaks (#6418) 2025-08-14 15:48:05 +00:00
Anshuman Pandey 3501990a79 fix: syntax issue in docker release action (#6415) 2025-08-14 12:12:42 +00:00
Piyush Gupta 41d60c8a02 chore: custom avatar removal (#6408)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-14 10:17:05 +00:00
Anshuman Pandey a6269f0fd3 fix: disables share tabs when single use is active (#6410) 2025-08-14 08:49:15 +00:00
Dhruwang Jariwala 9c0d0a16a7 fix: hover on survey close button (#6405) 2025-08-14 08:11:15 +00:00
Piyush Gupta c6241f7e7f fix: Inconsistent icon - Picture select vs. question header image (#6409) 2025-08-13 13:09:23 +00:00
Piotr Gaczkowski 92f1c2b75a fix: make terraform apply work again (#6403)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-13 12:19:18 +00:00
Dhruwang Jariwala 4d53291c8a fix: checks and rate limiting for email verification survey action (#6406) 2025-08-13 06:42:08 +00:00
Matti Nannt 14b7a69cea fix: permissions in release workflow (#6399) 2025-08-13 08:35:26 +02:00
Piyush Gupta a9015b008d docs: adds identifier note in saml sso docs (#6402) 2025-08-12 11:18:44 +00:00
Dhruwang Jariwala d19d624c0c feat: filters for url in metadata (#6387)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-08-12 09:37:12 +00:00
Matti Nannt 3edaab6c2b fix: release workflow environment is not accessible (#6398) 2025-08-12 10:31:05 +02:00
Dhruwang Jariwala 4786ab61e7 feat: customizable link previews (#6361)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-12 06:37:30 +00:00
Dhruwang Jariwala 819380d21c chore: sonarqube label fixes (#6381) 2025-08-11 18:22:21 +00:00
Anshuman Pandey fd3fedb6ed fix: fixes follow up UI when email is hidden in the contact info question (#6388) 2025-08-11 14:48:32 +00:00
Dhruwang Jariwala 88b1e63771 chore: updated nextjs version (#6389) 2025-08-11 13:24:35 +00:00
Piyush Gupta 3132fe74f1 chore: remove response note feature (#6390) 2025-08-11 12:01:31 +00:00
Harsh Bhat a27a2a67c8 chore: Change pricing form link (#6394) 2025-08-11 05:13:43 -07:00
Piyush Gupta 4a7ace5a0a feat: adds metadata columns in response table (#6368) 2025-08-11 11:25:06 +00:00
Victor Hugo dos Santos 43628caa3b feat: Add rate limiting to API V1 (#6355)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-08-11 09:10:45 +00:00
Matti Nannt 9d84bc0c8d fix: Uncontrolled data used in path expression in storage service (#6375)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-11 08:37:33 +00:00
Dhruwang Jariwala babc020085 chore: short url legacy removal (#6391) 2025-08-11 07:55:52 +00:00
Matti Nannt 95ee83ef31 chore: remove semantic PR thank you comment to reduce PR spam (#6380) 2025-08-11 07:24:59 +00:00
Matti Nannt d994af2dfd chore: Add Docker Image Vulnerability Scanning for SOC-2 Compliance (#6371) 2025-08-08 16:42:55 +00:00
Matti Nannt 4b5b5bf59f chore: add cursor rule for github workflows & actions (#6382) 2025-08-08 13:30:27 +00:00
Anshuman Pandey 62166dc4b1 fix: tidying up the survey card header (#6341)
Co-authored-by: Jakob Schott <jakob@formbricks.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: Jakob Schott <154420406+jakobsitory@users.noreply.github.com>
2025-08-08 10:18:56 +00:00
Matti Nannt ec6d88bf11 fix: OneLeet Code Scanning Sentry action issues (#6378) 2025-08-08 08:06:57 +00:00
Dhruwang Jariwala c0240d60a1 feat: romanian translations (#6369) 2025-08-08 04:03:55 +00:00
Dhruwang Jariwala cd2884d83e chore: app connection info alert (#6370)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-08-07 15:57:49 +00:00
StepSecurity Bot f7aea2e706 chore: Harden GitHub Actions (#6373)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-08-07 16:33:42 +02:00
Matti Nannt e80fc2ee61 chore: remove unused github workflows/actions (#6372) 2025-08-07 15:26:11 +02:00
Jakob Schott 9b489b0682 chore: Optimize styling for MultiLanguageCard (#6353) 2025-08-07 10:23:25 +00:00
Jakob Schott 2ee0efa1c2 fix: dynamic width for InputCombobox (#6365) 2025-08-06 23:52:09 -07:00
Anshuman Pandey 9ffd67262c fix: updates tolgee key (#6367) 2025-08-07 06:30:00 +00:00
Dhruwang Jariwala 68dc63ce0b chore: search bar and preview on survey list page (#6349)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-07 04:57:28 +00:00
Piyush Gupta f239ee9697 feat: adds multiLanguageSurveys and accessControl license features (#6331) 2025-08-06 14:35:28 +00:00
Piyush Gupta 282b3e070c fix: sonarqube medium vulnerability issues (#6362) 2025-08-06 11:23:27 +00:00
Johannes b5f0bd8f9a fix: update wording to match actual behaviour (#6364) 2025-08-06 03:38:47 -07:00
Piyush Gupta 3784bd6b5e fix: Missing space in Access Control Modal (#6356)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-08-06 08:17:47 +00:00
Piyush Gupta 41d27c2093 fix: use full width on sidebar elements (#6357) 2025-08-06 07:58:28 +00:00
Piyush Gupta 7400ce2e67 fix: secure cookies fix for callback URL (#6358) 2025-08-05 17:44:13 +00:00
Piyush Gupta 355782f404 chore: sonarqube low reliability issues (#6359) 2025-08-05 10:06:53 +00:00
Anshuman Pandey de70e97940 fix: adds loading state to the responses download button (#6352) 2025-08-05 04:22:22 +00:00
Dhruwang Jariwala 287c45f996 feat: surface option ids (#6339) 2025-08-05 04:03:12 +00:00
Harsh Bhat 3b07a6d013 docs: update multi-language surveys (#6354) 2025-08-04 10:02:31 -07:00
Jonas Höbenreich 0cc2606ec6 fix: Remove rounded-lg Class from Company Logo (#6347) 2025-08-04 01:42:05 -07:00
Dhruwang Jariwala 0fada94b80 chore: Replace entity ids (#6317) 2025-08-04 04:10:41 +00:00
Piyush Gupta a59ede20c7 fix: one leet security issues (#6303) 2025-08-01 14:35:11 +00:00
Piyush Gupta 84294f9df2 feat: adds debug logs (#6237)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-08-01 11:10:21 +00:00
Johannes 855e7c78ce docs: add quota docs (#6343) 2025-07-31 06:25:34 -07:00
Piotr Gaczkowski 6c506d90c7 fix: Make EKS endpoint private (#6333)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-07-31 13:08:18 +00:00
Piyush Gupta 53f6e02ca1 fix: XLSX security vulnerability | Update XLSX to SheetJS (#6321) 2025-07-31 12:12:17 +00:00
Jakob Schott 14de2eab42 feat: 733 warn users when switching survey type (#6336)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-31 08:30:06 +00:00
Piyush Gupta ad1f80331a fix: Low severity vulnerability in on-headers@1.0.2 (#6319) 2025-07-31 06:42:03 +00:00
Piyush Gupta 3527ac337b feat: adds response status select in filters (#6325) 2025-07-31 06:33:11 +00:00
Victor Hugo dos Santos 23c2d3dce9 feat: Add Regex No Code Action Page Filter (#6305)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-31 05:48:12 +00:00
Anshuman Pandey da652bd860 fix: adds proxy agent to next-auth (#6326) 2025-07-31 05:08:33 +00:00
Harsh Bhat 6f88dde1a0 chore: SUS template (#6328)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-30 05:27:58 -07:00
Jakob Schott 3b90223101 style: scroll indicator update (#6310) 2025-07-30 05:27:15 -07:00
Victor Hugo dos Santos e29a67b1f6 chore: run checks for PR 6304 (#6309)
Co-authored-by: ompharate <ompharate31@gmail.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-29 22:20:01 +00:00
Anshuman Pandey 78f5de2f35 fix: adds swift and kotlin language conventions to formbricks docs (#6316) 2025-07-29 11:09:01 +00:00
Dhruwang Jariwala b1a35d4a69 fix: unformatted db message in client display api (#6176) 2025-07-29 04:08:16 +00:00
Dhruwang Jariwala 2166c44470 feat: ID badge component (#6281) 2025-07-28 09:44:43 +00:00
Anshuman Pandey 080cf741e9 fix: adds api v1/responses docs for limit and skip parameters (#6314) 2025-07-28 07:44:04 +00:00
Anshuman Pandey 8881691509 refactor: refurbish logic editor UI (#6216) 2025-07-25 12:05:49 +00:00
Anshuman Pandey 3045f4437f fix: fixes status schedule updation (#6312) 2025-07-25 10:27:28 +00:00
Dhruwang Jariwala 91ace0e821 fix: scroll to bottom on error (#6301) 2025-07-25 09:11:41 +00:00
Dhruwang Jariwala 6ef281647a fix: unauthorised error on survey list page (#6302) 2025-07-25 06:10:48 +00:00
Dhruwang Jariwala 0aaaaa54ee chore: Don't force Project Onboarding for each project (#6299)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-25 06:10:30 +00:00
Harsh Bhat b1f78e7bf2 docs: webhook payload (#6307) 2025-07-25 06:00:00 +00:00
Piyush Gupta 7086ce2ca3 fix: removes unused translations (#6308) 2025-07-24 12:55:02 +00:00
Piyush Gupta 8f8b549b1d chore: Remove the public result sharing page. (#6298)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-07-24 12:06:59 +00:00
Piyush Gupta 28514487e0 chore: sunset weekly summary (#6282) 2025-07-24 12:01:39 +00:00
Piyush Gupta ee20af54c3 feat: adds an underline option in the rich text editor (#6274)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-23 10:54:05 +00:00
Johannes d08ec4c9ab docs: Fix domain split docs (#6300)
Co-authored-by: Victor Hugo dos Santos <115753265+victorvhs017@users.noreply.github.com>
2025-07-23 03:54:53 -07:00
Piyush Gupta 891c83e232 fix: CTA question button URL validation (#6284)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-07-23 05:48:18 +00:00
Johannes 0b02b00b72 fix: link input length and accessibility error (#6283)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-07-23 05:01:16 +00:00
Harsh Thakur a217cdd501 fix: email embed preview spacing issue (#6262) 2025-07-22 17:14:07 +00:00
om pharate ebe50a4821 fix: render copy link button based on single use survey (#6288) 2025-07-22 16:31:54 +00:00
Johannes cb68d9defc chore: enable blank issue (#6291) 2025-07-22 10:02:49 -07:00
Victor Hugo dos Santos c42a706789 fix: Experimental workflow package.json version update (#6287) 2025-07-22 15:19:38 +00:00
Anshuman Pandey 3803111b19 fix: fixes personalized links when single use id is enabled (#6270) 2025-07-22 12:08:45 +00:00
Dhruwang Jariwala 30fdcff737 feat: reset survey (#6267) 2025-07-22 12:04:26 +00:00
Dhruwang Jariwala e83cfa85a4 fix: github annotations (#6240) 2025-07-22 10:38:34 +00:00
Piyush Gupta eee9ee8995 chore: Replaces Unkey and Update rate limiting in the management API v2. (#6273) 2025-07-22 09:33:29 +00:00
Dhruwang Jariwala ed89f12af8 chore: rate limiting for server actions (#6271) 2025-07-22 09:18:12 +00:00
Piyush Gupta f043314537 fix: required action revert logic (#6269) 2025-07-22 04:10:09 +00:00
Victor Hugo dos Santos 2ce842dd8d chore: updated SAML SSO docs (#6280) 2025-07-22 04:09:11 +00:00
Johannes 43b43839c5 chore: auto-add bug to eng project (#6277) 2025-07-21 08:33:27 -07:00
Piyush Gupta 8b6e3fec37 fix: response filters icons and text (#6266) 2025-07-21 08:48:10 +00:00
Anshuman Pandey 31bcf98779 fix: fixes PIN 4 digit length error (#6265) 2025-07-21 07:30:03 +00:00
Matti Nannt b35cabcbcc chore(infra): enable cluster public access to mitigate tailscale issues (#6264) 2025-07-19 08:53:31 +02:00
Matti Nannt 4f435f1a1f fix: enable Tailscale subnet routes for EKS access (#6263) 2025-07-18 21:32:01 +02:00
Victor Hugo dos Santos 99c1e434df feat: Deploy to staging on pre-release builds (#6261) 2025-07-18 15:35:00 +00:00
Piyush Gupta b13699801b fix: survey preview for suid enabled surveys (#6253)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-07-18 08:54:48 +00:00
Jakob Schott ceb2e85d96 chore: 742 storybook setup and cursor rule (#6220)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-18 08:03:39 +00:00
Anshuman Pandey c5f8b5ec32 fix: removes suid UI from the survey-editor (#6249)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-18 07:41:05 +00:00
Anshuman Pandey bdbd57c2fc fix: adds read only survey url (#6252) 2025-07-18 05:14:32 +00:00
Victor Hugo dos Santos d44aa17814 feat: add sentry sourcemaps to pre-releases (#6242) 2025-07-17 16:11:28 +00:00
Jakob Schott 23d38b4c5b chore: move tab component to storybook (#6214) 2025-07-17 09:26:31 +00:00
Piyush Gupta 58213969e8 feat: remove brevo contact on account deletion (#6231)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-07-16 16:00:34 +00:00
Victor Hugo dos Santos ef973c8995 chore: merge rate limiter epic branch into main (#6236)
Co-authored-by: Harsh Bhat <90265455+harshsbhat@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com>
Co-authored-by: Aditya <162564995+Naidu-4444@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Jakob Schott <154420406+jakobsitory@users.noreply.github.com>
Co-authored-by: Suraj <surajsuthar0067@gmail.com>
Co-authored-by: Kshitij Sharma <63995641+kshitij-codes@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-07-16 12:28:59 +00:00
dependabot[bot] bea02ba3b5 chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#6161)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-07-16 10:42:54 +00:00
Piyush Jain 1c1e2ee09c chore: add timeout settings for production LB (#5884) 2025-07-16 09:08:11 +00:00
Piyush Gupta 2bf7fe6c54 docs: adds email address validation note (#6239) 2025-07-16 01:55:21 -07:00
Saurav Jain 9639402c39 fix: allow read and write API key permissions for /v1/management/me (#6178)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-07-16 07:52:10 +00:00
Victor Hugo dos Santos 53213b41ee feat: New share modal - "In App" tab (#6225)
Co-authored-by: Jakob Schott <154420406+jakobsitory@users.noreply.github.com>
Co-authored-by: Jakob Schott <jakob@formbricks.com>
2025-07-15 17:53:47 +00:00
Dhruwang Jariwala b8b5eead7a fix: close survey on response limit setting behaviour (#6203)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-07-15 16:36:03 +00:00
Jakob Schott a0044ce376 chore: reduced the breakpoint (#6232)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-15 13:49:26 +00:00
Piyush Gupta b3a1f24683 fix: emails font size (#6228) 2025-07-15 13:37:13 +00:00
Dhruwang Jariwala f06d48698a feat: social media tab (#6219)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-07-15 13:28:32 +00:00
Anshuman Pandey acd508ba19 feat: sharing modal anonymous links (#6224)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-15 08:03:10 +00:00
Piyush Gupta e5591686b4 fix: source tracking in link surveys (#6209) 2025-07-14 09:23:22 -07:00
Dhruwang Jariwala 7be7466eee feat: qr code tab (#6212)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-14 10:53:52 +00:00
Victor Hugo dos Santos 8af6c15998 feat: new share modal website embed and pop out (#6217) 2025-07-11 12:45:42 +00:00
Piyush Gupta 17d60eb1e7 feat: revamp sharing modal shell (#6190)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-11 04:17:43 +00:00
Johannes d6ecafbc23 docs: add hidden fields for SDK note (#6215) 2025-07-10 07:35:09 -07:00
Dhruwang Jariwala 599e847686 chore: removed integrity hash chain from audit logging (#6202) 2025-07-10 10:43:57 +00:00
Victor Hugo dos Santos 4e52556f7e feat: add single contact using the API V2 (#6168) 2025-07-10 10:34:18 +00:00
Kshitij Sharma 492a59e7de fix: show multi-choice question first in styling preview (#6150)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-10 01:41:02 -07:00
Jakob Schott e0be53805e fix: Spelling mistake for Nodemailer in docs (#5988) 2025-07-10 00:29:50 -07:00
Johannes 5c2860d1a4 docs: Personal Link docs (#6034)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-10 00:13:29 -07:00
Piyush Gupta 18ba5bbd8a fix: types in audit log wrapper (#6200) 2025-07-10 03:55:28 +00:00
Johannes 572b613034 docs: update prefilling docs (#6062) 2025-07-09 08:52:53 -07:00
Abhi-Bohora a9c7140ba6 fix: Edit Recall button flicker when user types into the edit field (#6121)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-09 08:51:42 -07:00
Abhishek Sharma 7fa95cd74a fix: recall fallback input to be displayed on top of other contai… (#6124)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-07-09 08:51:27 -07:00
Nathanaël 8c7f36d496 chore: Update docker-compose.yml, fix syntax (#6158) 2025-07-09 17:39:58 +02:00
Jakob Schott 42dcbd3e7e chore: changed date format on license alert to MMM dd, YYYY (#6182) 2025-07-09 14:57:04 +00:00
Piyush Gupta 1c1cd99510 fix: unsaved survey dialog (#6201) 2025-07-09 08:14:32 +00:00
Dhruwang Jariwala b0a7e212dd fix: suid copy issue on safari (#6174) 2025-07-08 10:50:02 +00:00
Dhruwang Jariwala 0c1f6f3c3a fix: translations (#6186) 2025-07-08 08:52:36 +00:00
Matti Nannt 9399b526b8 fix: run PR checks on every pull requests (#6185) 2025-07-08 11:07:03 +02:00
Dhruwang Jariwala cd60032bc9 fix: row/column deletion in matrix question (#6184) 2025-07-08 07:12:16 +00:00
Dhruwang Jariwala a941f994ea fix: removed userId from contact endpoint response (#6175)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-08 06:36:56 +00:00
Jakob Schott 75d170bce5 chore: removed unnecessary text bullet point from dialog (#6180) 2025-07-07 15:29:44 +00:00
Piyush Gupta 16caae6dd6 chore: upgrade to storybook 9 (#6141) 2025-07-07 09:55:22 +00:00
Kshitij Sharma a490600479 fix: ensure date question respects question color styling (#6155)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-07-07 00:43:21 -07:00
Suraj be28641722 fix: changing project name doesn't update in the sidebar and project selector (#6130)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-07 05:36:17 +00:00
Dhruwang Jariwala 4fdea3221b feat: Personal links (#6138)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-04 14:17:40 +00:00
Jakob Schott fef30c54b2 feat: replace deprecated modals with new one (5824) (#5903)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com>
2025-07-04 11:44:36 +00:00
Johannes 75362eac7a chore: updating contribution docs (#6157) 2025-07-04 04:56:14 -07:00
Dhruwang Jariwala 6e3b224944 chore: sunset card shadow color (#6152) 2025-07-04 10:44:32 +00:00
Aditya ef1be219b4 fix: Show Specific Error for Duplicate Tag Names (#6057)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-07-04 08:47:49 +00:00
Piyush Gupta ba9b01a969 fix: survey list refresh (#6104)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-07-04 08:16:27 +00:00
Harsh Bhat e810e38333 chore: change pricing (#5850)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-03 13:40:19 +00:00
victorvhs017 dab8ad00d5 feat: Add Sentry source maps (#6047) 2025-07-03 13:03:59 +00:00
Anshuman Pandey 2c34f43c83 fix: adds build step to the database package for optimizing docker build (#5970)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-07-02 03:42:01 +00:00
Kunal Garg 979fd71a11 feat: reset password in accounts page (#5219)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2025-07-01 15:41:14 +00:00
Harsh Bhat 1be23eebbb docs: Add audit logs, domain split in the license details (#6139) 2025-07-01 04:57:42 -07:00
Dhruwang Jariwala d10cff917d fix: recall parsing for headlines with empty strings (#6131) 2025-07-01 08:16:14 +00:00
Dhruwang Jariwala da72101320 fix: active tab scaling issue (#6127) 2025-06-30 11:10:33 +00:00
Aditya 5f02ad49c1 fix: allow dynamic height for action cards to show full text (#6106)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-30 02:29:06 -07:00
Dhruwang Jariwala 6644bba6ea fix: formatted databse error message for response endpoint (#6111) 2025-06-30 06:15:50 +00:00
Piyush Gupta 0b7734f725 fix: optional fields in update response API (#6113) 2025-06-30 06:13:42 +00:00
Dhruwang Jariwala 1536bf6907 fix: question change issue (#6091) 2025-06-29 11:10:30 -07:00
Varun Singh e81190214f feat: Enable recall for welcome cards. (#5963)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-06-29 10:24:54 -07:00
Romit 48c8906a89 fix: Preview in Email embed is broken (#6120) 2025-06-29 09:31:26 -07:00
Johannes 717b30115b fix: align settings card height plus border radius (#6119) 2025-06-27 07:20:52 -07:00
victorvhs017 1f3962d2d5 fix: updated url validation (#6096)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-06-27 13:01:36 +00:00
Piyush Gupta 619f6e408f fix: /api/v2/management/contact-attribute-keys returns 500 instead of 409 on duplicate record (#6100) 2025-06-27 12:50:35 +00:00
Dhruwang Jariwala 4a8719abaa fix: auto subscribe (#6114) 2025-06-27 12:33:08 +00:00
Dhruwang Jariwala 7b59eb3b26 fix: name and description updation in contact attribute key via api (#6089) 2025-06-27 12:09:41 +00:00
Piyush Gupta 8ac280268d fix: update preview URL construction in survey dropdown menu (#6117) 2025-06-27 11:42:14 +00:00
Dhruwang Jariwala 34e8f4931d chore: simplified sharing modal access (#6103) 2025-06-27 11:39:15 +00:00
Piyush Gupta ac46850a24 fix: unformatted db errors in contact attribute keys management v1 API (#6102) 2025-06-27 05:48:08 +00:00
victorvhs017 6328be220a fix: updated api docs to use - instead of > (#6107) 2025-06-26 09:54:34 -07:00
Dhruwang Jariwala 882ad99ed7 fix: templates page back button (#6088)
Co-authored-by: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-06-26 10:38:45 +00:00
Piyush Gupta ce47b4c2d8 fix: improper zod validation in action classes management API (#6084) 2025-06-26 10:21:01 +00:00
Matti Nannt ce8f9de8ec fix: confetti animation display issue (#6085)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-06-26 06:35:19 +00:00
Anshuman Pandey ed3c2d2b58 fix: fixes shrinking checkbox (#6092) 2025-06-26 05:14:54 +00:00
Anshuman Pandey 9ae226329b fix: decreases environment ttl to 5 minutes (#6087) 2025-06-25 10:30:36 +00:00
Piyush Gupta 12c3899b85 fix: input validation in management v2 webhooks API (#6078) 2025-06-25 09:49:56 +00:00
Piyush Gupta ccb1353eb5 fix: split domain docs (#6086) 2025-06-25 00:50:23 -07:00
Johannes 22eb0b79ee chore: update issue templates (#6081) 2025-06-24 13:42:10 -07:00
Abhishek Sharma 5eb7a496da fix: "Add ending" button ui distortion in safari browser (#6048) 2025-06-24 11:50:17 -07:00
Matti Nannt 7ea55e199f chore(infra): always pull new images on staging (#6079) 2025-06-24 19:45:00 +02:00
Varun Singh 83eb472acd fix: Empty survey list state after deleting the last survey. (#6044)
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-24 07:52:18 -07:00
Jakob Schott d9fe6ee4f4 fix: styling update and loading animation for survey media (#6020) 2025-06-24 09:53:27 +00:00
Anshuman Pandey 51b58be079 docs: fixes the bulk contact upload api docs and adds the email property (#6066)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-06-24 01:44:34 -07:00
Harsh Bhat 397643330a docs: Update docs for Private file upload and general client API (#6045) 2025-06-23 08:26:10 -07:00
Piyush Gupta e5fa4328e1 fix: tls handshake failure in self-hosting license generation (#6050) 2025-06-23 08:42:08 +00:00
Jakob Schott 4b777f1907 feat: unify modal component in storybook (#5901) 2025-06-22 13:54:04 +00:00
Piyush Gupta c3547ccb36 fix: default environment redirect (#6033) 2025-06-20 16:46:43 +00:00
Johannes a0f334b300 chore: add rules (#6036) 2025-06-19 09:02:25 -07:00
Jakob Schott a9f635b768 chore: Satisfy SonarQube ReadOnly props for all question types (#6021) 2025-06-19 06:10:11 +00:00
Jakob Schott d385b4a0d6 fix: Set non-required as default value on questions (#6018) 2025-06-19 06:09:36 +00:00
Matti Nannt 5e825413d2 chore(infra): switch staging to internal lb (#6012) 2025-06-18 12:04:53 +00:00
Johannes 8c3e816ccd fix: remove Formbricks branding from Link Pages (#5989)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-06-16 16:18:25 +00:00
Anshuman Pandey 6ddc91ee85 fix: deletes local storage environment id on logout (#5957) 2025-06-16 14:01:16 +00:00
Saurav Jain 14023ca8a9 fix: keyboard accessibility issue (#3768) (#5941) 2025-06-16 15:45:52 +02:00
Dhruwang Jariwala 385e8a4262 fix: Airtable fix (#5976)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-06-16 12:37:05 +00:00
Matti Nannt e358104f7c chore: fast return ping endpoint when telemetry is disabled (#5893)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-16 12:14:07 +00:00
Dhruwang Jariwala c8e9194ab6 fix: broken email embed for rating question (#5890)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-16 11:49:19 +00:00
Matti Nannt bebe29815d feat: domain based access control (#5985)
Co-authored-by: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-06-16 11:37:02 +00:00
victorvhs017 7f40502c94 fix: Removed footer on follow-up email if white labelling enabled (#5984) 2025-06-16 10:59:57 +00:00
Dhruwang Jariwala 5fb5215680 fix: email enumeration via signup page (#5853)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-06-13 16:25:40 +00:00
Varun Singh 19b80ff042 fix: misplaced button text for 'preview survey' (#5972) 2025-06-13 05:29:41 -07:00
Jakob Schott 2dfdba2acf chore: Optimize text sizing and alignment for Drop-Off table (#5914)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-06-13 11:21:45 +00:00
Johannes f7842789de docs: tweak API wording (#5978) 2025-06-12 03:45:41 -07:00
Johannes 59bdd5f065 docs: add recall info to variables (#5977) 2025-06-12 03:21:53 -07:00
Jonas Höbenreich 8da1bc71a6 fix: duplicate name survey copy issue (#3865)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-11 10:59:51 +02:00
Piyush Gupta 0e0259691c fix: recall in survey editor (#5938) 2025-06-11 05:33:52 +00:00
Dhruwang Jariwala ac7831fa3d fix: auth checks in storage management api (#5931) 2025-06-11 04:56:20 +00:00
Dhruwang Jariwala db32cb392f chore: added curosr rules for database schema (#5935) 2025-06-10 14:01:06 +00:00
Piyush Jain e5cb01bd88 chore(cache): remove old servers (#5950) 2025-06-10 06:44:19 +00:00
Piyush Gupta cbef4c2a69 fix: broken templates (#5955)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-06-10 05:04:05 +00:00
Harsh Bhat 86948b70de docs: add EE license activation docs (#5930)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-06-09 12:39:03 +00:00
Dhruwang Jariwala dfe955ca7c chore: purge cache after deployment (#5934)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-09 11:02:28 +00:00
Piyush Jain eb4b2dde05 chore(elasticache): add serverless redis (#5943) 2025-06-09 07:01:51 +00:00
victorvhs017 f2dae67813 chore: updated docs (#5940) 2025-06-06 11:54:24 +00:00
DivyanshuLohani 3ffc9bd290 fix: iframe url not being automatically populated (#5892)
Co-authored-by: Divyanshu Lohani <DivyanshuLohani@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-06-06 09:12:59 +02:00
victorvhs017 a9946737df feat: audit logs (#5866)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-06-05 19:31:39 +00:00
Archit Sehgal ece3d508a2 fix: back button in survey published modal closes modal instead of navigating (#5831)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-06-05 20:45:47 +02:00
Piyush Gupta 0d1d227e6a feat: add security headers for Referrer-Policy and Permissions-Policy (#5877) 2025-06-05 04:21:10 +00:00
Matti Nannt c0b8edfdf2 chore: Comprehensive Cache Optimization & Performance Enhancement (#5926)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-06-04 20:33:17 +02:00
Dhruwang Jariwala 45fec0e184 fix: language tweaks (#5933) 2025-06-04 11:27:19 +00:00
Dhruwang Jariwala 2c2ba919c6 fix: backspacing headline causing infinite loop (#5891)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-06-04 10:26:15 +00:00
Piyush Jain 6d8adc6168 chore: switch curl images to quay.io (#5916) 2025-05-31 11:19:22 +00:00
Anshuman Pandey ec208960e8 fix: surveys package resize observer issue (#5907)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-29 19:00:28 +00:00
Piyush Gupta b9505158b4 fix: ciphers issue for fb staging (#5908) 2025-05-29 14:39:20 +00:00
abhishek ad0c3421f0 fix: alignment issue in file upload (#5828) 2025-05-29 16:40:18 +02:00
Matti Nannt 916c00344b chore: clean up public directory and update cache headers (#5904)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-29 10:46:41 +00:00
Jakob Schott 459cdee17e chore: tweak language select dropdown width (#5878) 2025-05-29 03:54:51 +00:00
Harsh Bhat bb26a64dbb docs: follow up update (#5601)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-05-29 03:24:58 +00:00
Harsh Bhat 29a3fa532a docs: RTL support in multi-lang docs (#5898)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-05-29 03:02:52 +00:00
Harsh Bhat 738b8f9012 docs: android sdk (#5889) 2025-05-29 02:47:26 +00:00
Matti Nannt c95272288e fix: caching issue in newest next version (#5902) 2025-05-28 21:44:39 +02:00
Piyush Gupta 919febd166 fix: resend verification email translation (#5881) 2025-05-28 09:51:55 +00:00
Dhruwang Jariwala 10ccc20b53 fix: recall not working for NPS question (#5895) 2025-05-28 09:44:55 +00:00
Dhruwang Jariwala d9ca64da54 fix: favicon warning (#5874)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-28 08:09:51 +00:00
Anshuman Pandey ce00ec97d1 fix: js-core trackAction bugs (#5843)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-27 17:14:21 +00:00
Matti Nannt 2b9cd37c6c chore: enable rate limiting by default in helm chart (#5879) 2025-05-27 14:36:39 +02:00
Piyush Gupta f8f14eb6f3 fix: weak cipher suite usage (#5873) 2025-05-27 12:09:16 +00:00
Matti Nannt 645fc863aa fix: performance issues on survey summary (#5885)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-27 12:07:31 +00:00
Anshuman Pandey c53f030b24 fix: multiple close function calls because of timeouts (#5886) 2025-05-27 07:20:35 +00:00
devin-ai-integration[bot] 45d74f9ba0 fix: Update JS SDK log messages for clarity (#5819)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matti.sh>
2025-05-26 09:57:37 +00:00
Piyush Gupta 87870919ca fix: issues in the email change feature (#5868) 2025-05-24 12:04:58 +00:00
Piyush Gupta ce2fdde474 fix: rtl issue in open text placeholder (#5855) 2025-05-23 11:47:38 +00:00
Harsh Bhat 6e2f30c6ed chore: add no index for survey pages (#5859) 2025-05-23 05:44:22 +00:00
Jakob Schott 5c8040008a fix: 602 modal height on small screens (#5863) 2025-05-23 05:34:43 +00:00
Harsh Bhat 639e25d679 chore: canonical seo issue (#5852) 2025-05-21 13:38:41 +00:00
Piyush Gupta f7e5ef96d2 feat: added email change feature (#5837)
Co-authored-by: Paribesh01 <nepalparibesh01@gmail.com>
Co-authored-by: Paribesh Nepal <100255987+Paribesh01@users.noreply.github.com>
2025-05-21 11:23:12 +00:00
Dhruwang Jariwala 745f5487e9 fix: tweaks in open text question (#5841)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-21 06:20:40 +00:00
devin-ai-integration[bot] 0e7f3adf53 feat: Make session maxAge configurable with environment variable (#5830)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matti.sh>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-21 05:49:18 +00:00
Dhruwang Jariwala 342d2b1fc4 fix: response getting stuck (#5849) 2025-05-21 05:33:13 +00:00
Piyush Gupta 15279685f7 fix: delete pre-filled value (#5839) 2025-05-21 04:23:05 +00:00
Matti Nannt 12aa959f50 fix: slow responses query slowing down database (#5846) 2025-05-21 04:13:31 +00:00
Johannes 9478946c7a fix: fix icon in new docs page (#5836) 2025-05-19 04:53:57 -07:00
Johannes 8560bbf28b docs: documentation of multi-tenancy of Formbricks Cloud (#5835) 2025-05-19 04:47:26 -07:00
victorvhs017 df7afe1b64 fix: non-interactive elements without roles (#5804)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-19 10:10:13 +00:00
Piyush Gupta df52b60d61 fix: env-var-generation in mac os for self-hosting (#5814) 2025-05-17 07:50:15 +00:00
Jakob Schott 65b051f0eb feat: download selection of responses (#5488)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-05-17 00:59:14 +00:00
Dhruwang Jariwala 7678084061 fix: unknown property warnings (#5800) 2025-05-16 13:45:48 +00:00
victorvhs017 022d33d06f chore: track server action with sentry and general fixes (#5799) 2025-05-16 12:02:06 +00:00
Anshuman Pandey 4d157bf8dc fix: user attributes updates api email fix (#5827) 2025-05-16 11:48:34 +00:00
Dhruwang Jariwala 9fcbe4e8c5 chore: swap next and back button input (#5748)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-05-16 08:51:12 +00:00
Piyush Gupta 5aeb92eb4f chore: removes https enforcement from management api (#5810) 2025-05-15 19:40:04 +00:00
Matti Nannt 00dfa629b5 fix: build process warnings (#5734)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-15 15:46:05 +00:00
Piyush Gupta 3ca471b6a2 feat: implement user management role configuration and access control (#5808) 2025-05-15 15:09:33 +00:00
Dhruwang Jariwala a525589186 fix: token permisson issues (#4986) 2025-05-15 08:29:40 +00:00
Piyush Gupta 59ed10398d fix: suid bugs (#5780)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-14 12:09:41 +00:00
Piyush Gupta 25a86e31df fix: promise misuse error (#5783) 2025-05-14 12:06:41 +00:00
Matti Nannt 7d6743a81a chore(deps): upgrade npm dependencies in /packages (#5807) 2025-05-14 14:09:26 +02:00
Matti Nannt 6616f62da5 chore: remove unused prisma accelerate extension (#5682) 2025-05-14 12:34:08 +02:00
dependabot[bot] a3cbc05e12 chore(deps): bump marocchino/sticky-pull-request-comment from 2.9.1 to 2.9.2 (#5760)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 12:29:43 +02:00
dependabot[bot] 97095a627a chore(deps): bump aws-actions/configure-aws-credentials from 4.0.2 to 4.2.0 (#5757)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 12:27:59 +02:00
dependabot[bot] 910d257c56 chore(deps): bump SonarSource/sonarqube-scan-action from 5.1.0 to 5.2.0 (#5758)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 12:27:39 +02:00
dependabot[bot] 0c0a008b28 chore(deps): bump actions/dependency-review-action from 4.6.0 to 4.7.0 (#5759)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 12:27:14 +02:00
dependabot[bot] 9879458353 chore(deps): bump borchero/terraform-plan-comment from 2.4.0 to 2.4.1 (#5761)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 12:26:46 +02:00
Matti Nannt d44f1f3b4b chore: remove dependabot action and return to simple repository setup (#5806) 2025-05-14 12:23:38 +02:00
Dhruwang Jariwala c5d387a7e5 fix: multi choice issues (#5802) 2025-05-14 09:59:22 +00:00
Anshuman Pandey a6aacd5c55 fix: transaction timeout and max contacts (#5415)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-14 11:01:39 +02:00
Piyush Gupta 57e7485564 fix: reliability issues (#5781) 2025-05-13 16:40:16 +00:00
Matti Nannt 42a38a6f47 chore: fix environment surveys filter not working properly (#5793) 2025-05-13 13:34:27 +02:00
Dhruwang Jariwala 34bb9c2127 fix: multi select question (#5792)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-13 13:12:22 +02:00
Dhruwang Jariwala 6442b5e4aa fix: Vietnamese char interpretation (#5747) 2025-05-13 11:54:30 +02:00
Piyush Gupta dde5a55446 fix: CTA and consent question breaking the survey editor (#5745) 2025-05-13 04:18:34 +00:00
Piyush Gupta 13e615a798 fix: duplicate switch cases (#5752)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-05-12 15:00:55 +00:00
victorvhs017 9c81961b0b chore: remove redundant code (#5751) 2025-05-12 12:23:05 +00:00
Matti Nannt c1a35e2d75 chore: introduce new reliable cache for enterprise license check (#5740)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-12 10:41:53 +02:00
Piyush Gupta 13415c75c2 docs: adds auth-behaviour docs (#5743) 2025-05-12 05:28:12 +00:00
Johannes 300557a0e6 docs: update ee feature table (#5744) 2025-05-11 22:10:40 -07:00
Anshuman Pandey fcbb97010c fix: follow ups ending card (#5732) 2025-05-10 10:30:49 +02:00
Matti Nannt 6be46b16b2 fix: limit number of surveys in environment state (#5715) 2025-05-09 16:10:01 +00:00
Matti Nannt 35b2356a31 fix: nextjs cache handler for next 15 (#5717)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-09 17:51:57 +02:00
Johannes 53ef756723 test: last round (#5731) 2025-05-09 10:09:09 +02:00
Johannes 0f0b743a10 test: backfill variety of test files (#5729)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-09 07:26:41 +00:00
Matti Nannt 3f7dafb65c fix: failing authOptions test because of missing mock (#5727) 2025-05-09 02:28:55 +02:00
Matti Nannt 9df791b5ff chore: add tests for apps/web/lib files (#5725) (#5726) 2025-05-09 01:35:50 +02:00
Dhruwang Jariwala dea40d9757 test: unit test for survey.ts (#5724) 2025-05-09 00:54:19 +02:00
Matti Nannt dd12a589d6 chore: add tests for apps/web/lib files (#5725) 2025-05-08 20:54:50 +00:00
Harsh Bhat af6e5ba31e chore: add tests for packages/surveys/lib (#5722)
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-08 20:31:52 +00:00
victorvhs017 2b57b2080b chore: fixed included files on surveys package tests (#5723) 2025-05-08 19:49:02 +00:00
Johannes 154c85a0f7 test: add test to multiple files (#5719)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-05-08 19:24:50 +00:00
Piyush Gupta 3f465d4594 chore: adds response utils tests (#5721) 2025-05-08 18:44:09 +00:00
Anshuman Pandey 94e883f4c3 chore: adds tests for apps/web/modules/survey/editor/lib (#5720) 2025-05-08 18:42:40 +00:00
victorvhs017 38622101f1 chore: add tests to apps/web/modules/survey/components and apps/web/modules/survey/link (#5707) 2025-05-08 17:24:46 +00:00
Dhruwang Jariwala 0eb64c0084 test: ui module test part 2 (#5716) 2025-05-08 15:37:59 +00:00
Johannes 409f5b1791 test: onboarding unit tests (#5712)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-05-08 14:57:20 +00:00
Harsh Bhat 14398a9c4f chore: add tests for package/surveys/src/components/general (#5699) 2025-05-08 13:23:36 +00:00
Piyush Gupta d1cdf6e216 chore: adds unit tests for ee/contact/lib and modules/organization (#5713) 2025-05-08 13:06:39 +00:00
Dhruwang Jariwala 65da25a626 fix: rate limiting on login page (#5710) 2025-05-08 12:29:58 +00:00
Anshuman Pandey ce8b019e93 chore: modules/survey/lib and modules/ee/contacts/api/v1 (#5711) 2025-05-08 10:52:55 +00:00
Dhruwang Jariwala 67d7fe016d test: Test for UI module (Part 1) (#5703) 2025-05-08 08:16:24 +00:00
Dhruwang Jariwala 47583b5a32 fix: unauthorized email address change (#5709) 2025-05-08 06:34:04 +00:00
Jakob Schott 03c9a6aaae chore: 576 test coverage: apps/web/modules/survey/list/lib (#5706) 2025-05-07 21:32:52 +00:00
Jakob Schott 4dcf9b093b chore: 576 test coverage components wrappers (#5702) 2025-05-07 21:31:43 +00:00
Jakob Schott 5ba5ebf63d chore: 576 test coverage apps web modules survey list components (#5704) 2025-05-07 19:24:15 +00:00
victorvhs017 115bea2792 chore: add tests to package/surveys/src/components/questions (#5694) 2025-05-07 18:42:25 +00:00
Piyush Gupta b0495a8a42 chore: adds unit tests in module/projects (#5701) 2025-05-07 16:34:06 +00:00
Johannes faabd371f5 fix: infinite loop and freeze (#5622)
Co-authored-by: Jakob Schott <jakob@formbricks.com>
Co-authored-by: Jakob Schott <154420406+jakobsitory@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-07 14:19:26 +00:00
Johannes f0be6de0b3 chore: remove unused code (#5697) 2025-05-07 14:16:27 +00:00
Matti Nannt b338c6d28d chore: remove unused cache files (#5700) 2025-05-07 15:26:13 +02:00
Anshuman Pandey 07e9a7c007 chore: tests for lib/utils and lib/survey (#5676) 2025-05-07 12:27:48 +00:00
victorvhs017 928bb3f8bc chore: updated sonar qube and vite config (#5695) 2025-05-07 11:13:07 +00:00
Piyush Jain b9d62f6af2 fix: pin version 1 of helmfile actions (#5691) 2025-05-07 09:45:57 +02:00
Matti Nannt f7ac38953b fix: infinite redirect issue (#5693)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-07 09:40:45 +02:00
Anshuman Pandey 6441c0aa31 fix: moves storage api management endpoint to use payload instead of … (#5348)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-07 04:55:58 +00:00
victorvhs017 16479eb6cf chore: add tests to environments path - part 2 (#5667) 2025-05-07 02:32:03 +02:00
Matti Nannt 69472c21c2 chore: simplify vite config for better coverage report (#5687) 2025-05-07 01:42:21 +02:00
Matti Nannt c270688e8f chore: update remaining npm dependencies (#5685) 2025-05-07 01:15:01 +02:00
victorvhs017 00c86c7082 chore: add tests to environments path - part 3 (#5680) 2025-05-07 00:37:36 +02:00
Matti Nannt e95e9f9fda fix: security issue because of outdated pnpm version (#5683) 2025-05-07 00:17:54 +02:00
Matti Nannt 1588c2f47b chore: remove config and script files from test coverage (#5684) 2025-05-06 22:21:45 +02:00
Vijay 53850c96db fix: sonar security hotspots (https, --ignore-scripts, api_key, math.random) (#5538)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-06 20:41:35 +02:00
Vijay ae2cb15055 fix: sonar security hotspot (permission issue - non-root user in Dockerfile) (#5411)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-06 19:14:51 +02:00
Matti Nannt 8bf1e096c0 chore: move dependencies to devDependencies if possible (#5679) 2025-05-06 18:57:51 +02:00
Anshuman Pandey 0052dc88f0 fix: increases language button size (#5677) 2025-05-06 16:07:26 +00:00
Matti Nannt d67d62df45 chore: update zod dependency, remove unused labeler action (#5678) 2025-05-06 18:18:27 +02:00
Piyush Gupta 5d45de6bc4 feat: adds unit tests in modules/ee/teams (#5620) 2025-05-06 12:31:43 +00:00
Piyush Gupta cf5bc51e94 fix: strict recaptcha checks (#5674) 2025-05-06 12:13:28 +00:00
Dhruwang Jariwala 9a7d24ea4e chore: updated open telemtry package versions (#5672) 2025-05-06 11:59:54 +00:00
victorvhs017 649f28ff8d chore: add tests to survey editor components - part 4 (#5592)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-06 08:04:44 +00:00
dependabot[bot] bc5a81d146 chore(deps): bump actions/github-script from 5.2.0 to 7.0.1 (#5652)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 09:28:04 +02:00
dependabot[bot] 7dce35bde4 chore(deps): bump actions/labeler from 4.3.0 to 5.0.0 (#5657)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 09:27:46 +02:00
victorvhs017 f30ebc32ec chore: add tests to environments path (#5617) 2025-05-06 04:19:50 +00:00
Piyush Gupta 027bc20975 fix: project list fetching logic in the copy to modal in survey list (#5609) 2025-05-06 04:05:05 +00:00
Matti Nannt 3b1cddb9ce chore: upgrade npm dependencies in apps/web (#5669) 2025-05-05 23:44:14 +02:00
Matti Nannt bd22aaaa86 chore: move js sdk and demo app to its own repository (#5668) 2025-05-05 21:03:54 +02:00
Piyush Gupta e0e42d2eed fix: adds support for default_team_id env var (#5046)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-05 18:40:19 +00:00
Matti Nannt 616210f1bf chore: update outdated dependencies (#5666) 2025-05-05 19:34:56 +02:00
Matti Nannt ff2e7f6cc7 chore: make microsoft login available without tenant (#5665) 2025-05-05 19:18:07 +02:00
Jakob Schott d1ce037f7d feat: disable productionbrowsersourcemaps (#5663) 2025-05-05 16:55:05 +00:00
Matti Nannt 91f87f4b7b chore: upgrade prisma to 6.7.0 (#5664) 2025-05-05 18:38:59 +02:00
Dhruwang Jariwala 61657b9f9a chore: add char limit to other option (#5382)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-05 14:56:54 +00:00
Dhruwang Jariwala 476d032642 fix: regex DoS issues (#5520)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-05 12:11:51 +00:00
Johannes 7538e570c5 chore: enforce cookie options for more security (#5618) 2025-05-05 12:09:35 +00:00
Jakob Schott 66fcf4b79b fix: changed unnecessary map to forEach (#5490) 2025-05-05 14:12:34 +02:00
Dhruwang Jariwala 21371b1815 fix: weak cryptography security hotspot (#5600) 2025-05-05 11:41:56 +00:00
Harsh Bhat a53c13d6ed docs: add enterprise features listed under a subpaage (#5594)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-05-05 08:00:47 +00:00
dependabot[bot] 1a0c6e72b2 chore(deps): bump actions/dependency-review-action from 4.5.0 to 4.6.0 (#5270)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 10:08:58 +02:00
dependabot[bot] ba7c8b79b1 chore(deps): bump actions/checkout from 2.7.0 to 4.2.2 (#5273)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-05-05 10:08:26 +02:00
dependabot[bot] d7b504eed0 chore(deps): bump step-security/harden-runner from 2.11.0 to 2.12.0 (#5559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 10:00:21 +02:00
dependabot[bot] a1df10eb09 chore(deps): bump sigstore/cosign-installer from 3.5.0 to 3.8.2 (#5560)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 09:55:05 +02:00
victorvhs017 92be409d4f chore: add tests to api V1 - part 2 (#5605) 2025-05-05 05:55:18 +00:00
victorvhs017 665c7c6bf1 chore: add tests to api V1 (#5593)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-05-05 05:38:16 +00:00
victorvhs017 6c2ff7ee08 chore: add tests to survey editor components - part 3 (#5587)
Co-authored-by: use-tusk[bot] <144006087+use-tusk[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-05 04:43:37 +00:00
victorvhs017 295a1bf402 chore: add tests to survey editor components - part 2 (#5575)
Co-authored-by: use-tusk[bot] <144006087+use-tusk[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-02 14:01:02 +00:00
Piyush Gupta 3e6f558b08 fix: recaptcha feature bugs (#5599) 2025-05-02 07:11:51 +00:00
Dhruwang Jariwala aad5a59e82 fix: removed dynamic translation key (#5527)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-02 06:05:23 +00:00
victorvhs017 36d02480b2 chore: add tests to survey editor components (#5557)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-05-02 05:05:24 +00:00
Piyush Gupta 99454ac57b feat: add recaptcha v3 support to surveys (#5500)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-05-01 17:22:28 +00:00
Dhruwang Jariwala e2915f878e chore: used ";" instead of "," for multi select response (#5596) 2025-05-01 06:23:01 +00:00
Dhruwang Jariwala 710a813e9b feat: added option 6 to rating (#5595) 2025-04-30 23:24:06 -07:00
Dhruwang Jariwala 8bdb818995 fix: server side checks for file upload (#5566)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-30 16:24:54 +00:00
Anshuman Pandey 20466c3800 fix: fixes js-core expiresAt check (#5591) 2025-04-30 14:44:22 +00:00
Matti Nannt faf6c2d062 chore: migrate react-native to its own repo (#5583) 2025-04-29 22:25:15 +02:00
Piyush Jain a760a3c341 chore(infra): update karpenter nodepool and add tailscale (#5582) 2025-04-29 18:29:33 +00:00
Matti Nannt 94e6d2f215 chore: remove unused dependencies (#5562) 2025-04-29 17:56:24 +02:00
victorvhs017 a6f1c0f63d chore: Added tests to modules/ee/contacts/segment (#5505)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-29 12:55:35 +00:00
Dhruwang Jariwala c653996cbb chore: introduced env variable to disable User management UI (#5526) 2025-04-29 11:58:58 +00:00
Dhruwang Jariwala da44fef89d fix: tolgee config (#5567) 2025-04-29 10:56:37 +00:00
Piyush Jain 4dc2c5e3df chore(networking): add vpc CIDR blocks on database and cluster (#5569) 2025-04-29 08:51:11 +00:00
Piyush Gupta 1797c2ae20 fix: matrix question logic condition text (#5570) 2025-04-29 08:38:26 +00:00
Piyush Jain 3b5da01c0a chore(staging): add release for staging env in formbricks-stage ns (#5486)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-04-29 07:30:28 +00:00
Piyush Gupta 0f1bdce002 feat: advanced matrix question logic (#5408)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-29 05:47:05 +00:00
Matti Nannt 7c8f3e826f chore: relocate locales to apps/web (#5564) 2025-04-28 23:21:48 +02:00
Matti Nannt f21d63bb55 chore: remove unused changeset action (#5563) 2025-04-28 22:46:05 +02:00
Matti Nannt f223bb3d3f chore: remove unused langfuse packages (#5561) 2025-04-28 22:00:34 +02:00
Matti Nannt 51001d07b6 chore: remove old AI classification feature (#5529)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-28 19:18:07 +00:00
Jakob Schott a9eedd3c7a fix: Editing active surveys (#5015)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-28 14:50:25 +00:00
dependabot[bot] b0aa08fe4e chore(deps): bump docker/login-action from 3.3.0 to 3.4.0 (#5269)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 13:12:38 +02:00
Matti Nannt 8d45d24d55 fix: error should not be thrown if SMTP is unconfigured (#5524) 2025-04-28 09:48:14 +02:00
victorvhs017 8c1b9f81b9 chore: Added the tests to file upload summary (#5504)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-28 07:00:46 +00:00
Harsh Bhat 71fad1c22b docs: add swift sdk docs (#5423) 2025-04-27 23:35:21 -07:00
Harsh Bhat 292266c597 docs: add more inbound links (#5424) 2025-04-27 23:35:07 -07:00
Anshuman Pandey 54e589a6a0 fix: surveys package X button hover and modal bg fix (#5518) 2025-04-27 21:44:10 -07:00
Gulshan Kumar fb3f425c27 fix: Enhances ux in input box in login-page (#5509) 2025-04-27 20:53:55 -07:00
Jakob Schott 1aaa30c6e9 fix: empty headlines; useage of Error as variable and excluded… (#5491)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-25 14:12:31 +00:00
Dhruwang Jariwala 8611410b21 chore: refactored templates file (#5492)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-25 13:34:31 +00:00
victorvhs017 40fa7a69c0 fix: refactor clickable divs into buttons (#5489)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-25 08:13:15 +00:00
Anshuman Pandey 5eca30e513 fix: android sonarqube issues (#5503) 2025-04-25 06:53:39 +00:00
Piyush Gupta 4b78493782 fix: SAML flow jose package import (#5497) 2025-04-25 06:24:59 +00:00
Anshuman Pandey 2ce44b734f fix: stop timers on logout (#5498) 2025-04-24 12:56:28 +00:00
Anshuman Pandey 85d8f8c3ae fix: iOS sonarqube issues (#5494) 2025-04-24 11:19:52 +00:00
victorvhs017 3f16291137 fix: updated encryption algorithm and added sort function (#5485)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-24 07:47:22 +00:00
victorvhs017 a5958d5653 chore: update sonar properties file (#5472) 2025-04-23 22:09:16 +02:00
victorvhs017 fdbdf8207a chore: add js-core to SonarQube check (#5466) 2025-04-23 22:08:31 +02:00
Piyush Gupta 630e5489ec feat: Implement v2 management api endpoint for contact attribute keys (#5316)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-23 15:48:18 +00:00
Anshuman Pandey 36943bb786 fix: android sdk callbacks, tweaks and fixes (#5487) 2025-04-23 13:37:22 +00:00
Dhruwang Jariwala e1bbb0a10f fix: billing (#5483) 2025-04-23 09:54:08 +00:00
Piyush Jain 27da540846 chore: fix buckets and iam for staging env (#5475) 2025-04-23 08:24:45 +00:00
Piyush Jain 7d7f6ed04a chore(terraform): add valkey and rds for staging env (#5471) 2025-04-22 16:11:16 +00:00
Vijay ff01bc342d fix: Some DoS (usage of regex) Sonar Security Hotspots (#5334) 2025-04-22 17:16:22 +02:00
Anshuman Pandey cd8b40b569 fix: cleanup issue in iOS package (#5473) 2025-04-22 14:50:28 +00:00
Anshuman Pandey 31c742f7a8 fix: setLanguage and icon issue for the iOS SDK (#5470) 2025-04-22 13:18:28 +00:00
Dhruwang Jariwala d6a7a2c21f fix: x button not visible when close on click outside is not allowed (#5464)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-22 07:13:04 +00:00
Dhruwang Jariwala 499ecab691 chore: update alpine version (#5465) 2025-04-22 06:48:52 +00:00
victorvhs017 df06540f1b chore: move package lib to web/lib (#5425) 2025-04-21 15:57:54 +02:00
victorvhs017 a32b213ca5 chore: Enable Sentry integration (#5337)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-21 12:41:54 +00:00
Piyush Gupta 6120f992a4 chore: updates prisma to latest version (#5395)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-21 13:51:39 +02:00
Matti Nannt 389a551a69 fix: docker build error because of deprecated Github cache (#5428) 2025-04-21 11:56:27 +02:00
Peter Pesti-Varga 8ddbdc0e1e fix: Address SonarQube code smells (#5416)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-21 11:30:45 +02:00
Piyush Gupta 302c6a90c0 chore: removes formbricks_encryption_key-environment-variable (#5426) 2025-04-21 05:55:48 +00:00
Anshuman Pandey 18e597d8a3 fix: smaller fixes and tweaks (#5417) 2025-04-18 12:26:21 +00:00
victorvhs017 81d717ccff fix: iOS SDK memory leaks (#5388)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-17 18:03:05 +00:00
Dhruwang Jariwala 2e979c7323 fix: managers should not be allowed to create api keys (#5409) 2025-04-17 14:12:55 +00:00
Anshuman Pandey 4dfd15d6dd fix: adds no-cache header when debug mode is ON (#5405) 2025-04-17 09:03:44 +00:00
Matti Nannt 5b9bf3ff43 chore(infra): increase cloudwatch elb alarm limit to 10 (#5407) 2025-04-17 06:41:13 +00:00
Anshuman Pandey d2f7485098 feat: advanced follow ups (#5340)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2025-04-17 06:39:22 +00:00
Dhruwang Jariwala f8fee1fba7 fix: refactor end screen card description ux (#5386)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-17 06:28:18 +00:00
Matti Nannt 19249ca00f chore: enable performance insights for rds (#5404) 2025-04-17 06:27:34 +00:00
Anshuman Pandey 01e5700340 fix: adds eslint rules for using test and refactors the current tests (#5397) 2025-04-17 03:32:03 +00:00
Johannes ff2f7660a6 chore: add segment id to modal view (#5391)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-17 02:56:32 +00:00
Johannes 2bc05e2b4a docs: tweak quick start guides (#5403) 2025-04-16 19:38:54 -07:00
Johannes 137c6447b7 docs: tweak Data Prefilling docs for clarity (#5402) 2025-04-16 18:43:00 -07:00
Piyush Gupta ebc8f0c917 fix: docker build test (#5396) 2025-04-16 12:32:38 +00:00
Anshuman Pandey 5a8d10b5b4 fix: removes the onFinished callbacks from the iOS package (#5384) 2025-04-16 11:11:30 +00:00
Anshuman Pandey 875815fb62 fix: fixes cb urls (#5392) 2025-04-16 04:47:14 +00:00
Dhruwang Jariwala cdf526e130 fix: type issue in notion integration (#5385) 2025-04-16 04:15:27 +00:00
Dhruwang Jariwala b685032b34 chore: make env permissions optional in api key (#5309)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-15 11:42:48 +00:00
Vijay a171f9cb00 fix: security hotspots in Dockerfile (#5314) 2025-04-15 04:15:56 -07:00
Dhruwang Jariwala c452f05ec2 feat: questionid to summary (#5381) 2025-04-15 05:58:10 +00:00
Dhruwang Jariwala 93d91f80f2 fix: progress bar calculation (#5339) 2025-04-15 00:51:47 +00:00
Piyush Gupta 7b764c8427 fix: adds api_key label to the view permission modal (#5326) 2025-04-14 08:53:14 +00:00
Piyush Gupta 016289c8cb fix: download responses button label (#5324)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-14 07:10:40 +00:00
Dhruwang Jariwala 93a9575389 fix: missing translation in api key modal (#5341) 2025-04-14 07:02:43 +00:00
victorvhs017 9e265adf14 chore: add test files to modules/account and modules/analysis (#5294)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-13 19:04:56 +00:00
Dhruwang Jariwala eb08a0ed14 fix: buttonLabel conditions (#5336)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-13 08:36:59 +00:00
Dhruwang Jariwala c533f37983 chore: improve accessibility for matrix question (#5320)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-04-12 04:40:24 +00:00
Anshuman Pandey ca4f8385e4 fix: adds FormbricksEnvironment struct for url constants (#5312) 2025-04-11 13:44:25 +00:00
Matti Nannt 3eb9aa74ed chore: upgrade typescript and react dependencies (#5317) 2025-04-11 13:01:54 +02:00
Piyush Gupta 637b51464c docs: updates the API keys docs in API reference (#5319) 2025-04-11 08:46:04 +00:00
Dhruwang Jariwala fd9585a66e fix: respondent should not see redirect card text (#5239)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-11 04:22:25 +00:00
Matti Nannt 49ecbcb0c9 fix: updatedAt not set in response update (#5315) 2025-04-10 11:04:42 +00:00
Piyush Gupta 1132bdd66a fix: openAPI spec for contact endpoints (#5247)
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-04-10 10:22:40 +00:00
Anshuman Pandey c7d6ed9ea3 chore: removes api package and deps (#5251)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-04-10 09:41:39 +00:00
Matti Nannt 782528f169 chore: update surveys package npm dependencies (#5302) 2025-04-10 10:44:56 +02:00
Piyush Gupta 104c78275f docs: fixes framework guide link (#5307) 2025-04-10 08:11:40 +00:00
Matti Nannt d9d88f7175 chore: update eslint npm dependencies (#5313) 2025-04-10 10:22:58 +02:00
Dhruwang Jariwala bf7e24cf11 fix: stripe issue for customers with existing stripe ID (#5308) 2025-04-10 07:56:01 +00:00
Anshuman Pandey c8aba01db3 fix: adds isWebEnvironment check in the surveys package (#5310) 2025-04-10 09:01:36 +02:00
Piyush Gupta a896c7e46e docs: updated API playground link in the webhooks docs (#5301) 2025-04-09 08:33:36 +00:00
Matti Nannt 8018ec14a2 chore: use remote turbocache for building formbricks (#5305) 2025-04-09 10:38:17 +02:00
victorvhs017 9c3208c860 chore: Refactored the Formbricks next public env variables and added test files (#5014)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-09 08:10:32 +00:00
Anshuman Pandey e1063964cf fix: fixes segment self referencing issue (#5254)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-09 06:58:28 +00:00
victorvhs017 38568738cc feat: Added test configuration and initial test files to the surveys package (#5253)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-09 06:53:16 +00:00
Piyush Gupta 15b8358b14 fix: date format in response table (#5304) 2025-04-09 05:39:57 +00:00
Anshuman Pandey 2173cb2610 fix: removes sourcemaps (#5257) 2025-04-09 04:50:56 +00:00
Matti Nannt 87b925d622 chore: update apps/web npm dependencies (#5300) 2025-04-09 06:58:53 +02:00
Piyush Gupta 885b06cc26 fix: adds date value check in date question summary (#5296) 2025-04-09 04:07:39 +00:00
Matti Nannt adb6a5f41e chore: upgrade npm dependencies (#5299) 2025-04-09 04:47:07 +02:00
Matti Nannt 3b815e22e3 chore: add docker build check github action (#4875)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-04-08 13:26:48 +00:00
Matti Nannt 4d4a5c0e64 fix: solve sonarqube security hotspots (#5292) 2025-04-08 14:58:24 +02:00
Anshuman Pandey 0e89293974 fix: appUrl fix in iOS and android packages (#5295) 2025-04-08 14:51:30 +02:00
Jakob Schott c306911b3a fix: replace hard-coded alerts with alert component (#5156)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-08 10:26:28 +00:00
Piyush Gupta 4f276f0095 feat: personalized survey links for segment of users endpoint (#5032)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-08 05:54:27 +00:00
Dhruwang Jariwala 81fc97c7e9 fix: Add Cache-Control to allowed CORS headers (#5252) 2025-04-07 14:47:02 +00:00
Matti Nannt 785c5a59c6 chore: make mock passwords more obvious to test suites (#5240) 2025-04-07 12:40:40 +00:00
Piyush Gupta 25ecfaa883 fix: formbricks version on localhost (#5250) 2025-04-07 10:42:13 +00:00
Anshuman Pandey 38e2c019fa fix: ios package sonarqube fixes (#5249) 2025-04-07 08:48:56 +00:00
victorvhs017 15878a4ac5 chore: Refactored the Turnstile next public env variable and added test files (#4997)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-07 06:07:39 +00:00
Matti Nannt 9802536ded chore: upgrade demo app to tailwind v4 (#5237)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-04-07 05:40:10 +00:00
victorvhs017 2c7f92a4d7 feat: user endpoints (#5232)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-06 06:06:18 +00:00
Piyush Gupta c653841037 chore: block signin with SSO when user is not found (#5233)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-06 04:22:53 +00:00
Matti Nannt ec314c14ea fix: failing e2e test (#5234) 2025-04-05 14:20:22 +02:00
victorvhs017 c03e60ac0b feat: organization endpoints (#5076)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-05 13:54:21 +02:00
Dhruwang Jariwala cbf2343143 feat: lastLoginAt to user model (#5216) 2025-04-05 13:22:38 +02:00
Dhruwang Jariwala 9d9b3ac543 chore: added isActive to user model (#5211)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-04-05 12:22:45 +02:00
Matti Nannt 591b35a70b fix: upgrade npm dependencies with high security risk (#5221) 2025-04-05 06:04:01 +02:00
Piyush Gupta f0c7b881d3 fix: don't allow spaces as "other" values in select questions (#5224) 2025-04-04 08:01:26 +00:00
dependabot[bot] 3fd5515db1 chore(deps): bump SonarSource/sonarqube-scan-action from 4.2.1 to 5.1.0 (#5104)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 05:03:40 +02:00
Matti Nannt f32401afd6 chore: update vite & vitest dependency versions (#5217) 2025-04-04 03:40:21 +02:00
Dhruwang Jariwala 1b9d91f1e8 chore: Api keys to org level (#5044)
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-03 14:59:42 +02:00
Matti Nannt 1f039d707c chore: update root npm dependencies (#5208) 2025-04-03 06:40:29 +02:00
Dhruwang Jariwala 6671d877ad fix: skip button label validation for required nps and rating questions (#5153) 2025-04-02 09:53:25 +00:00
Matti Nannt 2867c95494 chore: update SHARE_RATE_LIMIT to 50 request per 5 minute (#5194)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2025-04-02 09:48:59 +00:00
Johannes aa55cec060 fix: bulk member invite and table layout (#5209) 2025-04-02 09:32:01 +00:00
Matti Nannt dfb6c4cd9e chore: update demo app dependencies (#5207) 2025-04-02 06:34:15 +00:00
Dhruwang Jariwala a9082f66e8 fix: (Security) implement HSTS (#5206) 2025-04-02 05:38:33 +00:00
Dhruwang Jariwala bf39b0fbfb fix: added cache no-store when formbricksDebug is enabled (#5197)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-04-02 05:19:27 +00:00
Dhruwang Jariwala e347f2179a fix: consent/cta back button issue (#5201) 2025-04-02 02:29:53 +00:00
Matti Nannt d4f155b6bc chore: update storybook app dependencies (#5195) 2025-04-01 19:39:45 +02:00
Matti Nannt da001834f5 chore: remove unused tailwind import from mobile SDK webviews (#5198) 2025-04-01 12:59:57 +00:00
Anshuman Pandey f54352dd82 chore: changes storage cache to 5 minutes (#5196) 2025-04-01 07:25:17 +00:00
Matti Nannt 0fba0fae73 chore: remove posthog provider from top layout (#5169) 2025-04-01 06:24:17 +00:00
Anshuman Pandey 406ec88515 fix: adding back hidden fields for backwards compatibility (#5163) 2025-04-01 05:20:30 +00:00
Matti Nannt b97957d166 chore(infra): increase ressource limits to 1 cpu & 1Gi mem (#5192) 2025-04-01 04:50:55 +00:00
Matti Nannt 655ad6b9e0 docs: fix response client api endpoint is missing environmentId (#5161) 2025-03-31 12:14:44 +02:00
Anshuman Pandey f5ce42fc2d feat: api for uploading contacts in bulk (#5053)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-30 07:44:17 +00:00
dependabot[bot] 709cdf260d chore(deps): bump react-day-picker from 9.4.4 to 9.6.3 (#5149)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-29 06:29:05 +00:00
Piyush Gupta 5c583028e0 feat: adds second domain (#4989)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-28 17:22:17 +00:00
Matti Nannt c70008d1be chore: remove unused cron github actions (#5151) 2025-03-28 12:13:23 +01:00
Piyush Jain 13fa716fe8 chore(eks): add AmazonSSMManagedInstanceCore policy (#5152) 2025-03-28 08:57:56 +00:00
victorvhs017 c3af5b428f feat: added the roles endpoint, documentation, unity and e2e tests (#5068)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-28 04:53:39 +00:00
Matti Nannt 40e2f28e94 chore: add dependabot config (#5084) 2025-03-28 04:02:29 +01:00
victorvhs017 2964f2e079 chore: Refactored the Sentry next public env variable and added test files (#4979)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-27 13:04:25 +00:00
Jakob Schott e1a5291123 fix: unify alert component (#5002)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-27 12:46:56 +00:00
Piyush Jain ef41f35209 fix: rds (#5078) 2025-03-27 12:30:49 +01:00
Jakob Schott 2f64b202c1 fix: billing modal translation (#5079) 2025-03-27 10:50:24 +00:00
Piyush Gupta 2500c739ae fix: next-auth inactive session timeout changed 30days -> 1hr (#5066) 2025-03-27 09:54:35 +00:00
Matti Nannt 63a9a6135b fix: github issues url required login (#5077) 2025-03-27 04:42:57 +01:00
Dhruwang Jariwala 417005c6e9 fix: docker image not building (#5069)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-27 02:32:03 +00:00
Piyush Jain cd1739c901 chore: updates enable PR comments for terraform plan (#5073) 2025-03-27 01:40:24 +00:00
Piyush Jain 709917eb8f chore: fix OneLeet compliance and update self-hosting docs (#5045)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-26 10:37:56 +01:00
Johannes 3ba70122d5 docs: update hidden field docs (#5067) 2025-03-26 01:45:31 -07:00
Dhruwang Jariwala 5ff025543e fix: static ttf in link survey preview (#5054) 2025-03-26 05:42:30 +00:00
Anshuman Pandey 896d5bad12 fix: adds network checks for the react-native sdk (#5034)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-26 04:51:42 +00:00
Jakob Schott e9dbaa3c28 fix: survey id in summary (#5056) 2025-03-26 02:24:58 +00:00
dependabot[bot] d352d03071 chore(deps-dev): bump the npm_and_yarn group across 2 directories with 1 update (#5062)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-26 02:09:46 +00:00
victorvhs017 ebefe775bb fix: updated ttl property on cache-handler (#5065) 2025-03-26 01:53:59 +00:00
Anshuman Pandey 0852a961cc fix: adds unit tests for tsx files (#5001) 2025-03-25 16:58:47 +00:00
victorvhs017 46f06f4c0e feat: Added Webhooks in Management API V2 (#4949)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-25 14:28:44 +00:00
Matti Nannt afb39e4aba docs: update license page (#5061) 2025-03-25 15:09:13 +01:00
Anshuman Pandey 2c6a90f82b fix: storage api endpoint openapi spec (#5057) 2025-03-25 12:16:35 +00:00
Dhruwang Jariwala e35f732e48 fix: Remove hardcoded pg url (#4878) 2025-03-25 08:36:18 +00:00
Matti Nannt ec8b17dee2 chore: use github bug report form instead of formbricks form (#5055) 2025-03-25 08:44:32 +01:00
Matti Nannt 947bc1a233 fix: Github release action unable to access secrets (#5052) 2025-03-25 04:23:49 +01:00
Johannes 7050caa2f3 fix: tweak password reset ux (#5049) 2025-03-24 08:32:11 -07:00
Johannes c4fd1a0a54 docs: add EE feature to list (#5051) 2025-03-24 08:31:42 -07:00
victorvhs017 4de5f5c490 chore: Refactored the Posthog next public env variable and added test files (#4961)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-24 14:45:33 +00:00
Piyush Gupta b3f336c959 fix: invite user bug (#5043)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-24 13:59:31 +00:00
victorvhs017 010784c2b2 chore: added new script with onload (#4987)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-24 12:12:37 +00:00
victorvhs017 306f654617 fix: add membership checks in remaining routes (#5026) 2025-03-24 04:49:04 -07:00
Anshuman Pandey 60d0563487 fix: adds missing storage api docs and fixes api key auth docs (#5031) 2025-03-24 06:43:57 +00:00
victorvhs017 777210ec42 fix: refactored the code to create a new link on click for single-use link surveys (#5038)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-24 05:39:17 +00:00
Piyush Jain 8649522b5b chore(actions): Update github actions to follow new release pattern (#5037) 2025-03-24 04:51:32 +01:00
Matti Nannt 71ebde06f4 docs: add prometheus to monitoring docs (#5042) 2025-03-24 04:15:31 +01:00
Peter Pesti-Varga d98eb5b46f fix: Trust server in the iOS webview to allow to load the survey package (#5024) 2025-03-23 01:45:53 +01:00
dependabot[bot] 6a2a8b74c8 chore(deps): bump the npm_and_yarn group across 3 directories with 1 update (#5035)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-22 04:24:15 +01:00
Harsh Shrikant Bhat 43d5d3d719 chore: small email tweaks (#5019) 2025-03-21 06:14:56 -07:00
Piyush Gupta 5527f184b7 feat: adds configurable logging (#4914)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-21 06:09:13 -07:00
Piyush Jain 7dd5cf8b6e release: pre steps switch from vercel to aws (#5030) 2025-03-21 08:36:53 +01:00
Piyush Gupta aec697f5b9 fix: role escalation in org settings (#4901)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-21 05:38:51 +00:00
Piyush Jain aa2588dd89 chore(terraform): fix terraform certs (#5023) 2025-03-20 09:08:17 +00:00
victorvhs017 ed886e1794 fix: add membership checks in [environmentId] route (#5020)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-20 02:07:19 -07:00
Dhruwang Jariwala 452709dec7 fix: recall in email embed (#4971)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-20 05:22:42 +00:00
Dhruwang Jariwala a5cac35cfd fix: single use link generation (#5004) 2025-03-20 04:31:36 +00:00
Peter Pesti-Varga 3ee8485ef0 fix: Android build changes + close survey window on js exception (#5016) 2025-03-19 09:11:31 -07:00
Dhruwang Jariwala 673f61be17 fix: layout breaking when adding note to response (#5007) 2025-03-19 05:22:24 -07:00
Piyush Jain db86247510 chore(observability): add observability tools permissions (#5003) 2025-03-19 09:57:02 +00:00
Harsh Shrikant Bhat 090f6eef71 docs: add enterprise hint for all EE features in docs (#5000)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-03-19 01:34:53 -07:00
Matti Nannt 214d18616f feat: personalized survey links (#4870)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-19 07:30:39 +00:00
Piyush Gupta 3b126291a6 docs: removed XM & Survey -> SAML SSO (#4999) 2025-03-19 07:06:46 +00:00
Piyush Jain 55a230e127 chore: updates to aws cloud resources (#4996) 2025-03-18 19:01:44 +01:00
Anshuman Pandey 2a107ece7f chore: js-core sdk refactor (#4815)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-18 15:58:50 +00:00
victorvhs017 7a3ef93a18 chore: Refactored the intercom next public env variable and added test files (#4960) 2025-03-18 15:04:08 +00:00
Anshuman Pandey 6255c9baad fix: handling invalid csv files (#4991) 2025-03-18 14:30:28 +00:00
Piyush Jain c322a963ab fix(helm-chart): missing envFrom when using secret.enabled (#4992) 2025-03-18 15:41:16 +01:00
Paribesh Nepal b1e8cb5a07 feat: added qr code feature (#4951) 2025-03-18 07:21:32 -07:00
Harsh Shrikant Bhat a391089efc docs: Missing page descriptions. (#4980) 2025-03-18 07:20:13 -07:00
victorvhs017 1894bbe4f7 feat: add custom TTL for cache records (#4912) 2025-03-18 12:33:52 +00:00
Peter Pesti-Varga 07dba90679 fix: Android build fixes (#4984) 2025-03-18 13:14:25 +01:00
Matti Nannt ca5ea315d6 chore: determine formbricks version on release (#4985) 2025-03-18 11:49:12 +01:00
Piyush Gupta 646fe9c67f feat: optional cron jobs check (#4966) 2025-03-18 10:13:31 +00:00
StepSecurity Bot 6a123a2399 fix: Harden GitHub Actions (#4982)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2025-03-18 11:23:10 +01:00
Piyush Jain 39aa9f0941 chore(infra-updates): updates and fixes (#4976) 2025-03-17 17:45:32 +00:00
Jakob Schott 625a4dcfae fix: changed 'Download example CSV'-link to a button (#4975) 2025-03-17 16:51:43 +00:00
Harsh Shrikant Bhat 7971681d02 docs: Remove duplicate titles for better SEO (#4962) 2025-03-17 09:50:17 -07:00
Johannes 3dea241d7a docs: tweak docs for sso (#4974) 2025-03-17 06:46:54 -07:00
Peter Pesti-Varga e5ce6532f5 fix: Fix Android build setting (#4967) 2025-03-17 13:13:05 +01:00
victorvhs017 aa910ca3f0 fix: updated docker file with redis and minio containers (#4909) 2025-03-17 09:33:02 +00:00
Piyush Gupta c2d237a99a fix: google sheet integration error message (#4899) 2025-03-16 16:10:51 +00:00
Piyush Jain a371bdaedd chore(terraform): fix (#4963) 2025-03-15 13:32:05 +00:00
Piyush Jain dbbd77a8eb chore(env): add new env variables (#4959) 2025-03-15 12:20:07 +00:00
Matti Nannt c28de7c079 chore: prepare 3.4.0 release (#4950) 2025-03-13 20:38:32 +01:00
Matti Nannt 05f1068e01 chore: prepare 3.3.2 release (#4930) 2025-03-13 20:35:51 +01:00
Matti Nannt 7103ec9877 fix: survey preview stuck in sending (#4941) 2025-03-13 20:34:45 +01:00
Johannes 9cd7a25343 fix: fix except last (#4942) 2025-03-13 14:13:23 +00:00
IllimarR 2d028d18e5 feat: possibility to set mail from name (#4864)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2025-03-13 05:50:15 -07:00
Johannes 0164eca206 fix: survey display and card width (#4937) 2025-03-13 11:27:57 +00:00
Piyush Jain f227c9e97e feat: introduce updated helm chart (#4896)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-13 10:30:17 +01:00
StepSecurity Bot aecedfd082 fix: Apply security best practices (#4876)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-13 10:12:15 +01:00
Dhruwang Jariwala e0f180bf04 feat: open telemetry for prometheus (#4922)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-03-12 20:16:08 +01:00
Anshuman Pandey 5d0c435a33 feat: @formbricks/react-native v2.1.0 release (#4927) 2025-03-12 18:21:14 +00:00
Dhruwang Jariwala daa7e7b56a fix: Update tolgee.yml (#4928) 2025-03-12 14:04:10 +00:00
Matti Nannt 655f319083 chore: add bug label to new bug issues (#4929) 2025-03-12 14:39:53 +01:00
dependabot[bot] fcfe5682da chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#4926)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 14:17:43 +01:00
Johannes e1140ac436 fix: update instructions and docs link (#4921)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-12 13:00:52 +00:00
Anshuman Pandey 1529f5d478 fix: click outside is working even if the placement is not center (#4925) 2025-03-12 12:57:15 +00:00
Johannes 4870dc8d45 fix: update project config navbar + wording (#4918) 2025-03-12 12:40:01 +00:00
dependabot[bot] a25e5dcfcd chore(deps-dev): bump esbuild from 0.25.0 to 0.25.1 in the npm_and_yarn group across 1 directory (#4911)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 13:51:57 +01:00
Anshuman Pandey 828e23b5c6 fix: survey autoclose on inactivity fix (#4916)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-12 11:52:15 +00:00
Dhruwang Jariwala 1921312445 fix: spacing tweaks (#4913) 2025-03-12 11:36:01 +00:00
Matti Nannt 0b9a884364 fix: smtp missing logs (#4917) 2025-03-11 11:13:22 +00:00
Dhruwang Jariwala da4211f0b0 fix: Actions for contributors (#4905) 2025-03-10 16:04:17 +00:00
Dhruwang Jariwala b21827cb32 fix: file input should not allow duplicate files (#4900) 2025-03-10 12:04:03 +00:00
Dhruwang Jariwala 4424a8a21d feat: pt-PT translations (#4874) 2025-03-10 09:22:26 +00:00
Dhruwang Jariwala eb030f9ed6 fix: Address/Contact question accessibility (#4884) 2025-03-10 09:21:44 +00:00
Piyush Gupta 333372d61c fix: removed link survey identification from share modal (#4898)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-10 06:45:28 +00:00
Piyush Gupta 48a92f3e55 feat: OIDC name fields added (#4872)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-09 08:42:00 +00:00
Piyush Gupta ddc767e53e fix: logo on follow up email (#4837)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
2025-03-08 06:40:40 +00:00
Matti Nannt 432425ea59 chore: add licenses to ios and android SDK (#4893) 2025-03-07 18:18:31 +01:00
Peter Pesti-Varga 6075fd3ef8 feat: Mobile SDK unit tests and Readme files (#4892) 2025-03-07 16:54:19 +01:00
Anshuman Pandey f099a46f83 feat: surveys package integration with v2 apis (#4882)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-07 12:41:14 +00:00
Dhruwang Jariwala fe54ef66c6 docs: activepieces docs for self hosters (#4891) 2025-03-07 12:27:56 +00:00
Piyush Gupta 4eb0e930f6 fix: improve multiple choice question summary calculation (#4829)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-07 12:24:12 +00:00
Dhruwang Jariwala fae925aa25 fix: typo in email (#4880) 2025-03-07 10:07:23 +00:00
victorvhs017 764a3d2fde fix: added the test-key reference back (#4883) 2025-03-07 09:48:11 +00:00
Anshuman Pandey b5a51f1304 fix: surveys pkg android file uploads (#4869)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-03-07 04:38:49 +00:00
Piyush Gupta 140aee749b feat: new management api crud endpoint for responses (#4716)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Victor Santos <victor@formbricks.com>
Co-authored-by: victorvhs017 <115753265+victorvhs017@users.noreply.github.com>
2025-03-06 17:16:06 +00:00
Dhruwang Jariwala 4113dd1873 fix: signup vulnerability (#4859) 2025-03-06 12:08:40 +00:00
Dhruwang Jariwala 0e0d3780d3 fix: removed completed surveys from survey list in integrations (#4838)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-06 09:10:51 +00:00
Peter Pesti-Varga 38ff01aedc feat: Android & iOS SDK (#4871) 2025-03-06 09:43:49 +01:00
Dhruwang Jariwala cdf687ad80 fix: delete webhook button visibility (#4862) 2025-03-06 07:40:00 +00:00
github-actions[bot] a399fc7f80 chore: bump version to v3.3.1 (#4873)
Co-authored-by: GitHub Actions <github-actions@github.com>
2025-03-06 08:37:59 +01:00
Piyush Gupta c54a48e70b docs: adds email followup docs (#4858)
Co-authored-by: Johannes <johannes@formbricks.com>
2025-03-04 16:02:54 +00:00
Johannes 884b6f12ae docs: update API intro and key management docs (#4841) 2025-03-04 15:36:23 +00:00
Piyush Gupta 5cae0febc9 fix: variables initialization in logic editor preview (#4819)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-03-04 14:58:13 +00:00
Dhruwang Jariwala 0e898db710 chore: Remove lib dependency from survey package (#4767)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-03-04 14:58:00 +00:00
Johannes 40d54d60d4 docs: Release test environment docs (#4842) 2025-03-04 14:57:41 +00:00
Matti Nannt 269e026381 fix: sonarqube action not running in merge queue (#4861) 2025-03-04 15:57:26 +01:00
Matti Nannt 8245f2f6af chore: update sonar-config to properly scan apps/web (#4844) 2025-03-03 18:38:16 +01:00
Matti Nannt 8c07e8b1a8 chore: bump version to 3.3.0 (#4834) 2025-03-01 09:03:42 +01:00
Anshuman Pandey e94b0845a2 fix: surveys package api calls and styling (#4826)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-03-01 05:38:43 +00:00
Matti Nannt 4acc85bd12 docs: update kubernetes deployment page (#4835) 2025-02-28 20:38:02 +01:00
Anshuman Pandey ffa534d5eb fix: cached service in attributes endpoint (#4728)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-02-28 17:00:08 +00:00
Matti Nannt fccf0f1e39 docs: add smtp configuration page for self-hosters (#4833) 2025-02-28 17:06:21 +01:00
Dhruwang Jariwala a5d80d1f02 docs: kubernetes (#4830) 2025-02-28 15:34:49 +00:00
Piyush Gupta 803a73afb6 feat: Adds SAML SSO auth using boxyHQ jackson for self-hosters (#4799)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-02-28 12:18:59 +00:00
Dhruwang Jariwala 1eb8049d04 chore: Upgrade helm chart (#4808) 2025-02-28 11:51:58 +00:00
Matti Nannt f9ed0c487f chore: exclude test files from coverage report (#4831) 2025-02-28 12:32:58 +01:00
Anshuman Pandey fa7d33351f fix: local docker image build (#4758)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-02-28 10:53:23 +00:00
Gaurav Singh e3084760b8 fix(filter-dropdown): added the search filter in filter dropdown (#4812)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-02-28 10:26:36 +00:00
mintlify[bot] 8e5addad5c docs: Update license page (#4827)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2025-02-27 19:08:25 +00:00
Dhruwang Jariwala 6e741018e5 fix: Tweak progress bar (#4820) 2025-02-27 17:51:54 +00:00
Piyush Gupta 98c7c78421 fix: a11y in file upload (#4742)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-02-27 17:23:25 +00:00
Dhruwang Jariwala 16c588138c fix: branch source name (#4825) 2025-02-26 14:32:14 +00:00
Dhruwang Jariwala 1373863af5 fix: current branch name (#4823) 2025-02-26 13:39:09 +00:00
Dhruwang Jariwala 75315ea2c5 fix: tolgee tweaks (#4809)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-02-26 12:06:25 +00:00
Dhruwang Jariwala 9f6fb8a387 feat: optional back button (#4813)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2025-02-26 11:36:16 +00:00
Piyush Gupta b84d3d5806 fix: hidden field summary row key (#4821) 2025-02-26 11:05:25 +00:00
Dhruwang Jariwala 5c2c1bbfcd fix: removed remove-unused flag (#4814) 2025-02-25 12:52:29 +00:00
Piyush Gupta 54e84858b5 docs: adds query param in single-use-id docs (#4811) 2025-02-25 11:18:59 +00:00
Piyush Gupta 833d0789d7 fix: oauth docs formatting (#4807) 2025-02-25 09:47:52 +00:00
Dhruwang Jariwala 1a974f3dd8 fix: survey placement and close on click outside (#4745)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-02-25 08:33:52 +00:00
Salim B 146173883f docs: Fix formatting and other small tweaks (#4798)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2025-02-25 06:09:45 +00:00
Johannes ebb02a5723 docs: add suspense to RN (#4801) 2025-02-25 05:54:32 +00:00
Johannes c96f7fed18 docs: fix images (#4800) 2025-02-24 09:51:15 +00:00
mintlify[bot] 861eff3cd2 docs: Update menu (#4793)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2025-02-21 04:52:05 -08:00
Piyush Gupta b66c0d17d0 feat: adds Is set and Is not set operator for hidden fields in logic editor (#4785)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-02-21 11:47:31 +00:00
Dhruwang Jariwala 0e748050f3 fix: tolgee flow (#4765) 2025-02-21 08:56:06 +00:00
Matti Nannt ae3524b79f chore: add api v2 draft docs (#4783)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-20 16:03:01 +01:00
mintlify[bot] 0ce58b592a docs: fix images in actions and targeting (#4781)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2025-02-20 05:21:27 -08:00
mintlify[bot] 578346840e docs: Rewrite Actions and Advanced Targeting Docs (#4779)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2025-02-20 12:49:13 +00:00
Piyush Gupta 56bcb46d6c fix: User Management Docs (#4775)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2025-02-20 09:28:14 +00:00
Piyush Gupta 91405c48e0 chore: remove SHORT_URL_BASE env key (#4766) 2025-02-20 08:22:09 +00:00
Paribesh Nepal b40dff621a feat: Support HEIC format for images (#4719)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-02-20 04:00:49 +00:00
Matti Nannt 7d4409e2b4 docs: add monitoring page to self-hosting (#4774) 2025-02-20 00:55:19 +01:00
mintlify[bot] 64a385b835 docs: Tweak Docs for Cloud Integrations (#4754)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2025-02-19 18:41:09 +00:00
Dhruwang Jariwala ee2573d128 docs: coding standards (#4770)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-19 18:45:13 +01:00
Piyush Gupta d082e7c44d docs: saml-sso (#4772)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-02-19 18:39:42 +01:00
Dhruwang Jariwala cd65850308 fix: build (#4755)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2025-02-19 08:00:23 +00:00
Matti Nannt b91ae7e9b1 chore: update scorecard action artifact version (#4764) 2025-02-18 23:00:03 +01:00
Matti Nannt 9baab1bf08 fix: scorecard filename (#4763) 2025-02-18 22:55:12 +01:00
Matti Nannt fdd4d8b926 fix: scorecard action (#4762) 2025-02-18 22:47:29 +01:00
Matti Nannt c26c42d67f docs: add system architecture and cluster setup details (#4761) 2025-02-18 22:41:17 +01:00
Matti Nannt e1553becbc fix: scorecard action permissions (#4760) 2025-02-18 18:44:06 +01:00
Dhruwang Jariwala 2e845ab0c0 fix: integration doc links (#4756)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-02-18 16:11:39 +00:00
Piyush Gupta 79062a5476 feat: adds filter on insights (#4688) 2025-02-18 13:35:20 +00:00
Piyush Gupta 840495b0e6 fix: matrix question input not accessible (#4727) 2025-02-18 13:21:56 +00:00
Piyush Gupta dd8fdbc7e3 Merge branch 'main' of https://github.com/formbricks/formbricks into feat/insights-filter 2025-02-18 18:51:25 +05:30
Matti Nannt a18c2aadf6 chore: prepare v3.2 release (#4746) 2025-02-18 13:10:44 +00:00
Matti Nannt c7b653f073 chore(deps-dev): bump the npm_and_yarn group across 4 directories with 2 updates (#4748) 2025-02-18 13:10:14 +00:00
Dhruwang 8201df66c3 fix test 2025-02-18 17:41:47 +05:30
Dhruwang 30e9baf0df fix test 2025-02-18 17:17:14 +05:30
Dhruwang Jariwala a92881645b Merge branch 'main' into matrix-question-accessibility 2025-02-18 16:31:19 +05:30
Matti Nannt 9522545152 fix: add spacing between labels (#4753) 2025-02-18 10:17:25 +00:00
Dhruwang 33a09874c1 fix: workflow 2025-02-18 10:57:02 +05:30
Dhruwang 933755b81d fix workflow 2025-02-18 10:56:06 +05:30
Dhruwang 8a1352d149 add spacing between labels 2025-02-18 10:41:27 +05:30
Piyush Gupta b47b7d7ea8 Merge branch 'feat/insights-filter' of https://github.com/formbricks/formbricks into feat/insights-filter 2025-02-18 09:28:28 +05:30
Piyush Gupta 27cc4b7a5d fix: cache key 2025-02-18 09:27:20 +05:30
Piyush Gupta 249cc7f276 Merge branch 'main' of https://github.com/formbricks/formbricks into feat/insights-filter 2025-02-18 09:21:25 +05:30
Matti Nannt 7ee9e92f7e Merge branch 'main' into matrix-question-accessibility 2025-02-17 20:32:52 +01:00
Matti Nannt 588e80a237 chore: remove old docs app (#4749) 2025-02-17 20:25:25 +01:00
Anshuman Pandey e3d2d355de fix: make new session data migration more efficient (#4751) 2025-02-17 20:10:27 +01:00
Anshuman Pandey e8e00691c0 fix: migration batch size (#4750) 2025-02-17 19:12:05 +01:00
Matthias Nannt 216be571e2 fix: web build 2025-02-17 18:29:59 +01:00
Matti Nannt 0176e82b3c Merge branch 'main' into dependabot/npm_and_yarn/npm_and_yarn-624cccc9ea 2025-02-17 18:27:11 +01:00
Anshuman Pandey 30d3297002 fix: removes new session action (#4726) 2025-02-17 16:53:02 +00:00
Matthias Nannt 6aa94a55ab update pnpm lock 2025-02-17 17:09:30 +01:00
Matthias Nannt a747ca42ad Merge brtanch 'main' of github.com:formbricks/formbricks into dependabot/npm_and_yarn/npm_and_yarn-624cccc9ea 2025-02-17 15:50:25 +01:00
Matti Nannt cd7a056bf1 Merge branch 'main' into matrix-question-accessibility 2025-02-17 15:48:27 +01:00
Matthias Nannt baab774ede chore: add migration guide for 3.2 2025-02-17 15:39:36 +01:00
Matthias Nannt 877c974108 solve merge conflicts 2025-02-17 15:33:34 +01:00
Dhruwang Jariwala d8033762d7 fix: auto subscribe (#4744) 2025-02-17 13:12:35 +00:00
Anshuman Pandey 47a265016c fix: removes new session action creation (#4734)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-02-17 12:51:43 +00:00
Piyush Gupta ef78c68ac1 chore: refactor survey module (#4696)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-02-17 10:56:09 +00:00
Dhruwang Jariwala bc3f261076 Merge branch 'main' into matrix-question-accessibility 2025-02-17 16:20:17 +05:30
dependabot[bot] 4fa8a66c5f chore(deps-dev): bump the npm_and_yarn group across 4 directories with 2 updates
Bumps the npm_and_yarn group with 2 updates in the / directory: [esbuild](https://github.com/evanw/esbuild) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).
Bumps the npm_and_yarn group with 1 update in the /apps/storybook directory: [esbuild](https://github.com/evanw/esbuild).
Bumps the npm_and_yarn group with 1 update in the /apps/web directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).
Bumps the npm_and_yarn group with 1 update in the /packages/react-native directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `esbuild` from 0.24.0 to 0.25.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.0...v0.25.0)

Updates `vitest` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/vitest)

Updates `esbuild` from 0.24.0 to 0.25.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.0...v0.25.0)

Updates `vitest` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/vitest)

Updates `vitest` from 3.0.4 to 3.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/vitest)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vitest
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: esbuild
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vitest
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vitest
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 10:32:41 +00:00
Matti Nannt 5885afc4f8 chore: add scorecard action (#4570) 2025-02-17 11:24:15 +01:00
Dhruwang Jariwala f3d21c50ab fix: broken links and redirect in docs (#4741) 2025-02-17 10:47:50 +01:00
Matthias Nannt 30729db47a bump version number 2025-02-17 10:28:11 +01:00
Matthias Nannt 0ff690a344 solve merge conflicts 2025-02-17 10:27:42 +01:00
Ted bec138c4f0 feat: traditional Chinese translations (#4705)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-02-17 10:26:05 +01:00
Matti Nannt 2976810fdf Merge branch 'main' into matrix-question-accessibility 2025-02-17 10:17:52 +01:00
Dhruwang Jariwala ae70ff2901 fix: Notion integration breaking when notion account is deleted (#4732) 2025-02-17 07:50:39 +00:00
Piyush Gupta ee2642825f Merge branch 'main' of https://github.com/formbricks/formbricks into matrix-question-accessibility 2025-02-14 10:04:29 +05:30
Piyush Gupta 9cf98df425 fix: translations 2025-02-14 10:03:52 +05:30
Piyush Gupta 1229904188 fix: accessibility 2025-02-14 09:59:39 +05:30
Kartik Saini 9152181a00 fix: discord webhook not pinging (#4673)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-02-14 03:56:19 +00:00
Matti Nannt 4843cb8789 chore: add more legacy docs redirects (#4739) 2025-02-13 22:51:41 +01:00
Matti Nannt 6d3a489dff chore: update legacy docs rewrites (#4738) 2025-02-13 22:37:25 +01:00
Matti Nannt ea8e98fa0d chore: add more legacy docs redirects (#4737) 2025-02-13 22:33:29 +01:00
Matti Nannt 614385da75 chore: update legacy docs redirects (#4736) 2025-02-13 22:25:48 +01:00
Matti Nannt f6ef3ba7c5 feat: new documentation (#4735) 2025-02-13 21:25:12 +01:00
Piyush Gupta 22e8a137ef fix: date question accessibility (#4698)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2025-02-12 10:47:54 +00:00
Dhruwang Jariwala 69734cc922 Merge branch 'main' into matrix-question-accessibility 2025-02-12 16:04:34 +05:30
github-actions[bot] a9fe05d64a chore: bump version to v3.1.5 (#4729)
Co-authored-by: GitHub Actions <github-actions@github.com>
2025-02-12 09:50:13 +01:00
Dhruwang 8bb3bd9409 fix: matrix question input not accessible 2025-02-11 16:55:13 +05:30
Yannick Torrès 5219065b8e fix: fr-FR translations (#4667)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-02-11 05:35:34 +00:00
Dhruwang Jariwala cb8497229d fix: UI tweaks (#4721) 2025-02-10 04:10:01 +00:00
Dhruwang Jariwala 25b8920d20 docs: basic docs for kubernetes (#4669) 2025-02-08 07:15:00 +00:00
Dhruwang Jariwala 9203db88ab fix: z index issue (#4723) 2025-02-07 10:46:26 +00:00
Dhruwang Jariwala 36378e9c23 feat: tolgee (#4692)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-02-07 05:49:35 +00:00
Piyush Gupta 9c33e77755 fix: phone number validations (#4708)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-02-07 04:29:30 +00:00
Dhruwang Jariwala 88cb4c742f feat: activepieces integration (#4711) 2025-02-06 15:34:02 +00:00
Anshuman Pandey 475cce8253 fix: prisma docker libsso issue (#4717) 2025-02-06 14:37:59 +00:00
Anshuman Pandey a86c1738d1 fix: renames init to setup (#4714) 2025-02-05 10:12:14 +00:00
Piyush Gupta 96a4d02c80 fix: Branch test coverage (#4710) 2025-02-05 09:46:38 +00:00
Anshuman Pandey bb6df783ab feat: react native sdk v2 (#4616)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-02-04 15:32:04 +00:00
Matti Nannt 26cca5c2f8 fix: docker corepack issues (#4709) 2025-02-04 12:25:50 +00:00
Kartik Saini 7e3dd7d624 fix: what_is_a_pannel_answer text key missing (#4679) 2025-02-04 09:45:16 +00:00
Paribesh Nepal db9a53f923 fix: userError (#4703)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-02-04 09:32:57 +00:00
Piyush Gupta 92ae4786f0 feat: test-coverage (#4701) 2025-02-04 07:59:16 +00:00
Dhruwang Jariwala b35cf14d32 fix: line height in description (#4687)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-02-03 21:17:15 +00:00
Anshuman Pandey 14374b55d2 fix(client-api): apis openapi spec (#4706) 2025-02-03 20:59:32 +00:00
Matthias Nannt 5a919018c5 chore: prepare 3.1.4 release 2025-02-03 20:28:53 +01:00
Matthias Nannt 6ac73d3f25 chore: use latest node:22 version in Dockerfile 2025-02-03 20:22:36 +01:00
dependabot[bot] 510fe3902e chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates (#4686)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 10:05:27 +00:00
Dhruwang Jariwala 2bc23594ad fix: open file in new tab (#4697) 2025-01-31 07:08:02 +00:00
Piyush Gupta 06e00f3066 chore: invite types (#4613)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-31 06:56:55 +00:00
Dhruwang Jariwala 9b3d409695 fix: org leaving issue and minor tweaks (#4691) 2025-01-31 03:59:26 +00:00
Dhruwang Jariwala f7f5737abf fix: email inconsistencies (#4678) 2025-01-30 09:54:48 +00:00
Johannes 9160d63ad4 Merge branch 'main' into feat/insights-filter 2025-01-29 06:59:15 -08:00
Matti Nannt 458f135ee1 chore(cloud): move from customer-io to brevo (#4681)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-01-29 09:18:16 +00:00
Piyush Gupta b6fc104357 feat: adds filter on insights 2025-01-29 11:42:24 +05:30
Anshuman Pandey 8e116bf62d fix: recall in follow up (#4680) 2025-01-29 06:04:22 +00:00
Matti Nannt f1d697a83f chore: prepare 3.1.3 release (#4682) 2025-01-28 14:09:45 +01:00
Dhruwang Jariwala 69a7a57f41 chore: removed contact attributes from recall (#4651)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-01-28 11:23:23 +00:00
Anshuman Pandey 24de1559a5 fix: fixes formbricks.logout (#4672) 2025-01-28 11:22:49 +00:00
Piyush Gupta ec29abfcaf fix: new contribution message action (#4661) 2025-01-28 05:36:50 +00:00
Dhruwang Jariwala eac97db665 test: unit test for auth module (#4612)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-01-27 13:13:40 +00:00
Dhruwang Jariwala d8386328e7 fix: added link to notion doc (#4670) 2025-01-27 12:44:09 +00:00
Paribesh Nepal d28f321aa2 fix: long answer (#4654)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-01-27 07:33:29 +00:00
Piyush Gupta e691c076a1 chore: adds webhook types (#4606)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-01-24 12:23:07 +00:00
Matti Nannt ad842e0e80 chore: fix openAPI specs throw error (#4662) 2025-01-24 10:55:34 +01:00
Dhruwang Jariwala dcf4109c5b docs: rate limiting docs (#4652)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2025-01-24 06:25:42 +00:00
Chromico Rek 05287c135e fix: prevent duplicate value appending in docker-compose.yml (#4618) 2025-01-24 05:52:32 +00:00
Piyush Gupta 6ff8ec21cf fix: e2e test (#4660) 2025-01-24 04:57:23 +00:00
Matti Nannt 7b6e22aa04 chore: increase version number to 3.1.2 (#4658) 2025-01-23 19:00:04 +01:00
Piyush Gupta ee56914285 fix: onboarding organization creation bug (#4641) 2025-01-23 16:36:45 +00:00
Paribesh Nepal a2e9cd3c43 fix: Increase response limit (#4650)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-01-23 12:23:48 +00:00
Dhruwang Jariwala 359f29a264 chore: added playwright cloud to gh workflow (#4556)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2025-01-23 09:22:56 +00:00
Dhruwang Jariwala 576b15fec0 feat: cmd + enter to jump to next question (#4626) 2025-01-23 06:55:01 +00:00
Dhruwang Jariwala 42434290da fix: created at mapping in notion integration (#4640) 2025-01-23 06:01:41 +00:00
dependabot[bot] 62c6189dfd chore(deps-dev): bump the npm_and_yarn group across 9 directories with 1 update (#4639)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 21:09:12 +00:00
Matti Nannt 21c9ebbca3 chore: increase version number to 3.1.1 (#4647) 2025-01-22 17:48:34 +01:00
Matti Nannt 658d4687f9 fix: draft release workflow (#4643)
Co-authored-by: GitHub Actions <github-actions@github.com>
2025-01-22 15:38:02 +01:00
Dhruwang Jariwala 3775453db8 chore: permissions to workflows (#4599)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-22 12:06:52 +00:00
Dhruwang Jariwala edcaf8e639 fix: recall to ending card button url (#4627) 2025-01-22 12:05:50 +00:00
Matti Nannt 3aa658a64e chore: add release workflow (#4638) 2025-01-22 12:08:33 +01:00
Paribesh Nepal 58fc66ad1c fix: Change type Single / Multi select to Ranking should not remove o… (#4622) 2025-01-21 05:20:37 +00:00
Dhruwang Jariwala f68f87645f fix: column ordering (#4621) 2025-01-21 05:06:43 +00:00
Paribesh Nepal 25f99da172 fix: colour picker (#4619) 2025-01-20 04:17:11 +00:00
Anshuman Pandey 5da6faa972 fix: overlapping UI and translations (#4615) 2025-01-17 13:58:15 +00:00
Piyush Gupta 02b25138ef chore: API key types (#4610)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-17 10:36:29 +00:00
Matti Nannt 21644f5ad8 chore: remove data-migration image (#4605) 2025-01-15 19:32:51 +01:00
Anshuman Pandey d3adc1629c fix: adds cached service for getting contact with attributes (#4598) 2025-01-15 17:35:35 +00:00
Matti Nannt 7c60c57c60 chore: prepare 3.1 release (#4603) 2025-01-15 17:49:51 +01:00
Justman100 7006a790dc fix: pnpm install error in lib package (#4537)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-01-15 13:01:10 +01:00
Piyush Gupta 2575b649a0 chore: moved insights model to database package (#4575) 2025-01-15 07:47:05 +00:00
Piyush Gupta 8399391aaa fix: ai feature check (#4597)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2025-01-15 05:12:02 +00:00
Matti Nannt dfbec20016 fix: code scanning alert no. 36: Incomplete URL substring sanitization (#4577)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2025-01-15 04:59:08 +00:00
Dhruwang Jariwala 17ac777e9b chore: optimisations in survey summary (#4592)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-15 04:21:58 +00:00
Anshuman Pandey 01edc0e6e0 fix: recall dropoff bug (#4596) 2025-01-14 09:36:45 +00:00
Johannes d6b58a5e66 fix: tweak responsiveness of mobile surveys (#4580)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-01-13 11:39:54 +00:00
Anshuman Pandey 517ef9515c fix: recontactDays calculation (#4590) 2025-01-13 09:35:59 +00:00
Dhruwang Jariwala 7d94861db9 fix: progress bar (#4589) 2025-01-13 08:52:49 +00:00
Piyush Gupta cb1e4fa583 fix: contacts page layout remount (#4588) 2025-01-13 06:03:46 +00:00
Dhruwang Jariwala dd5fced6c4 fix: name in sso signup (#4587) 2025-01-13 05:11:41 +00:00
Johannes 01a4d91167 fix: docs typo (#4581) 2025-01-10 08:25:50 -08:00
Anshuman Pandey 2e2f0fdbb5 chore: refactors question form input (#4567) 2025-01-10 15:33:17 +00:00
dependabot[bot] 3ca1a72c6a chore(deps): bump the npm_and_yarn group across 4 directories with 1 update (#4552)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2025-01-10 10:03:20 +00:00
Piyush Gupta 9905199055 fix: email smtp auth mode (#4571)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-10 09:30:28 +00:00
Matti Nannt 5970ff917f chore: add testing infra to apps/web (#4563)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2025-01-09 13:00:16 +00:00
Dhruwang Jariwala d197c91995 feat: Placeholder input for contact and address question (#4549)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-09 09:45:24 +00:00
Piyush Gupta 6e1ee6df12 chore: adds vercel style guide to docs app (#4561) 2025-01-09 04:53:10 +00:00
Matti Nannt b44d6e60bd chore: update upload-artifact to v4 (#4568) 2025-01-08 17:59:24 +01:00
Matti Nannt 1d0e49d5b6 chore: remove unused code from FormbricksClient (#4565)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2025-01-08 16:09:57 +00:00
Piyush Gupta ced7b2aa2c chore: adds vercel style guide linting in demo app (#4557)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-08 05:29:35 +00:00
Anshuman Pandey 6aa473c316 fix: contacts upload ui issues (#4559)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2025-01-08 04:52:34 +00:00
Matti Nannt aebe36b9e8 fix: make getSummary response call synchronous to avoid db issues (#4564) 2025-01-07 17:43:29 +01:00
Matti Nannt 71c92766d3 fix: exhausting connection limit on survey summary (#4562) 2025-01-07 14:07:22 +01:00
Matti Nannt a3f5f7645a chore: run sonarqube manually (#4560) 2025-01-06 19:35:35 +01:00
Piyush Gupta 7e8514e7be feat: added turnstile to signup flow (#4516) 2025-01-06 12:26:53 +00:00
Piyush Gupta 7715789d0f fix: embed modal preview (#4548)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-06 12:11:19 +00:00
Piyush Gupta a93fed448f fix: user delete bug (#4550)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-06 11:28:32 +00:00
Dhruwang Jariwala 10738a7af0 chore: vercel style guide part 3 (#4530) 2025-01-06 04:34:35 +00:00
Matti Nannt 2c00c55e5d chore: add github action for sonarQube (#4551) 2025-01-03 21:05:34 +01:00
Anshuman Pandey 80ba02851f fix: improves attributes route performance (#4547) 2025-01-03 08:17:35 +00:00
Dhruwang Jariwala 5fd3190a2d chore: tweaked survey card animation (#4518) 2025-01-03 05:29:54 +00:00
Piyush Gupta 117ec317de feat: whitelabel 2 | Email customization (#4546)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2025-01-02 12:28:56 +00:00
Dhruwang Jariwala f4f2836bdb docs: add notes to integrations (#4544)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2025-01-02 11:11:27 +00:00
Dhruwang Jariwala e194a2feb8 chore: make ai feature available for self hosting (#4543) 2024-12-31 09:01:08 +00:00
Anshuman Pandey 93e9ec867c fix: adds vercel style guide to @formbricks/js-core (#4520) 2024-12-30 14:00:37 +00:00
Anshuman Pandey 1fe625a9b4 fix: survey timeout during routing (#4515) 2024-12-30 10:06:31 +00:00
Dhruwang Jariwala 1c1ef56e00 fix: removed logo from survey loading if branding is disabled (#4542) 2024-12-30 06:08:28 +00:00
Anshuman Pandey 838fe16845 fix: fixes docs for migration guide (#4536) 2024-12-27 16:00:43 +00:00
Anshuman Pandey 7f3c45f85a fix: refactors react native client (#4527)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-12-27 13:29:31 +00:00
Piyush Gupta 9a4f6721e2 fix: multi-select component (#4529)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-12-27 07:30:33 +00:00
Dhruwang Jariwala a4ffc03e55 chore: vercel style guide for main app (2) (#4525)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-27 05:20:50 +00:00
Dhruwang Jariwala c4c98bda31 fix: new ending card not expanding (#4526)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-25 10:25:19 +00:00
Dhruwang Jariwala 63aa2fd307 fix: MUI warnings in logic editor (#4521) 2024-12-24 14:46:30 +00:00
Dhruwang Jariwala 99d0b1786d fix: console error in recontact card settings (#4519) 2024-12-23 09:40:08 +00:00
Johannes 843fed5ffd fix: remove default values for new questions added (#4450)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-12-23 07:39:52 +00:00
Dhruwang Jariwala 9b8112b478 fix: notion issue with empty url (#4517) 2024-12-20 12:03:47 +00:00
Piyush Gupta 2433d40918 fix: single use card text filling error (#4514)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-12-20 09:26:48 +00:00
Dhruwang Jariwala 2c1f473bbe fix: back button (#4513) 2024-12-20 04:45:34 +00:00
Dhruwang Jariwala 7605a4d835 fix: urls in email footer (#4507) 2024-12-19 12:33:29 +00:00
Piyush Gupta a1e2fddd5c fix: logic jump (#4501)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-19 08:32:02 +00:00
Dhruwang Jariwala 74b770a937 fix: summary calculation (#4500) 2024-12-19 08:21:28 +00:00
Dhruwang Jariwala bd8724c1e2 fix: auto zoom on ios (#4502) 2024-12-19 08:18:10 +00:00
Piyush Gupta e508159255 fix: error on modal opening (#4503) 2024-12-19 07:57:37 +00:00
Matti Nannt 4649921b1d chore: preparations for 3.0 release (#4499) 2024-12-18 17:16:13 +01:00
Dhruwang Jariwala 1c58ac3704 fix: wrong invite message (#4470)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-12-18 14:24:16 +00:00
Dhruwang Jariwala 4676b4cd25 docs: management api endpoints for contacts (#4494) 2024-12-18 13:42:31 +00:00
Piyush Gupta 15f36651d8 feat: team users clean up (#4448)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-12-18 12:20:50 +00:00
Anshuman Pandey 7b11ef9b40 fix: adds example CSV and other fixes on the contacts page (#4493)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-12-18 12:02:21 +00:00
Johannes 3b90f085b1 docs: Update license docs (#4488)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-12-18 10:59:34 +00:00
Piyush Gupta 36bf445370 chore: update all npm dependencies (#4486)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-18 10:02:43 +00:00
Dhruwang Jariwala 8936ce928f chore: upselling UI (#4491) 2024-12-18 09:58:58 +00:00
Anshuman Pandey 28aec8852b fix: migrations speed (#4492) 2024-12-18 08:55:57 +00:00
Dhruwang Jariwala 5d1224e438 chore: onboarding cleanup (#4479)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-12-18 08:06:45 +00:00
Piyush Gupta a0d02a843e fix: video embed url (#4485)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-12-18 04:47:21 +00:00
Johannes 08f22983e7 highlight breaking changes 2024-12-17 09:28:03 -08:00
Anshuman Pandey 07289667c0 fix: search on contacts page (#4484) 2024-12-17 16:03:38 +00:00
Anshuman Pandey f49375dce4 feat: new data migrations approach (#4466)
Co-authored-by: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-12-17 13:42:23 +00:00
Philipp Dormann 9910cafe78 feat(docker): add multi arch to data-migration (#4421)
Co-authored-by: Matti Nannt <mail@matti.sh>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-12-17 13:29:10 +01:00
dependabot[bot] 9996a1579b chore(deps): bump nanoid from 5.0.7 to 5.0.9 in the npm_and_yarn group across 1 directory (#4428)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 11:36:43 +00:00
Anshuman Pandey fd913ad1fa fix: no displays for multi language surveys (#4482) 2024-12-17 11:28:25 +00:00
Melvin Jariwala 412a873c47 fix: delete own account deletes org (#4419) (#4422)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-12-17 08:52:05 +00:00
Suraj 22046f4cfb fix: resolve BUG #4447 (#4458)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-12-17 06:10:38 +00:00
Dhruwang Jariwala 030debe9d9 fix: buggy docs navigation (#4441)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-12-16 12:23:42 +00:00
Anshuman Pandey 9db1d548a0 chore: moves survey follow ups to community (#4476) 2024-12-16 12:11:31 +00:00
Dhruwang Jariwala da167642b7 fix: button descendant console error (#4468) 2024-12-16 08:17:35 +00:00
Dhruwang Jariwala 971053c90d fix: i18n issues in date picker (#4469) 2024-12-16 07:49:47 +00:00
Piyush Gupta 65d9220df6 chore: next and react version bump (#4459)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-12-13 11:14:28 +00:00
Dhruwang Jariwala 264ebb1d4c fix: add time to exports (#4430)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-13 10:27:58 +00:00
Dhruwang Jariwala 3509d3594f fix: next button label translation (#4398) 2024-12-13 10:16:15 +00:00
Dhruwang Jariwala 2a268accff chore: vercel style guide (part 1) (#4451) 2024-12-13 05:23:22 +00:00
Matti Nannt 37966880fd fix: remove cache from identify endpoint to fix issues with recontact time (#4453) 2024-12-12 16:32:12 +00:00
Johannes 6699c92082 update docs 2024-12-12 01:04:05 -08:00
Johannes 9ca1c5c14b docs: update docs (#4449) 2024-12-11 23:57:30 -08:00
Piyush Gupta af1a5f7361 feat: whitelabel-1(moving branding to EE) (#4393)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-12-12 04:05:05 +00:00
Dhruwang Jariwala c349a3b869 fix: survey auto complete (#4442) 2024-12-11 17:08:37 +00:00
Dhruwang Jariwala 8d2edf91a1 fix: webhook deleteion and updation working (#4431) 2024-12-11 07:05:26 +00:00
Dhruwang Jariwala 39b686a13b fix: welcome card description not updating (#4440) 2024-12-11 06:54:21 +00:00
Piyush Gupta 139965d6ca fix: broken invite flow (#4387)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-12-10 06:57:50 +00:00
Dhruwang Jariwala e79e692735 fix: survey saving with styles (#4404)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-12-10 05:45:33 +00:00
Anne Deepa Prasanna 797c56585b feat: character limitations to free text question (#4047)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-12-09 14:14:47 +00:00
Dhruwang Jariwala e38391ade0 fix: onboarding invite (#4426)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-12-09 12:26:11 +00:00
Dhruwang Jariwala f344715381 fix: light mode (#4423)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-12-09 11:53:36 +00:00
Dhruwang Jariwala 1e95b8cf9e fix: response card tags not updating (#4424) 2024-12-09 11:32:28 +00:00
Matti Nannt 8ffaf0748e chore: update client api rate limits (#4425) 2024-12-09 10:46:18 +01:00
Piyush Gupta 88357a3aeb feat: adds vercel style guide in surveys package WIP (#4401) 2024-12-09 09:00:14 +00:00
Dhruwang Jariwala dfe025ab8e chore: Freeze client api + api docs (#4373)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-12-06 12:34:30 +00:00
Anshuman Pandey 97a66168c0 fix: react native sync (#4405) 2024-12-06 11:02:45 +00:00
Dhruwang Jariwala a9983e1fe0 fix: build warnings (#4407) 2024-12-06 05:10:45 +00:00
Dhruwang Jariwala 793ce0afd8 feat: french translations (#4395)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-12-05 09:59:39 +00:00
Dhruwang Jariwala 4d7cc26983 chore: added shadcn button (#4392)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-12-04 18:50:59 +00:00
Dhruwang Jariwala c72ce9b446 fix: missing impression count (#4397) 2024-12-04 11:51:32 +00:00
Piyush Gupta f3c628ba76 fix: user(owner) delete bug (#4388)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-12-04 08:05:48 +00:00
Anshuman Pandey 9a66e26b00 fix: sync endpoint cache (#4394) 2024-12-04 06:24:53 +00:00
Dhruwang Jariwala 8b7f2f102f fix: keyboard overlaps the survey (#4386) 2024-12-04 05:01:50 +00:00
Anshuman Pandey 56d8c3f50f feat: contacts revamp (#3399)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-12-03 12:38:35 +00:00
Dhruwang Jariwala 61f5c66444 fix: typo in pricing table (#4377) 2024-12-03 08:44:47 +00:00
Piyush Gupta a2f7b1a780 fix: empty config projects (#4391) 2024-12-03 08:29:38 +00:00
Piyush Gupta 35b2d12e18 feat: Product Model Revamp (#4353)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-12-03 04:34:09 +00:00
Johannes 5dcd32050a fix: usability improvements survey editor (#4362)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-12-03 03:42:07 +00:00
Johannes 1099d67bf1 Update README.md
Remove confusing label of White Label License
2024-12-02 12:36:23 -08:00
Piyush Gupta 69625ae832 fix: ranking ques performance (#4301) 2024-12-02 04:39:58 +00:00
Piyush Gupta a1c7c4a310 fix: csp header (#4384) 2024-12-02 03:53:47 +00:00
Johannes a3bea3b7da feat: add intercom (#4363)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-29 14:53:23 +00:00
Salim B a3043c1f6d docs: mention ENCRYPTION_KEY length limit (#4360)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-28 13:19:34 +00:00
Matti Nannt d0da7858ec chore: upgrade node to 22, upgrade pnpm, upgrade turbo (#4374) 2024-11-28 14:07:05 +01:00
Dhruwang Jariwala 7bba09c16d fix: translations and onboarding bug (#4370)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-28 08:23:25 +00:00
Piyush Gupta 78813d53b1 fix: ending card url (#4364)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-11-27 05:07:18 +00:00
Khaja Shaik 35eac02545 fix: removes environment id in local storage (#4347)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-11-27 04:55:11 +00:00
Matti Nannt a5b0d39adf docs: move community from Discord to Github Discussions (#4365) 2024-11-26 11:25:50 +01:00
Dhruwang Jariwala f80d1b32b7 chore: Auth module revamp (#4335)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-26 08:28:13 +00:00
Aryaman Todkar 7598a16b75 feat: created icon bar component in survey overview (#4240)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-26 06:26:08 +00:00
Piyush Gupta b83b54eee1 fix: improved AI insights generation prompt (#4330) 2024-11-25 11:12:01 +00:00
Piyush Gupta eb2621f72a fix: license checks in server actions (#4274)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-11-25 09:27:46 +00:00
Dhruwang Jariwala 44980d21a9 fix: vercel build (#4351) 2024-11-22 10:16:41 +00:00
Dhruwang Jariwala e1d2e1357b fix: increase share rate limit (#4345) 2024-11-22 08:07:18 +00:00
Piyush Gupta f80c7d03e2 fix: next js 15 stale experimental flags (#4350) 2024-11-22 07:55:42 +00:00
Dhruwang Jariwala 4ca6ee358b fix: created at to integrations (#4343)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-22 06:19:54 +00:00
Dhruwang Jariwala 9dad06222d chore: move ui components to modules (#4342)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-21 17:58:15 +00:00
Anshuman Pandey 37ef6be4c3 feat: survey follow ups (#4247)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-21 06:50:37 +00:00
Matti Nannt f0a4fad878 chore: add github issue task template (#4340) 2024-11-20 12:42:01 +01:00
Matti Nannt 06ae035e11 chore: update github issue template (#4339) 2024-11-20 12:33:11 +01:00
Piyush Gupta 91b5177bdb fix: variable docs (#4338) 2024-11-20 10:07:03 +00:00
Dhruwang Jariwala 30bd427985 docs: redis docs (#4316) 2024-11-20 08:16:47 +00:00
Piyush Gupta a92762ff47 feat: allowed assigning of variable to open text number question (#4334) 2024-11-20 07:43:21 +00:00
Piyush Gupta 0a5c98aba0 chore: removed experience page (#4320) 2024-11-20 07:23:37 +00:00
Piyush Gupta 6f041bf693 fix: license cache issue (#4337) 2024-11-20 07:21:57 +00:00
Dhruwang Jariwala 23c9dc304a chore: Billing to new module structure (#4308) 2024-11-19 11:00:39 +00:00
Piyush Gupta 97377fe8bd feat: updated org limits data migration (#4329) 2024-11-19 10:10:26 +00:00
Piyush Gupta 36cf16ce90 chore: move ee services to new module structure (#4317) 2024-11-19 08:17:21 +00:00
Piyush Gupta ab3ef63097 fix: only one jump to question is allowed (#4332) 2024-11-19 04:33:58 +00:00
Dhruwang Jariwala 7f8549124f fix: name regex (#4328) 2024-11-18 11:58:27 +00:00
Piyush Gupta 43b1cb904d feat: logic fallback option added (#4306)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-11-15 13:13:08 +00:00
Dhruwang Jariwala 762a3ca626 chore: make redis an enterprise feature (#4314) 2024-11-15 07:10:48 +00:00
Sai Suhas Sawant 91f0d00ba2 fix: survey release and close bug for first date of the month (#4311)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-11-15 05:35:51 +00:00
Dhruwang Jariwala 41f42f4427 fix: recall in slack integration (#4304) 2024-11-15 04:17:26 +00:00
Piyush Gupta 98181bfe6c chore: next version upgrade (#4291) 2024-11-14 12:33:05 +00:00
Matti Nannt a8ab4aaf2e chore: prepare 2.7.1 release (#4302) 2024-11-13 15:37:36 +01:00
Piyush Gupta 78dca7a2bf fix: response cache invalidation on person delete (#4300)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-11-13 14:13:55 +00:00
Piyush Gupta 844ea40c3a feat: adds does not include options in conditions (#4296) 2024-11-13 13:01:03 +00:00
Piyush Gupta 7a6dedf452 fix: cache invalidation in sentiment and category update (#4295)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-11-13 12:58:03 +00:00
Dhruwang Jariwala b641b37308 fix: rate limiting to forget password (#4297)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-13 12:27:21 +00:00
Dhruwang Jariwala 8c1f8bfb42 fix: email enumeration via forgot password page (#4299)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-13 12:05:44 +00:00
Dhruwang Jariwala 1f1563401d fix: Email Address Disclosure via URL in Registration Process (#4241)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-11-13 11:57:53 +00:00
Dhruwang Jariwala 9fd585ee07 fix: styling fixes (#4279)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-11-13 10:59:01 +00:00
Sai Suhas Sawant 609dcabf77 feat: promote dev-actions to prod (#4245)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-13 08:17:41 +00:00
Matti Nannt 80d338c998 chore: add expected behaviour to github bug template (#4292) 2024-11-12 14:27:53 +01:00
ayaang-layer 306784c31b docs: add support for Layer widget (#4262)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-12 14:07:33 +01:00
Matti Nannt bcd68e0f19 fix: simplify LRU cache warning to avoid confusion (#4290) 2024-11-12 13:41:05 +01:00
Dhruwang Jariwala 5764148753 fix: formbricks not working in github codespace (#4289) 2024-11-12 11:30:31 +00:00
Dhruwang Jariwala e7edfe3ba1 fix: security checks for user input fields for email (#3819) 2024-11-12 10:01:21 +00:00
Dhruwang Jariwala da6f54eede fix: All roles need insight into consumption (#4242)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-12 06:12:38 +00:00
Khaja Shaik ade5c3d80e feat: Expanded the options of time periods in filters (#4226)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-12 05:49:35 +00:00
Dhruwang Jariwala cc2600cfba fix: language error on template page (#4281)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-11-12 02:27:47 +00:00
Piyush Gupta 9b191ef3e4 fix: Back Button is Autofocused with No Margin in Modal (#4283) 2024-11-12 02:18:32 +00:00
Dhruwang Jariwala c450c35baf fix: increase card size for link surveys (#4285)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-11-12 02:16:51 +00:00
Anshuman Pandey b35b82f4ee fix: restricting archived attributes in the survey and segment editor (#4269)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-11 13:09:58 +00:00
Matti Nannt ea52624ab2 docs: add n8n community node note (#4280) 2024-11-11 12:33:47 +01:00
Piyush Gupta 0484bccfd1 fix: correct className order in PricingTable component (#4277)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-11-11 11:19:50 +00:00
Mert Eroğlu d094f63faa fix: slack integration with large organizations (#3201)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-11 10:19:36 +00:00
Matti Nannt dc6bc61442 fix: conditional in german translation (#4275) 2024-11-11 11:30:58 +01:00
Dhruwang Jariwala 5918c42cf9 fix: attribute activity tab crashing (#4276) 2024-11-11 08:34:26 +00:00
Matti Nannt c34a08561e chore: remove docker-compose for dev environment (#4271) 2024-11-11 07:59:54 +01:00
Matti Nannt 7213c726b4 docs: add beta notes to features currently under development (#4270) 2024-11-11 07:59:05 +01:00
Piyush Gupta f650ac4e76 fix: hostname regex (#4255) 2024-11-11 05:51:39 +00:00
Johannes 2ff1be2c4a fix: add missing translation (#4266) 2024-11-10 18:12:31 -08:00
Dhruwang Jariwala 61ac306ef3 fix: unresponsive table header and preview of inactive survey issue (#4258)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-11-09 02:31:29 +00:00
Johannes 022569e404 docs: add recall from URL (#4260) 2024-11-08 19:25:03 +00:00
Matti Nannt ebf22df7b6 chore: remove old gitpod docs (#4259) 2024-11-08 15:47:40 +01:00
Matti Nannt adcc596875 chore: update 2.7 migration guide (#4256) 2024-11-08 12:37:15 +01:00
Dhruwang Jariwala 1bcdf06b43 fix: slack integration crashing (#4254) 2024-11-08 09:26:27 +00:00
Matti Nannt 3be78f0312 chore: v2.7 release preparation (#4249) 2024-11-08 10:35:49 +01:00
Dhruwang Jariwala 5633499834 fix: authclient error and delete integration issue (#3463)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-11-08 08:43:33 +00:00
Piyush Gupta 88847a153b fix: resolve recalls properly in document (#3943)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-08 08:25:02 +00:00
dependabot[bot] 3e7c3a45c3 chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#4144)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-08 07:34:38 +00:00
Piyush Gupta 1af1a92fec feat: granular team roles (#3975)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-11-08 06:03:14 +00:00
Dhruwang Jariwala 7b38923b7d fix: survey status cron (#4252) 2024-11-07 08:40:43 +00:00
Matti Nannt 38500e1d79 fix: cal.com question not loading properly (#4251) 2024-11-07 09:39:52 +01:00
Vardhaman Bhandari 2e82fc3ead fix: setting preview form data resetting (#4182)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-06 05:38:35 +00:00
Dhruwang Jariwala e88ae4aa3d fix: toast translation (#4228) 2024-11-06 05:27:55 +00:00
Dhruwang Jariwala 5f55c922dc fix: templates (#4227) 2024-11-06 04:42:31 +00:00
Dhruwang Jariwala fc3c044e00 fix: suid screen getting stuck (#4229) 2024-11-06 04:39:07 +00:00
Dhruwang Jariwala bee0ab07b4 fix: person response page and copy link transalation issue (#4239)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-11-05 22:55:20 +00:00
Gourav Thakur 0c37956943 fix: Delete account to signup page (#4162)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-11-05 07:27:32 +00:00
Johannes 74bd40e0ff feat: Update Insight category, document sentiment and archive insights (#4038)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-05 07:07:27 +00:00
Matti Nannt 31c3f9730e fix: github issue template linting issues (#4234) 2024-11-04 16:49:55 +01:00
Matti Nannt da8e7c1870 chore: Add CodeQL (#4233) 2024-11-04 16:27:13 +01:00
Matti Nannt ac0ec1fbcd chore: update issue templates (#4230) 2024-11-04 16:25:54 +01:00
Johannes 18be650561 fix: onboarding template issue (#4221)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-03 04:40:40 +00:00
Johannes 5977fa6f80 fix: DE translations (#4216) 2024-11-02 19:14:14 +00:00
Matti Nannt 1e2833b742 docs: remove links to discontinued examples repo (#4212) 2024-11-01 17:13:50 +01:00
Sai Suhas Sawant f18b030ebf fix: date select highlight fix (#4208)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-11-01 02:28:47 +00:00
Aditya Deshlahre ef454d8140 docs: replacing old UI image to New on Best Practices (#4192)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-31 23:12:50 +00:00
Harsh Shrikant Bhat 1ea391e45b docs: Add quiz guide in the docs (#4180) 2024-10-31 23:02:36 +00:00
Dhruwang Jariwala b3e6e8d5d0 feat: multi language UI (#3133)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-31 08:23:57 +00:00
Sai Suhas Sawant 705f55176f fix: date picker ui-fix (#3382)
Co-authored-by: Jonas Höbenreich <64426524+jonas-hoebenreich@users.noreply.github.com>
Co-authored-by: Vinay Kumar Maheshwaram <54681400+sudovinay01@users.noreply.github.com>
Co-authored-by: Sharad Kushwaha <123795629+SharadK10@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Chase Nelson <Chase.a.nelson@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-31 04:07:42 +00:00
Raj Gupta 297f349b45 fix: shiki package update from version 0.14.7 to 1.22.0 (#3542)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-30 20:49:34 -07:00
DivyanshuLohani 91b6a9e008 fix: Stop creation of empty name segments on people page (#4028)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-31 03:34:12 +00:00
Aleksey 189dc52ee9 fix: mobile delay before showing survey doesn't work on react native (#3961)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-31 03:23:08 +00:00
Jonas Höbenreich 280a9a439b feat: add 4 new survey templates (#4018)
Co-authored-by: Bhavesh Mishra <69065938+thefool76@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-31 03:11:44 +00:00
Ikko Eltociear Ashimine bc844bbb1f chore: update SurveyDropdownMenu.tsx (#4076)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-31 02:38:31 +00:00
Teddy ASSIH ea2d6de9a7 feat: oss.gg: add new background video (#4123)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-31 02:33:44 +00:00
Aditya Deshlahre e09ab1dcbe feat: career & professionl development survey (#4092)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-31 02:28:19 +00:00
Bhavesh Mishra e1e04517a9 fix: Fixed the animation bug on the site (#4110)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-31 01:48:57 +00:00
Piyush Gupta 06026b6922 fix: error handling in insight generation (#4075)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-10-29 14:14:05 +00:00
Dishant Yadav 19a3faadce fix: Direct Link in Docs don't open Navigation Submenu (#3561)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-29 10:55:37 +00:00
Bhavesh Mishra 33543f59f8 feat: Added longterm retention check in template (#4061)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-28 03:56:04 +00:00
DivyanshuLohani 47826a45aa fix: open specific nav group on docs page on first page load (#4034)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-26 23:16:04 +00:00
Aditya Deshlahre 6f043ec16e docs: add image or video to question (#4041)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-26 23:15:44 +00:00
Bhavesh Mishra c2703788ae feat: oss.gg: add new background video (#4051)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-26 22:13:36 +00:00
Aditya Deshlahre ef7df0fc77 fix: added webhook url test for a valid URL (#4007)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-25 21:18:38 +00:00
Jonas Höbenreich cdb8199199 feat: oss.gg: add new background video (#4017) 2024-10-25 21:08:20 +00:00
Piyush Gupta b0ded570ff fix: inconsistencies in survey summary (#4032)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-25 16:53:55 +00:00
Piyush Gupta 5c0b29eed4 fix: summary calculation in multi choice questions (#4022)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-25 09:17:06 +00:00
Piyush Gupta 8e16d8daf6 fix: adds CSP header (#3754) 2024-10-25 08:58:59 +00:00
Johannes deea760a17 fix: animate tweaks (#4015) 2024-10-24 20:02:18 -07:00
Matti Nannt f56f08e3c1 docs: fix last occurence of old sdk call from docs (#4016) 2024-10-24 22:04:03 +02:00
Matti Nannt 5daeab6554 chore: remove attributes from identify call (#4012)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-10-24 17:16:56 +00:00
DivyanshuLohani 0d11c08be7 feat: add auto animate to web app components #3825 (#3887)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-24 08:42:29 +00:00
Dhruwang Jariwala e7fbdb4d00 fix: back button label updation and onboarding container layout (#3868)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-24 00:04:53 +00:00
Shrey 9538c2e6e3 feat: added windows bliss background (#3879)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-23 23:56:07 +00:00
Chirag Arora 3b5f9adcd1 fix: button size in all modals to size "sm" (#3799)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:35:49 +00:00
Parth Seth 90480317af fix: handle incorrect 2FA OTP error (#3935)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:35:23 +00:00
DivyanshuLohani 352e905529 fix: add text-center to fix date picker date background on hover (#3916)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:31:10 +00:00
DivyanshuLohani 588768c849 fix: resposiveness issue in the survey's hidden fields (#3952)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:19:17 +00:00
Jonas Höbenreich 2bab855b05 feat: add Employee Well-Being template (#3981)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:16:44 +00:00
Dominique Barton 7fdc2eec34 docs: remove unnecessary Airtable environment var (#3995)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 23:04:41 +00:00
Sarthak Kumar Shailendra 464455be2b fix: update twitter icon to x (#4001)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 22:54:38 +00:00
Naineel Soyantar 0a11c6aed5 fix: broken redirects on self-hosting > integrations docs (#3998)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-23 22:53:00 +00:00
Johannes 8566b4c3da fix: survey list spacing and loading (#4003) 2024-10-23 13:32:12 -07:00
sateshcharan 9465bd15f2 feat: setup node with .nvmrc (#3941) 2024-10-23 17:02:36 +00:00
Recep Erdoğan 37791fc78f feat: add Helm chart for Formbricks with PostgreSQL, Redis, and Traefik (#3220) 2024-10-23 05:51:00 +02:00
sateshcharan 98c16eb4b8 feat: [🕹️] Design a background (600 Points) (Double for animated) (#3937)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-21 23:59:56 +00:00
sateshcharan 7803de6ee7 feat: [🕹️] Add Template to Library (150 points) (#3947)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-21 22:22:58 +00:00
Johannes d9e2267a3a fix: tweak ai ui (#3964) 2024-10-21 15:13:21 -07:00
Matti Nannt 9872d17abe feat: AI-based Open-Text Summary & new Experience page (#3038)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-10-20 12:06:46 +02:00
Ikko Eltociear Ashimine 4dad1226ce docs: update page.mdx (#3866) 2024-10-17 21:42:11 -07:00
Matti Nannt 5a2f8c586a chore: update usage limits for formbricks cloud (#3824) 2024-10-16 16:48:14 +02:00
Matti Nannt eba60d4777 chore: update cloud prices (#3823)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-16 16:45:02 +02:00
Aditya Deshlahre e633fc76be docs: Question type pages Addition On documentation (#3732)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-16 01:58:52 +00:00
Muhammad Abdul Rahman 700068dc9f fix(button): change loader color of secondary button to dark:text-slate-900 (#3795) 2024-10-16 00:33:20 +00:00
Dhruwang Jariwala 0f2f3b1af8 fix: breaking summary page dropdown (#3764) 2024-10-15 13:36:03 +00:00
Dhruwang Jariwala 35e4b1f965 fix: preview mode change (#3737) 2024-10-15 06:55:48 +00:00
Dev Dalia 047c9abe9c feat: standardize menu ui (#3333)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-10-15 06:44:31 +00:00
DivyanshuLohani 8f0c55808d fix: navigation active link issue (#3459)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-14 18:31:24 -07:00
Chase Nelson 03df021fbf feat: add descriptive for question types (#3356)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-15 00:27:53 +00:00
ALOK VERMA be96885260 feat: Add back to top button on survey summary (#3292)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-14 23:53:49 +00:00
DivyanshuLohani e75c1b3539 fix: href to correctly update the active state on the sidebar (#3573)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-14 16:42:56 -07:00
Nawin Kumar Sharma 49727ddf9e feat: Add Embed </> options to Survey cta bar and minor changes (#3272)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-14 23:12:54 +00:00
Aditya Pratap Singh 94985e0502 docs: added contact form article (#3558)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-14 21:52:27 +00:00
Jonas Höbenreich 9bf74407ae fix: a11y contrast issues (#3722) 2024-10-14 21:46:10 +00:00
Matti Nannt 5620d477e9 docs: update wording for 2.6 migration (#3724) 2024-10-14 23:43:33 +02:00
Sharad Kushwaha e5f17aff44 fix: ui of create new survey trigger (#3703)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-14 21:27:56 +00:00
Matti Nannt 9bc5fab0ab fix: attribute activity not loading (#3721) 2024-10-14 23:07:33 +02:00
Piyush Gupta 8ca7c38def fix: added logging in actionClient (#3695) 2024-10-14 20:28:47 +00:00
Matti Nannt f92a5eabc9 chore: prepare 2.6 release (#3531) 2024-10-14 21:55:32 +02:00
Anshuman Pandey b40ed54e3c fix: adding packages for vite plugins (#3688) 2024-10-14 09:36:19 +00:00
Harinder Singh 7fa7591d59 fix: whitespace in status text should not break to next line (#3547)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-14 09:28:36 +00:00
Siddheya Kulkarni 81361b3901 fix: Update docs link to point to the quickstart (3539) (#3548)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-14 09:27:23 +00:00
Harinder Singh 49f78670d0 fix: Each child in a list should have a unique "key" prop (#3533)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-14 08:54:50 +00:00
Pranavx1 119a86350d fix: Debug Mode Link in Website & App Connection page is broken #3544 (#3616) 2024-10-13 17:15:20 +02:00
Himanshu Rai 58b43b7227 fix: Moved Integrations in Formbricks Docs to Core Features (#3551)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-13 07:02:42 +00:00
Matti Nannt 618617bf55 chore: update readme (#3601) 2024-10-13 08:47:18 +02:00
Matti Nannt 6ec748f6b7 chore: add turbo to nextjs dev server (#3529) 2024-10-12 10:42:12 +02:00
Chase Nelson 36cb4f6cd2 fix: docs navigation dropdowns with the same title (#3488) 2024-10-12 06:09:00 +00:00
Sharad Kushwaha 6fa805e7ab fix: issue of triggering opening and closing question paper on clicking on submenu options (#3506)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-12 06:06:54 +00:00
Vinay Kumar Maheshwaram 7dbc0f0f0e fix: Error when setting up project in GitHub Codespaces (#3483) 2024-10-12 08:00:40 +02:00
Jonas Höbenreich 807d448f68 fix: username overflow issue (#3501) 2024-10-12 05:44:38 +00:00
dependabot[bot] 014558964c chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#3449)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-11 14:08:27 +00:00
Panagiotis Kapros 28dc81f51f fix: load the script via src vs inline (#3330)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-10-11 11:45:56 +00:00
Pushan Thimmegowda fca2989222 fix: Fixes issue where attempting to signin with google OAuth throws a "user exists" error instead of logging in (#3355)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-11 10:24:53 +00:00
Chase Nelson 0224564da5 fix: typo in padding class name (#3346)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-11 10:16:36 +00:00
Jonas Höbenreich aeec821b7b fix: wrong tooltip in survey copy form (#3341)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-11 10:11:45 +00:00
Amit Sarah Pal 676145233a fix: Oveview Page Redirect and Contributing Section Redirects Links… (#3365)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-10-11 12:17:02 +02:00
Jonas Höbenreich 3be72007fa fix: Make js assets cachable (#3337)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-10-11 09:45:57 +00:00
DivyanshuLohani f1b9a82192 feat: Add last used indicator on login page (#3376)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-10-11 05:41:22 +00:00
Pratik fe8c1fbc47 feat: product configuration pages loading skeletons (#3262)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-10 23:16:16 +00:00
Matti Nannt 4c8be95737 fix: sub-navigation sorting in docs (#3415) 2024-10-11 00:17:58 +02:00
Naineel Soyantar 595fe98417 fix: broken redirect links in developer-docs/contributing (#3343) 2024-10-10 22:07:08 +00:00
Dhruwang Jariwala abc4c7f156 feat: custom data fetching for surveys table (#3318) 2024-10-10 14:36:20 +00:00
Dhruwang Jariwala a6a815c014 fix: autofocus and keyboard navigation issues (#3328) 2024-10-10 11:51:08 +00:00
dependabot[bot] 9cc83bc01a chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#3359)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-10 10:50:39 +00:00
Pushan Thimmegowda 9262764691 fix: add discord icon in organisation tab sub menu (#3349)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-10 10:42:33 +00:00
Matti Nannt c2d452f196 chore: add docs build github action (#3358) 2024-10-10 12:43:09 +02:00
Matti Nannt 17f4cb81d4 chore: update prisma version (#3361) 2024-10-10 12:30:55 +02:00
Matti Nannt cf4eec5134 chore: add react email dev server & fix package npm deps (#3350)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-10-10 09:08:46 +00:00
Matti Nannt cedb0b27c0 fix: chromatic github action (#3357) 2024-10-10 10:34:19 +02:00
Matti Nannt 75d757944a chore: upgrade storybook & docs npm dependencies (#3342) 2024-10-09 14:20:53 +02:00
Jonas Höbenreich 989252dc5b fix: remove Buffer import from Pixel (#3168)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-10-09 09:18:37 +00:00
Pushan Thimmegowda f31cc9f9a3 fix: unified capitalisation of settings cards (#3340) 2024-10-09 07:48:15 +00:00
Matti Nannt c01c00ce2e chore: update js README for v3 release (#3334) 2024-10-08 16:29:18 +02:00
Dhruwang Jariwala ba0adbfad3 chore: move billing page under ee route (#3251)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-08 13:50:58 +00:00
Anshuman Pandey 2bfea919fe fix: merges the app and website js sdk into @formbricks/js (#3314)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-08 12:40:58 +00:00
Pratham Chauhan 82a7b2276d fix: removed the tabs border (#3282)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-08 10:48:24 +00:00
Abhay Vishwakarma ed7662be5d fix: fixed the gap issue in 2nd onboarding screen ui (#3300)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-10-08 06:04:26 +00:00
Piyush Gupta 7207a4d3e6 fix: too many enterprise license checks on the ee server (#3164) 2024-10-07 11:09:15 +00:00
Dhruwang Jariwala 4c594fafb9 chore: refactored ranking question (#3313)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-10-07 07:30:27 +00:00
Jonas Höbenreich 02345bc82c fix: response delete tooltip cut off (#3289)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-06 22:35:53 +00:00
Vardhaman Bhandari e8403699e1 fix: Incorrect Error Toast for Ending Card (#3306) 2024-10-06 22:35:34 +00:00
Pushan Thimmegowda 3a49abda43 fix: rounded corners of NPS in email preview (#3290)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-06 22:21:34 +00:00
Sai Suhas Sawant fb4e4159bc fix: Align the UI for the different survey states (#3225)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-06 21:47:20 +00:00
Johannes 31a8cf3b23 fix: remove side quests from repo (#3312) 2024-10-06 14:28:15 -07:00
Sai Suhas Sawant d8cb1c5fc9 feat: Randomize row order matrix questions (#3233)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-10-05 11:45:46 +00:00
Vardhaman Bhandari 683278e252 fix: update broken links in CONTRIBUTING.md (#3298) 2024-10-05 10:51:09 +02:00
Matti Nannt 6b04cc789b chore: improve packages endpoint cache to save bandwidth (#3284) 2024-10-04 08:41:41 +00:00
Dhruwang Jariwala e31e9f4fa1 fix: matrix survey sync issue (#3283) 2024-10-04 06:21:03 +00:00
Dev Dalia f38a4665e4 fix: keyboard opening unexpectedly (#3278)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-10-04 05:38:50 +00:00
Prajyot 0cc84c8734 fix: Add reference to the API in the Single Use Link docs #3257 (#3280)
Co-authored-by: prajyot28 <prajyot.sable@techstalwarts.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-03 14:31:27 -07:00
Johannes 80243b8561 Merge branch 'main' of https://github.com/formbricks/formbricks 2024-10-03 12:33:18 -07:00
Johannes f90b508251 replace conditional logic with new content 2024-10-03 12:33:11 -07:00
Vanshika d71a9c9c3d ossgg: update -brand with -brand-dark (#3256)
Co-authored-by: root <root@Vanshika>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-03 11:15:47 -07:00
Ikko Eltociear Ashimine 934a05a814 docs: update page.mdx (#3265) 2024-10-03 11:13:09 -07:00
Dhruwang Jariwala 21e9e9167f fix: survey preview updation issues (#3269) 2024-10-03 17:35:24 +00:00
Harsh Shrikant Bhat ea0df287d9 ossgg: All three oss.gg sidequests (#3267) 2024-10-03 10:26:58 -07:00
Teddy ASSIH 74407e7919 ossgg: Like and Retweet ossgg launch post (#3274) 2024-10-03 07:56:44 -07:00
Abhi-Bohora ea4941fe98 fix: gitpod build error (#3271)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-10-03 10:42:03 +00:00
Satyanarayan Prashar 1c10679b71 fix: Validate button link input to only accept URLs #3258 (#3268)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-10-03 06:39:01 +00:00
Aditya Deshlahre 0b9d76e243 ossgg: tweet hunter (#3261)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-02 21:36:41 +00:00
kartik satish devarde 4d225818a6 feat: update CSAT template #3212 (#3242)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-02 21:05:53 +00:00
Emmanuel C. Jemeni f60ae69ed1 ossgg: Update 1-retweet-launch-tweet.md (#3255)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-02 17:51:39 +00:00
Dhruwang Jariwala e583aa38ba fix: missing footer (#3253) 2024-10-02 13:56:15 +00:00
Anshuman Pandey d47944ed21 chore: removes actions from the backend (#3106)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-10-02 11:55:26 +00:00
Smriti Doneria a8e1fce3b7 fix: toast Message while creating the survey (#3240)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-10-02 11:17:54 +00:00
Matti Nannt 706fa8a04e fix: notification settings not working correctly (#3246)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-10-02 00:08:12 +00:00
Johannes 11748cbeba fix: remove pulp ficiton from onboarding (#3187) 2024-10-01 15:38:43 -07:00
Matti Nannt 0f50c9690c fix: update lower-level license files to match main license (#3247) 2024-10-01 22:20:06 +00:00
Satyanarayan Prashar 316e5f15b0 fix: height & width of survey preview when loading (#3234)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-01 19:48:03 +00:00
RajuGangitla 18719746ed fix: added brand color to loader #3205 (#3237)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-10-01 19:36:37 +00:00
Nawin Kumar Sharma 41fb76e4ff fix: template search functionality (#3243) 2024-10-01 18:11:13 +00:00
Aashish Anand 24d1f23421 fix: dark mode in demo apps #3209 (#3241)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-10-01 16:11:42 +00:00
Harsh Singh 354ec1b887 fix: remove scrollbar in rich text editor (#3236)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-10-01 12:25:16 +00:00
Dhruwang Jariwala 87c584add8 fix: validations in integrations (#3238) 2024-10-01 11:56:36 +00:00
Anshuman Pandey 5035e3db9d feat: adds contact info question type (#3176)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-10-01 11:11:45 +00:00
Matti Nannt b7f4097508 chore: improve pipeline performance (#3184)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-09-30 14:32:48 +00:00
Piyush Gupta 26591d9b9f feat: Advanced logic editor (#3020)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-09-30 10:25:22 +00:00
Piyush Gupta 655b67c3ad fix: preserve last environment id (#3185) 2024-09-30 06:57:51 +00:00
Piyush Gupta 2dbd7111a9 fix: getMonthlyOrganizationResponseCount for free plan users (#3219) 2024-09-30 06:26:14 +00:00
Johannes 06ddee42a9 Update oss-gg-hack-submission.yml 2024-09-29 13:45:04 -07:00
Johannes 47aa84bf8a Update oss-gg-hack-submission.yml 2024-09-29 13:41:52 -07:00
Johannes 2f7a59817a Update oss-gg-hack-submission.yml 2024-09-29 13:26:46 -07:00
Johannes e7a0228bfa Update oss-gg-hack-submission.yml 2024-09-29 13:25:50 -07:00
Johannes 2367313ff2 feat: adding side quest tracker files (#3189) 2024-09-29 13:02:46 -07:00
Johannes 68e52954e2 docs: add shareable dashboard page (#3188) 2024-09-28 17:16:03 -07:00
Dhruwang Jariwala 59ebde49cf fix: mls missing language toggle (#3143)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-09-28 05:11:21 +00:00
Dhruwang Jariwala 6ab2560432 fix: 50% scroll (#3174)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-09-28 04:15:47 +00:00
Dhruwang Jariwala 861d399025 feat: Search bar in persons table (#3169)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-09-27 09:42:44 +00:00
Thomas Sieffert fc3886fafa fix(docs): S3 endpoint was wrong (#3182) 2024-09-27 10:25:58 +02:00
Matti Nannt ddf7ad8475 chore: update ui package structure & add shadcn-ui cli support (#3178)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-09-26 12:08:21 +00:00
Jonas Höbenreich ad6d5d6c00 fix: small typos (#3179) 2024-09-26 09:03:01 +00:00
Piyush Gupta 315aaac395 fix: product headline (#3173) 2024-09-25 08:56:38 +00:00
Dhruwang Jariwala 01ceaa13ec fix: load more button applies filter (#3167) 2024-09-23 12:37:07 +00:00
Piyush Gupta 25774f6f08 chore: removes stale action docs (#3166) 2024-09-23 04:43:13 +00:00
Dhruwang Jariwala 9a98772210 fix: notion integration (#3162) 2024-09-20 14:17:28 +00:00
Piyush Gupta 59a29dd3d6 feat: Introduce Formbricks CX (#3152)
Co-authored-by: RajuGangitla <gangitlaraju8520@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-20 09:17:18 +00:00
Dhruwang Jariwala e4fceb2e5e fix: improved person fetching (#3161) 2024-09-20 05:09:22 +00:00
Dhruwang Jariwala 0b553447e0 fix: person loading skeleton (#3160) 2024-09-19 16:44:16 +00:00
Dhruwang Jariwala 6b64367d99 feat: Data table for persons (#3154) 2024-09-19 13:34:25 +00:00
Matti Nannt fe9746ba67 fix: update displays data migration run out of memory on many displays (#3157)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-09-19 11:00:39 +00:00
Dhruwang Jariwala e4009d5951 chore: Refactor display response relationship (#3100)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-09-18 10:55:46 +00:00
Sai Suhas Sawant b1ed61c247 fix: Added DialogTitle and DialogDescrtiption components to the dialog. (#3146)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-09-18 09:53:50 +00:00
Anshuman Pandey 10255aa102 fix: api errors (#3150)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-09-18 09:52:05 +00:00
mdm317 774c6f19a5 fix: notes not appearing (#3131)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-09-18 09:37:36 +00:00
Piyush Gupta ebf35ea582 feat: adds auto animate to survey questions (#3147)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-09-17 09:24:12 +00:00
Anshuman Pandey f13efc954e fix: removes rewrites from next config (#3149) 2024-09-17 09:19:21 +00:00
Matti Nannt 9ee052a229 feat: Make app surveys scalable (#3024)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-09-17 08:15:19 +00:00
RajuGangitla 152fbede90 feat: info about new formbricks version (#3126)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-09-17 07:35:19 +00:00
Dhruwang Jariwala c9b8ffa9ef fix: billing tab (#3138)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-09-16 10:31:54 +00:00
Anshuman Pandey 04e16d44a1 fix: release 2.5.3 (#3139) 2024-09-12 16:07:39 +02:00
Jonas Höbenreich 29131f93c2 fix: increase timeout (#3120)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-09-12 15:35:12 +02:00
Anshuman Pandey 1e2fe7b066 fix: validation UI (#3137)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-09-12 11:52:58 +00:00
Johannes 426a0a3847 fix: tweak action UI (#3136) 2024-09-12 11:50:58 +00:00
Jonas Höbenreich 80ef504bef fix: Device Info Overflowing for Long URLs (#3135)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-09-12 11:44:41 +00:00
Anshuman Pandey 6ab83e25d3 fix: multi lang issue sync (#3132)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-09-12 10:59:15 +00:00
Jonas Höbenreich 688dc25990 fix: cuid validation 🚨 (#3130) 2024-09-12 10:26:33 +00:00
Johannes c53b58c64f fix: update RN docs (#3127) 2024-09-11 12:00:04 +02:00
Piyush Gupta 61d18edb5d feat: add support for webp file format in file inputs (#3117)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-11 08:53:05 +00:00
Anshuman Pandey 07b5dfe28a fix: trigger (#3125) 2024-09-11 04:31:37 +00:00
Anshuman Pandey f55cad0121 fix: multi lang sync issue (#3121)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-09-10 12:37:55 +00:00
Dhruwang Jariwala 494299cd89 fix: optional behaviour for matrix question (#3118) 2024-09-10 12:32:42 +00:00
RajuGangitla 5cc071e5a8 fix: Loading Skeleton for survey summary page (#3108)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-09 15:11:56 +00:00
Anshuman Pandey 0532f2744b feat: delete uploaded files with response deletion (#3114) 2024-09-09 12:24:25 +00:00
Anshuman Pandey 43ea26a33a fix: segment update (#3115) 2024-09-09 11:47:38 +00:00
Piyush Gupta ec54e40a8b fix: SSRF vulnerability in unsplash image fetching (#3111)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-09 10:46:07 +00:00
Dhruwang Jariwala 4b508f02e3 fix: added people column to data table (#3110)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-09-09 04:30:35 +00:00
Johannes eec7e1b62a fix: update docs (#3113) 2024-09-08 15:29:32 +02:00
Johannes 39e87eb8d3 fix: remove description from new questions (#3112) 2024-09-07 14:25:55 +02:00
Dhruwang Jariwala 780115ffb8 fix: infinite loading in survey animation (#3107) 2024-09-06 07:02:57 +00:00
Anshuman Pandey c7c4ba6e49 release 2.5.1 (#3103) 2024-09-05 12:55:29 +02:00
Piyush Gupta b9a7edf1f5 fix: create response via api can change created and updated at (#3091) 2024-09-05 10:34:42 +00:00
Dhruwang Jariwala 86bf2accc9 style: tweak environment switch (#3102) 2024-09-05 10:29:59 +00:00
Anshuman Pandey 954c435404 fix: setAttribute error in the js package (#3099) 2024-09-05 09:23:49 +00:00
Johannes 538c1bd809 feat: add new template to GitHub (#3101) 2024-09-05 11:33:00 +02:00
Johannes e0767881f2 fix: update link to landing page (#3097) 2024-09-05 09:21:09 +02:00
Dhruwang Jariwala 7d0cbad326 feat: one response per email (#3088)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-09-04 12:43:03 +00:00
Dhruwang Jariwala 0ce7703ab8 fix: data table tweaks (#3095) 2024-09-04 12:40:51 +00:00
Dhruwang Jariwala 4362fdf35a fix: verified email to exports (#3094) 2024-09-04 12:35:29 +00:00
Dhruwang Jariwala 4bcca2daf4 fix: hidden fields in data table (#3087)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-09-04 08:45:30 +00:00
Piyush Gupta a1d83ac7b9 fix: final bugs in release 2.5 (#3084) 2024-09-03 12:22:28 +00:00
Piyush Gupta 492729baf3 docs: adds data migration guide for formbricks 2.5 release (#3083) 2024-09-03 10:54:25 +00:00
Dhruwang Jariwala 4003d21826 feat: Relevance option for sorting (#2968)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-03 10:43:55 +00:00
Piyush Gupta b10d398728 fix: Summary auto-update also queries when not in focus (#3067)
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-03 09:22:18 +00:00
Dhruwang Jariwala 198df84b89 fix: NPS response exported as empty string (#3080)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-09-03 08:58:48 +00:00
Dhruwang Jariwala 211fc22b2a fix: docs app build (#3081) 2024-09-03 08:30:48 +00:00
Dhruwang Jariwala 4a0a5c9591 feat: Data table view for Responses (#3053)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
2024-09-03 03:19:58 +00:00
Sai Suhas Sawant 8f51afe198 feat: skeleton loading #3051 (#3057)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-09-02 15:16:50 +00:00
Dhruwang Jariwala 40b6642ef0 fix: caching issue for resultShareKey (#3063) 2024-09-02 14:35:54 +00:00
Dhruwang Jariwala 0076cbaf54 fix: Validation for callback URL (#3061) 2024-09-02 13:15:57 +00:00
Dhruwang Jariwala 14e0d57091 chore: removed environmentId from language services (#3070) 2024-09-02 12:57:55 +00:00
Johannes 3e79ec9a61 fix: change question type CTA wording (#3076) 2024-08-31 11:22:16 +02:00
Johannes 42cd7d3b77 feat: reword RN docs and tweak for SEO (#3073) 2024-08-30 18:47:56 +02:00
Dhruwang Jariwala 6f4c65c178 fix: tweaked preview (#3072)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-08-30 15:31:38 +00:00
Naitik Kapadia 863424ffd7 feat: Add Ranking Question (#2996)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-08-30 11:21:36 +00:00
Dhruwang Jariwala c35cfbd170 fix: reset survey button (#3069) 2024-08-30 11:00:51 +00:00
Dhruwang Jariwala 22425726d1 fix: other filter not working (#3041)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-08-29 12:53:15 +00:00
Anshuman Pandey 94e8c1da68 fix: survey cache invalidation in survey-status cron (#3066) 2024-08-29 12:27:35 +00:00
Dhruwang Jariwala 55c305c569 fix: rounded-corner-gap=issue (#3064)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-08-29 12:26:25 +00:00
Piyush Gupta ad028947e0 fix: new survey button visible to viewers (#3065) 2024-08-29 11:31:39 +00:00
mdm317 212e0753c8 fix: closing survey on mobile falsely positions it (#3004)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-08-27 12:24:47 +00:00
Matti Nannt 711dc83f5c fix: build errors on docs page (#3056) 2024-08-27 10:35:01 +02:00
Matti Nannt 6314eeda0a chore: release js 2.2.0 (#3055) 2024-08-27 10:01:21 +02:00
Anshuman Pandey cf783ea480 fix: s3 file upload (#3050)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-26 14:43:25 +00:00
Filip Gornitzka Abelson 899fbef948 feat: replace emojis in survey editor and survey fetching (#3047)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-08-26 12:39:41 +00:00
Anshuman Pandey 4a6d7952a7 fix: segment evaluation fix (#3043) 2024-08-26 05:04:37 +00:00
Matti Nannt 5443226e27 chore: increase react-native version number to 1.0.0 (#3046) 2024-08-23 21:31:57 +02:00
ty kerr 89ffe99dcc feat: react native sdk (#2565)
Co-authored-by: tykerr <tykerr@gmail.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-23 12:43:49 +02:00
Dhruwang Jariwala ede306b88e fix: matrix question validation (#3030)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-23 10:05:28 +00:00
Dhruwang Jariwala 0acc49c57d fix: open outbound links in new tab (#3042) 2024-08-23 10:11:22 +02:00
Matti Nannt 2bbeb040c2 fix: use createdAt instead of updatedAt in responseCard (#3040) 2024-08-22 11:14:08 +00:00
Piyush Gupta 5689c36b12 feat: adds management endpoint to generate multiple suId (#3022)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-22 09:55:13 +00:00
Anshuman Pandey f4a367d2de feat: survey variables (#3013)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-22 09:43:39 +00:00
Dhruwang Jariwala afe042ecfc fix: member invite issues (#3028)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-22 08:55:44 +00:00
Anshuman Pandey c108cd4780 fix: js command queue support for late initialization (#2974) 2024-08-21 11:12:30 +00:00
Dhruwang Jariwala d84146fd88 fix: display creation (#3034) 2024-08-21 07:03:34 +00:00
use-tusk[bot] 30e6316e16 feat: Add support for managing path style in S3 compatible service (#3031)
Co-authored-by: use-tusk[bot] <144006087+use-tusk[bot]@users.noreply.github.com>
2024-08-20 10:16:48 +00:00
Dhruwang Jariwala 6835e585b0 fix: missing question type in Add question below menu (#3029) 2024-08-20 08:59:17 +02:00
Matti Nannt 49d4f43652 chore: add address collection to stripe checkout (#3025) 2024-08-19 14:37:22 +00:00
Matti Nannt 70dd9c7724 fix: dismissed inconsistency data migration fails with many entries (#3021) 2024-08-19 12:20:39 +02:00
Piyush Gupta f386e47efa fix: Let CTA and consent question store nothing if dismissed (#2977)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-19 08:50:19 +00:00
Piyush Gupta ec16159497 chore: Move all server action to new authorization approach (#2999) 2024-08-19 07:07:37 +00:00
Vishal Tyagi 5ba2959eb4 feat: Added ColorPicker component to Storybook (#3019) 2024-08-19 06:59:10 +00:00
Saurabh Chaddha e9c5b00628 fix: recall info on thank you card (#3016) 2024-08-16 22:11:15 +02:00
Johannes 8e1f43eb8b fix: update upgrade plan notice (#3018) 2024-08-16 22:10:36 +02:00
Matti Nannt 3788293bc0 chore: npm dependency and version upgrades before release (#3014) 2024-08-15 21:18:05 +02:00
Matti Nannt 89a2e26f25 fix: remove failing prisma migration (#3015) 2024-08-15 16:42:43 +02:00
Piyush Gupta 2c453bd491 fix: Filters do not apply to summary impressions (#2986)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-15 14:02:34 +00:00
Matti Nannt 0aebf234f9 fix: styles get overwritten by loading indicator changes (#3012) 2024-08-15 14:09:29 +02:00
Dhruwang Jariwala 3e25ef4b5a fix: wait for background to load in survey loading indicator (#3011) 2024-08-15 06:53:47 +00:00
Dhruwang Jariwala 3dc3edb83e fix: progress bar on welcome card (#3006) 2024-08-15 06:51:41 +00:00
Piyush Gupta 4ebe144191 feat: Add auto-refresh to the analysis view (#3007)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-15 06:51:26 +00:00
Dhruwang Jariwala 49cd06a9b4 feat: Loading indicator for link surveys (#2982)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-08-14 16:34:02 +00:00
Anshuman Pandey e0208da0ac fix: sync call in e2e tests (#3010) 2024-08-14 13:06:07 +00:00
Anshuman Pandey 1f41770060 fix: catching errors in integrations (#2989) 2024-08-13 10:26:35 +00:00
Dhruwang Jariwala 3eff06281c fix: surveyEditor issues (#2997) 2024-08-13 10:23:47 +00:00
Matti Nannt 5848dfb4f3 fix: next-config env variables are not unique (#3003) 2024-08-12 17:42:35 +02:00
Piyush Gupta 89f27adce5 fix: adds default weekly summary notification value in signin (#2993)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-12 14:59:53 +00:00
Dhruwang Jariwala bbab7fa672 fix: linting warnings in email package (#2998) 2024-08-12 14:45:50 +00:00
Yuhang fb149796fa docs: add deploy to zeabur button in readme (#3000) 2024-08-12 16:13:10 +02:00
Piyush Gupta 3939013415 fix: setup shell script, removes input case sensitivity (#3002) 2024-08-12 16:09:37 +02:00
Anantesh G 7fe18e99c3 fix: Open external links in a new tab #2994 (#2995) 2024-08-10 11:08:27 +02:00
Anshuman Pandey 6ddfd29be8 fix: embed survey height (#2990) 2024-08-09 11:26:58 +02:00
Piyush Gupta 46efad94db fix: rating question email embed alignment (#2988) 2024-08-09 10:30:47 +02:00
Johannes b7ea073204 fix: sort features, update wording (#2985) 2024-08-09 08:26:14 +02:00
Matti Nannt 0d9c90ceeb fix: docker image permission issue (#2987)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-08-08 17:55:25 +02:00
Johannes 3ba23e1787 fix: fix typo in self-hosting license page (#2980) 2024-08-08 09:46:02 +02:00
Matthias Nannt e365718556 Merge branch 'main' of github.com:formbricks/formbricks 2024-08-07 23:44:27 +02:00
Matthias Nannt d65a49a7e7 fix: data migration type error 2024-08-07 23:40:11 +02:00
Matti Nannt 7960aaf5d5 fix: mls labels not set properly on question create (#2979) 2024-08-07 23:21:59 +02:00
Matti Nannt 32b3a7d1d0 fix: add data-migration fixing invalid jump end jump destination (#2972) 2024-08-07 16:57:13 +02:00
Piyush Gupta 53fb976fb6 feat: adds tls1.2 and 1.3 support, and HSTS config (#2897)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-07 16:52:14 +02:00
Johannes fffe71aa7e fix: add products with channel null to list (#2976) 2024-08-07 11:45:48 +00:00
Anshuman Pandey 75b0a3a407 fix: rename surveys to surveyTriggers (#2975) 2024-08-07 10:36:37 +00:00
Adam Gay 158689672a fix: Entra ID / Azure AD docs formatting and images (#2973)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-07 12:46:36 +02:00
Dhruwang Jariwala 24e43dd1a2 fix: filtering issue (#2971) 2024-08-07 09:15:18 +00:00
Matthias Nannt b34366aaf7 chore: increase formbricks version to 2.4.1 2024-08-06 14:46:20 +02:00
Matti Nannt 2856c8d125 fix: survey validation failing with custom questionId logic (#2969) 2024-08-06 11:18:01 +02:00
Adam Gay 4ac1e1d798 docs: update and improve Microsoft Entra ID / Azure AD app registration steps (#2965)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-06 08:44:15 +00:00
Anshuman Pandey b15d23035c fix: segment delete fix (#2967) 2024-08-06 08:38:05 +00:00
Johannes 8b2ea63ccb chore: tweaking product toggle (#2958) 2024-08-06 08:30:29 +00:00
Matti Nannt b0c65c76e6 chore: add environment created posthog event (#2966) 2024-08-05 20:51:25 +02:00
Smriti Doneria c65c1af023 feat: add ability to copy surveys between different environments of different products (#2832)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-08-05 15:04:58 +00:00
Matti Nannt f10bd9c0d8 chore: improve posthog tracking with survey created event (#2964) 2024-08-05 17:08:36 +02:00
mdm317 a6ac78294b fix: demo app responsive add favicon (#2960)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-05 15:36:33 +02:00
Jonas Höbenreich 04c9ead19d fix: fix typos (#2963) 2024-08-05 12:47:25 +00:00
Dhruwang Jariwala 3c3798ee98 feat: Apply filters from question summary (#2940)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-08-05 09:24:01 +00:00
Matthias Nannt 8df722ab02 fix: data migration docker image doesnt always get latest tag 2024-08-02 22:05:11 +02:00
Matthias Nannt dbe5ca60cd fix: endings migration type error 2024-08-02 21:51:42 +02:00
Ratnadeep ec454dc981 fix: Images are sorted wrong in dashboard #2943 (#2957)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-08-02 21:08:32 +02:00
Matti Nannt 0988f2145c chore: prepare 2.4.0 release (#2959) 2024-08-02 20:32:21 +02:00
Sachin Mittal 3416c26bdc fix: color coding in NPS misplaces text (#2953)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-08-02 12:19:38 +02:00
Johannes f1a50b7db3 fix: increase image size for embed mode (#2954) 2024-08-02 12:19:15 +02:00
Dhruwang Jariwala f2fa13ba01 chore: Simplify email verification (#2926)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-02 09:44:38 +00:00
Sachin Mittal 93fc3bf39e fix: identation for docker-compose.yml (#2949) 2024-08-02 09:31:47 +00:00
Anshuman Pandey 695180a2ef fix: survey create input schema validations (#2939) 2024-08-02 08:57:27 +00:00
use-tusk[bot] aeed138294 feat: Add Modal component story for Storybook (#2952)
Co-authored-by: use-tusk[bot] <144006087+use-tusk[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-02 07:46:02 +00:00
Dhruwang Jariwala 5d347096cf feat: multiple end screens (#2863)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-08-02 04:48:41 +00:00
Matti Nannt 75ade97805 chore: remove client APIs older than v1.6.5 (#2945) 2024-08-01 17:31:01 +02:00
Dhruwang Jariwala 864d4b3cb7 fix: calHost UX and validation in cal question (#2944) 2024-08-01 14:27:14 +00:00
Anshuman Pandey c1492e3429 fix: session token size (#2941)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-08-01 12:27:54 +00:00
Matti Nannt ae266810c2 chore: improve button a11y with storybook (#2938) 2024-08-01 14:15:03 +02:00
Dhruwang Jariwala a1d3fe5e06 feat: Extended logic jumps for picture selection question (#2932)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-08-01 03:32:00 +00:00
Johannes 98886ff074 chore: Add create product link in survey editor (#2937) 2024-07-31 14:23:25 +00:00
Anshuman Pandey b8b7a374a6 fix: action update cache (#2936) 2024-07-31 11:18:33 +00:00
Dhruwang Jariwala 9d3647f38a chore: migrate db package to new linting rules (#2887) 2024-07-31 11:11:09 +00:00
Matthias Nannt 5332eec7aa fix: chromatic storybook action 2024-07-31 12:50:39 +02:00
Matthias Nannt 6bc933532e chore: add chromatic github action to publish storybook 2024-07-31 12:48:01 +02:00
Saurabh Chaddha 55053cd2b8 feat: add LoadingSpinner component to storybook component (#2913)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-31 10:29:23 +00:00
Anshuman Pandey 2e4317a80c fix: surveys with no segment fixes (#2903)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-07-31 10:04:56 +00:00
Piyush Gupta 5ef61f4621 fix: Dissmissed responses are (but should not be) counted in the summary graph (#2935) 2024-07-31 10:04:11 +00:00
Matthias Nannt 4b47a5030a fix: pageHeader story references deprecated button 2024-07-31 12:08:48 +02:00
Vaishak K 27c2dcbee4 fix: close tag input immediately on keydown and add tag button click (#2911) 2024-07-31 11:16:16 +02:00
Vaishak K e17ab16878 fix: add delete confirmation modal before deleting tags (#2912)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-07-31 11:15:44 +02:00
Matti Nannt 8c9fff36c8 chore: send setup completed event to posthog (#2933) 2024-07-31 10:36:25 +02:00
TUSHAR JINDAL c37ea3fbb6 feat: add storybook for PageHeader component (#2906)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-07-31 08:13:45 +00:00
TUSHAR JINDAL 6d6401d1da feat: add storybook for Label component (#2907)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-07-31 08:01:50 +00:00
Smriti Doneria 57f90c8b3b feat: add badge component to Storybook (#2899)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-31 07:59:25 +00:00
Matti Nannt 53883d290a chore: remove v2 button from ui (#2930) 2024-07-31 09:58:00 +02:00
TUSHAR JINDAL ae0408a6f7 feat: add storybook for card component (#2900)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-07-30 14:23:51 +00:00
TUSHAR JINDAL 742abc9032 feat: add storybook for Input component (#2904)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-07-30 14:18:27 +00:00
Matti Nannt 5652965853 fix: remove deprecated actions from segments all list (#2929) 2024-07-30 15:21:14 +02:00
Rakshit Bhardwaj da0c811846 style: Use AdvancedOptionToggle in schedule a call form (#2925)
Signed-off-by: Rakshit Bhardwaj <157364563+Acksout@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-07-30 11:02:30 +00:00
Johannes d60dd5f281 chore: Streamline Onboarding (#2928) 2024-07-30 10:47:31 +00:00
Dhruwang Jariwala ec70c6c613 fix: recall from hidden fields of in-app surveys (#2917) 2024-07-29 10:30:13 +00:00
Matthias Nannt aa40b916ab chore: remove legacy unlimited prices 2024-07-29 10:19:32 +02:00
fetsorn fe5242174b fix: typo in onboarding (#2914)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-07-27 09:23:58 +00:00
Laurens Nienhaus 026cc29e1f docs: unify CRON_SECRET descriptions (#2915)
Co-authored-by: laurens <laurens@users.noreply.github.com>
2024-07-27 09:11:05 +00:00
Dhruwang Jariwala 6055baa0db fix: recall in welcome card (#2918) 2024-07-27 09:06:17 +00:00
Matthias Nannt 469e6da29f fix: typo in test mode banner 2024-07-24 08:14:55 +02:00
Matthias Nannt 6a7fb2d33d chore: bump Formbricks version to 2.3.2 2024-07-17 11:53:59 +02:00
Matti Nannt 271ea89c8d fix: reintroduce NEXTAUTH_URL to fix logout redirect (#2905) 2024-07-17 11:08:10 +02:00
Dhruwang Jariwala f94d7f2b03 fix: 404 on js integration connect page (#2901) 2024-07-17 06:41:08 +00:00
Dhruwang Jariwala f084e64aed chore: add hidden field to response finished email (#2872) 2024-07-16 10:12:23 +00:00
Dhruwang Jariwala 294b817957 chore: added SMTP_REJECT_UNAUTHORIZED_TLS env variable (#2876)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-16 09:31:58 +00:00
Dhruwang Jariwala ed85ed394a fix: Added type to ResetProgressButton (#2889) 2024-07-16 06:52:26 +00:00
Dhruwang Jariwala aa495312db fix: notion integration (#2888) 2024-07-15 14:29:42 +00:00
Smriti Doneria 8ac9b23de3 fix: restart functionality (#2885)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-07-15 10:33:52 +00:00
Matthias Nannt be7090b29c chore: improve error logging in pipeline 2024-07-15 12:21:06 +02:00
Matthias Nannt 1f9b31a6cd chore: remove kamal configs 2024-07-12 20:30:43 +02:00
Anshuman Pandey e83d27f07c fix: CTA button URL fix (#2881) 2024-07-12 15:22:33 +00:00
Matti Nannt 816cbd2036 chore: simplify person detail page by removing activity timeline (#2878) 2024-07-11 18:42:00 +02:00
Anshuman Pandey ec781969fa fix: survey validation thank you card (#2875)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-11 15:22:37 +00:00
Matti Nannt 2fc78c9219 chore: deprecate action filtering in advanced targeting (#2877) 2024-07-11 13:57:03 +02:00
Matti Nannt 7b2470cce6 chore: only store actions on the server when enabled in environment (#2871) 2024-07-10 16:40:52 +02:00
Anshuman Pandey 31c3fac7f5 fix: js package linting (#2868)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-10 12:28:27 +00:00
Piyush Gupta 9d5a7b7dbd feat: adds vercel style guide eslint rules to types package (#2869) 2024-07-10 09:58:49 +00:00
Piyush Gupta 614710da69 chore: update local setup links in README.md (#2866)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-07-10 12:09:22 +02:00
Dhruwang Jariwala f233066e81 fix: airtable UX (#2865) 2024-07-10 09:53:22 +00:00
Matti Nannt 32ae38ebb2 chore: add react cache to improve render performance (#2867) 2024-07-10 11:43:59 +02:00
Matthias Nannt 1459229dde chore: remove NEXTAUTH_URL from docs 2024-07-09 18:35:24 +02:00
Matthias Nannt b8cd602d7e fix: Add CRON_SECRET to Dockerfile to fix build errors 2024-07-09 18:26:47 +02:00
Anshuman Pandey 647a05f469 fix: survey editor validation (#2749)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-07-09 14:33:09 +00:00
Anshuman Pandey 7cf9885125 fix: js pkg types (#2821)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-07-09 13:53:16 +00:00
Matti Nannt da72afcd5f chore: update ui npm dependencies (#2862) 2024-07-09 15:39:19 +02:00
Anshuman Pandey 9f0cdb7ac1 fix: build-web github action (#2830) 2024-07-09 13:02:38 +00:00
Piyush Gupta 482a85565f feat: adds vercel style guide in API package (#2861) 2024-07-09 12:39:56 +00:00
Piyush Gupta c563d781d3 fix: Update Access Rights for Product Creation (#2859) 2024-07-09 12:37:08 +00:00
Anshuman Pandey 12a6da6558 fix: adds content type options header (#2824)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-07-09 08:28:10 +00:00
Piyush Gupta 54accbbeff feat: Improve auth & permission system (#2845) 2024-07-09 08:08:20 +00:00
Dhruwang Jariwala 6d0bd4a6ed chore: make cron secret required (#2843) 2024-07-09 05:42:40 +00:00
Piyush Gupta 73d403d2f1 fix: Webhook testing is throwing not useful error (#2846)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-07-09 05:27:20 +00:00
Johannes b8fa581665 feat: add prolific info and docs page (#2853) 2024-07-08 09:51:24 +00:00
Dhruwang Jariwala 71f661daa4 docs: updated make.com documentation (#2835) 2024-07-08 08:22:55 +00:00
Dhruwang Jariwala 3927867c81 chore: Remove NEXTAUTH_URL (#2840) 2024-07-08 08:16:41 +00:00
Piyush Gupta 60256533e3 fix: run lint on complete project before commit (#2802) 2024-07-08 07:17:47 +00:00
Dhruwang Jariwala 6a0cabf249 fix: invite functionality for providers (#2852) 2024-07-06 09:08:12 +00:00
Dhruwang Jariwala a00c696c1a fix: survey card issues (#2854)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-07-06 04:29:17 +00:00
Anshuman Pandey 7958ef0d1f fix: pnpm github action version (#2851) 2024-07-05 07:57:58 +00:00
Dhruwang Jariwala d935cee4db fix: embed mode toggle and docs (#2841)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-07-03 11:20:44 +00:00
plant d565160124 fix: delay stacked card container height calculation (#2814)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-07-03 08:07:36 +00:00
Alexander Schaber b4cb27cef6 feat: add support for self-hosted cal.com instances (#2799)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-07-03 07:31:18 +00:00
Laurens Nienhaus d7c211d98e docs: Fix documentation link (#2839) 2024-07-02 11:54:46 +00:00
Anshuman Pandey c32a358f43 fix: cache headers (#2834) 2024-07-02 06:46:26 +00:00
Anshuman Pandey 1f4b23b105 fix: surveys package tailwind (#2827)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-07-02 06:44:15 +00:00
Anshuman Pandey 58df9c6edb fix: surveys management api input types (#2837) 2024-07-01 12:04:22 +00:00
Matti Nannt ce4578a829 fix: identify Posthog users in product onboarding (#2836) 2024-07-01 12:51:15 +02:00
Dhruwang Jariwala 1885b3ac2e fix: onboarding survey alignment (#2833) 2024-07-01 08:27:43 +00:00
Johannes 205ddc88cb fix: remove deal cloud (#2829) 2024-07-01 08:24:07 +00:00
Johannes 9da065e1ec docs: tweaking contributor docs (#2818) 2024-06-27 15:14:25 +00:00
Piyush Gupta a40846f6ed chore: improve NPSQuestion component styling (#2825) 2024-06-27 15:10:54 +00:00
Dhruwang Jariwala c3ff6fadc9 fix: spacing in delete dialog (#2823) 2024-06-27 08:53:47 +00:00
Matthias Nannt 601bd5d6e7 docs: fix wrong language code in migration guide 2024-06-26 18:29:19 +02:00
Matthias Nannt 8731f2afe5 docs: fix typo in 2.3 migration guide 2024-06-26 18:13:58 +02:00
Matthias Nannt 323df36a97 docs: fix typo in 2.3 migration guide 2024-06-26 18:13:03 +02:00
Matti Nannt bcf71b583c chore: prepare 2.3 release (#2819) 2024-06-26 18:11:30 +02:00
Anshuman Pandey 9268407429 fix: ee license info banner (#2790)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-26 16:00:50 +00:00
Matti Nannt 1ff87d27ca chore: move redis cache over to redis-strings from redis-stack (#2817) 2024-06-26 13:38:17 +02:00
Piyush Gupta d6e4b7700f fix: UX improvement (#2791)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-06-26 10:29:09 +00:00
Sargam 81a4da6199 fix: initial fix for mail logger (#2798)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-26 10:07:37 +00:00
Anshuman Pandey b8efc442e3 fix: e2e tests (#2806)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-26 10:05:01 +00:00
Piyush Gupta e00bdf2f79 feat: Add colors to rating (#2795)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-06-26 08:08:23 +00:00
Dhruwang Jariwala cea5716c48 fix: onboarding survey link (#2815) 2024-06-26 06:36:55 +00:00
yonathan suarez fc150f8860 chore: add the CUSTOM_CACHE_DISABLED variable to the .env.example and documentation (#2746)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-25 15:13:14 +00:00
Piyush Gupta 7fdf8a63c8 fix: restricted svg upload in profile image and brand logo (#2813) 2024-06-25 14:56:34 +00:00
Laurens Nienhaus 374f17df63 feat: add column with person.id in CSV to allow backlinking to survey/person URL (#2807)
Co-authored-by: laurens <laurens@users.noreply.github.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-25 14:51:13 +00:00
Dhruwang Jariwala d27da8927e chore: Chinese to iso languages (#2794)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-25 14:49:34 +00:00
Johannes 785afd4bda fix: typo (#2812) 2024-06-25 14:18:22 +00:00
Dhruwang Jariwala e28c226308 fix: question form card width issue (#2811) 2024-06-25 12:08:20 +00:00
plant 4170e20e21 docs: fix gitpod url (#2810)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-25 12:02:40 +00:00
Matthias Nannt af548aa624 docs: fix notion links not working on contributing page 2024-06-25 14:01:11 +02:00
Matthias Nannt 13d68bbac0 chore: remove run-in-postman in docs as this is only possible for team members 2024-06-25 13:51:08 +02:00
Matti Nannt fabea3c813 fix: update cache handler based on official example (#2805)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-25 08:09:11 +02:00
Piyush Gupta db80e7f7cb fix: removes poweredByHeader (#2801) 2024-06-24 11:19:18 +00:00
Dhruwang Jariwala 1ebddbd1de fix: missing branding settings (#2800) 2024-06-24 07:08:15 +00:00
Piyush Gupta 6c6061a123 fix: remove attributes from loading skeleton (#2796) 2024-06-22 05:22:54 +00:00
Matthias Nannt 0bf38aed9f docs: Emphasize the need to open port 80+443 for the one click setup 2024-06-21 14:38:10 +02:00
Anshuman Pandey 8aedbde36a fix: 2.2 data migration for self-hosters (#2792) 2024-06-20 14:43:26 +02:00
Piyush Gupta 17279cb3fe fix: null channel survey type bug (#2788) 2024-06-20 12:55:06 +02:00
Piyush Gupta 1b4823421f fix: google translate issue (#2787) 2024-06-20 10:32:36 +00:00
Piyush Gupta deef604325 feat: adds functionality limit based on channel (#2772)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-06-20 09:16:59 +02:00
Johannes 22e44b47e6 fix: orange css for offer price (#2786) 2024-06-20 06:39:29 +00:00
Johannes 08052b13cf chore: add launch and pricing ui tweaks (#2782)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-20 05:54:23 +00:00
Matti Nannt 5e7fe96ef6 chore: prepare 2.2 launch (#2783) 2024-06-19 17:16:57 +02:00
Piyush Gupta 83ff98cd3a fix: Ability to increase file size limit (#2734)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-06-19 14:49:16 +00:00
Pranoy Roy eb54230445 feat: added in-page section navigation for docs (#2720)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-19 14:23:51 +00:00
Dhruwang Jariwala 59d57c50eb fix: editor text color (#2781) 2024-06-19 12:31:46 +00:00
Dhruwang Jariwala f358254e3c feat: Product onboarding with XM approach (#2770)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-19 12:29:05 +00:00
Dhruwang Jariwala 3ab8092a82 fix: Loading indicator for question card images (#2778)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-19 12:04:27 +00:00
Anshuman Pandey 3b08b718ff feat: unlimited billing pages (#2777)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-19 08:44:45 +00:00
Dhruwang Jariwala a473719eee feat: XM template filters (#2745)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-19 08:19:45 +00:00
Dhruwang Jariwala cd40e655fb fix: progress bar issue (#2771)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-06-19 08:04:11 +00:00
Dhruwang Jariwala 5d468b4420 fix: Adjust billing permissions (#2775)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-19 07:23:28 +00:00
Piyush Gupta 96806c613f fix: fixes notification subscription based on user membership (#2779) 2024-06-19 07:22:05 +00:00
Piyush Gupta 6f2a4b2b03 feat: Full RTL support for Multi-Language (#2727)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-06-19 07:10:28 +00:00
Piyush Gupta d33efa0274 fix: e2e tests (#2780) 2024-06-19 06:34:16 +00:00
Matthias Nannt 9b35ebc114 fix: re-activate weekly summary cron job on Github Actions 2024-06-18 10:31:30 +02:00
Matthias Nannt dba62157bf fix: temporary simplify getMonthlyActiveOrganizationPeopleCount to solve performance issues 2024-06-17 17:22:08 +02:00
Matthias Nannt 556184f442 fix: remove example survey creation to avoid having multiple example surveys in one environment 2024-06-17 16:48:35 +02:00
Matthias Nannt c33532f952 chore: improve performance of getMonthlyActiveOrganizationPeopleCount 2024-06-17 15:26:49 +02:00
Piyush Gupta 8f61ceb4ea feat: adds separate status indicator for both app and website (#2747)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-06-17 11:07:52 +00:00
Matthias Nannt e19dcdc0c4 chore: improve performance of getMonthlyActiveOrganizationPeopleCount call 2024-06-17 12:07:33 +02:00
Piyush Gupta 65f977786d feat: add file size limit error message for FileUploadQuestionForm (#2769)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-06-17 06:37:57 +00:00
Matthias Nannt 95c13fd9a9 chore: deprecate js/sync endpoint 2024-06-15 10:01:06 +02:00
Matthias Nannt f8adf28df8 chore: refactor getMonthlyActiveOrganizationPeopleCount to optimize performance 2024-06-14 23:08:12 +02:00
Matthias Nannt 9d468379f2 chore: reintroduce getMonthlyActiveOrganizationPeopleCount 2024-06-14 22:27:26 +02:00
Matthias Nannt 8071e82390 fix: reintroduce getMonthlyOrganizationResponseCount 2024-06-14 22:05:57 +02:00
Matthias Nannt 3ce775ec05 fix: performance issues on Formbricks Cloud due to updated billing checks (hotfix) 2024-06-14 21:18:39 +02:00
Anshuman Pandey 1223a30127 fix: wip (#2774) 2024-06-14 17:32:28 +02:00
Anshuman Pandey f3906cab55 fix: getPersonCount (#2773) 2024-06-14 16:45:08 +02:00
Shubham Palriwala d33304e3ad feat: pricing & payments v2 for formbricks cloud (#2648)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-14 13:17:33 +00:00
Piyush Gupta ebed950392 fix: product creation bug (#2768) 2024-06-14 05:12:48 +00:00
Piyush Gupta 4e6ab1c2bb feat: adds product config (#2760)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-13 12:51:02 +00:00
Dhruwang Jariwala 543d85eb28 feat: Hidden fields and metadata for integrations (#2752)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-06-13 11:14:43 +00:00
Matti Nannt afe01a61ae fix: remove unused telemetry to fix build errors (#2761) 2024-06-13 08:42:14 +02:00
Johannes b4c86835ed fix: survey padding and add report survey (#2763) 2024-06-12 15:58:19 +00:00
Dhruwang Jariwala ab80bc1bf2 feat: language switch (#2692)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-12 14:10:22 +00:00
Matti Nannt 5e5a9fac00 chore: rename responses to completed in stats card (#2759) 2024-06-12 15:20:59 +02:00
Dhruwang Jariwala 09b6805886 fix: recall from hidden fields (#2758) 2024-06-12 11:26:17 +00:00
Matti Nannt 33822350fd fix: add missing dependency in ee package (#2757) 2024-06-11 21:41:45 +02:00
Matti Nannt 8c7b5891a2 chore: prepare 2.1 release (#2753) 2024-06-11 17:18:27 +02:00
Piyush Gupta 864b3a34e9 fix: tab toggle component structure (#2755) 2024-06-11 13:19:05 +00:00
Dhruwang Jariwala a382a18d44 fix: responses publish (#2756) 2024-06-11 13:10:56 +00:00
Piyush Gupta 70e77247f6 fix: email url encoding in invite link (#2751) 2024-06-11 09:48:20 +00:00
Piyush Gupta 915fe00434 fix: vercel build error and app reset method (#2750) 2024-06-11 07:57:46 +00:00
Piyush Gupta 2e64b0d54f feat: Revamp No-Code Action Form (#2688)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-10 20:29:12 +00:00
Dhruwang Jariwala ed4b885935 feat: Embed mode for link surveys (#2710)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-10 19:26:52 +00:00
Dhruwang Jariwala 5bf5825f30 feat: Onboarding for self hosting (#2722)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-10 17:56:02 +00:00
Dhruwang Jariwala 9888d128a2 fix: UX improvement for logic jump settings (#2748) 2024-06-10 15:49:53 +00:00
Matti Nannt a143e9d1a3 fix: issues with docker build process (#2744) 2024-06-10 17:52:49 +02:00
Dhruwang Jariwala 4878e8e43a chore: Remove colorSelector component (#2739) 2024-06-10 07:17:40 +00:00
Matthias Nannt b989272bce fix: docker build error due to turborepo pruning 2024-06-09 13:21:38 +02:00
Piyush Gupta df927555e0 feat: adds average rating to rating question (#2735) 2024-06-07 13:31:01 +00:00
Matthias Nannt 5e94d0b4af chore: move comment in StackedCardsContainer to the top 2024-06-07 15:39:17 +02:00
Matti Nannt c73d4e82b5 chore: fix eslint issues in ee & email packages (#2742) 2024-06-07 15:05:46 +02:00
Matti Nannt a269da4e1c chore: upgrade turbo to version 2 (#2738) 2024-06-07 07:59:44 +02:00
Dhruwang Jariwala b49ca8087a fix: modified IS_SMTP_CONFIGURED to only check for port and host (#2740) 2024-06-06 15:04:12 +00:00
Matti Nannt 7649095c03 fix: ee server not reachable behind a proxy (#2741) 2024-06-06 16:49:35 +02:00
Ostap Chervak a8223d2f3c feat: recontactSessions new option to remind about survey for some time (#2443)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-06 12:53:46 +00:00
Anshuman Pandey 53aef9ce0b fix: js package resolution (#2737)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-06 09:26:57 +00:00
Aaryansh Bhardwaj bcceab4858 fix: fixed testimonial image overflowing from it's container (#2731) 2024-06-06 09:04:02 +00:00
Piyush Gupta ac4064503a feat: adds alert component to storybook (#2736)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-06 09:01:19 +00:00
Manish Singh Bisht d9b115db37 feat: Replace 'Show survey to % of users' slider (#2719)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-06 05:10:23 +00:00
Hicham El Bouaaichi a61f294eea fix: Deprecated docker-compose command (#2732) 2024-06-05 13:07:38 +00:00
Dhruwang Jariwala 7b4db30efd fix: Slack integration pagination issue (#2733) 2024-06-05 10:34:03 +00:00
Matti Nannt c8aece8003 fix: storybook app (#2729)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-06-05 10:06:20 +00:00
Dhruwang Jariwala ad8d473a2d fix: Autoclose progress bar showing on all cards (#2701)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-05 08:36:39 +00:00
Piyush Gupta 55db14e758 fix: Internal Server Error with survey duplication (#2728) 2024-06-04 15:54:38 +00:00
Piyush Gupta bbfdba7615 feat: Add hiddenFields to app & website surveys (#2628)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-06-04 11:19:47 +00:00
Anshuman Pandey 681c559c79 fix: targeting ui dir structure (#2708)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-06-04 04:56:38 +00:00
Anshuman Pandey 4e39f45446 fix: settings forms (#2700)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-06-03 15:26:30 +00:00
Hicham El Bouaaichi 62c514acf2 feat: rework loading in Settings pages (#2650)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-06-03 15:10:46 +00:00
Dhruwang Jariwala 48638e8ca2 fix: added support for date, matrix, address and cal question to notion integration (#2726) 2024-06-03 15:06:50 +00:00
Dhruwang Jariwala cb44b575c2 fix: Question card fixes (#2714) 2024-06-03 14:36:57 +00:00
Matti Nannt 1565fd33f7 docs: add tutorial for custom SSL certificates (#2724) 2024-06-03 12:02:48 +02:00
Anshuman Pandey 2bf04e9818 feat: change question type (#2646)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-06-03 08:53:12 +00:00
Piyush Gupta a5f6ecb992 docs: adds documentation table for team roles (#2709)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-31 08:09:19 +00:00
Anshuman Pandey a211e64f0e fix: product styling form (#2696) 2024-05-30 12:00:14 +00:00
Piyush Gupta 9d33aa034a feat: Filter Responses by hidden field values (#2662) 2024-05-30 11:00:09 +00:00
Dhruwang Jariwala a91c9db4e0 chore: optimized survey card animation (#2707) 2024-05-30 08:43:34 +00:00
Dhruwang Jariwala 291f628415 feat: Added recall highlighting to summary header (#2672)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-29 12:51:42 +00:00
Piyush Gupta d53ceaaaac docs: adds skipPrefilled docs (#2705) 2024-05-29 12:47:15 +00:00
Piyush Gupta aa981fd891 chore: Increase maxDuration for cron functions to 180 seconds (#2706) 2024-05-29 12:44:07 +00:00
kiran alex ch b50bda8488 feat: Rework the loading.tsx on PRODUCT pages (#2666)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-28 19:27:18 +00:00
Anshuman Pandey 0d36e11bf4 fix: tootip position single response card (#2702) 2024-05-28 18:18:36 +00:00
Matti Nannt 102cdb4589 chore: update to next 15 rc (#2690) 2024-05-28 13:23:38 +00:00
Dhruwang Jariwala 5b78487b94 feat: recall from hidden fields and attributes (#2601)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-27 15:28:43 +00:00
Parth Gupta f917d2171e feat: rework the loading.tsx on Actions page (#2660)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-27 07:27:32 +00:00
Piyush Gupta 295754480e chore: Rename Teams to Organizations (#2656)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-27 05:41:21 +00:00
Matti Nannt db03ce70d2 fix: docker release github action not adding latest tag (#2689) 2024-05-26 08:28:27 +02:00
Johannes a44198539d docs: update styling, add roles docs (#2686) 2024-05-24 15:30:56 +00:00
Matthias Nannt 7dbac97883 chore: increase formbricks version tag to 2.0.3 2024-05-24 17:26:25 +02:00
Matthias Nannt df6cf5a1c5 chore: change people page title 2024-05-24 17:01:35 +02:00
Lovish Duggal ffa774db6a feat: rework-the-loading.tsx-on-people-page (#2668)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-24 13:26:28 +00:00
Anshuman Pandey 6d6a47a5ac fix: adds react hook form to product general settings (#2677) 2024-05-24 13:14:04 +00:00
Dhruwang Jariwala 50e373a98a fix: date picker tweaks (#2685) 2024-05-24 11:57:10 +00:00
Dhruwang Jariwala b56b2adb54 fix: access token expiration issue in google sheet integration (#2667) 2024-05-24 09:58:42 +00:00
Johannes af09e315c5 chore: EE license trial info on settings etc. (#2681) 2024-05-24 09:31:02 +00:00
Dhruwang Jariwala 1848e062f1 fix: highlighting for question with cyclic logic (#2669)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-24 07:25:46 +00:00
Matti Nannt c8f2f94361 chore: cache improvements (#2684) 2024-05-23 18:33:54 +02:00
Anshuman Pandey be52763be4 fix: ee license check (#2661)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-23 14:55:02 +00:00
Dhruwang Jariwala 5dd5816c34 fix: case insensitive multi langauge check (#2682) 2024-05-23 14:45:40 +00:00
Dhruwang Jariwala 16f5ce40d9 fix: Question -> Note for ty and welcome card labels (#2644)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-23 14:38:29 +00:00
Anshuman Pandey 223937adcc feat: adds a POST endpoint for response creation in management apis (#2652)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-23 14:16:57 +00:00
Piyush Gupta 4544cba858 fix: File Upload currently only supports 10 files (#2642)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-23 12:09:21 +00:00
Piyush Gupta 1284adf91d feat: Extend Prefilling with an option to auto-skip prefilled values (#2598)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-23 11:35:42 +00:00
Piyush Gupta 4b13d19ed9 feat: adds pagination(skip and limit) support in management > response API (#2631)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-23 10:48:16 +00:00
Dhruwang Jariwala 12a606a443 fix: modified google sheet integration and minor refactors in other integrations (#2572) 2024-05-23 10:25:48 +00:00
Dhruwang Jariwala 052f86b19f fix: recall issues (#2680) 2024-05-23 06:54:54 +00:00
Matti Nannt 27b37a5f27 fix: convert number attributes to strings automatically (#2679) 2024-05-22 17:48:02 +02:00
Dhruwang Jariwala c37d3ae0f9 fix: ui issues (#2665) 2024-05-22 14:03:17 +00:00
Matti Nannt e69bb3501d docs: update advanced docker update steps (#2678) 2024-05-22 15:22:30 +02:00
Matti Nannt eda9c00548 fix: migration instructions to 2.0 (#2676) 2024-05-22 14:35:11 +02:00
Jonas Höbenreich 6a7e0d3ecb fix: set "desktop" as default device type (#2675) 2024-05-22 12:11:25 +00:00
Anshuman Pandey 48859facf4 fix: formbricks init error (#2633)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-22 12:07:17 +00:00
Matti Nannt 732b8b599f fix: docker file shouldn't check npm registry on runtime (#2663) 2024-05-21 13:39:51 +02:00
Johannes 00ad4c3895 fix: fix links to integrations on docs (#2664) 2024-05-21 11:57:24 +02:00
Dhruwang Jariwala 4858bdd838 fix: rating question and updated attribute labels on person page (#2657)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-20 15:02:28 +00:00
Shubham Palriwala eee78a79d9 fix: navbar on mobile docs for grouped features (#2658)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-20 14:57:18 +00:00
Johannes aa890affc9 fix: update links for integrations (#2659) 2024-05-20 16:45:41 +02:00
Anshuman Pandey 10aed2d9d8 fix: UI fixes (#2653)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-20 09:11:18 +00:00
Matthias Nannt 4d78b904b8 chore: update formbricks version number 2024-05-17 15:25:00 +02:00
Matti Nannt 473cc7334b chore: upgrade npm dependencies (#2645) 2024-05-17 15:14:45 +02:00
Dhruwang Jariwala afdcac2465 fix: Shuffled choices issue (#2639) 2024-05-17 09:18:32 +00:00
Piyush Gupta e539ac82f3 fix: Multiple File Uploads in a row put all the files at the beginning (#2637) 2024-05-17 07:43:18 +00:00
Piyush Gupta c2fbb20787 fix: survey overview is throwing a server-side error (#2638) 2024-05-17 07:02:40 +00:00
Dhruwang Jariwala 084307bdb2 fix: input color issue on rating questio (#2641) 2024-05-17 06:50:54 +00:00
Shubham Palriwala fd78cec5ac fix: define postgres super user password for v2 runs (#2623) 2024-05-17 06:37:22 +00:00
Anshuman Pandey 0b87d35877 fix: data migration for styling fixes (#2640) 2024-05-16 18:03:21 +00:00
Anshuman Pandey 9849a96f32 fix: handles error in json input parsing in the management endpoints (#2634) 2024-05-16 15:36:46 +00:00
Anshuman Pandey b5287f7f01 fix: modal z-index (#2626) 2024-05-15 09:48:07 +00:00
Piyush Gupta 11888f3e38 chore: Replace default exports/imports with module exports (#2617) 2024-05-14 14:17:49 +00:00
Anshuman Pandey d2b27b046b fix: removes @headless-ui/react and moves modal to radix (#2608)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-14 13:08:46 +00:00
Johannes 8f4f26c143 chore: add upgrade hint in docs (#2616) 2024-05-14 13:07:57 +00:00
Anshuman Pandey 514d0a9e5a fix: limit the number of attribute classes per environment (#2613)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-14 11:57:36 +00:00
Anshuman Pandey bc99f15094 feat: replaces dnd with dnd-kit (#2564)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-14 11:50:53 +00:00
Matti Nannt ba0b68cbfb fix: update setup instructions in onboarding for formbricks 2.0 (#2615) 2024-05-14 12:55:29 +02:00
Anshuman Pandey fb33005051 fix: disable formbricks error state in debug mode (#2580)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-14 08:30:18 +00:00
Anshuman Pandey 5da9091aee fix: multi and single select questions (#2606) 2024-05-14 08:26:26 +00:00
Piyush Gupta a91a5e7014 docs: adds docs changes due to actions refactoring and inlineTriggers removal (#2593) 2024-05-13 14:56:23 +00:00
Dhruwang Jariwala 87a623a796 fix: zindex issue on respone page (#2611) 2024-05-13 14:42:02 +00:00
Johannes ed75089ee0 fix: remove white label info from docs (#2610) 2024-05-13 10:21:03 +00:00
Dhruwang Jariwala a04e031f9e fix: blank preview issue (#2605)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-10 13:58:28 +00:00
Dhruwang Jariwala 3c91dd52a0 fix: other option not working in multiSelect multi question (#2607) 2024-05-10 13:54:23 +00:00
Johannes c282f630c4 fix: docs hover color dark mode (#2604) 2024-05-10 13:53:29 +00:00
Piyush Gupta 49bf9ec8a9 fix: adds search filter for value selection in logic editor (#2584)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-10 13:10:11 +00:00
Anshuman Pandey 2b74054f4b fix: svg and links (#2603) 2024-05-10 08:57:33 +00:00
Matthias Nannt 64793132c7 fix: docker release cosign error 2024-05-09 18:59:57 +02:00
Johannes ed946da338 remove FAQ to fix build error 2024-05-09 18:45:42 +02:00
Jatin 95f8c2b49f feat: added hardownload icon (#2574)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-09 16:23:31 +00:00
Johannes 5fb97008f3 fix: Fix broken links in docs (#2599) 2024-05-09 16:04:50 +00:00
Dhruwang Jariwala 555f5c3ea0 fix: added timeout before response submission for rating and NPS question (#2594)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-09 15:46:10 +00:00
Johannes 50407498ec feat: Formbricks App Redesign (#2581)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-05-09 15:30:44 +00:00
Frank Mendez 556ee870b1 fix: incorrect format note in multiple best practices page (#2595) 2024-05-09 14:55:00 +00:00
Matti Nannt 0cad316fca chore: update npm dependencies (#2591) 2024-05-09 12:02:35 +02:00
Dhruwang Jariwala d98df5ed3b fix: close survey button on centerd app survey (#2587) 2024-05-08 13:06:32 +00:00
Matti Nannt e718217ec4 chore: add v2.0 data migration (#2589) 2024-05-07 19:45:56 +02:00
Dhruwang Jariwala d4dea7c2cc fix: logo alignment in email (#2566) 2024-05-07 13:49:14 +00:00
Piyush Gupta 6bfd02794d feat: Refactor Triggers and combine Action Classes and Inline Triggers (#2562)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-05-07 13:47:41 +00:00
Piyush Gupta b016d80cb2 feat: adds enterprise license check (#2431)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-07 13:36:20 +00:00
Piyush Gupta f529f5eda3 fix: Adds Thank You card loading (#2585)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-07 13:15:59 +00:00
Dhruwang Jariwala 3a1683eebd feat: Slick card look (#2531)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-07 12:42:48 +00:00
Shubham Palriwala 2ca38b1918 feat: revamp docker compose with new env vars & formatting (#2583)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-05-07 12:34:35 +00:00
Dhruwang Jariwala 82504e54b1 fix: recall not working on thank you card (#2586) 2024-05-07 12:20:39 +00:00
Matthias Nannt 61d8970420 release formbricks-js 2.0 stable 2024-05-07 12:54:42 +02:00
Matti Nannt 5c265aacb9 feat: full docs revamp for Formbricks 2.0 (#2568)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2024-05-07 11:06:42 +02:00
Matthias Nannt bb2c884150 Merge latest changes and release formbricks-js beta 2024-05-07 09:53:49 +02:00
Dhruwang Jariwala 7c388c975a fix: image uploader on welcome card (#2576) 2024-05-06 14:38:50 +00:00
Matthias Nannt fc18950885 release js 2.0.0-beta.2 2024-05-06 14:27:15 +02:00
Piyush Gupta 386436ad5f fix: fixes survey createdBy filtering for null createdBy surveys (#2577) 2024-05-06 11:55:45 +00:00
Dhruwang Jariwala 328579f530 fix: migration for default translation missing in welcome card headline (#2533)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-05-06 10:53:46 +00:00
Anshuman Pandey bc28936b2a fix: types resolution (#2563) 2024-05-06 08:37:18 +00:00
Giovanni Cascio a9a09f3d24 fix: use localized question headline when extracting survey details (#2569)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-03 15:20:48 +00:00
Anshuman Pandey 8a2d196319 fix: adds z-index to modal close button (#2570) 2024-05-03 09:28:55 +00:00
Dhruwang Jariwala e707713385 fix: Button label issue (#2549)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-05-02 10:24:56 +00:00
Anshuman Pandey fc150170d0 fix: email embed styles (#2554)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-05-02 06:21:29 +00:00
Matthias Nannt 0e102ead33 release formbricks-js 2.0 beta 1 2024-04-30 17:49:01 +02:00
Johannes 1cba959d9b chore: replace img with next Image (#2558) 2024-04-30 14:42:09 +00:00
Anshuman Pandey 2c2d3839f9 fix: segment filtering (#2561) 2024-04-30 12:14:40 +00:00
Johannes fb5474f61e chore: made logos move (#2560) 2024-04-30 10:45:40 +00:00
Anshuman Pandey 518d6cc336 fix: bundles api package with js-core (#2557)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-30 10:45:16 +00:00
Anshuman Pandey 2262370354 fix: app surveys internal server error (#2556) 2024-04-30 07:41:54 +00:00
Matti Nannt 48afdd1639 chore: move attributes to people page (#2555) 2024-04-29 17:29:47 +02:00
Anshuman Pandey fc5adde0a9 chore: removes date picker question code from sideloading (#2550)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-29 14:43:13 +00:00
Dhruwang Jariwala ff78e63b24 fix: restored Add logo button (#2537) 2024-04-29 14:38:27 +00:00
Dhruwang Jariwala 8b5443671c fix: Matrix Validation UX (#2551) 2024-04-29 13:17:18 +00:00
Anshuman Pandey 8ef6dc0a07 fix: global error handling js package (#2553) 2024-04-29 13:11:11 +00:00
Johannes 686031e61a fix: tweak saving UI (#2546)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-04-29 10:40:43 +00:00
Piyush Gupta e95a8c760c feat: Enable Prefilling of several values (#2482)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-29 08:59:28 +00:00
Dhruwang Jariwala 7751a3fcfd feat: Keyboard usability for matrix and date question (#2514)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-29 07:42:36 +00:00
Likhiya Uttam 5baa2369b4 fix: Note formatting in Link Survey Data Prefilling (#2548) 2024-04-29 06:52:07 +00:00
Anshuman Pandey f5236426ee fix: survey switch (#2547) 2024-04-26 20:33:07 +00:00
Johannes a6568ea539 fix: Mobile height inconsistencies (#2540)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-26 16:04:03 +00:00
Jonas Höbenreich 460c046f0a docs: Quickstart frontend developer docs (#2510) 2024-04-26 18:21:33 +02:00
Shubham Palriwala d41d60d877 docs: recontact options for in-app surveys (#2525)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-26 18:13:49 +02:00
Shubham Palriwala c517eff308 docs: add email embedding of link surveys (#2532)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-26 15:56:07 +00:00
Shubham Palriwala 0f99a59ea5 docs: improve google sheet integration self hosting guide (#2536)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-26 15:45:00 +00:00
Shubham Palriwala 3836b529fd docs: metadata for responses (#2522)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-26 17:55:34 +02:00
Matti Nannt 15e6e60b62 fix: cached functions return dates as strings (#2541)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-26 15:18:10 +00:00
Johannes 5856a77064 chore: increase tooltip area (#2544) 2024-04-26 16:50:45 +02:00
Johannes 1192936be2 fix: update EE docs (#2545) 2024-04-26 16:49:49 +02:00
Jonas Höbenreich 4c351f8461 fix: Fix S3 credential checks (#2513)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-26 11:24:34 +00:00
Matti Nannt c6c6c31d6d chore: remove service-revalidation-interval to simplify caching (#2539) 2024-04-26 09:09:45 +00:00
Anshuman Pandey 19cf9972d6 fix: product cache revalidation on product create (#2538) 2024-04-26 08:38:44 +00:00
Matthias Nannt 7b789904f8 chore: update survey types wording 2024-04-26 08:24:06 +02:00
Matthias Nannt 7c8754fd6b fix: attributeClass cache revalidation 2024-04-25 20:51:35 +02:00
Matti Nannt 6392a54592 chore: use attributeClass service in updateAttributes function (#2535) 2024-04-25 20:33:50 +02:00
Anshuman Pandey 7cbdadd90e fix: attribute service not filtering by environmentId (#2534) 2024-04-25 17:11:56 +00:00
Matti Nannt 183d32784f chore: handle people and attributes separately to improve sync performance (#2476)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-25 16:16:52 +00:00
Dhruwang Jariwala 5ff6e88b3b chore: Transactional emails to React email (#2349)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-25 13:04:10 +00:00
Piyush Gupta db5efd3b8c fix: Call-to-Action statistics do not work as expected (#2457)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-25 11:40:42 +00:00
Johannes ad9ddb61cf fix: link blocking next buttons on mobile (#2530) 2024-04-25 10:14:05 +00:00
Matti Nannt 97c66e7a75 chore: update npm dependencies (#2528) 2024-04-25 10:07:56 +02:00
Dhruwang Jariwala 7fdee99974 fix: Max height (#2477)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-25 07:41:27 +00:00
Anshuman Pandey 4e57807a52 fix: fixes segment not getting saved bug (#2527) 2024-04-25 07:23:46 +00:00
Matthias Nannt bb2499f1dc chore: update web npm dependencies 2024-04-24 20:20:02 +02:00
Vidhi Kapadia 2da2758255 feat: Added Unsplash API for image backgrounds (#2341)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-24 14:38:35 +00:00
Johannes b322f014ab chore: add logo and upgrade footer (#2519) 2024-04-24 14:17:48 +00:00
Matthias Nannt d408d42f00 chore: reduce Vercel memory limit 2024-04-24 16:28:31 +02:00
Matti Nannt 27875deb44 fix: display count in summary only updating with new response (#2524) 2024-04-24 16:17:24 +02:00
Dhruwang Jariwala dcc98b671e chore: Link survey mobile view (#2493)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-24 14:03:54 +00:00
Piyush Gupta 4f5acbcddc fix: skip onboarding on invite and signup refactoring (#2507)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-24 13:50:04 +00:00
Piyush Gupta a9bf8fcdaa fix: adds loader in the thankyou card while response submission (#2520)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-24 13:28:38 +00:00
Shubham Palriwala 87f2f8d870 docs: revamp API docs with Postman (#2518)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-24 12:59:28 +00:00
Matti Nannt 4ae38546f0 chore: limit remote action storing to userTargeting plan (#2521) 2024-04-24 14:56:05 +02:00
Dhruwang Jariwala 68c6dad26b chore: Adds save button to question Id input and refactored survey saving/publishing logic (#2488)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-24 05:37:32 +00:00
Dhruwang Jariwala 3f9ff9c59b fix: picture select grow icon opacity issue (#2504)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-23 14:59:53 +00:00
Anshuman Pandey 86c8da3494 fix: Backwards compatibility for js/sync endpoint (#2516) 2024-04-23 14:05:50 +00:00
Shubham Palriwala 4ac60db896 docs: (Client Action API) mention user should pre-exist when creating action (#2500) 2024-04-23 14:02:36 +00:00
Shubham Palriwala 7ca4aee9a7 fix: remove unused description in createAttribute, updateSurvey to use params surveyId (#2515) 2024-04-23 13:55:08 +00:00
Anshuman Pandey 0e6cfbfaa5 feat: website surveys (#2423)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-23 13:21:28 +00:00
Matti Nannt 4f0edcd473 chore: update kamal instance hosts (#2509) 2024-04-23 09:56:34 +02:00
Matti Nannt 855342c1d1 chore: scale kamal instance (#2508) 2024-04-23 09:30:36 +02:00
Prashnta Pandey dbcc030480 docs: Missing new line in management API docs (#2506) 2024-04-23 04:46:45 +00:00
Piyush Gupta dc2ce17aa0 fix: remove or reupload avatar bug (#2502)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-22 15:51:07 +00:00
Matti Nannt e2d5727cfc fix: display create leads to survey rerender (#2505) 2024-04-22 17:53:31 +02:00
Matti Nannt f86e7c6738 fix: rate-limiting when using a load balancer (#2501) 2024-04-22 17:13:07 +02:00
Matti Nannt d1aec18776 chore: add forth instance to kamal (#2503) 2024-04-22 16:02:01 +02:00
Dhruwang Jariwala 2ff17c2b22 docs: Event listener doc (#2432)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: S P <spalriwalau@gmail.com>
2024-04-22 12:22:13 +00:00
Olasunkanmi Balogun c9a8d022b4 feat: update best hotjar alternative article (#2459)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-22 08:52:19 +00:00
Matti Nannt 1307e42078 chore: add third kamal instance (#2499) 2024-04-22 10:17:07 +02:00
Johannes 5f40f8913b fix: remove double team switch, update route (#2479)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-22 07:30:52 +00:00
Piyush Gupta 4ee27f9618 fix: adds try...catch in all services (#2494)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-22 07:15:37 +00:00
Matti Nannt ed509d3a9a chore: deactivate github action crons (#2498) 2024-04-22 08:56:51 +02:00
Anshuman Pandey 34ebfe4fd8 fix: fixes js package proxy (#2490) 2024-04-19 13:32:27 +00:00
Anshuman Pandey e48ddbad5d fix: userId migration (#2453) 2024-04-19 12:53:41 +00:00
Matti Nannt c6f9a6cdfc fix: legacy survey redirect links from formbricks.com (#2491) 2024-04-19 12:49:47 +00:00
Matti Nannt e6ee81a683 chore: run kamal setup behind load balancer with multiple instances (#2480) 2024-04-19 14:48:22 +02:00
Anshuman Pandey 82853c8a07 fix: fixes form submission (#2492) 2024-04-19 09:43:07 +00:00
Anshuman Pandey 06f2d85f8e fix: handles errors while loading surveys pkg (#2489) 2024-04-19 07:08:13 +00:00
Johannes 687e12ad9b fix: fix-logo (#2485) 2024-04-18 20:11:39 +00:00
Matti Nannt bb2d7b7a00 fix: legal footer overlaying buttons on smaller screens (#2484) 2024-04-18 18:37:56 +02:00
Anshuman Pandey 83b9400479 fix: structured clone (#2483) 2024-04-18 16:06:22 +00:00
Anshuman Pandey 0b26475934 fix: polyfills structuredClone (#2478) 2024-04-18 14:20:12 +00:00
Shubham Palriwala 505c1d0223 fix: secure send embed preview email action & show env id in email body (#2475) 2024-04-18 13:26:13 +02:00
Johannes 8e31710604 fix: remove the --save flag because deprecated (#2474)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-18 10:22:21 +00:00
Shubham Palriwala b3883e8c9a fix: email previews to only be sent to the session user (#2473) 2024-04-18 12:11:08 +02:00
Johannes d3f566237f chore: add yarn command (#2472) 2024-04-18 12:02:42 +02:00
Matti Nannt 49fe0dab67 chore: improve validation error logging (#2471) 2024-04-18 11:42:48 +02:00
Shubham Palriwala 0c86df1ce1 fix: rename airbase to airtable (#2470) 2024-04-18 09:26:30 +00:00
Piyush Gupta e475179884 feat: added logic to show tags for viewer role (#2454) 2024-04-18 09:23:20 +00:00
Matti Nannt b7299a6d31 fix: formbricks-com build errors (#2469) 2024-04-18 11:19:37 +02:00
Anshuman Pandey 9508db92f3 fix: fixes shortUrl not defined in metadata (#2468) 2024-04-18 08:03:07 +00:00
Dhruwang Jariwala 7f438afc30 fix: survey jumping to 3rd question with prefilling (#2421)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-04-18 08:00:48 +00:00
Anik Dhabal Babu 1ddd1cfc3d feat: Ability to invite team members in bulk (#2424)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-18 03:49:42 +00:00
Johannes d22eab1548 chore: add Google disclosure to privacy policy (#2466)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-17 16:29:46 +00:00
Shubham Palriwala 2fca750931 fix: overlay & close on click outside to work in survey preview (#2436) 2024-04-17 15:31:31 +00:00
Matti Nannt 294b67a6cc chore: update npm dependencies (#2464) 2024-04-17 13:34:38 +02:00
Dhruwang Jariwala e8e701c567 fix: The play() request was interrupted by a call to pause() (#2465) 2024-04-17 10:41:33 +00:00
Gideon Mohr 4fc8ee8181 fix: Pass only supported properties of account to CreateAccount (#2445)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2024-04-17 08:26:14 +00:00
Piyush Gupta 74b4be99a4 fix: single survey card rerenders on tag add or delete (#2461)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-17 08:19:18 +00:00
Dhruwang Jariwala 1bd9b8a485 fix: single select logic issue (#2458)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-17 04:14:37 +00:00
Matti Nannt 4b1652655b chore: move cacheHandler to a conditional import (#2463) 2024-04-16 18:14:40 +02:00
Matti Nannt b114e4797e chore: use CUSTOM_CACHE_DISABLED env instead of vercel specific env (#2462) 2024-04-16 17:01:10 +02:00
Anshuman Pandey 5add263e6f fix: data migration and cleanup for userId attribute (#2400)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-15 12:52:12 +00:00
Jonas Höbenreich 529144fe36 chore: Improve Debug messages (#2451) 2024-04-15 12:47:51 +00:00
Piyush Gupta c2ea2716d3 feat: Add load more button to MultipleChoiceSummary component (#2449) 2024-04-15 10:34:59 +00:00
Shubham Palriwala 933ea87456 docs: fix S3_BUCKET_NAME env var in docs (#2448) 2024-04-15 10:05:29 +00:00
Matti Nannt 31e595972d chore: increase service revalidation interval to 24 hours (#2446) 2024-04-14 09:57:24 +02:00
Matti Nannt 27ba9114df chore: simplify action indexes (#2442) 2024-04-13 11:32:48 +02:00
Matti Nannt a068a2176b chore: remove ecs workflow from repo (#2438) 2024-04-12 17:38:41 +02:00
Matti Nannt 008fafabf7 chore: increase kamal pgbouncer pool size to 100 (#2437) 2024-04-12 17:35:51 +02:00
Piyush Gupta f07dffab07 fix: OpenTextSummary no longer has "Show more" button (#2427)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-12 15:28:05 +00:00
Johannes fa0cadb166 fix: ui tweaks slack integration (#2428) 2024-04-12 11:09:35 +00:00
Shubham Palriwala 8ef74fdaff fix: constants timeframe in seconds (#2434) 2024-04-12 13:10:20 +02:00
Shubham Palriwala 1b5d3c216f feat: allow manual trigger of kamal deploy (#2430) 2024-04-12 09:55:11 +02:00
Shubham Palriwala ee15c2676c feat: shared cache for next caching (#2426) 2024-04-11 19:05:49 +00:00
Naitik Kapadia 04e43725d1 feat: New Question Type Address (#2162)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-11 13:30:11 +00:00
Piyush Gupta 4100949bf6 feat: Add Server-side Filtering to the Surveys Page (#2277)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2024-04-11 03:54:15 +00:00
nikunj bfb6012048 fix: Implement validation to remove cyclic logic (#2417)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-10 15:42:32 +00:00
Dhruwang Jariwala 425d970e38 fix: nps and rating validation issue with mls (#2419)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-10 13:31:18 +00:00
Shubham Palriwala 24bde119cb feat: web builds across GitHub Action are cross branch now (#2410) 2024-04-10 12:06:37 +00:00
Johannes 668c74f3d6 chore: move multi-lang up on lp (#2422) 2024-04-10 11:46:34 +00:00
Shubham Palriwala b153acaede fix: allow survey embeddings on other webpages (#2420) 2024-04-09 14:59:39 +00:00
Shubham Palriwala 18d3985e06 feat: docsearch integration (#2392)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-09 14:50:10 +00:00
Shubham Palriwala 95fe94fb7f fix: hide logo in branded link surveys (#2412)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-09 12:14:15 +00:00
M. Palanikannan 74829183ea feat: Slack Integration (#2125)
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-09 12:12:25 +00:00
Piyush Gupta ff60ff9e0b feat: Add response filtering for meta data (#2363)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-04-09 10:37:58 +00:00
Parth Gupta 27ce171dc3 fix: Remove unnecessary loader in actions tab (#2371)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-09 09:48:52 +00:00
Piyush Gupta 496d1b3c2e fix: Unsaved Changes Confirm even though changes were saved (#2372)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-09 09:24:59 +00:00
Piyush Gupta 015d4c7663 chore: Simpler Sharing Page [Concept] (#2361)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-09 08:57:28 +00:00
Naitik Kapadia 214917cdb8 fix: Preview for short urls (#2174)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-09 08:21:21 +00:00
Olasunkanmi Balogun bfa0130672 feat: download-able feedback icons (#2276)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-08 15:00:50 +00:00
Dhruwang Jariwala 25b41b4d3a feat: profile image remove (#2411)
Co-authored-by: Sebastian Goscinski <sebiweise20@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-08 11:58:25 +00:00
Shubham Palriwala f93c5b3c55 fix: e2e tests, make welcomeCard.headline optional, remove console logs (#2374) 2024-04-08 09:37:09 +00:00
Matti Nannt 08ce026c7a feat: add survey schedule option (#2386)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-04-08 09:36:06 +00:00
Shubham Palriwala c44c0b83e3 fix: add MIGRATE_DATABASE_URL in kamal configs (#2407) 2024-04-08 09:32:05 +02:00
Stuart Malt 425d3819d7 fix: curl example message for update survey by id (#2405)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2024-04-08 07:12:59 +00:00
Shubham Palriwala de82762aeb fix: product logo is received null from prisma if not set (#2404) 2024-04-08 06:04:32 +00:00
Shubham Palriwala 4cd23e62bb feat: load surveys package on-the-fly in web-app (#2375)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-08 06:03:24 +00:00
Matti Nannt 62da30246a chore: update npm dependencies (#2403) 2024-04-05 18:47:36 +02:00
Anshuman Pandey 1e81b1df8e fix: vercel build (#2394)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-05 16:07:47 +00:00
Matti Nannt 35d0d65022 chore: increase kamal pgbouncer connection pool (#2402) 2024-04-05 17:34:43 +02:00
Matti Nannt 37568f333e feat: add sentry sourcemap support to Dockerfile (#2401) 2024-04-05 17:16:39 +02:00
Manish Singh Bisht 160b3f6353 feat: Branded Link Surveys (#2262)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2024-04-05 11:20:39 +00:00
Dhruwang Jariwala 171469e26a fix: replace survey link display div with input field (#2389)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-05 09:48:00 +00:00
Johannes bd5f5032f8 chore: remove auto capping surveys (#2395) 2024-04-05 09:45:01 +00:00
Johannes 9b27d6f84b fix: responsiveness of loading skeleton on link survey (#2396) 2024-04-05 09:35:19 +00:00
Dhruwang Jariwala 91822c6ced fix: issues in multi select, rating and nps questions (#2397)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-05 09:33:04 +00:00
Matti Nannt d36e5615a7 chore: increase healthcheck max_attempts in kamal (#2398) 2024-04-05 10:17:24 +02:00
Dhruwang Jariwala 7e6fe63f6a feat: Video upload (#2351)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-05 04:40:52 +00:00
Dhruwang Jariwala 9f7cb7c1b9 fix: onboarding issues (#2373)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-04 21:26:09 +00:00
Shubham Palriwala 9e06dde2fc fix: use MIGRATE_DB_URL if present else fallback to DB_URL in migrate:deploy (#2390) 2024-04-04 12:24:55 +00:00
Shubham Palriwala 3a8aced70d feat: same origin header & password max length to prevent clickjackingg & DoS (#2370)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-04-04 11:47:53 +00:00
Matti Nannt 8d675bb91c chore: remove REDIS_CLIENT_URL from kamal (#2388) 2024-04-04 11:43:24 +02:00
Dhruwang Jariwala f2c6bfd80f fix: Survey editor tweaks (#2378)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-04 09:10:19 +00:00
Dhruwang Jariwala bc86249047 fix: recall not working with prefilled answer (#2379)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-04 08:45:13 +00:00
dependabot[bot] 2a35feb127 chore(deps-dev): bump the npm_and_yarn group across 1 directory with 1 update (#2387)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 08:18:47 +00:00
Matti Nannt 1e0c90ca6f feat: add pgbouncer to kamal setup (#2382)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2024-04-04 07:18:16 +00:00
Anshuman Pandey d94e003244 fix: adds action to response meta (#2381) 2024-04-03 13:35:08 +00:00
Shubham Palriwala 2463ed8500 feat: add kamal setup workflow (#2380) 2024-04-03 09:12:20 +02:00
Shubham Palriwala 20eb679842 feat: use redis for rate limiting & next caching to resolve memory issues (#2078)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-04-02 14:46:43 +00:00
Shubham Palriwala c8ab6644bf chore: cleanup css console log (#2376) 2024-04-02 12:48:54 +00:00
Shubham Palriwala 98e0006f88 docs: in-app & link multi language surveys (#2350)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-04-02 12:35:31 +00:00
Anshuman Pandey ec5f6301d3 fix: relative image urls (#2369)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-04-01 14:02:38 +00:00
Dhruwang Jariwala 5dc9a4da2f feat: Matrix question (#2271)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-04-01 12:39:47 +00:00
Johannes c33892b41b fix: change title (#2367) 2024-04-01 11:40:49 +00:00
Matti Nannt cebc386de3 fix: error due to unused import (#2368) 2024-03-30 19:14:12 +00:00
Matti Nannt 4c118784be fix: date format transformation causing sync error (#2366) 2024-03-30 16:11:55 +01:00
Anshuman Pandey 85e5828cc8 fix: hotfix for sync validation errors (#2364) 2024-03-29 16:06:51 +00:00
Dhruwang Jariwala dfb1f86ddb fix: show responses in summary that doesn't fit the current schema (#2318)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-28 16:27:00 +00:00
Laurens Nienhaus 6004505502 docs: 1.6 upgrade docs & mitigation steps (#2295)
Co-authored-by: laurens <>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-28 17:13:26 +01:00
Matti Nannt 6122d88469 fix: packages api endpoint on vercel (#2359) 2024-03-28 15:59:28 +00:00
Anshuman Pandey f15a4b237d fix: s3-cache (#2362) 2024-03-28 15:38:25 +00:00
Johannes a1e9425a3e chore: Author page for blog (SEO) (#2356) 2024-03-28 13:07:24 +00:00
Shubham Palriwala 7219402aad docs: wsl2 postgres side note on local setup (#2347) 2024-03-28 10:34:32 +00:00
Shubham Palriwala 0f95f1c98c feat: Revamp @formbricks/js package (#2299)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-28 10:32:08 +00:00
Anshuman Pandey a9e45c0086 fix: background tabs fixed (#2348) 2024-03-28 09:41:00 +00:00
Matti Nannt dddc730ef4 fix: migration image name in migration docs (#2346) 2024-03-27 17:56:07 +01:00
Piyush Gupta b99b499cde feat: No responses due to filter state (#2283)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-27 14:22:24 +00:00
Piyush Gupta 784930d9fc fix: first question preview in share embed modal (#2284) 2024-03-27 14:18:57 +00:00
Matti Nannt 54fe0081ae fix: remove survey autofocus in iframe, improve accessibility of question components (#2345) 2024-03-27 14:17:29 +00:00
Johannes 52a41dc458 docs: add ecs blog article (#2344) 2024-03-27 11:02:58 +00:00
Matti Nannt f2dc157d54 chore: optimize sync endpoint performance (#2342) 2024-03-26 20:16:43 +00:00
nikunj a70810cb91 feat: display URL in metadata (#2329)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-26 16:14:36 +00:00
Matti Nannt a1e5060518 fix: displayPercentage not working for inline-triggers (#2340) 2024-03-26 16:00:24 +00:00
nikunj 46f062e81d fix: Profile image showing incorrectly (#2307)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-25 14:34:59 +00:00
Dhruwang Jariwala b7ba2e09ef fix: Allow all URL-safe characters in hidden field Id/ questionId (#2250) 2024-03-25 14:12:05 +00:00
Johannes 855685fedd chore: add link (#2333) 2024-03-25 13:57:06 +00:00
Matti Nannt 1a15d3f6f9 fix: question header in csv export (#2331) 2024-03-25 12:35:29 +00:00
Dhruwang Jariwala 7a93af3f25 fix: discard formatting on paste in Lexical Editor (#2315) 2024-03-25 12:34:55 +00:00
Shubham Palriwala 6451bc5833 docs: startAt for Link Surveys (#2317) 2024-03-25 12:33:46 +00:00
Dhruwang Jariwala 308e889c85 fix: sort team and product names alphabetically (#2316) 2024-03-25 12:32:13 +00:00
Shubham Palriwala 69227bd91e docs: advanced targeting (#2325)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-25 10:14:13 +00:00
Piyush Gupta 1a21f40e5d fix: Summary view proportions don't add up to 100% (#2314) 2024-03-25 09:08:16 +00:00
Matti Nannt 18f1bc5490 fix: remove pino to fix Vercel deployment (#2328) 2024-03-25 08:50:33 +00:00
Shubham Palriwala dadc337955 feat: pino logger for formbricks (#2296)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-22 13:21:44 +00:00
Johannes b72cda05c1 chore: add advanced targeting blog and remove /learn (#2324) 2024-03-22 11:16:35 +00:00
Matti Nannt 520d6bee78 chore: increase service caching period to 3 hours (#2323) 2024-03-22 11:11:14 +01:00
Matti Nannt 4dcf4612b3 fix: webhooks page breaking with too many surveys in the env (#2322) 2024-03-22 10:02:59 +00:00
Anshuman Pandey fa370c6900 feat: Advanced Custom Styling (#2182)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-22 09:50:16 +00:00
cosark f5ef6b9c02 docs: Add RepoCloud Deployment Option to Readme (#2266)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-21 15:56:51 +01:00
Matti Nannt cf8e22779a fix: Formbricks client route check errors if not enabled (#2311) 2024-03-21 14:23:27 +00:00
Jonas Höbenreich 10ac00940a fix: Docs footer link points to blog (#2306)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-21 13:15:30 +00:00
Dhruwang Jariwala 00beeb0501 fix: recall parsing in emails and improvements in response pipeline (#2187)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2024-03-21 13:03:13 +00:00
Matti Nannt db63d98b00 fix: add route change listener to formbricks integration (#2309) 2024-03-21 12:23:51 +00:00
Dhruwang Jariwala 3c80eb35d2 fix: Skip onboarding for invite (#2246) 2024-03-21 11:40:02 +00:00
Shubham Palriwala 96b6b53301 fix: blog post - formbricks is actively developed (#2304) 2024-03-21 10:56:01 +00:00
Shubham Palriwala 4dc5ace3f8 feat: redirect user to email verification page if not done (#2241) 2024-03-21 10:43:01 +00:00
Dhruwang Jariwala 26b8c4c7d5 fix: subheader validation (#2303) 2024-03-21 10:02:14 +00:00
Johannes 90f978bcd6 fix: increase pricing clarity (#2302) 2024-03-21 10:17:53 +01:00
Johannes 917847b5da chore: Blog post on remove branding (#2300) 2024-03-21 07:48:01 +00:00
Dhruwang Jariwala f22e3fd549 fix: added migration script to fix range in rating question (#2298)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-20 20:20:10 +00:00
Dhruwang Jariwala 7b2cf9f3d8 fix: translate survey and migration script (#2290)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-20 17:37:01 +00:00
Matti Nannt 33f5da8c94 fix: unable to create actionClass due to caching issue (#2297) 2024-03-20 15:35:08 +00:00
Piyush Gupta 4a9f77f56a fix: integration and prefiling bug fix (#2293) 2024-03-20 14:33:07 +00:00
Matti Nannt a99b53ae32 fix: pull surveys package from formbricks cloud as a hotfix (#2292) 2024-03-20 13:34:14 +01:00
Dhruwang Jariwala 1925382980 fix: archived attribute issue (#2275) 2024-03-20 11:13:49 +00:00
Piyush Gupta d982ebca9d fix: make delete button more visible (#2291) 2024-03-20 11:12:30 +00:00
Dhruwang Jariwala 5810f9517e fix: verify email issues (#2281) 2024-03-19 19:46:07 +00:00
Matti Nannt 8f18e05075 fix: caching issue with translate surveys (#2288) 2024-03-19 19:36:28 +00:00
Matti Nannt c611ed5cfe chore: change caching revalidation interval to 30minutes (#2286) 2024-03-19 20:18:42 +01:00
Matti Nannt 65dedfe500 chore: npm version upgrade 1.7.1 (#2285) 2024-03-19 13:35:11 +01:00
Matti Nannt f494661235 fix: complex surveys not accepted in surveys management endpoint (#2282) 2024-03-19 12:10:18 +00:00
Shubham Palriwala 4abe080db2 fix: /api/js endpoint to work on vercel (#2242) 2024-03-19 09:46:09 +00:00
Matti Nannt 6c84850a7e fix: unable to save legacy surveys (#2280) 2024-03-19 09:06:18 +00:00
Matti Nannt 63708ec92b fix: Increase multilanguage data migration timeout (#2278) 2024-03-18 19:32:01 +00:00
Dhruwang Jariwala 8b5328aa74 feat: Multi language Surveys (#1630)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-03-18 19:02:18 +00:00
Shubham Palriwala 5c9e59b136 feat: expiresAt should only update on sync in js package (#2253)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-18 12:17:00 +00:00
Shubham Palriwala 7123a620c2 fix: add option to disable rate limitng in kamal (#2274)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-18 10:43:28 +01:00
Shubham Palriwala 6609b57084 fix: add nextauth url to kamal (#2272) 2024-03-18 09:53:55 +01:00
Matti Nannt 9123e3c866 chore: prepare kamal for production (#2263) 2024-03-16 08:02:06 +00:00
Jonas Höbenreich 92d0c6bce6 chore: small improvements (#2254)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-15 16:40:12 +00:00
Shubham Palriwala ae3f1885c2 feat: add onboarding responses to user profiling in posthog (#2261) 2024-03-15 16:16:47 +00:00
Shubham Palriwala 3ca6ec8b56 chore: remove passing of build time env vars (#2236) 2024-03-15 16:15:18 +00:00
Jonas Höbenreich 83a46d7313 fix: fix on-the-fly url trigger always triggering IMPORTANT (#2256)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-15 15:24:23 +00:00
Piyush Gupta b55b37b874 fix: fixes e2e tests (#2259) 2024-03-15 14:44:52 +00:00
Johannes c76bcecca0 fix: remove duplicate text (#2257) 2024-03-15 12:53:40 +00:00
Johannes 3776397468 fix: lp cases (#2252) 2024-03-15 10:08:51 +00:00
Piyush Gupta 4704c4a077 fix: command dropdown breaking (#2249) 2024-03-15 10:07:38 +00:00
Shubham Palriwala 034ca1d639 fix: animated backgrounds in ios to not have video controls (#2251) 2024-03-15 09:50:24 +00:00
Johannes e5862a2064 chore: new sub LPs, updated LP (#2207)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-15 09:16:48 +00:00
Matti Nannt 0332a2efe3 chore: add cache headers to og endpoint (#2240) 2024-03-14 14:24:23 +00:00
Kanishk Rawat be8e461f55 chore: update Requestly url in OSS Friends (#2239) 2024-03-14 14:06:56 +00:00
Piyush Gupta 722ee68b4c feat: Paginated Surveys Management API (#2198) 2024-03-14 13:59:58 +00:00
Shubham Palriwala e4078a3307 feat: opentelemetry integration (#2235)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-14 13:59:49 +00:00
Matti Nannt 907a9dc563 chore: rename github actions for simplification (#2238) 2024-03-14 13:46:41 +00:00
Piyush Gupta f6df94081d feat: Add Server-side pagination to Surveys List (#2197)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-14 13:45:31 +00:00
talboren 2436192995 chore: add Keep to OSS friends (#2229)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-03-14 13:32:15 +00:00
Matti Nannt f54e2e032a chore: update formbricks-com dependencies (#2237) 2024-03-14 13:17:13 +00:00
Piyush Gupta 1a28660dfd feat: added image link (#2228)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-03-14 09:38:29 +00:00
Matti Nannt f98a57582a chore: prepare 1.6.1 release (#2232) 2024-03-13 15:35:51 +00:00
David Septimus 0cc365261e feat: improve configurability for upload storage (#2144)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-13 14:57:13 +00:00
Anshuman Pandey 6f78049c1f fix: fixes authorization checks for update product server action (#2231) 2024-03-13 13:31:22 +00:00
Piyush Gupta 2f11aa6c14 feat: adds response count indicator (#2213)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-13 10:18:37 +00:00
Dhruwang Jariwala 09cb61ae1e fix: display email instead of id (#2202)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-13 09:16:57 +00:00
Dhruwang Jariwala 65a152e518 fix: survey background image upload issue (#2222)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-03-13 09:13:05 +00:00
Dhruwang Jariwala 92d88271d7 fix: scroll to bottom when other option is selected (#2204) 2024-03-13 09:11:40 +00:00
Dhruwang Jariwala a56c354e84 fix: Incorrect created_at value while duplicating a survey (#2217)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-13 09:10:09 +00:00
Dhruwang Jariwala 29a9b7e23e fix: Autoclose issue (#2216) 2024-03-13 09:06:57 +00:00
Shubham Palriwala 94a419249b fix: font usage in surveys package (#2220) 2024-03-13 09:04:54 +00:00
Shubham Palriwala 12907c9061 feat: support for supercronic in arm images (#2224) 2024-03-13 09:02:11 +00:00
Shubham Palriwala 0aa468f8f3 fix: (e2e) API surveys after icons changed (#2225) 2024-03-13 09:01:37 +00:00
Shubham Palriwala 91447e1502 docs: remove old debug functionality in params (#2226) 2024-03-13 09:01:11 +00:00
Shubham Palriwala 84ea14820a docs: azure sso integration (#2227) 2024-03-13 08:04:20 +00:00
Piyush Gupta 8fb472c37c fix: rating quese style hotfix (#2223) 2024-03-13 07:57:56 +00:00
Naitik Kapadia 6efb6d4e7b feat: Ability to startAt specific question (#2175)
Co-authored-by: Piyush Gupta <piyushguptaa2z123@gmail.com>
2024-03-12 12:34:40 +00:00
Dhruwang Jariwala 99da20f831 chore: replaced Heroicons with corresponding lucide-react icons (#2221) 2024-03-12 12:29:21 +00:00
Shubham Palriwala 52d1dc9ed9 fix: e2e tests breaking in main (#2219)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-12 11:55:10 +00:00
JianJroh 5633bb18ef fix: use fileURLToPath to get correct file path on windows (#2147)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-12 11:53:39 +00:00
Piyush Gupta b2cb0ecff3 fix: rating question options size (#2206)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-03-11 19:12:26 +00:00
Piyush Gupta 2089b339b4 fix: added checks on unauthorized server actions (#2218)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-11 14:16:47 +00:00
Piyush Gupta 2e83adc846 feat: adds skeleton loader (#2214) 2024-03-11 11:21:25 +00:00
Matti Nannt 189cbcecd7 chore: dockerfile needs no internet access to run (#2215) 2024-03-11 11:01:12 +00:00
Shubham Palriwala 5aebde79e7 docs: remove old debug functionality (#2212) 2024-03-11 10:21:55 +00:00
Piyush Gupta 5cce4a1db4 fix: display count change on date filter (#2208) 2024-03-11 08:33:49 +00:00
Piyush Gupta c6ff74f166 fix: added sanitizeString util helper (#2209) 2024-03-09 06:47:37 +00:00
Shubham Palriwala e8aad9f469 fix: remove unset env vars from kamal & gh action (#2210) 2024-03-08 13:30:18 +00:00
Shubham Palriwala 455a061f35 feat: kamal deployment integration (#2178) 2024-03-08 12:04:58 +00:00
Piyush Gupta a9f35df278 fix: download responses not working (#2205) 2024-03-08 10:32:36 +00:00
Dhruwang Jariwala 82124a8b1c fix: lint warnings (#2201) 2024-03-07 14:41:33 +00:00
Dhruwang Jariwala f3f93faf1d fix: Add button to link editor (#2200)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-03-07 14:41:02 +00:00
Piyush Gupta 57d117eb98 fix: Smiley Rating Question on iPhone / WebKit (#2195) 2024-03-07 11:18:47 +00:00
Piyush Gupta d01b293a27 feat: Move Response Summary Server-side (#2160)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-06 11:53:21 +00:00
Shubham Palriwala a9f5289672 feat: tests for survey API endpoints & fix survey create API input params (#2013)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-06 11:10:35 +00:00
Matti Nannt 1df1419827 chore: remove s3 check from health check for now (#2194) 2024-03-06 08:49:28 +00:00
Dhruwang Jariwala f20a0d2ff7 fix: confirm modal on back button (#2189) 2024-03-06 07:42:32 +00:00
Johannes b9e5a6f9b9 fix: onboarding skips + track sdk setup success (#2191) 2024-03-06 07:37:32 +00:00
Matti Nannt b2eaf1f6a3 chore: remove posthog tracking from auth and share (#2190) 2024-03-05 14:41:50 +00:00
Matti Nannt a873974f0d chore: improve db indexes with segmentId index (#2192) 2024-03-05 14:23:08 +00:00
Matti Nannt 09974e1a10 fix: action cacheClass cache not getting revalidation after deleting (#2188) 2024-03-05 12:04:36 +00:00
Piyush Gupta 45d5980527 fix: rating icon bug in safari (#2183)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-05 10:30:59 +00:00
Piyush Gupta 73a25a412c fix: Call to Action question bug (#2184) 2024-03-05 09:44:41 +00:00
Matti Nannt f0647ce240 fix: only get first page of surveys for survey list (#2186) 2024-03-05 08:45:08 +00:00
Anshuman Pandey 7c09dd9d10 fix: refetch server data when share embed modal is closed (#2185) 2024-03-05 08:10:49 +00:00
Matti Nannt c5bdbc89ca fix: multiple surveys might be showing at the same time (#2179) 2024-03-04 11:15:06 +00:00
Dhruwang Jariwala 673832a7e1 fix: CORS error while using iframes (#2176) 2024-03-04 10:54:36 +00:00
Dhruwang Jariwala 6c1989b527 fix: break lines at new line character in single response card (#2177) 2024-03-04 07:20:23 +00:00
Dhruwang Jariwala 96bc0e669c fix: Recall in verify email question preview and integrations (#2145)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-03-02 11:30:07 +00:00
Matti Nannt 9791490449 chore: update npm deps & survey/js package version (#2171) 2024-03-02 11:17:53 +00:00
Shubham Palriwala ee053e6642 feat: webapp URL based redirects in middleware for external LB integrations (#2151)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-02 11:00:20 +00:00
Anshuman Pandey 56f6dbe9a6 feat: sync endpoint error handling (#2132)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-03-02 10:53:39 +00:00
Johannes 49c18023bd chore: add css ids to onboarding (#2170) 2024-03-02 09:02:53 +00:00
Johannes 3f5f29122b fix: add onboarding tracking (#2169) 2024-03-01 15:54:37 +00:00
Anshuman Pandey 2ed03bc8da fix: fixes duplicate survey segment (#2168) 2024-03-01 13:30:06 +00:00
Shubham Palriwala 5aa72a4c76 feat: show error on browser console for easier debugging for webhook test endpoint (#2163) 2024-03-01 12:03:12 +00:00
Anshuman Pandey 4a8fdcbbbc fix: saved actions (#2167) 2024-03-01 11:42:34 +00:00
Johannes 5855804291 fix: remove naviate from save (#2166) 2024-03-01 11:05:03 +00:00
Anshuman Pandey 9fdb7452a2 hotfix: e2e tests (#2164) 2024-03-01 10:57:12 +00:00
Johannes 7573b2d0ba fix: height issue (#2165) 2024-03-01 10:39:39 +00:00
Dhruwang Jariwala cdd93ee86b fix: Cta button issue on thank you card (#2148)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-03-01 09:37:42 +00:00
Matti Nannt dbbd450b62 chore: improve person & attribute query performance (#2161) 2024-03-01 07:36:49 +00:00
Matti Nannt 255f1cee61 fix: vercel-config failing on Vercel (#2159) 2024-02-29 12:40:36 +01:00
Johannes 36ac4ecdb9 fix: isCloud condition (#2156) 2024-02-29 09:32:46 +01:00
Thomas Kaul 4edb92365a fix: Typo in OSS Friends API (#2155)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-02-29 08:47:28 +01:00
Dhruwang Jariwala 89eee21978 fix: allow decimal in number input field (#2149) 2024-02-29 08:46:51 +01:00
Dhruwang Jariwala a8563ad905 feat: Onboarding revamp (#2073)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-28 21:35:10 +01:00
Matti Nannt 06eebe36ee fix: update action indexes for faster query processing (#2154) 2024-02-28 18:17:40 +00:00
Shubham Palriwala 5fc18fc445 fix: increase max height of open text question input to 8 lines (#2153) 2024-02-28 16:15:50 +00:00
Shubham Palriwala 53d3be3b27 feat: identify teams & their billing in Posthog (#2112) 2024-02-28 09:59:27 +00:00
Dhruwang Jariwala 078c5db2b0 fix: preview bugs (#2134) 2024-02-28 05:51:53 +00:00
Shubham Palriwala 356d237e60 fix: hidden fields object was incorrectly required in survey creation api (#2140) 2024-02-27 16:44:00 +00:00
Shubham Palriwala e799aa9b37 fix: authorization checks across all billing pages (#2143) 2024-02-27 16:31:53 +00:00
Matti Nannt b36a263ef6 fix: invite token of null when callbackUrl present (#2142) 2024-02-27 15:41:41 +00:00
Shubham Palriwala 6e2fa40155 feat: 99 unlimited plan (#2137) 2024-02-27 13:10:39 +00:00
Piyush Gupta df2cb9e26c feat: add picture selection support to response filters (#2105) 2024-02-27 13:06:31 +00:00
Nathan Clevenger e33d640620 fix: landing page typo (#2135) 2024-02-27 12:58:25 +00:00
Matti Nannt 32dcb75ef8 fix: health endpoint s3 connection (#2136) 2024-02-27 13:20:49 +01:00
Midka b1c2f90feb fix(S3): add support for custom endpoint (#2049)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-27 11:39:43 +00:00
Dhruwang Jariwala 8064e1ecf6 fix: Check for complete submission before displaying CTA on Thank You… (#1979)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-27 11:35:52 +00:00
Shubham Palriwala 21787f2af5 fix: react console errors & warnings in dashboard & survey editor (#2113)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-27 11:06:01 +00:00
Sebastian Goscinski 5acdf018d3 feat: custom S3 endpoint to use third party storage services (#2133)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-27 10:53:00 +00:00
Matti Nannt 47ec19b46d chore: update version for 1.6 release (#2123) 2024-02-26 22:31:52 +01:00
Dhruwang Jariwala 60b474a4f9 fix: unformatted recall question in logic editor (#2126) 2024-02-26 20:17:59 +00:00
Dhruwang Jariwala a027d1ef3d fix: gs readability issue for multiple file uploads (#2127) 2024-02-26 20:07:42 +00:00
Dhruwang Jariwala 7f68b4f800 fix: welcome card fixes (#2128) 2024-02-26 20:06:22 +00:00
Matti Nannt 71717c6b02 fix: github action (#2131) 2024-02-26 19:29:28 +00:00
Michele 8ad1ecfcb9 feat: added Tiledesk to OSS friends (#2124) 2024-02-26 07:37:19 +00:00
Matti Nannt 338b21620b chore: Add database migration dockerfile (#2122) 2024-02-24 16:08:57 +00:00
Matti Nannt 78ed91b7c3 chore: update dockerfile to use turbo prune (#2121) 2024-02-24 15:39:46 +00:00
Matti Nannt dbe249e6ce chore: run github actions with node 20 (#2120) 2024-02-24 11:07:46 +00:00
Shubham Palriwala 241716b4f3 docs: add migration guide for v1.6 (#2010)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-23 16:41:38 +00:00
Anshuman Pandey f19e1960b7 fix: adds relative image url path for self hosters without s3 (#2096) 2024-02-23 14:50:08 +00:00
Anshuman Pandey 70b7f6614e feat: on the fly triggers (#2110)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-23 14:37:35 +00:00
Johannes a680a62220 fix: adjust name size in survey card (#2118) 2024-02-23 13:37:41 +00:00
Piyush Gupta cb17e185f1 fix: hide attributes from sync endpoint (#2117)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-23 12:14:10 +00:00
Johannes 8b2990a16f fix: remove delete functionality from handle Go Back in survey editor (#2107)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-23 10:26:32 +00:00
Anshuman Pandey 6111e02b1b fix: edit segment card changes (#2081) 2024-02-23 10:16:22 +00:00
Matti Nannt 186feefdb5 chore: caching optimisations in sync endpoints (#2111)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-02-22 18:18:06 +00:00
Shubham Palriwala 312858e278 fix: dont interrupt response on display updation failure (#2102)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-22 14:45:30 +00:00
Jonas Höbenreich 61ca42eb83 feat: add Cache-Control header to public file serving (#2099) 2024-02-22 14:36:19 +00:00
Shubham Palriwala 7f21e65625 feat: custom OIDC providers (#2109) 2024-02-22 14:31:48 +00:00
Dhruwang Jariwala cdf8e91dad fix: Rating issue fix (#2100)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-02-22 10:45:49 +00:00
Johannes aa55ced425 feat: allow remove branding of in app surveys (#2085)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-02-22 10:13:34 +00:00
Shubham Palriwala 1d2c8719c3 fix: google oauth check only on google envs (#2106) 2024-02-22 09:09:23 +00:00
Piyush Gupta 09ede38509 feat: move download functionality server side (#2103)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-22 08:44:57 +00:00
Johannes be14678cd0 fix: show real date and remember survey list orientation (#2108) 2024-02-21 15:25:19 +00:00
Piyush Gupta d2e6238ad7 feat: move response filtering server-side (#1844)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-20 15:34:34 +00:00
Shubham Palriwala f69e8e82e3 fix: rewrite stripe + bug in unsubscribing (#2084) 2024-02-20 07:49:53 +00:00
Johannes 96808b3464 chore: add themeisle and optimole logos to lp (#2086)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-19 12:39:37 +00:00
Johannes 3ce4e7f7a2 chore: added enterprise license page for self-hosters incl. status indicator (#2077)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-19 12:29:43 +00:00
Shubham Palriwala 606ca4ea98 docs: link-surveys: hidden fields page (#2082)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-19 11:20:29 +00:00
Shubham Palriwala acf279d3ba feat: add RATE_LIMITING_DISABLED env var to bypass rate limiting (#2091)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-19 10:58:35 +00:00
Shubham Palriwala 2425dc5459 feat: rate limit per user per env sync user identification endpoint (#2090)
Co-authored-by: review-agent-prime[bot] <147289438+review-agent-prime[bot]@users.noreply.github.com>
2024-02-19 10:58:30 +00:00
Shubham Palriwala 6ae782b984 feat: downgrade team functionality when payment subscription has expired (#2092) 2024-02-19 10:50:24 +00:00
Sudhanshu Pandey eadf63b47e chore: revert ECS Github Action (#2094) 2024-02-19 10:32:53 +00:00
Shubham Palriwala 12e5f097a5 docs: move env vars to config page (#2095)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-19 10:29:37 +00:00
Jonas Höbenreich 4c1e688f12 feat: add caching to survey sync (#2011) 2024-02-16 08:38:01 +00:00
Shubham Palriwala 3b2cf7c0da fix: (landing page) setup code font visibility (#2079)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-02-15 17:50:50 +00:00
Shubham Palriwala 4cc3ee278d feat: add go to dashboard button in error modal (#2063) 2024-02-15 17:45:10 +00:00
Malte Hecht 95493608ed fix: Add missing space to .env.example (#2075) 2024-02-15 17:44:40 +00:00
Johannes 101a029344 chore: Add new logos to readme (#2087) 2024-02-15 15:39:06 +00:00
Shubham Palriwala 92fe0adf1e fix: (docs) dark mode hover states (#2080) 2024-02-15 13:47:37 +00:00
Matti Nannt 0e41ebf849 chore: reduce vercel memory usage (#2083) 2024-02-15 11:55:47 +00:00
Matti Nannt 969fb0241a fix: formbricks-com build error (#2072) 2024-02-14 13:25:27 +00:00
McPizza d588a61be5 docs: add UnInbox to OSS Friends (#2076) 2024-02-14 12:54:10 +00:00
Dhruwang Jariwala 82207d8f52 fix: redirect for nested windows (#2074) 2024-02-14 12:41:42 +00:00
Anshuman Pandey c85ae57697 fix: image cache revalidation (#2071)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-14 10:32:44 +00:00
Anshuman Pandey e6fe027e57 fix: segments modals (#2070) 2024-02-14 09:41:57 +00:00
Nick van Leeuwen 3090151c50 feat: Added the ability to remove the login via email button (#1993)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-14 09:02:08 +00:00
Sudhanshu Pandey f899cb0478 fix: ECS Github Action (#2069) 2024-02-14 07:51:39 +00:00
Sudhanshu Pandey f5c5ce23b0 fix: ecs Github Action (#2066) 2024-02-13 15:56:45 +00:00
Johannes 084b17e950 fix: lp fixes and updates (#2067) 2024-02-13 15:13:30 +00:00
Johannes a643d90a2b chore: Add StackedCardsContainer component (#2064) 2024-02-13 15:06:19 +00:00
Anshuman Pandey 10b61be19a fix: load segment modal UI fix (#2065) 2024-02-13 11:04:29 +00:00
Sudhanshu Pandey f0833786d9 fix: ECS deployment GitHub Action (#2061)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-13 07:56:01 +00:00
Anshuman Pandey ad9296a00c fix: getSyncSurveys (#2062) 2024-02-13 06:44:46 +00:00
Anshuman Pandey bf51e578b2 feat: Advanced Targeting (#758)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-12 19:08:47 +00:00
meletj 000a11c8bc docs: add Prisma to OSS Friends (#2059) 2024-02-12 16:12:31 +00:00
Jonas Höbenreich 531facd74c feat: add debug mode via url parameter (#2039)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-12 13:00:20 +00:00
Johannes 7843e2da99 fix: update Upgrade Notifier in branding removal (#2058) 2024-02-12 11:51:52 +00:00
Dhruwang Jariwala 77e2472175 chore: redirect for deletion survey (#2054)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-12 10:56:16 +00:00
Dhruwang Jariwala 336480a338 fix: cache revalidation on createResponse and docs (#2057) 2024-02-12 10:53:59 +00:00
Dhruwang Jariwala f102901b90 fix: open text question validation issue (#2051)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-12 10:48:46 +00:00
Shubham Palriwala 14b162aabc feat: group events by environmentId in posthog (#2036)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-12 10:11:05 +00:00
Dhruwang Jariwala 07f28d0971 fix: team issues (#2050)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-12 09:53:38 +00:00
Dhruwang Jariwala 40d3ac19d1 chore: "include one of" option for single select (#2052) 2024-02-12 08:31:58 +00:00
Dhruwang Jariwala 7c0a9bed46 fix: multi select scroll issue (#2053) 2024-02-12 08:25:32 +00:00
Dhruwang Jariwala c372108b91 fix: weekly template (#2041) 2024-02-09 05:42:40 +00:00
Dhruwang Jariwala 0bccee23e9 fix: File upload issues and tweaks (#2040)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-02-08 15:41:00 +00:00
Dhruwang Jariwala 831bf148d8 fix: bg animation and publish survey issue (#2037)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-02-08 14:18:17 +00:00
Shubham Palriwala 4b1bbf0ba4 feat: double client side api rate limits (#2043) 2024-02-08 14:16:51 +00:00
Matti Nannt 5ef9b574ab docs: fix env variable table (#2035) 2024-02-07 18:01:13 +00:00
Matti Nannt d55611ce02 chore: fix formbricks-com build issues (#2033) 2024-02-07 13:44:14 +00:00
Thomas Kaul 07228c4575 docs: Update README.md (#2032)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-07 13:42:28 +00:00
Shubham Palriwala 7bd15053e5 docs: mention reverse proxy & fix font shade in dark mode (#2031)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-07 12:10:48 +00:00
Matti Nannt 548251a2ba chore: remove *_auth_enabled env variables (#1997) 2024-02-07 11:35:13 +00:00
Matti Nannt fd6322652b docs: add more license information (#2030) 2024-02-07 11:24:15 +00:00
Johannes 8b1718c9b3 chore: tweak billing page for clarity (#2028) 2024-02-07 09:10:34 +00:00
Shubham Palriwala 82aba726db docs: readme for @formbricks/api (#2027) 2024-02-07 08:15:36 +00:00
Dhruwang Jariwala b264b2473b fix: gs spreadsheet scroll issue (#2020) 2024-02-07 07:45:47 +00:00
Matti Nannt e80d71e654 fix: posthog free limit reporting (#2026) 2024-02-06 20:40:00 +00:00
Jonas Höbenreich 3472033c7e feat: Introduce Dynamic Pixel Server for Seamless Self-Hosting (#2015)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-06 16:10:49 +00:00
Matti Nannt 3db4f59b0a chore: update formbricks pricing page with new features (#2025) 2024-02-06 11:26:38 +00:00
Johannes 5c023d58d9 chore: tidy up blog and article typos (#2023) 2024-02-06 10:21:17 +00:00
Shubham Palriwala 6a9968bd97 feat: send free limit reached to PostHog (#2014)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-02-06 09:55:09 +00:00
Matti Nannt 9c90c9faf1 fix: deleted responses still show in API (#2022) 2024-02-06 09:37:05 +00:00
Shubham Palriwala b51e9ccdb9 fix: remove default env vars in docker compose (#2018) 2024-02-05 16:09:05 +00:00
Shubham Palriwala 967680263b feat: cache web builds & playwright binaries in CI (#2009) 2024-02-05 11:19:11 +00:00
Matti Nannt 8a4bbfbd1c chore: prepare 1.5.1 release (#2012) 2024-02-05 09:56:21 +00:00
Rotimi Best 9f63822038 docs: add ClassroomIO to OSS Friends (#2008) 2024-02-05 07:53:54 +00:00
Jonas Höbenreich 9756aed94f feat: Add support for Cloudfront country header (#2003) 2024-02-04 11:31:34 +00:00
Matti Nannt 97562118a1 fix: create survey API expects creator (#2007) 2024-02-04 09:03:38 +00:00
Sudhanshu Pandey fd217308e1 fix: ECS deployment GitHub Action (#2005) 2024-02-02 19:26:00 +00:00
Matti Nannt 6d4098b8b8 chore: remove old CLA form from docs & github templates (#1995) 2024-02-02 09:09:58 +00:00
Sudhanshu Pandey 2f7b70516c fix: ecs github action (#1992) 2024-02-02 08:58:14 +00:00
Shubham Palriwala 9761483530 feat: auto subscribing to teams survey responses email (#1990)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-01 17:20:54 +00:00
Matti Nannt 6cea8a2246 fix: formbricks-com build errors (#1991) 2024-02-01 10:08:25 +00:00
Dhruwang Jariwala b7250a284a fix: default autocomplete value (#1986)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-01 09:30:17 +00:00
Dhruwang Jariwala 1402f4a48b chore: Tweaked survey list (#1978)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-02-01 07:51:21 +00:00
Shubham Palriwala 70fe0fb7a7 feat: enable weekly summary & support for callbacks on login (#1885)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-02-01 06:16:21 +00:00
Sudhanshu Pandey 5471324cfe fix: ecs-deployment.yml (#1989) 2024-01-31 20:45:40 +00:00
Sudhanshu Pandey 0a78848612 fix: ECS deployment Github Action (#1988) 2024-01-31 19:39:40 +00:00
Dhruwang Jariwala f553bce7f1 fix: links and survey overlapping (#1985)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-31 15:53:51 +00:00
Dhruwang Jariwala 43566a54b6 fix: Phone validation (#1987) 2024-01-31 14:21:16 +00:00
Matti Nannt 51a811ac8e fix: app page redirect throws error (#1984) 2024-01-31 10:59:17 +00:00
Sudhanshu Pandey 74fba30d5f feat(github action): Add's a new GitHub Action to deploy webapp to ECS cluster (#1982)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-31 10:57:25 +00:00
Shubham Palriwala 22ea797b15 feat: (docs) quickstart for link surveys (#1981)
Co-authored-by: Johannes <johannes@formbricks.com>
2024-01-30 20:52:31 +00:00
Johannes 0ce10e8824 docs: Add newsletter survey to best practices (#1980)
Co-authored-by: Olasunkanmi Balogun <olasunkanmiibalogun@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-30 15:41:27 +00:00
Matti Nannt ca0d63a0fc chore: remove getting started email (#1977) 2024-01-30 11:52:14 +00:00
Matti Nannt 2a9b34104d feat: add support for customer-io formbricks users sync (#1976) 2024-01-30 11:08:40 +00:00
Shubham Palriwala 16cbc3365b feat: custom placeholder label for other option in single & multi select (#1971)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-30 09:21:01 +00:00
Olasunkanmi Balogun 0122ccb797 chore: Newsletter article and best practices docs bug fix (#1952)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2024-01-30 09:12:41 +00:00
Dhruwang Jariwala fc2beb3d19 chore: Tags and notes to csv exports (#1968)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-29 14:35:40 +00:00
Dhruwang Jariwala 698da4c3a1 feat: Randomizer for in-app surveys (#1972)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-29 12:54:32 +00:00
Dhruwang Jariwala 07f6f1d04b fix: stars issue in rating question (#1973) 2024-01-29 07:49:29 +00:00
Dhruwang Jariwala 6dcd06534b fix: single use survey not working with email verification (#1935)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-26 16:31:18 +00:00
Guilherme Oenning 1fb165e5ad docs: add Aptabase to OSS friends (#1969)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-26 15:02:49 +00:00
Dhruwang Jariwala 3775b3e142 fix: thank you card tweaks (#1956)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-26 14:19:03 +00:00
Dhruwang Jariwala 92417d4d97 chore: Added average to rating summary (#1966)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-26 14:18:10 +00:00
Matti Nannt 6340d499b9 chore: prepare 1.5.0 release, update deps (#1962) 2024-01-26 10:28:36 +00:00
Johannes 4dfe1d9af0 chore: tweak sharing results UX (#1964) 2024-01-26 10:02:15 +00:00
Anshuman Pandey ee5a519120 feat: lazy loading for @formbricks/surveys (#1940)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2024-01-25 15:05:46 +00:00
Dhruwang Jariwala c29c580fbe fix: Response card issues (#1957)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-25 11:55:52 +00:00
Anshuman Pandey 48cf9de000 fix: e2e flakyness (#1961) 2024-01-25 09:36:03 +00:00
Shubham Palriwala 1945b6ddf5 feat: (docs) introducing in-app surveys section (#1942)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-24 13:16:27 +00:00
Shubham Palriwala f8d4c45631 fix: only consider subscriptions if they are in active state (#1955) 2024-01-24 12:42:07 +00:00
Anshuman Pandey d8bd42297f fix: management storage api (#1958) 2024-01-24 12:24:09 +00:00
Dhruwang Jariwala f386de1bd7 fix: template breaking issue (#1954) 2024-01-24 07:17:47 +00:00
Johannes cc8669c886 fix: typo in email (#1953) 2024-01-24 00:02:33 +00:00
Johannes 3d6e9740aa chore: update and tweak community page (#1950) 2024-01-23 21:11:50 +00:00
Johannes 6ea7486bb1 fix: members table UI, tweak upsell UI (#1949) 2024-01-23 20:09:30 +00:00
Johannes 2f17c87a80 chore: add c.io to privacy policy (#1948) 2024-01-23 18:11:46 +00:00
Olasunkanmi Balogun 6ac60a9858 chore: add waitlist survey to the blog (#1944)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-23 17:50:52 +00:00
Sushant 78c2cf451b feat: Create new team (#1925)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-23 17:38:19 +00:00
Dhruwang Jariwala 64db29417d chore: added DOMPurify to prevent xss (#1894)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-23 17:05:47 +00:00
Dhruwang Jariwala aa63c89a6a fix: Tweaked thank you card (#1923)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-23 15:26:16 +00:00
Dhruwang Jariwala 1fd339e5a0 chore: Adds verified email to response data for email verification surveys (#1943) 2024-01-23 09:26:14 +00:00
Shubham Palriwala 8ebbad4314 feat: (docs) blog article on self hosting session (#1941) 2024-01-23 09:03:54 +00:00
Anshuman Pandey f1535d3993 feat: e2e test for actions (#1831)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-23 06:47:44 +00:00
Olasunkanmi Balogun cad32d19e9 chore: Add best website feedback tools 2024 article to the blog (#1912)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-22 20:24:00 +00:00
Shubham Palriwala 64ddcb64b7 feat: send getting started email on signup (#1877)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-22 20:20:01 +00:00
Johannes 5ab55bb2b3 fix: remove ossgg folder (#1939) 2024-01-22 19:45:38 +00:00
tyjkerr 2c008d544c feat: survey error modal/page (#1140)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2024-01-22 15:38:23 +00:00
Anshuman Pandey 59bb977b3b fix: error wrapper (#1937) 2024-01-22 12:52:25 +00:00
Anshuman Pandey 64ff49acf3 fix: error handling for file upload (#1936) 2024-01-22 12:48:45 +00:00
Shubham Palriwala 69293e2d1a chore: upgrade formbricks-com to latest deps (#1866)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-22 10:49:33 +00:00
Ryan Martin 7111480820 docs: typos & broken markdown formatting (#1924)
Co-authored-by: Ryan Martin <rmrt1n@users.noreply.github.com>
2024-01-22 10:10:25 +00:00
dependabot[bot] 55f4ff6fee chore(deps-dev): bump vite from 5.0.11 to 5.0.12 (#1929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 09:43:48 +00:00
Dhruwang Jariwala e3056ed403 fix: Improved UX for survey background selection (#1931) 2024-01-22 09:40:16 +00:00
Shubham Palriwala 7059d3843d feat: logs command in prod script (#1934) 2024-01-22 09:17:06 +00:00
Dhruwang Jariwala c89d030222 feat: report survey link (#1932) 2024-01-22 09:11:06 +00:00
Dhruwang Jariwala 6a76330c84 fix: response card tweaks (#1933) 2024-01-22 09:02:18 +00:00
Shubham Palriwala bd256b9426 feat: /health endpoint (#1898)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-22 07:48:42 +00:00
Johannes c4ace07765 fix: tweak sharing results UX (#1928) 2024-01-19 19:09:55 +00:00
Dhruwang Jariwala 8745fd8b92 fix: empty logic editor issue (#1915) 2024-01-18 10:24:02 +00:00
Dhruwang Jariwala 2baa9a0108 fix: zindex issue and fallback input issue in recall (#1919) 2024-01-18 10:22:52 +00:00
Dhruwang Jariwala f91a7b2c7a fix: duplicate image issue (#1920) 2024-01-18 10:21:38 +00:00
Dhruwang Jariwala 542e4da878 fix: full width image issue on welcome card (#1921) 2024-01-18 10:20:29 +00:00
Dhruwang Jariwala 41aa82814d fix: logic jump for other option (#1922) 2024-01-18 10:19:48 +00:00
Johannes 998773be6b fix: Add response api link to docs navbar (#1918) 2024-01-17 21:40:58 +00:00
Johannes f35b007e98 fix: Tweak survey settings tab and share modal to shorten viral loop (#1882)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2024-01-17 14:29:16 +00:00
Dhruwang Jariwala f2800632e3 feat: Recall functionality (#1789)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-17 13:35:02 +00:00
Dhruwang Jariwala e30f16cec2 fix: Embed in an Email preview (#1913)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-17 11:09:44 +00:00
Matti Nannt 3586818fda fix: update stripe usage report times to fix conflicts (#1914) 2024-01-17 10:59:04 +00:00
Khanh Ho 602238f6a5 feat: Add "How to add people" to People View (#1910) 2024-01-17 10:23:46 +00:00
Johannes 1901313873 docs: add self-hosting license form (#1911) 2024-01-17 10:07:49 +00:00
Shubham Palriwala 8652eb69de feat: integrate depot.dev for faster docker arm builds (#1907) 2024-01-17 07:14:51 +00:00
Shubham Palriwala e896a737f4 feat: increase rate limit for client api endpoints (#1904) 2024-01-17 07:11:47 +00:00
Shubham Palriwala 4f61b4320f fix: email handling & e2e CI bug (#1896) 2024-01-17 06:40:49 +00:00
Shubham Palriwala 9d1cb8f595 fix: (docs) mention google drive api for sheets integration in self host (#1905) 2024-01-16 12:50:24 +00:00
Dhruwang Jariwala 81e9ac0e12 fix: next button tweak (#1903) 2024-01-16 09:34:44 +00:00
Shubham Palriwala be4534da2d fix: formbricks docs survey endpoint (#1901) 2024-01-16 07:14:58 +00:00
Shubham Palriwala f4a31ad563 feat: unit tests for survey service (#1813)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-16 05:41:16 +00:00
Dhruwang Jariwala 82302360fa test: unit test for display services (#1832)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-15 16:21:33 +00:00
Shubham Palriwala f6f45d74d5 feat: (codespaces) run formbricks app on load (#1871) 2024-01-15 16:13:54 +00:00
Anshuman Pandey 04a47b3d0a fix: adds vite dev mode (#1893) 2024-01-15 14:06:06 +00:00
Matti Nannt cc64d7dfe9 chore: prepare 1.4.2 release (#1899) 2024-01-13 09:17:21 +00:00
Shubham Palriwala 0c30dfbcf3 feat: docs for source tracking (#1887)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-12 18:57:52 +00:00
Anshuman Pandey 3e9f61792f fix: fixes duplicate named file uploads (#1888) 2024-01-12 16:50:16 +00:00
Shubham Palriwala ad63be3005 feat: add country location to response metadata (#1892) 2024-01-12 16:43:53 +00:00
Dhruwang Jariwala 1635297226 fix: warning for duplicate action name (#1897) 2024-01-12 15:16:03 +00:00
Dhruwang Jariwala 0ff7bb56ec fix: download response (#1890) 2024-01-11 19:41:22 +00:00
Dhruwang Jariwala f3666b8745 fix: added missing functionality for image upload in file upload and cal question (#1886) 2024-01-11 17:37:14 +00:00
Dhruwang Jariwala ff864e3c82 feat: hide progress bar toggle (#1883) 2024-01-11 09:47:36 +00:00
Dhruwang Jariwala cc56584db6 fix: animated background issue (#1884)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-11 08:44:15 +00:00
Matti Nannt 440c12699c chore: add tax settings to stripe checkout (#1880) 2024-01-10 16:52:48 +00:00
Anshuman Pandey 8002d3e71f fix: global error handler for js package (#1863)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-10 16:33:18 +00:00
Matti Nannt 0534421538 chore: move wordpress in the docs navigation (#1879) 2024-01-10 16:27:58 +00:00
Matti Nannt fa33460a16 chore: update npm dependencies (#1870) 2024-01-10 11:41:09 +00:00
Anshuman Pandey f12dec7b8b fix: date picker overflow UI (#1872)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-10 10:53:07 +00:00
Shubham Palriwala f2ad7c4fbf docs: overwriting css styles (#1874)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-10 10:52:44 +00:00
Matti Nannt e6ce5373a2 chore: migrate to new Vercel speed insights package (#1876) 2024-01-10 10:43:03 +00:00
Johannes 90f0614aac docs: wordpress setup guide (#1873) 2024-01-10 10:35:42 +00:00
Matti Nannt a0d7921c01 fix: get response count in analysis layout more efficiently (#1875) 2024-01-10 09:45:49 +00:00
Dhruwang Jariwala a1fa3d6dbb chore: server side pagination for responses (#1869)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-10 08:42:40 +00:00
Dhruwang Jariwala 1d7d07b3c6 fix: avoid scaling on mobile preview (#1868) 2024-01-09 14:59:43 +00:00
Dhruwang Jariwala c376b12461 fix: unrespoonsive welcome card editor (#1867) 2024-01-09 14:16:57 +00:00
Dima Ivashchuk c5d9f63267 docs: Add Lost Pixel to open source friends (#1860) 2024-01-09 13:59:45 +00:00
Shubham Palriwala 9ec5d668df fix: replace hardcoded js versions with dynamic fetching (#1856) 2024-01-09 10:13:28 +00:00
Johannes 659ef3f92c fix: linked to http instead of https (#1865) 2024-01-08 21:04:58 +00:00
Johannes 3e2452b10f fix: seo issues to improve site health (#1864) 2024-01-08 20:30:15 +00:00
Dhruwang Jariwala 1f79416367 fix: github linting warnings (#1852)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-08 12:36:20 +00:00
Anshuman Pandey d3e0e67bd9 feat: api key auth for private files (#1861)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2024-01-08 12:33:58 +00:00
Anshuman Pandey abe98be561 feat: adds e2e test for invite functionality (#1846) 2024-01-08 12:04:25 +00:00
Dhruwang Jariwala f23b4f63fa chore: lint warnings in web (#1854) 2024-01-08 12:00:00 +00:00
Marc Klingen 5679c38029 docs: add Langfuse to OSS friends (#1859) 2024-01-06 22:30:09 +00:00
Johannes a815270784 fix: make env id more easily discoverable (#1858) 2024-01-05 20:53:23 +00:00
Olasunkanmi Balogun 2d97e9c797 docs: Add best hotjar alt 2024 (#1843)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-05 20:26:40 +00:00
Dhruwang Jariwala 5c90862137 fix: unblock completed response (#1857) 2024-01-05 18:09:23 +00:00
Nya Candy 206926a0a9 fix: docker compose upload volume mapping (#1822)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2024-01-05 08:38:59 +00:00
Johannes 4e0fe7e6fb fix: update logic jump error message for clarity (#1855) 2024-01-04 23:10:31 +00:00
Greg Bergé 9230ce558f docs: add Argos to OSS friends (#1847)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2024-01-04 17:04:12 +00:00
Matti Nannt 78d8a0604f chore: update npm dependencies, update version numbers (#1853) 2024-01-04 14:08:10 +00:00
Anjy Gupta e05cfaba5f feat: added survey response sharing feature (#1469)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2024-01-03 15:33:52 +00:00
Dhruwang Jariwala 0d74921233 fix: reload Verify email page (#1851)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-03 14:23:57 +00:00
Dhruwang Jariwala 60c7713aa0 feat: automatic next button label updation (#1848)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-03 14:11:06 +00:00
Zayd Krunz c62f041819 style: Basic refactoring, a little tooltip fix, and some small language changes (#1850)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-01-03 10:30:14 +00:00
Zayd Krunz 7782196822 fix: Update webhook test endpoint to conform to standard webhooks (#1849) 2024-01-03 10:24:29 +00:00
Zayd Krunz f964319ddb style: Fix typo in docs (#1842) 2024-01-02 11:57:56 +00:00
Anshuman Pandey e0c17407e3 fix: ignore NEXT_NOT_FOUND error on sentry (#1837) 2024-01-02 11:42:47 +00:00
Dhruwang Jariwala 7f25bbc008 feat: adds confirm password field to password reset (#1845) 2024-01-02 11:40:55 +00:00
Johannes ae530d710b fix: tweak above the fold wording (#1839) 2023-12-29 00:46:10 +00:00
Dhruwang Jariwala 08bdc7208e fix: updated cleanHtml script (#1836) 2023-12-29 00:26:27 +00:00
Dhruwang Jariwala 224ba2ea22 fix: delayed survey saving (#1838) 2023-12-29 00:10:19 +00:00
Johannes 8a4ceae38c fix: object fit for logo on welcome card (#1835)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-12-28 06:43:28 +00:00
Dhruwang Jariwala d91e1cc7ea fix: background image issue (#1829)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-12-28 01:27:24 +00:00
Johannes 8896cbcd87 fix: tweak rating UI after fix (#1834) 2023-12-27 18:57:17 +00:00
Dhruwang Jariwala 5e1822c9e6 fix: rating question alignment (#1833) 2023-12-27 18:06:37 +00:00
Elie Steinbock 1b69560e50 docs: Add Inbox Zero as an OSS friend (#1615)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-12-27 02:41:14 +00:00
Dhruwang Jariwala b28a4e72d8 fix: logic jump issues (#1830) 2023-12-27 02:29:29 +00:00
Sushant 8694c371af fix: make template page keyboard accessible (#1828) 2023-12-26 01:57:42 +00:00
Dhruwang Jariwala 359da760f7 fix: scaling issues (#1825)
Co-authored-by: review-agent-prime[bot] <147289438+review-agent-prime[bot]@users.noreply.github.com>
2023-12-24 12:43:49 +00:00
Matti Nannt 044080fee9 chore: increase batch size of weekly summary team calls (#1827) 2023-12-23 18:49:14 +00:00
Olasunkanmi Balogun 8a7d498a26 chore: add feeback app contest article (#1818)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-12-22 22:20:27 +00:00
Johannes 82f916d86b fix: PIN survey caused faulty layout due to background (#1826) 2023-12-22 21:39:16 +00:00
Shubham Palriwala 6ac48a26bb fix: revalidate invite cache even if email delivery fails (#1823) 2023-12-22 12:30:40 +00:00
Shubham Palriwala ab22c0297e feat: role management is only allowed on paid inAppSurveys plan (#1824) 2023-12-22 12:30:03 +00:00
Dhruwang Jariwala 1ce02edc1b fix: other option (#1821) 2023-12-22 11:59:34 +00:00
Matti Nannt d36de1e54f fix: remove comments in env files (#1817) 2023-12-21 15:39:30 +00:00
Matti Nannt 15c91b798d chore: add user properties to posthog integration (#1814) 2023-12-21 13:58:55 +00:00
Dhruwang Jariwala 12d995465a fix: external link issue (#1812) 2023-12-21 13:43:14 +00:00
Dhruwang Jariwala f9861cf772 chore: adds metadata and hidden fields to csv, excel exports (#1806) 2023-12-21 13:42:35 +00:00
Matti Nannt 8857c971d6 fix: changeset release pipeline (#1811) 2023-12-21 11:35:35 +00:00
Anshuman Pandey 7ea79df145 hotfix: fixes mobile preview UI (#1809) 2023-12-21 11:25:56 +00:00
Matti Nannt ac12ddaafb chore: prepare 1.4.0 release (#1810) 2023-12-21 11:13:31 +00:00
Shubham Palriwala 9dc47c6a27 feat: docs for local dev setup for advanced users (#1796)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-21 10:21:07 +00:00
Matti Nannt e0e4a637e2 chore: update npm dependency packages (#1808) 2023-12-21 10:20:23 +00:00
Shubham Palriwala b9259116e1 feat: images for the how it works page (#1751)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-12-21 09:06:05 +00:00
Shubham Palriwala 83ffd7a371 fix: codespaces setup (#1797) 2023-12-21 08:45:05 +00:00
Anshuman Pandey b3d772c463 feat: tests for all response services (#1805)
Co-authored-by: Rotimi Best <rotimiibitoyeemma@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-21 08:37:10 +00:00
Anshuman Pandey 12d600093e fix: replaces all @ts-ignore with @ts-expect-error (#1807) 2023-12-21 08:10:02 +00:00
Shubham Palriwala 51cec0184f fix: posthog ping to send overview (#1804)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-20 12:59:48 +00:00
Dhruwang Jariwala 4c85fcb3cd fix: delete question preview issue (#1802) 2023-12-20 12:53:03 +00:00
Dhruwang Jariwala 782b3e0974 fix: enable save button for survey with empty triggers (#1803) 2023-12-20 12:51:48 +00:00
Shubham Palriwala fee2517009 chore: remove unutilised code (#1798) 2023-12-20 10:06:18 +00:00
Johannes 2e16e046f1 fix: Verify Email Styling (#1801) 2023-12-19 23:06:22 +00:00
Naitik Kapadia b275cce7ad feat: New Question Type Meet Scheduling with Cal.com (#1722)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-19 08:08:04 +00:00
Shubham Palriwala 45f02fd3c2 feat: setup formbricks/js e2e tests (#1794) 2023-12-19 08:07:52 +00:00
Anshuman Pandey 368df47035 fix: fixes date picker overflowing ui (#1795)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-19 07:34:04 +00:00
Rotimi Best 2ce759c023 feat: Tests for Response service (#1527)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-18 11:32:50 +00:00
Shubham Palriwala ddc06b19bf feat: throw explicit error if smtp is not configured (#1784)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-18 11:12:53 +00:00
Johannes 17410ba14c feat: Add "Email us" CTA to menu (#1788)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-18 10:43:04 +00:00
Dhruwang Jariwala 9b34833bdd fix: preview (#1790) 2023-12-18 10:01:34 +00:00
Dhruwang Jariwala 89c614fafb fix: tweaks on summary page (#1791) 2023-12-18 10:00:16 +00:00
Shubham Palriwala 6f552886d0 fix: echo placement in prod script (#1792) 2023-12-18 09:53:10 +00:00
Matti Nannt 6a7b66aaaa fix: add response limitations to sync endpoint (#1785) 2023-12-15 14:08:25 +00:00
Shubham Palriwala f28bb9b82a fix: checks for free limit reached (#1786) 2023-12-15 13:10:46 +00:00
Shubham Palriwala 8dd67ec484 feat: survey creation & response submission e2e test (#1778)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-15 13:09:57 +00:00
Deepanshi Sharma aa43d0a94c fix: improved UI for mobile preview (#1781)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-12-15 12:06:10 +00:00
Johannes d648762f4f fix: Update README.md (#1783) 2023-12-14 19:01:14 +00:00
Shubham Palriwala f8c0021346 feat: (e2e) onboarding tests and quick login method (#1771) 2023-12-14 14:06:02 +00:00
Pratik 8fd78bc08f feat: Notion Integration (#1197)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-14 13:11:23 +00:00
Matti Nannt 95ed9b87de chore: add global-error component (#1780) 2023-12-14 10:31:23 +00:00
Matti Nannt ab5f18d2c0 fix: send toast when delete fails in survey editor (#1779) 2023-12-14 10:09:22 +00:00
Matti Nannt cd4b6fdae0 chore: add prettier config for import sorting, update packages, migrate to prettier 3 (#1777) 2023-12-14 09:51:02 +00:00
Karishma Shukla b11a7cc3ec feat: improved UI for select & multi-select logic jumps (#1773)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-13 14:05:59 +00:00
Matti Nannt 2e5ed00414 fix: cache revalidation after product was deleted (#1776) 2023-12-13 11:18:13 +00:00
Shubham Palriwala 557e912309 fix: drop off rate (#1775) 2023-12-13 11:18:00 +00:00
Dhruwang Jariwala e2aba0cd4a fix: autoclose and autoComplete issue (#1426) 2023-12-13 09:24:03 +00:00
Johannes 7c3c6652d4 fix: add flix logo, remove dark mode (#1774) 2023-12-12 23:21:06 +00:00
Shubham Palriwala cbf11de352 fix: missing curl in close surveys cronjob (#1772) 2023-12-12 13:49:49 +00:00
Deepanshi Sharma 72f7946bcc fix: template preview UI breakage (#1766)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-12 13:48:15 +00:00
Dhruwang Jariwala 413a3a92cb fix: survey inactive layout (#1768) 2023-12-12 10:41:09 +00:00
Dhruwang Jariwala ee8edbd547 fix: changed maxDuration for weekly summary endpoint (#1769) 2023-12-12 10:34:50 +00:00
Dhruwang Jariwala 663fa0124f chore: renamed profile to user (#1770)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-12 10:32:51 +00:00
Jonas Höbenreich 81234c4bde feat: Automatic team assignment + skip onboarding (#1347)
Co-authored-by: jonas.hoebenreich <jonas.hoebenreich@flixbus.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-11 15:27:49 +00:00
Dhruwang Jariwala 3103760611 chore: added date transform for cached services (#1753)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-11 13:53:54 +00:00
Shubham Palriwala d8b6b95ed5 feat: use GHCR instead of DockerHub (#1760) 2023-12-08 12:49:37 +00:00
Matti Nannt acc6674ec5 chore: update surveys package to 1.0.1 (#1763) 2023-12-08 11:41:44 +00:00
Anshuman Pandey dd0d296c6a feat: question-date (#1660)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-08 11:22:19 +00:00
Matti Nannt f5110fe9c1 fix: docker build errors (#1762) 2023-12-07 22:24:22 +00:00
Matti Nannt 8244a5fa48 fix: update next-config remotePatterns to work with http (#1761) 2023-12-07 14:37:03 +00:00
Dhruwang Jariwala 59936e54a0 feat: add playwright e2e tests infrastructure (#1742)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2023-12-07 10:51:45 +00:00
Dhruwang Jariwala 5468287f9b fix: Survey editor caution text fix (#1755)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-07 09:40:48 +00:00
Anjy Gupta 22e55677ae fix: Gitpod file upload and background overlay (#1756) 2023-12-07 09:28:54 +00:00
Filip Wojda 8d422eeda0 style: tiny BestPractice component styling fix (#1758) 2023-12-07 09:22:26 +00:00
Anshuman Pandey 62dbd9e121 fix: fixes safari in-app preview (#1759) 2023-12-07 09:19:17 +00:00
Shubham Palriwala c950c96934 fix: code block formatting in self-hosting/configure page (#1750) 2023-12-06 13:30:37 +00:00
Anshuman Pandey 1fa12d473c feat: attributes on initialising formbricks (#1736)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-06 12:39:46 +00:00
Matti Nannt b9def78d2e chore: prepare 1.3.5 release (#1752) 2023-12-06 12:06:50 +00:00
Matti Nannt 626356be55 fix: landing page title typo (#1748) 2023-12-05 15:31:30 +00:00
Matti Nannt 85f5425d89 fix: onboarding ending in endless loop because of validation error (#1745) 2023-12-05 13:56:32 +00:00
Anshuman Pandey d2c703ef60 fix: adds default values for overlay and click outside close (#1740) 2023-12-05 10:46:17 +00:00
Matti Nannt 4e8e6390b1 docs: minor docs hygiene (#1744) 2023-12-05 10:45:06 +00:00
Anjy Gupta 9271e375af feat: add image/color/animation as survey background (#1515)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Neil Chauhan <neilchauhan2@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-12-04 18:22:28 +00:00
Matti Nannt 35a9685b71 fix: let report usage cron run with no-cache headers (#1739) 2023-12-04 17:37:24 +00:00
Matti Nannt 723ea558fa fix: remove person validation in syncSurveys for backwards compatibility (#1737) 2023-12-04 15:24:51 +00:00
Matti Nannt 8a4a635ee3 fix: in-app surveys not pulled correctly when user attributes get set (#1735) 2023-12-04 12:58:36 +00:00
Shubham Palriwala 1a30e9fd11 fix: error handling in next-auth (#1734) 2023-12-04 12:52:08 +00:00
Dhruwang Jariwala dc8e1c764b fix: empty trigger save issue (#1733) 2023-12-04 11:38:08 +00:00
Dhruwang Jariwala 48e9148728 fix: made ttc and userAgent optional (#1727) 2023-12-04 11:36:31 +00:00
Shubham Palriwala 25525e0b03 fix: docker builds to work with node 20 (#1728) 2023-12-04 11:13:56 +00:00
Shubham Palriwala 9720c0ecba fix: remove configuration option for asset prefix URL (#1729) 2023-12-04 11:13:22 +00:00
Dhruwang Jariwala 33cbe7cf22 fix: eliminate empty attribute filter (#1730) 2023-12-04 11:12:41 +00:00
Johannes 4b0eef9c2e feat: community page revamp (#1725) 2023-12-03 19:49:35 +00:00
Naitik Kapadia 6e08a94da7 feat: Show the number of Responses to Respondents (#1720)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-12-03 19:27:05 +00:00
Matti Nannt c8f621cea2 fix: increase rate limit for client endpoints (#1718) 2023-12-01 13:27:37 +00:00
Shubham Palriwala 6436ec6416 fix: add docs + increase size about increasing size of changing button text (#1714) 2023-12-01 10:49:21 +00:00
Matti Nannt e7c3d9abee chore: use node 20 in dockerfiles (#1716) 2023-12-01 09:10:05 +00:00
Matti Nannt c8bc942eb4 chore: prepare 1.3.4 release (#1715) 2023-11-30 17:53:31 +00:00
Dhruwang Jariwala d4fcaa54ba fix: progress bar (#1698)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-30 15:12:40 +00:00
Dhruwang Jariwala 2118f881f6 feat: Time to complete Metadata (#1416)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-30 14:22:33 +00:00
Shubham Palriwala 05884ead56 fix: validate string before fetching survey (#1701) 2023-11-30 08:45:34 +00:00
Dhruwang Jariwala e53e04ca05 fix: duplicate title tags and meta descriptions (and other titles) (#1683)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-30 08:30:38 +00:00
Dhruwang Jariwala 32b2cd9ef3 chore: added individual eslints (#1710)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-30 08:24:20 +00:00
Anshuman Pandey f734a76588 fix: team invites (#1699) 2023-11-30 08:23:05 +00:00
Anshuman Pandey d71b1ee052 fix: fixes encoding of file name (#1712) 2023-11-30 07:41:03 +00:00
Dhruwang Jariwala 6b1d4a249a refactor: Auth options refactor (#1617)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-29 15:24:07 +00:00
Sidi jeddou 6b69d7c9af feat: Add devhunt open source to the list of oss-friends in api route (#1708)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-29 13:55:18 +00:00
Matti Nannt ff4f4be69c chore: prepare 1.3.3 release (#1709) 2023-11-29 12:54:56 +00:00
Anshuman Pandey a7f9e8d8eb fix: surveys package tailwind styles (#1707) 2023-11-29 11:54:58 +00:00
Dhruwang Jariwala 163732cea0 chore: blacklisted questionIds (#1700) 2023-11-29 10:51:31 +00:00
Matti Nannt c35a57d2ca fix: cache not getting revalidated on person update (#1704) 2023-11-28 15:01:58 +00:00
Dhruwang Jariwala b40ddbf47b chore: adds check for lowercase emails (#1693) 2023-11-28 14:28:02 +00:00
Shubham Palriwala 6be825184a feat: prod script now supports update, delete, uninstall, stop, restart (#1691) 2023-11-28 14:14:15 +00:00
Dhruwang Jariwala 4782195ca5 fix: avoid hidden field preview (#1694)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-28 14:11:57 +00:00
Shubham Palriwala 1280daafe3 feat: update client api docs as per new responses (#1695) 2023-11-28 14:06:01 +00:00
Shubham Palriwala c05433f4f9 fix: move link surveys above in docs navbar & rename user identification (#1696) 2023-11-28 14:04:02 +00:00
Shubham Palriwala 88567fb056 fix: rename entire self hosting section (#1697) 2023-11-28 14:03:10 +00:00
Dhruwang Jariwala 7c09b66d53 chore: added symbol for welcome card (#1702) 2023-11-28 13:39:28 +00:00
Shubham Palriwala 31853411f3 fix: link survey page title now has survey name (#1692) 2023-11-28 13:37:49 +00:00
Matti Nannt f036e83894 fix: fix docker build action for github packages (#1690) 2023-11-27 18:31:08 +00:00
Matti Nannt 24a3af210a fix: docker deployment failed because of new nextjs config (#1688) 2023-11-27 17:44:23 +00:00
Matti Nannt 4f8a94bfe7 chore: Prepare Formbricks 1.3.2 release (#1686) 2023-11-27 14:52:36 +00:00
Shubham Palriwala 45fbdd58af fix: simplify redirect of URL in Environment Notice Component (#1598)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-27 13:49:12 +00:00
Shubham Palriwala b28f6f4bb2 feat: support for make and n8n integration states (#1568)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-27 13:40:51 +00:00
Dhruwang Jariwala b691a74369 chore: added copy icon to api keys (#1681) 2023-11-27 12:43:52 +00:00
Matti Nannt b189eb0ffd fix: improve client api by minimizing data output (#1674) 2023-11-27 11:54:19 +00:00
Shubham Palriwala 3e5b16e178 fix: indentations in env in docker compose (#1685) 2023-11-27 11:00:34 +00:00
therecluse26 8017e92a32 fix: Server Actions errors on self-hosting because of missing allowedOrigins (#1621)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-27 10:45:29 +00:00
Shubham Palriwala 652e0bc9c9 feat: endpoint + telemetry for live self hosted instances (#1675)
Signed-off-by: Neil Chauhan <neilchauhan2@gmail.com>
Co-authored-by: Neil Chauhan <neilchauhan2@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-27 10:28:33 +00:00
Anshuman Pandey 2f4797f29f fix: editor adding paragraphs at the top on every render (#1677) 2023-11-27 09:48:20 +00:00
Shubham Palriwala 85c2cb8b7b feat: updated client response endpoint docs (#1656) 2023-11-27 08:20:01 +00:00
Dhruwang Jariwala 5e4702335e fix: broken links (#1682) 2023-11-27 08:13:01 +00:00
Shubham Palriwala c5183844fb fix: increase rate limiting for auth endpoints (#1684) 2023-11-27 08:11:42 +00:00
Anshuman Pandey 4102dbd0e4 fix: preview file name and content type (#1678) 2023-11-24 16:23:49 +00:00
Shubham Palriwala 8414f3b030 fix: longer team names now do not cut pricing page sub components (#1679) 2023-11-24 13:01:01 +00:00
Anshuman Pandey 8a771222b8 fix: excel conversion (#1680) 2023-11-24 11:51:02 +00:00
Johannes dda3986190 fix: verify email screen responsiveness (#1676) 2023-11-23 20:17:58 +00:00
Johannes a3fd6645b6 fix: added images as reusable component, tweaked rating (#1672) 2023-11-23 14:52:39 +00:00
Naitik Kapadia 33919578dd feat: Introduce FileUpload Question (#1277)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-11-23 14:47:48 +00:00
Shubham Palriwala 7e68a5e590 fix: add missing docs for update survey endpoint (#1652) 2023-11-22 10:45:09 +00:00
Johannes dae8aaaefb fix: allow removing branding on self-hosted (#1671) 2023-11-22 10:44:01 +00:00
Jonas Höbenreich 593619daf9 chore: add iife support (#1657)
Co-authored-by: jonas.hoebenreich <jonas.hoebenreich@flixbus.com>
2023-11-22 10:39:25 +00:00
Shubham Palriwala be5ad90c08 feat: new client people endpoint docs (#1658)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-22 10:38:40 +00:00
Shubham Palriwala 8adf8b4916 feat: contributing setup v2 (#1670) 2023-11-22 10:31:21 +00:00
Harish Gautam e43777d100 fix: survey meta data title added (#1669)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-11-22 09:54:37 +00:00
Matti Nannt 739f669888 chore: Add sentry to privacy policy (#1667) 2023-11-21 15:12:53 +00:00
Matti Nannt 8b77494e32 fix: person update endpoint not working due to caching issue (#1666) 2023-11-21 15:02:01 +00:00
Matti Nannt 9ad5d4ec5c fix: caching issue leads to action endpoint fail for new person (#1665) 2023-11-21 14:35:00 +00:00
Dhruwang Jariwala 1582ac13da fix: Weekly summary endpoint failing (#1440)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-11-21 14:00:31 +00:00
Shubham Palriwala 61c7d78612 feat: new client actions endpoint docs (#1659) 2023-11-21 12:55:33 +00:00
Shubham Palriwala 556fe5453c feat: updated client display endpoint docs & update display bug fix (#1654) 2023-11-21 12:35:56 +00:00
Jonas Höbenreich fd59ec4f8e fix: improve a11y of survey modal close button (#1661)
Co-authored-by: jonas.hoebenreich <jonas.hoebenreich@flixbus.com>
2023-11-21 12:24:51 +00:00
Matti Nannt 6db76d094b chore: move n8n-node to own repository (#1662) 2023-11-21 12:09:53 +00:00
Matti Nannt 94bf1fd6fe fix: close formbricks-js surveys on logout (#1655) 2023-11-21 09:29:31 +00:00
Rohit Mondal 860630dd5a style: fixed color contrast in onboarding page (#1631)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2023-11-21 09:28:03 +00:00
Dhruwang Jariwala 97cc6232c2 fix: page refresh issue on adding new action (#1634) 2023-11-21 08:55:02 +00:00
Matti Nannt 7331d1dd5a chore: update npm dependencies to latest version (#1651) 2023-11-21 08:32:07 +00:00
Matti Nannt 3f8bf4c34c chore: simplify getPersonByUserId by removing legacy person support (#1649) 2023-11-20 21:07:40 +00:00
Matti Nannt 91ceffba01 fix: personByUserId not cached properly (#1644) 2023-11-20 20:05:58 +00:00
Shaik_Asif 8c38495812 fix: typo in template (#1648) 2023-11-20 19:58:05 +00:00
Matti Nannt c8c98499ed chore: Simplify person service by removing complex getOrCreatePerson function (#1643) 2023-11-20 17:22:11 +00:00
Shubham Palriwala af181eabdc feat: formbricks/api package as per js package 1.2.2 (#1640)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-20 16:16:39 +00:00
Neil Chauhan 822c48ff52 fix: headline alignment issue (#1641)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-20 15:02:46 +00:00
Neil Chauhan 70d211a038 fix: thank you card headline issue FOR-1489 (#1639) 2023-11-20 08:25:15 +00:00
Dhruwang Jariwala a77ce55a1d fix: Error screen on survey Editor refresh (#1635) 2023-11-19 12:47:44 +00:00
Matti Nannt a376eb9b51 fix: caching issue by simplifying person service (#1636) 2023-11-17 19:15:17 +00:00
Matti Nannt f11c47d4ca chore: make getSyncSurveys cached by default (#1609) 2023-11-17 18:29:08 +00:00
Dhruwang Jariwala 4baea07471 fix: wording on look & feel page (#1632) 2023-11-17 09:46:43 +00:00
Johannes ff87be717c fix: add canonical URL for lp (#1633) 2023-11-17 09:31:25 +00:00
Matti Nannt e3e595af9a chore: upgrade packages, fix edge runtime issues (#1629) 2023-11-16 21:45:48 +00:00
Matti Nannt 3dae10d665 feat: load react email serverside (#1628) 2023-11-16 19:58:06 +00:00
Dhruwang Jariwala 6727ccf1cd fix: response delete in single response card (#1624) 2023-11-16 12:58:32 +00:00
Shubham Palriwala 9242ab3a7d feat: rate limit client API endpoints (#1566) 2023-11-16 12:57:19 +00:00
Matti Nannt e9d8de3574 fix: zapier integration not able to pull past responses (#1627) 2023-11-16 12:07:30 +00:00
Dhruwang Jariwala 0a252e5827 fix: hidden field not working with prefilling on 1st question (#1602)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-16 09:20:04 +00:00
Dhruwang Jariwala 632f6068c4 feat: test template (#1620) 2023-11-16 09:09:46 +00:00
Dhruwang Jariwala 4d280e04d1 fix: logic jumps (#1623) 2023-11-16 08:45:51 +00:00
Krishanu Saha 73bde4fda6 fix: #1357 button text color changed on nearwhite background color (#1365)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-15 15:47:59 +00:00
Midka 9d4e21f8a7 feat(packages/surveys): ability to customize colors & other improvements (#916)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Neil Chauhan <neilchauhan2@gmail.com>
2023-11-15 15:29:27 +00:00
Dhruwang Jariwala 3eeea7d1b2 fix: survey editor issue (#1619) 2023-11-15 13:03:28 +00:00
Dhruwang Jariwala 32268a8ec3 fix: auto focus issue (#1618) 2023-11-15 11:35:01 +00:00
Matti Nannt 888dbbcfd2 feat: add toggle for in-app formbricks branding (#1616)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: review-agent-prime[bot] <147289438+review-agent-prime[bot]@users.noreply.github.com>
2023-11-14 16:39:30 +00:00
Dhruwang Jariwala 73711b4631 refactor: Symlink replacement (#1556)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-14 07:57:17 +00:00
Sushant bd0b8ecd66 fix: #1610 (#1611) 2023-11-14 07:04:46 +00:00
Matti Nannt fefc27aadd docs: userId typo in docs (#1612) 2023-11-14 06:51:50 +00:00
Shyam Raghuwanshi 8eb0cf3207 feat: Add color scheme for light and dark themes (#1368)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-11-13 17:34:18 +00:00
Johannes 6a40ed705d fix: Update README.md (#1608) 2023-11-13 08:32:08 +00:00
Anshuman Pandey 53ef8771f3 feat: Make formbricks-js ready for public websites (#1470)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2023-11-12 09:12:58 +00:00
Dhruwang Jariwala ac8cf987d3 feat: Ttc on welcome card (#1461)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-11-10 17:14:33 +00:00
Harish Gautam 11ede2e517 fix: Onboarding page added aria-lable and keyboard navigation (#1562)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-11-10 12:19:06 +00:00
dependabot[bot] aa6d6df178 chore(deps): bump @sentry/nextjs from 7.76.0 to 7.77.0 (#1603)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 11:53:26 +00:00
Matti Nannt c2675a9d49 fix: infinite loop in onboarding (#1604) 2023-11-10 11:01:43 +00:00
dominikmukrecki 84ce0c267c docs: Add Google OAuth Integration Guide (#1411)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2023-11-10 10:23:33 +00:00
Shubham Palriwala a2df7abf85 fix: opt billing page forcefully out of static generation (#1600) 2023-11-09 10:13:25 +00:00
Shubham Palriwala 7acd2ccabb fix: github action that reports stripe usage (#1599) 2023-11-09 10:12:23 +00:00
Shubham Palriwala a34606ab03 chore: remove unused method and restructure env var fetching for team roles (#1595)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-11-09 10:06:57 +00:00
Dhruwang Jariwala dd0f0ead39 refactor: Airtable & GS endpoints to use responses return objects (#1592) 2023-11-09 10:01:49 +00:00
Shubham Palriwala d6c9ce7c5b fix: handle invalid surveyId from api endpoint (#1589) 2023-11-09 09:59:42 +00:00
Matti Nannt 0b253e6ba5 chore: release formbricks-js 1.1.5 (#1601) 2023-11-09 09:53:34 +00:00
Florrdv dd0091e52c fix: add types to exports for @formbricks/js (#1597) 2023-11-08 11:14:29 +00:00
Shubham Palriwala c45248ada8 fix: redirect user if they visit onboarding page without auth (#1596) 2023-11-08 09:30:08 +00:00
Matti Nannt ca21c9cea7 chore: Improve database performance by adding indexes (#1593) 2023-11-08 06:11:43 +00:00
Shubham Palriwala 10ab71b20f feat: independent troubleshooting guide page (#1591) 2023-11-07 21:30:14 +00:00
Shubham Palriwala 2acd18d8d5 feat: recommended hardware requirements to self host formbricks (#1590) 2023-11-07 21:26:40 +00:00
Shubham Palriwala 27b99d9761 fix: user existence checks in session object (#1587) 2023-11-07 21:26:20 +00:00
Shubham Palriwala 536e610895 fix: update setup checklists with latest js package version (#1588) 2023-11-07 21:24:03 +00:00
Jatin Sandilya c40fedda90 chore: add revert to oss-friends (#745) 2023-11-06 16:14:01 +00:00
Shubham Palriwala c74b3034fd fix: pass authOptions to getServerSession in authLayout (#1584) 2023-11-06 16:12:58 +00:00
Shashank 72fb1b3b30 fix: fixed URL example for "Create Survey" API endpoint is wrong #1555 (#1586) 2023-11-06 16:12:25 +00:00
Aditya Deshlahre 5859b51b8b fix(docs): default account info docs changes (#1583) 2023-11-06 14:25:42 +00:00
Matti Nannt d51e17fe2e chore: Add docker packages to Github Packages on release (#1585) 2023-11-06 12:10:56 +00:00
Anshuman Pandey fbd3d95034 feat: avatar upload (#1546)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-06 11:06:08 +00:00
Dhruwang Jariwala 9d0b6cec76 fix: editor crashing (#1582) 2023-11-06 10:39:28 +00:00
NilanjanPramanik f2d23d9a37 fix: Add scroll to the setting navbar (#1398)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-06 09:54:12 +00:00
RajuGangitla 5ea1588c86 are you sure modal missing fix:#1419 (#1485)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-11-06 09:49:42 +00:00
Dhruwang Jariwala e0fe7f1af7 fix: github linting issues (#1510) 2023-11-06 09:40:23 +00:00
Dhruwang Jariwala 0c69f8ad43 refactor: added authorization to airtable integration and create a common actions file (#1538) 2023-11-06 09:37:50 +00:00
Dhruwang Jariwala a3028e5685 docs: add docs for airtable (#1541) 2023-11-06 09:36:38 +00:00
Shubham Palriwala 2314b27443 fix: missing static generation store in revalidation due to pages dir (#1581) 2023-11-06 09:14:45 +00:00
Dhruwang Jariwala 46f42220d6 feat: Pagination for other values in multi choice (#1560)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-06 08:57:48 +00:00
Shubham Palriwala 6d6987d2bc feat: $199 pricing model for unlimited plans (#1564) 2023-11-06 08:53:49 +00:00
Shubham Palriwala 2dc03505fc fix: make pricing pages consistent (#1567) 2023-11-06 08:45:11 +00:00
Dhruwang Jariwala 66cfbebe74 fix: openText issue (#1579) 2023-11-06 08:25:12 +00:00
Shubham Palriwala 3a9ca829cc fix: avoid blocking the request if it does not have an associated ip (#1540) 2023-11-06 07:45:32 +00:00
James P 9dc7d542be feat: Add Unkey to OSS Friends (#1574)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-11-05 20:37:26 +00:00
Neil Chauhan cac02c77a1 feat: FOR-683 Role Switch (#1450)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-11-05 14:26:03 +00:00
Bilal Mirza a1c27c415b fix: link to Check out the docs is broken (#1570) 2023-11-05 13:47:12 +00:00
Sachin Mittal f1849dcff8 fix : delete btn is not disabling when clicking #1519 (#1575) 2023-11-05 13:46:22 +00:00
Anshuman Pandey 1ff14e7714 fix: s3 file url cache does not get revalidated (#1577) 2023-11-05 13:19:08 +00:00
Rotimi Best 827fa1027f feat: Guide on how to create a service (#1569) 2023-11-03 12:39:49 +00:00
Matti Nannt 1b37c54152 chore: improve client api error responses (#1563) 2023-11-02 19:39:35 +00:00
Dhruwang Jariwala 6bace2b826 fix: skip logic (#1559) 2023-11-02 13:05:12 +00:00
Johannes e5775e3724 add month to preseed (#1558) 2023-11-02 10:34:48 +00:00
Johannes 718cbe3db0 fix: fix build on lp (#1554) 2023-11-01 21:36:59 +00:00
Matti Nannt 4f74dd5044 chore: remove limited launch deal from pricing (#1553) 2023-11-01 19:28:14 +00:00
Matti Nannt 85b551b61a fix: formbricks-com build error (#1549) 2023-11-01 16:59:16 +00:00
Matti Nannt c1e962b1bf fix: team response count calculation (#1548) 2023-11-01 16:17:55 +00:00
Johannes 82e8e6a12f feat: preseed annoucement (#1547) 2023-11-01 13:14:15 +00:00
Bilal Mirza 9ca77be099 fix: Getting page not found error for DOC #1539 (#1545) 2023-11-01 13:09:03 +00:00
Shubham Palriwala 9d423cdd58 feat: formtribe updated scoreboard (#1543) 2023-10-31 15:31:54 +00:00
Matti Nannt d7c72c8c80 fix: update readme to add link to product hunt (#1542) 2023-10-31 13:31:19 +00:00
Matti Nannt d8f6e8502d fix: pricing table dark mode (#1537) 2023-10-31 08:22:16 +00:00
Matti Nannt 01268e33ab chore: add special deal to pricing (#1536) 2023-10-31 07:43:45 +00:00
Matti Nannt 5aa857c742 fix: Pricing Table on formbricks-com (#1535) 2023-10-31 07:18:00 +00:00
Anshuman Pandey 49ff9d40b9 fix: fixes surveys cache (#1534)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-31 07:11:45 +00:00
Johannes 793935fc5d chore: update landing page for PH Launch (#1475)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-31 06:48:28 +00:00
Shubham Palriwala 22f579389a fix: overloading slider on exceeding max limits in pricing tier (#1530) 2023-10-30 21:37:02 +00:00
Shubham Palriwala 9971662077 feat: stripe integration (#858)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 20:33:19 +00:00
Adarsh Jha 7f8b7e2a20 chore: Add Table of Contents to README (#1427)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 17:45:20 +00:00
Dhruwang Jariwala eec986f070 fix: account deletion failing issue (#1509)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 17:16:55 +00:00
ss10 07ce774e5b fix: remove welcome card from email preview (#1495)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 17:16:08 +00:00
Aditya Deshlahre bd28909b35 fix(bug): default role implemented (#1524) 2023-10-30 16:49:22 +00:00
Dhruwang Jariwala 840e16152e fix: changing description of Code Action (#1522) 2023-10-30 14:19:04 +00:00
Dhruwang Jariwala 2e2c22a1db refactor: Migrate activity service (#1471)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 12:16:20 +00:00
Bilal Mirza c42d48e242 fix: Error in Docs navigation #1518 (#1521) 2023-10-30 12:13:20 +00:00
Vikas Patil be018e8255 feat: dynamic title and description (#1459)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-10-30 11:44:05 +00:00
Bilal Mirza 393238e3fe fix: Spelling Errors (#1517) 2023-10-30 11:07:50 +00:00
Abhinai Sai Putta e4c453c444 fix: added scrollbar whenever overflowed in the settings/profile page (#1498)
Co-authored-by: Abhinai Sai <abhinaisai2002>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-30 10:58:38 +00:00
Rohan Gupta 1d5b83206b fix: long url not getting reset after closing modal (#1502)
Co-authored-by: Rohan Gupta <rohan.gupta@zopper.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-10-30 10:46:40 +00:00
Mohit Negi 8d9b676a03 fix: Unexpected Behavior when Toggling Italics in Text Editor and improve clarity of formatting status (#1506)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-10-30 10:38:19 +00:00
Dhruwang Jariwala 59113ebe59 fix: zod pin validation failing (#1507) 2023-10-30 10:37:05 +00:00
Dhruwang Jariwala 7d0ebd3c54 fix: Error message on Login not shown (#1508) 2023-10-30 10:34:29 +00:00
Matti Nannt ccfd5ae28b fix: downgrade nextjs to fix error with react email (#1516) 2023-10-30 10:32:14 +00:00
Anshuman Pandey dcefbc96cd chore: downgrade next version in formbricks-com (#1513) 2023-10-30 08:42:46 +00:00
Piyush Gupta b9a8e9d12c feat: picture selection question (#1388)
Co-authored-by: Olasunkanmi Balogun <olasunkanmiibalogun@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-10-30 05:32:49 +00:00
Shubham Palriwala d3356cb8b7 feat: formtribe leaderboard update as per today (#1505) 2023-10-29 19:43:30 +00:00
Aditya Ghidora a92189c7aa fix: Added if statement for preventing use of reserved word in question ID (#1435) 2023-10-28 16:50:20 +00:00
Harshit Vashisht 966dd5fcc8 fix: Disabling Welcome Card leads buggy preview (#1320)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2023-10-28 16:23:28 +00:00
noobcoder c68b256713 fix: Enhancing Formbricks Docs: Clear Steps for Configuring Environment. (#1477)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-28 15:32:38 +00:00
Dhruwang Jariwala cf938bffa7 fix: source tracking (#1486) 2023-10-28 14:30:35 +00:00
Vaibhav 5ae5a92c31 docs: Update README.md (#1487) 2023-10-28 11:18:05 +00:00
Matti Nannt c47face662 chore: remove experimental server actions flag (#1484) 2023-10-27 21:12:17 +00:00
Matti Nannt 2361cf4b5a chore: upgrade next.js (#1483) 2023-10-27 20:52:58 +00:00
Matti Nannt 3720c7690d fix: Add ENCRYPTION_KEY to Dockerfile args (#1482) 2023-10-27 20:08:48 +00:00
Matti Nannt 3de073f93a fix: summary loading infinitely (#1481) 2023-10-27 18:27:52 +00:00
Matti Nannt 841b96c5bb chore: improve error logging in responseNote service (#1480) 2023-10-27 16:49:13 +00:00
Rotimi Best 3bb6ce3250 chore: caching for environment, integration, invite, membership, product & profile (#1324)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-27 13:31:15 +00:00
Johannes 82c986baa4 update side quests (#1473) 2023-10-27 09:10:22 +00:00
Shreya Ranpariya d72283df55 doc: update Firecamp and Spark.net in ascending order in oss-friends page (#1425)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-27 08:55:04 +00:00
Sandy-1711 fcfea44d7f fix: [BUG] In Dark Mode Navbar is not Properly Visible #1463 (#1467)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-27 08:42:28 +00:00
Rotimi Best 5f71b91704 chore: session, survey, tagOnResponse, webhook, apiKey caching (#1363) 2023-10-27 07:48:26 +00:00
Rotimi Best 94e872025d chore: caching responseNote and attributeClass service (#1307) 2023-10-27 07:45:39 +00:00
Matti Nannt 7ad7a255b6 fix: docker release github action (#1468) 2023-10-26 13:00:13 +00:00
Dhruwang Jariwala 892887c786 fix: build errors in formbricks-com (#1465) 2023-10-26 07:40:50 +00:00
Matti Nannt cb130579bb fix: survey url incorrect in single use share dialoge (#1464) 2023-10-25 20:35:52 +00:00
Shubham Palriwala e9f4edadbd feat: let's v1.2 (#1332)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-25 19:22:16 +00:00
Anshuman Pandey 21fe7080ef fix: uploads (#1449)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-25 14:50:48 +00:00
Dhruwang Jariwala e21f82e1fc fix: email verification before answering survey (#1460)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-25 14:06:03 +00:00
Shubham Palriwala 9994fef695 feat: update leaderboard as per today (#1457) 2023-10-25 14:04:54 +00:00
Johannes e0dce53031 lp: update privacy policy (#1462) 2023-10-25 13:46:55 +00:00
Shubham Palriwala fb6dbda64d chore: Move Billing API to App directory & Deprecate unused /pages/api/[environment|team] endpoints (#1423) 2023-10-25 13:35:48 +00:00
Matti Nannt 91b8f9b7f0 chore: increase MTU limit in Formbricks Cloud (#1456) 2023-10-24 21:02:02 +00:00
Matti Nannt 24d0fec16f feat: formbricks-js 1.1.4 release (#1455)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-24 20:20:54 +00:00
Matti Nannt 24f5796c13 fix: triggered survey not behaving correctly after userId change (#1453) 2023-10-24 19:58:44 +00:00
Shubham Palriwala 0115c58364 feat: use formbricks/api package internally in /js & /lib (#955)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-24 13:52:38 +00:00
Anshuman Pandey 7dcadc660f fix: fixes client storage api route method (#1451) 2023-10-24 13:41:04 +00:00
Matti Nannt 2b4879bb33 chore: improve error logging in client endpoints (#1445) 2023-10-24 11:38:41 +00:00
Matti Nannt 11a68a904e chore: Remove response limit in preparation for new pricing (#1443) 2023-10-24 10:58:23 +00:00
Johannes fde2eeb6b4 feat: Add Animated Background Files (#1441) 2023-10-24 10:38:39 +00:00
Matti Nannt 2193758594 chore: include new features in pricing table (#1438) 2023-10-24 08:51:40 +00:00
Dhruwang Jariwala fa9ddf5de2 refactor: removed console for Air table fix (#1436)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-24 07:19:08 +00:00
Dhruwang Jariwala 89ccee8cb6 refactor: Console tokenRes (#1434) 2023-10-23 17:19:27 +00:00
Matti Nannt 86fd3c64c8 fix: hide email input in survey share modal when share code is displayed (#1432) 2023-10-23 14:35:59 +00:00
Shubham Palriwala 4fcce98911 feat: lazy loading and endless scrolling for responses page (#1421)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-23 14:14:30 +00:00
Aditya Deshlahre 04aa2a6e9f fix: Validate Product Names (#1362)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-23 14:12:16 +00:00
Shubham Palriwala b7d9999f4b feat: client side pagination in open text questions in responses summary (#1422)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-23 13:32:10 +00:00
Matti Nannt 7bf0290d1c chore: refactor sync endpoint to use existing services (#1417) 2023-10-23 12:39:12 +00:00
Shyam Raghuwanshi 5a39c1751e fix: Button Enablement Precedes Component Rendering on Publish/Save Click (#1400)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-23 12:36:54 +00:00
Dhruwang Jariwala 6911151e98 fix: Air table callback (#1418) 2023-10-23 12:26:34 +00:00
Shubham Palriwala acb8dd0d0b fix: rate limit is now enabled on node prod envs only (#1424) 2023-10-23 12:26:05 +00:00
Naresh 0a76bad43e fix: validate cssSelector value (#1420) 2023-10-23 12:04:01 +00:00
Priyanshu Prajapati 1a20920d5d fix: CODE_OF_CONDUCT.md (#1390)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-23 11:32:36 +00:00
Armaan 458a35ef15 docs: updated CONTRIBUTING.md (#1394)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-23 11:07:39 +00:00
Anshuman Pandey c2df127a3d fix: file uploads api changes (#1319)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-23 10:38:01 +00:00
Olaleye Blessing 2e53d3d039 fix: Display appropriate error message when uploading image (#1334)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2023-10-23 06:34:43 +00:00
Mohit Negi 1206b969e3 fix: Refactor theme switcher from dropdown to toggle (#1360)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-23 06:07:13 +00:00
Abhinav Arya 2ac7f9ec5c fix: In Review Prompt Lower and Upper labels are not showing in dummyUi/Preview (#1402) 2023-10-23 05:50:31 +00:00
Anjy Gupta 502610fb3c feat: Added Dynamic Link Previews (#1093)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-23 04:52:46 +00:00
Shubham Palriwala bf9b95e288 feat: update leaderboard as per today (#1408) 2023-10-22 17:46:07 +00:00
Matti Nannt 0cc8cdf52a chore: remove swr from dependencies (#1407) 2023-10-22 16:55:59 +00:00
Suman Kisku 27c1b0d3f2 style: #1343 Added Jost Web fonts (#1346)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-22 15:11:06 +00:00
Hemant ceb384a6f4 fix: Share modal not opening (#1387)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2023-10-22 14:01:18 +00:00
Shyam Raghuwanshi 6ea2c7b354 fix: Resolve issue with "Back to Home" button on 404 page (#1381)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-10-22 13:39:43 +00:00
Shyam Raghuwanshi c86a06ddbb fix: adding loader for Delete and Save buttons (#1344)
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-10-22 09:01:18 +00:00
Piyush Gupta a8b7c9c127 fix: prefiling in welcome card surveys (#1352)
Co-authored-by: Olasunkanmi Balogun <olasunkanmiibalogun@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-22 08:11:56 +00:00
Abhinav Arya af605324b3 fix: Create dark mode version of Code Block on landing page (#1358)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-22 08:06:59 +00:00
Shubham Palriwala c131a04be6 fix: handle display with no response data in per question drop off (#1374) 2023-10-21 13:30:33 +00:00
ss10 befb2c6a42 fix: Page break on Convert to Multi Select (#1383)
Co-authored-by: shruti satsangi <shrutisatsangi@shrutis-MacBook-Air.local>
2023-10-21 13:29:12 +00:00
Shubham Palriwala bd90da3665 feat: Release @formbricks/js@1.1.3 (#1379)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-21 09:31:49 +00:00
Shubham Palriwala d11728312e feat: release patch release formbricks/js with changesets (#1376) 2023-10-21 09:14:15 +00:00
Shubham Palriwala 79ad64968c fix: make metadata internal fields optionality uniform in response object (#1373) 2023-10-21 08:47:27 +00:00
RajuGangitla d3b78e527b fix: Welcome card not being active by default in every template #1336 (#1372) 2023-10-21 06:29:33 +00:00
Aashish Panthi 9074ce4496 fix: add twitter title, desc and keyword meta tags (#1359) 2023-10-21 06:25:08 +00:00
Rohan Gupta f37c6567fd fix: Data is not being sent webhook api on trigger (#1285) (#1316)
Co-authored-by: Rohan Gupta <rohan.gupta@zopper.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-21 05:27:38 +00:00
Neil Chauhan c979e0ed76 chore: update turbo (#1345)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-20 18:47:12 +00:00
Matti Nannt 587ea65c88 fix: survey with empty pin cannot be created (#1361) 2023-10-20 17:17:39 +00:00
Vikas Patil d904f223fc fix: #1353 validating pin before publishing (#1356) 2023-10-20 15:52:31 +00:00
Piyush Gupta 28265a7dcf feat: added dropoff visibility (#907)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-20 13:18:16 +00:00
Johannes 37e83cbb81 chore: add cla to PR template & /cla (#1351) 2023-10-20 12:52:32 +00:00
Shubham Palriwala a7072580d3 fix: prevent exit intent and scroll intent in js package to make api call (#1350) 2023-10-20 12:27:45 +00:00
Dhruwang Jariwala f70cda6e11 refactor: removes old types (#1288)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-20 12:03:16 +00:00
Dhruwang Jariwala 7fd89daca9 refactor: added console for error (#1340) 2023-10-20 10:48:20 +00:00
Ronit Panda c2c27a7527 feat: adds image adding option to all questions (#1305)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-20 10:48:01 +00:00
Jonas Höbenreich b645418b3e feat: add SSO login via Azure AD (second try) (#1188)
Co-authored-by: jonas.hoebenreich <jonas.hoebenreich@flixbus.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-20 08:43:23 +00:00
Matti Nannt 569e9a6ee2 fix: use strings for pin datatype to allow more variations (#1335) 2023-10-20 08:11:39 +00:00
Shyam Raghuwanshi a97f745406 fix: the background does not load up on the entire page! (#1331) 2023-10-20 07:18:40 +00:00
Shyam Raghuwanshi ba3b3ef3d2 fix: Copy button disabled while it's value is null (#1328)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2023-10-20 07:16:42 +00:00
Bilal Mirza 8677025ba4 fix: Logo is not visible in edge search #1265 (#1330) 2023-10-20 07:16:26 +00:00
Piyush Gupta 42c3e98382 feat: Add source to metadata submission (#1323)
Co-authored-by: Olasunkanmi Balogun <olasunkanmiibalogun@gmail.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-19 21:44:55 +00:00
Nafees Nazik 18d1a23cfd feat: add airtable integration (#926)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-19 18:54:10 +00:00
Matti Nannt f7f271b4b3 fix: add hotfix for not storing 50% scroll and exit intent in db (#1326) 2023-10-19 18:54:04 +00:00
Aditya Deshlahre 43e80d8185 fix(bug): fixed1296 href link switch (#1317)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-19 18:19:44 +00:00
Samiksha Mishra 83b11dea41 docs: Added a 'Back to Top" button (#1318)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-19 18:17:21 +00:00
Bilal Mirza cf7175511a fix Add action UI issue on mobile screen #1254 (#1306)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-19 18:02:45 +00:00
Rotimi Best 64d769ae25 chore: caching activity, display and person service (#1272)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-19 15:38:32 +00:00
Surav Shrestha 32002321ad docs: fix typo in apps/formbricks-com/app/docs/actions/code/page.mdx (#1321) 2023-10-19 14:32:59 +00:00
Matti Nannt aaecf5ba44 chore: add folder structure for v2 components (#1314) 2023-10-19 10:21:49 +00:00
Shubham Palriwala c0ea8dd3f6 fix: formtribe leaderboard name correction (#1313) 2023-10-19 10:04:56 +00:00
Shyam Raghuwanshi e69b2f4133 fix: toggle button text when switching between light and dark mode (#1309) 2023-10-19 09:57:57 +00:00
Anshuman Pandey 14c354ea36 fix: use ENCRYPTION_KEY in single use surveys (#1094)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-19 08:17:57 +00:00
Johannes 7ea11133d8 lp: fix demo page header (#1312) 2023-10-19 08:10:54 +00:00
Shubham Palriwala 87663819ff feat: update formtribe leaderboard as per today (#1310) 2023-10-19 08:08:00 +00:00
Julian Li 867879a680 chore: (docs) add GitHub trending badge in readme file (#1279) 2023-10-19 06:30:23 +00:00
Matti Nannt 12adecd297 fix: survey list loading error for products with a lot of actions (#1302) 2023-10-18 20:26:53 +00:00
Matti Nannt bdf3298a90 chore: improve error logging in services (#1300) 2023-10-18 19:17:53 +00:00
Abhinav Arya 3a36f886da fix: Survey : Welcome Card Button is buggy (#1299) 2023-10-18 18:38:47 +00:00
Shreya Ranpariya 6872f202ed feat: added Firecamp to oss-friends the list (#1291) 2023-10-18 18:34:14 +00:00
Matti Nannt 041ac5146b chore: improve error component and display message to user (#1298) 2023-10-18 18:19:08 +00:00
Rotimi Best 1798e64331 chore: caching for action and actionClass services (#1264) 2023-10-18 14:56:56 +00:00
Aditya Deshlahre 332631907a fix(bug): removed user from Team, but user can select team (#1111)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-18 14:55:03 +00:00
Shubham Palriwala 9eae65db44 fix: survey editor minor css bug fixes (#1287) 2023-10-18 14:52:21 +00:00
Shubham Palriwala 8074d324d4 feat: rate limiting of auth endpoints (#1227) 2023-10-18 14:51:28 +00:00
Shubham Palriwala 3d5fdb39c8 feat: authorization in responseNote actions & cleanup of unused actions (#1062) 2023-10-18 12:21:49 +00:00
Ratish jain 484040cce9 fix: concierge cards (#1263)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-18 09:50:44 +00:00
Abhinav Arya eb88858d6f fix: fixing navbar position while scrolling the page. (#1266)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-18 09:36:08 +00:00
Vineet J Karni 5c9d8af3f0 fix: Corrected landing page styles (#1278)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-18 09:23:00 +00:00
Matti Nannt 85808bc0bf chore: Remove SurveyWithAnalytics model to simplify survey handling (#1273) 2023-10-17 18:31:38 +00:00
Rotimi Best 960f11b296 chore: caching response service (#1108)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-17 17:04:50 +00:00
Matti Nannt ae5a63811b fix: survey trigger cannot be deleted (#1271) 2023-10-17 16:23:10 +00:00
Ronit Panda 5a7f290e31 fix: pre-commit-hook (#1203)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-17 15:15:35 +00:00
Neil Chauhan 3cf796b040 chore: FOR-1430 Component relocation (#1261)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-17 14:33:45 +00:00
NilanjanPramanik 9f57be47ba fix: Alignment of step-by-step and try button for mobile (#1241)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-17 14:04:23 +00:00
Yatharth Verma abd1f9822d fix: names spellings in survey pin related functions or variables (#1232)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-17 13:30:44 +00:00
Ali Yar Khan 7a7acd5ffa fix: icons not aligned center on firefox (#1251) 2023-10-17 13:18:32 +00:00
Digvijay Gupta eb64b5f202 fix: update product name, waiting time and delete product operation (#1260)
Co-authored-by: Digvijay Gupta <digvijaygupta@Digvijays-MacBook-Pro.local>
2023-10-17 12:24:17 +00:00
Anshuman Pandey c36fe72971 fix: changes env names (#1259) 2023-10-17 11:36:11 +00:00
Nafees Nazik 113a5a5653 fix: type errors in js sdk (#1115) 2023-10-17 10:19:12 +00:00
Rotimi Best 75dc3c6d44 fix: cast .length result to boolean (#1253) 2023-10-17 10:16:46 +00:00
Anshuman Pandey 20e2df6729 fix: encodes url correctly (#1252)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-17 10:15:51 +00:00
Matti Nannt 46be7529fd chore: simplify packages dependencies (#1243) 2023-10-17 09:56:01 +00:00
Naitik Kapadia 2c1abf8782 feat: Add welcome card (#1073)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-17 09:27:57 +00:00
Shivam Bhatnagar 06b9d4f5f9 fix(web): Fix user dropdown keyboard accessibility (#1240) 2023-10-17 09:05:06 +00:00
Shubham Palriwala fadc5f64b1 chore: remove build from source deployment guide (#1207)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-17 08:44:44 +00:00
Naresh 534e14740e fix: duplicate survey not revalidating the cache key PAIR: Bilal Mirza (#1229)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-17 08:36:59 +00:00
Shubham Palriwala b3171e222f fix: docker compose volume only takes absolute paths (#1206) 2023-10-17 08:35:34 +00:00
Vedant Borkar 0db2f09b01 fix: Typo on main page is fixed (#1250) 2023-10-17 07:32:45 +00:00
Shubham Palriwala d078a5a357 feat: update latest leaderboard points (#1247)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-17 07:26:15 +00:00
Mohit Negi 921553708e fix: Unifying discord logo (#1236) 2023-10-17 07:22:36 +00:00
Vinayak Mali a3ff325557 chore: add hyperlink to LICENSE reference (#1246) 2023-10-17 07:11:53 +00:00
madlia e8232d85dc chore: add hyperlink SECURITY reference (#1245) 2023-10-17 07:11:00 +00:00
Matti Nannt 12b7b9e849 chore: Update npm dependencies (#1242) 2023-10-16 19:20:53 +00:00
Matti Nannt 71ff256a55 fix: have same non-module workflow for packages (#1230) 2023-10-16 17:36:58 +00:00
Matti Nannt 8768b641b3 fix: remove prisma types import in runtime (#1228) 2023-10-16 13:56:20 +00:00
Rotimi Best b38be19293 docs: code quality & styling section (#1226) 2023-10-16 13:10:51 +00:00
Johannes 4b3547c96e lp: Update oss friends page (#1225) 2023-10-16 12:44:41 +00:00
Matti Nannt f2d4cf4087 fix: formbricks-surveys not compiling correctly leads to formbricks-js throwing error in action creation (#1223) 2023-10-16 12:44:06 +00:00
Digvijay Gupta 029e97468b fix: attribute-settings-tab-button-link (#1221)
Co-authored-by: Digvijay Gupta <digvijaygupta@Digvijays-MacBook-Pro.local>
2023-10-16 12:25:53 +00:00
Naresh 98ad73cee6 fix: fix invalid state initialisation (#1220)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-16 12:23:41 +00:00
Johannes 5ac5e5162f fix: replace ' with backticks (#1214) 2023-10-16 11:16:15 +00:00
Piyush Garg 5e5723d091 feat: Added Pin Protection to forms (#1142)
Signed-off-by: aryabyte21 <arya2001bhosale@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: Vaibhav Bhardwaj <43564765+impolska742@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Nikolay Bonev <DonKoko@users.noreply.github.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Abhinav Arya <95561280+itzabhinavarya@users.noreply.github.com>
Co-authored-by: Shaikh Adnan <117739824+Sha1kh4@users.noreply.github.com>
Co-authored-by: Akash Sharan <129506339+asharan2511@users.noreply.github.com>
Co-authored-by: Arya Bhosale <60646682+aryabyte21@users.noreply.github.com>
Co-authored-by: Ratish jain <43003421+ratishjain12@users.noreply.github.com>
Co-authored-by: Sundaram Kumar Jha <jhasundaram@outlook.com>
Co-authored-by: Soham Tembhurne <82658685+sohamtembhurne@users.noreply.github.com>
Co-authored-by: Digvijay Gupta <65729055+3xp10it3r@users.noreply.github.com>
Co-authored-by: Digvijay Gupta <digvijaygupta@Digvijays-MacBook-Pro.local>
Co-authored-by: Ronit Panda <72537293+rtpa25@users.noreply.github.com>
Co-authored-by: Bilal Mirza <84387676+bilalmirza74@users.noreply.github.com>
2023-10-16 11:12:32 +00:00
Bilal Mirza accd977ddc fix: Overflow of body across leaderboard on mobile screen #1120 & Doc's navbar was not responsive #1129 (#1123)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-15 17:27:52 +00:00
Ronit Panda a71ad7c15e feat: adds hidden field functionality to surveys (#1144)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-15 17:24:12 +00:00
Digvijay Gupta ac12e37786 fix: Fixed grammatical error in feedback box -> why it is useful section (#1166)
Co-authored-by: Digvijay Gupta <digvijaygupta@Digvijays-MacBook-Pro.local>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-15 16:04:39 +00:00
Soham Tembhurne dd76830265 fix: Link for "Pricing" not working fixed (#1165)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-15 15:57:36 +00:00
Arya Bhosale c64cc13cfb fix: minor ui fixes (#1138)
Signed-off-by: aryabyte21 <arya2001bhosale@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-15 15:38:29 +00:00
Shaikh Adnan 8f7fe0cdfe style: Fixed a minor grammatical mistake. (#1164) 2023-10-15 15:30:10 +00:00
Sundaram Kumar Jha 9e68dfd552 fix: Pricing Link in mobile menu on LP , Update Header.tsx (#1163) 2023-10-15 15:29:11 +00:00
Ratish jain ff677ca9a5 fix: Concierge btn text opacity fixed and made it look proper (#1162) 2023-10-15 15:26:29 +00:00
Matti Nannt c162037446 fix: build issues in environment service on some systems (#1160) 2023-10-14 17:51:32 +00:00
Arya Bhosale 52837417bf fix: Automate copyright year (#1136)
Signed-off-by: aryabyte21 <arya2001bhosale@gmail.com>
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-14 16:51:05 +00:00
Matti Nannt f2b57a3589 chore: improve logging in survey service (#1156) 2023-10-14 16:38:49 +00:00
Akash Sharan 9dfd99e916 fix/Typo-main-page (#1146)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-14 16:18:55 +00:00
Shaikh Adnan a8e103f63b fix: Added DISCORD to the Footer.tsx (#1154)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-14 15:59:21 +00:00
Abhinav Arya 6f5e05e05d fix: twitter-icon-in-docs-footer-section (#1134)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-14 15:52:29 +00:00
Nikolay Bonev 6a5260f317 chore: Add shelf.nu to oss fields api endpoint (#1110)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
2023-10-14 15:48:40 +00:00
Vaibhav Bhardwaj 0cadc279d5 fix: added scroll to top button (#1153)
Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-14 15:46:48 +00:00
Matti Nannt f9a254e295 fix: conflicting typescript and dts from surveys package producing error (#1143) 2023-10-14 09:33:21 +00:00
Matti Nannt d06a2a6482 fix: dependency reference issues in monorepo (#1141) 2023-10-14 08:39:16 +00:00
Anjy Gupta d54283d733 feat: Storybook integration for UI components (#987)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-13 21:29:12 +00:00
Dhruwang Jariwala 1b19973da9 refactor: Google sheet integration (#1128)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-13 20:05:40 +00:00
Rotimi Best 08c7581832 chore: move group components in app folder (#1133) 2023-10-13 16:43:27 +00:00
Matti Nannt bd287b4f51 fix: formbricks-js not starting in a browser (#1131) 2023-10-13 15:31:37 +00:00
Matti Nannt e1eba78cf1 chore: Version Packages (#1126)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-13 13:02:48 +00:00
dependabot[bot] 417ee07a0b chore(deps): bump webpack from 5.75.0 to 5.88.2 (#1121)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 12:29:57 +00:00
Matti Nannt e46b058842 chore: Prepare release of formbricks-js 1.1.0 (#1124) 2023-10-13 12:19:16 +00:00
Matti Nannt 7078101de9 feat: move formbricks-js to vite bundler (#883)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-10-13 10:28:25 +00:00
Johannes 58a6c1be41 lp: update leaderboard Friday 13th (#1116) 2023-10-12 20:50:44 +00:00
Bilal Mirza 3206794055 fix: Buttons Margin and code snippets issue across Docs (#1107) 2023-10-12 07:56:58 +00:00
Shivam Bhatnagar 8a94f9437e fix(formbricks-com): fix horizontal scrollbar in small viewports (#1100) 2023-10-12 06:53:14 +00:00
KRISH SONI bb35b8d79f chore: add nodejs URL in readme (#1102) 2023-10-12 06:31:30 +00:00
Rohan Gupta b9d6134d22 fix: survey baseurl fix and addition of SHORT_SURVEY_BASE_URL in .env.example file (#1046)
Co-authored-by: Rohan Gupta <rohan.gupta@zopper.com>
2023-10-12 06:15:52 +00:00
Matti Nannt 8c9a9d670b fix: readme formtribe link (#1099) 2023-10-11 17:06:33 +00:00
Matti Nannt 61aaf301c1 fix: web-app surveys not triggered with modified api endpoint (#1097) 2023-10-11 16:48:54 +00:00
Rotimi Best 2f8aa9b2ae fix: format survey date fields back to Date type (#1096) 2023-10-11 15:25:09 +00:00
Dhruwang Jariwala e2a6631b64 refactor: Move all @formbricks/ui components to the new folder structure (#1057)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-11 15:17:13 +00:00
Dhruwang Jariwala 7ff847c607 fix: scrollbar issue (#1090) 2023-10-11 11:52:13 +00:00
Johannes 501ce8cf78 lp: blog article community developed feature (#1091) 2023-10-11 11:14:11 +00:00
Anjy Gupta 068a440585 fix: add toast and error handler for multiple team/product creation with existing team/product name (#996)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-11 09:45:51 +00:00
Anush Deokar e79a75cf6a fix: X and optional text overlap (#1077)
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
2023-10-11 09:35:23 +00:00
Shubham Palriwala 820680d7e7 feat: add docs for setting ENCRYPTION_KEY in .env in contributing guide (#1088)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-11 09:24:28 +00:00
Piyush Gupta 311df18315 feat: brand color overwrite (#1035) 2023-10-11 08:46:34 +00:00
Dhruwang Jariwala e7d95f9d75 fix: multiChoice undefined value check (#1087) 2023-10-11 08:45:33 +00:00
Anjy Gupta b2d03b7284 fix: added script to setup encryption key in gitpod script (#1080) 2023-10-11 07:00:28 +00:00
Aditya Deshlahre 0d3b948a8b fix: Name can updated without any characters/value (#1020)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-11 06:52:00 +00:00
Deepanshu 04d8475df2 add FULL_STOP to Readme File (#1075) 2023-10-11 06:26:14 +00:00
Olasunkanmi Balogun 7d611d3ddf fix: statusText mismatch in webhook integrations (#1068)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-11 06:21:49 +00:00
Abhinav Arya ad15af59da fix: image and page responsiveness in docs section (#1078)
Co-authored-by: Shubham Palriwala <spalriwalau@gmail.com>
2023-10-11 06:08:23 +00:00
Rotimi Best 9063c8286c chore: refactor services with Formbricks best practices (#988)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-10 13:54:23 +00:00
Matti Nannt cff23f497c fix: responses not visible when sdk not connected (#1074) 2023-10-10 12:11:19 +00:00
Matti Nannt cb6c1aade6 fix: getAttributeClassByName cache returns wrong entries (#1072) 2023-10-10 11:52:47 +00:00
Anshuman Pandey 66408fdccc feat: 2FA (#798)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-10 11:29:11 +00:00
Matti Nannt 459eb5525e chore: add ENCRYPTION_KEY to github actions (#1069) 2023-10-10 11:18:40 +00:00
Shubham Palriwala b52adf0122 feat: authorization in attributeClassAction (#1056)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-10 10:51:00 +00:00
Prasoon Mahawar 6fb61f1bfd fix: Exit Intent now works on FF, Safari, Arc (#1059) 2023-10-10 16:02:41 +05:30
Shubham Palriwala 85fe1feec6 feat: add authorization in product update actions (#1060)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-10 12:08:26 +02:00
Matti Nannt 57390faef7 chore: update github build action (#1065) 2023-10-10 11:56:46 +02:00
Geri Máté 7210583bb5 chore: add dyrector.io to OSS friends (#1040) 2023-10-10 15:19:45 +05:30
Shubham Palriwala 767de5d011 feat: authorization in notificationUpdateAction (#1058) 2023-10-10 15:15:01 +05:30
Ikko Eltociear Ashimine 545945cd04 fix: typo in gdpr-guide.mdx (#1043) 2023-10-10 14:57:50 +05:30
Shubham Palriwala 395ff50ac6 feat: authorization in deletePerson action (#1063) 2023-10-10 14:32:56 +05:30
Shubham Palriwala 32449e6f69 feat: introduce new security policy (#1033) 2023-10-10 14:03:34 +05:30
Johannes d7ffe17312 chore: Add FormTribe Hackathon to README (#1030) 2023-10-10 13:03:04 +05:30
Rohit Dadgal c2c221b8fa chore: add punctuations in README (#1024) 2023-10-10 12:42:07 +05:30
Shubham Palriwala a4909482ab fix: make pr.yml mandatory on all PRs (#1061) 2023-10-10 12:27:03 +05:30
Rohan Gupta 4ea7ac0a81 fix: Multi select Other option selected automatically when coming back & take final value onSubmit of other field (#1004)
Co-authored-by: Rohan Gupta <rohan.gupta@zopper.com>
2023-10-10 10:29:36 +05:30
Dhruwang Jariwala 6a280913c3 refactor: Unified single response card and improved UX (#750)
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang Jariwala <dhruwang@Dhruwangs-MacBook-Pro.local>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-09 23:22:09 +02:00
Matti Nannt d84e06b909 fix: formbricks connection status display (#1041) 2023-10-09 17:46:18 +02:00
Johannes 0b90718e9f lp: add PH notifier to LP (#1034)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-09 17:11:06 +02:00
Shubham Palriwala 52ea908709 feat: add authorization on product update action during onboarding (#1009)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-09 16:31:19 +02:00
Rohan Gupta d05122d2fe feat: auto prefilled prev ID when Question ID is left empty (#1038)
Co-authored-by: Rohan Gupta <rohan.gupta@zopper.com>
2023-10-09 15:48:56 +02:00
Shubham Palriwala c3e50441cd feat: add authorization on google integrations actions (#1031)
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-09 14:51:02 +02:00
Matti Nannt 633704d96e fix: add cors to display update endpoint (#1036) 2023-10-09 14:12:08 +02:00
Aditya Deshlahre 631a50b733 fix: new team not listed in teams list in navbar (#1010)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-09 13:09:44 +02:00
Shubham Palriwala f9fb2c6a99 fix: build error due to survey status becoming optional (#1026)
* fix: build error due to survey status becoming optional

* made refactors

* fix: use universal ID over newly created ID

* remove build step from github actions workflows

---------

Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
2023-10-09 12:44:01 +02:00
Anshuman Pandey a08a6e4b41 fix: file uploads bug (#1027)
* fix: fixes file upload bug

* fix: updates docker compose
2023-10-09 08:03:09 +02:00
Ratish jain 7ba85e0d2b fix: TryNow CTA button UX (#1013)
* buttons responsiveness fixed

* fix: try now button ui
2023-10-09 10:06:14 +05:30
Abhinav Arya e78e5a0289 fix: Responsiveness for the code table (#1018)
* fix Responsiveness for the code table

* fix Removing extra line
2023-10-09 10:00:29 +05:30
Johannes c432e323ce fix: Smoothen full screen preview animation
fix: Smoothen full screen preview animation
2023-10-09 00:01:13 +05:30
Johannes 9bab070778 Merge branch 'main' into smooth-preview-animation 2023-10-08 23:59:10 +05:30
Johannes fab187d83d chore: Redesign metadata
chore: Redesign metadata
2023-10-08 23:57:00 +05:30
Dhruwang e3a18632db fixed shrink animation 2023-10-08 23:49:57 +05:30
Matthias Nannt 7d52ed19c0 combine migrations 2023-10-08 17:55:51 +02:00
Matti Nannt cf99218544 Merge branch 'main' into redesign-metadata 2023-10-08 17:45:36 +02:00
Matti Nannt 524b73787a fix: optimize Github action PR check pipeline (#1019)
* fix: remove failing bundle analytics action

* rename building action

* reorder actions

* update naming of actions
2023-10-08 16:58:27 +02:00
Dhruwang ea3f2fd7cd merged main 2023-10-08 19:40:17 +05:30
Dhruwang 4b9f21fbd0 Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-08 19:38:02 +05:30
Dhruwang 9614208fb9 made status optional and edited display update functionality 2023-10-08 19:36:42 +05:30
Johannes 89f0c0410e lp: update leader board 081023
lp: update leader board 081023
2023-10-08 19:18:30 +05:30
Johannes cc17d9d560 update leaderboard 2023-10-08 19:15:27 +05:30
Johannes 5fc7643d39 fix: Required Condition Update for MultiSelectQuestion.
fix: Required Condition Update for MultiSelectQuestion.
2023-10-08 17:11:26 +05:30
Johannes c923d91264 fix: Card on Landing Page overlapping issue #1001
fix: Card on Landing Page overlapping issue #1001
2023-10-08 16:41:12 +05:30
Johannes 35e3cdcd0d actually fix it ;) 2023-10-08 16:39:23 +05:30
Johannes 6ccbd559fb Reset env in demo app 2023-10-08 16:31:27 +05:30
Johannes 9b26ce5f38 Merge branch 'main' of github.com:formbricks/formbricks into itzabhinavarya/main 2023-10-08 16:29:57 +05:30
Dhruwang 93150b88b7 Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-08 16:28:47 +05:30
Dhruwang 4c3a17cdcc made expansion animation smoother 2023-10-08 16:24:39 +05:30
Naitik b66c37cd26 Required Validator Update 2023-10-08 16:03:42 +05:30
Abhinav Arya f9457b04f6 Fix overlapping card content on the website using tailwind based approach 2023-10-08 10:18:00 +00:00
Abhinav Arya eca90dfd9a Fix overlapping card content on the website using tailwind based approach 2023-10-08 09:54:32 +00:00
Johannes 59acb761e2 feat: Validation for Number, URL, Email and Phone Number in Open Text Question
feat: Validation for Number, URL, Email and Phone Number in Open Text Question
2023-10-08 15:02:38 +05:30
Dhruwang 611fa814d4 Merge branch 'main' of https://github.com/Dhruwang/formbricks into KapadiaNaitik/main 2023-10-08 14:56:44 +05:30
Johannes f181950cc0 Fix: Making navigation bar of LP responsive
Fix: Making navigation bar of LP responsive
2023-10-08 14:54:42 +05:30
Matthias Nannt 0dbf033f01 remove commented code 2023-10-08 11:07:07 +02:00
Johannes ac4790c38a fix: form preview rerender on survey name change
fix: form preview rerender on survey name change
2023-10-08 14:02:48 +05:30
Johannes 8cfcf28a14 feat: add keyboard usability to end user survey experience
feat: add keyboard usability to end user survey experience
2023-10-08 13:37:02 +05:30
Johannes 53e3a80d6f fix unrelated React error 2023-10-08 13:35:40 +05:30
Dhruwang c37d924c85 merged latest changes and fixed preview reredering issue 2023-10-08 13:35:29 +05:30
Johannes 07a0d669f4 Fix: Build error in full screen preview PR
Fix: Build error in full screen preview PR
2023-10-08 13:20:48 +05:30
Johannes 5a8bcd10e6 fix build error 2023-10-08 13:19:23 +05:30
Johannes 7c84f5807c feat: Add full screen preview feature to Survey Editor
feat: Add full screen preview feature to Survey Editor
2023-10-08 13:01:42 +05:30
Abhinav Arya fbc16b3a72 Fix/Card overlapping issue #1001 2023-10-08 07:07:42 +00:00
Ayush 3af6498891 fix: rerender on name change 2023-10-08 08:39:37 +05:30
Yash f6b4bbeeac fix#997 making navigation bar responsive 2023-10-07 21:26:28 +05:30
Johannes 66e6eaaabd Merge branch 'main' of github.com:formbricks/formbricks into feat/full-screen-link-survey-preview 2023-10-07 17:07:34 +05:45
Johannes 5426e400c9 docs: Added Single Use Links Section in Docs.
docs: Added Single Use Links Section in Docs.
2023-10-07 16:36:57 +05:45
Johannes feed3e73c9 update single use docs page 2023-10-07 16:33:13 +05:45
Johannes cc50019e0c Merge branch 'main' of github.com:formbricks/formbricks into docs-update 2023-10-07 16:05:06 +05:45
Johannes 91caac94b6 update docs page 2023-10-07 15:54:43 +05:45
Johannes c9fea202c4 fix nav link 2023-10-07 15:38:23 +05:45
Johannes fe12dc7ca9 refactor: Updating Twitter to X Logo in Footer
refactor: Updating Twitter to X Logo in Footer
2023-10-07 15:04:38 +05:45
Johannes 4313745517 fix: typo in mega prompt
fix: typo in mega prompt
2023-10-07 15:02:27 +05:45
Johannes 64c1708ef8 fix: Display Single Use Link Generator instead of Link Preview in Embedding Modal
fix: Display Single Use Link Generator instead of Link Preview in Embedding Modal
2023-10-07 14:58:40 +05:45
Johannes f8aaa0351f tweak UI 2023-10-07 14:57:00 +05:45
joyal007 c5e7541d72 updated auto submit 2023-10-07 13:45:18 +05:30
Aman 56ce8c10d5 ed Single USe Links in Docs
Signed-off-by: Aman <138197666+aman44444@users.noreply.github.com>
2023-10-07 06:14:16 +00:00
Dhruwang 7e2e0c9739 fixed build errors 2023-10-07 11:34:57 +05:30
Dhruwang 457d34bd70 Merge branch 'issues/SingleUseLinkSurveys' of https://github.com/Dhruwang/formbricks into issues/SingleUseLinkSurveys 2023-10-07 10:30:00 +05:30
Dhruwang b89e083017 Merge branch 'main' of https://github.com/Dhruwang/formbricks into issues/SingleUseLinkSurveys 2023-10-07 10:29:04 +05:30
Dhruwang 2575b7483b Added single use link modal to shareEmbedSurvey modal 2023-10-07 10:28:23 +05:30
Ayush 86adc0eeff Merge branch 'main' of https://github.com/zaCKoZAck0/formbricks into fix/form_rerender_name_change
merge main
2023-10-07 10:26:04 +05:30
Ayush 5bc4976fb9 fix: form rerender on name change 2023-10-07 09:53:03 +05:30
Yatharth Verma 4875e2c9d4 fix bottom margin as initially when its in fixed, window was getting cut in the top because of navigation bar 2023-10-07 07:57:26 +05:30
Yatharth Verma 74397f27f4 fix merge conflicts 2023-10-07 07:49:50 +05:30
Yatharth Verma 72c4496aac improve animation 2023-10-07 07:47:26 +05:30
sohamtembhurne 802171b6d1 Updating Twitter Logo 2023-10-07 01:14:56 +05:30
joyal007 8f64c5d806 Enter event in option 2023-10-07 00:55:08 +05:30
joyal007 2a73b6460d Added optional enter to submit event 2023-10-07 00:53:38 +05:30
Matti Nannt 6e1bbf19fc fix: build errors (#981) 2023-10-06 19:40:39 +02:00
Yatharth Verma 3d728b782f making animation look natural for maximizing 2023-10-06 23:00:37 +05:30
Anshuman Pandey fb509d49c9 feat: add base setup to enable file uploads (#861)
* feat: adds api handlers for upload and get file from S3

* feat: upload and fetch files from local storage

* feat: upload and fetch files from local storage

* feat: adds restriction check for allowed file extesnsions

* refactor

* fix: uses t3 env for validation

* fix: fixes validation issues in storage api

* merge with main

* fix: moves UPLOADS_DIR to constants file

* fix: moves private uploads to responseId

* chore: merge with main

* fix: changes api route

* remove comment in storage service, use services in client storage route

* simplify client storage endpoint

* rename fileType to contentType

* relocate storage endpoints, update validation

* update management storage route for readability

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-06 19:06:48 +02:00
Shivani Palya 3e620d7a89 Merge pull request #1 from Shivanipalya26/Shivanipalya26-patch-1
Update megaprompt.md
2023-10-06 22:29:34 +05:30
Shivani Palya 53d8c142c3 Update megaprompt.md 2023-10-06 22:28:53 +05:30
Johannes 6e9b53e68e Update README to highlight contributors
Update README to highlight contributors
2023-10-06 19:48:38 +05:45
Johannes c7580f0793 feat: Added a not-connected state to the survey state indicator
feat: Added a not-connected state to the survey state indicator
2023-10-06 19:40:42 +05:45
Matti Nannt 5b981e0d91 chore: delete unused uploads directory (#979) 2023-10-06 14:32:54 +02:00
mohitd404 18d7bd0686 Fixed #974 Updated README.md
Updated contributors section in readme.md
2023-10-06 15:56:35 +05:30
Prasoon Mahawar 32633656ae added condition for in-app survey only 2023-10-06 10:05:20 +00:00
Naitik 3bf7d732c2 Fixed where empty pattern was passed when switching from phone 2023-10-06 14:51:01 +05:30
joyal007 20a9b4f3c4 CTA auto skip prevented 2023-10-06 14:43:12 +05:30
Dhruwang 334aacc00c Merge branch 'main' of https://github.com/Dhruwang/formbricks into issues/SingleUseLinkSurveys 2023-10-06 14:43:06 +05:30
joyal007 9a080db936 added hover and focus event 2023-10-06 14:42:40 +05:30
Naitik Kapadia c9f22290c4 Merge branch 'formbricks:main' into main 2023-10-06 14:32:57 +05:30
joyal007 83a95712e4 long text on enter new line 2023-10-06 14:24:12 +05:30
joyal007 105e32bf6c multi-choice hit enter submit 2023-10-06 14:23:22 +05:30
joyal007 bb206b093e multi question deselect bug fixed 2023-10-06 14:22:06 +05:30
Prasoon Mahawar 24a60bbc10 Merge remote-tracking branch 'refs/remotes/origin/main' 2023-10-06 08:26:54 +00:00
Prasoon Mahawar f3280292ac Added a not-connected state to the survey state indicator 2023-10-06 08:22:46 +00:00
Johannes 197616ff4d fix: backButton and button target mixup
fix: backButton and button target mixup
2023-10-06 13:14:55 +05:45
Johannes 10e3dd37db fix drop off calculation 2023-10-06 12:46:13 +05:45
ShubhamPalriwala 96e3ba3cc9 fix: backButton and button target mixup & revert input validation 2023-10-06 12:20:23 +05:30
Naitik Kapadia 8eee903bfe Merge branch 'formbricks:main' into main 2023-10-06 11:56:27 +05:30
Johannes d748c49f13 Merge branch 'main' of github.com:formbricks/formbricks into fix/keyboard-form-usablity 2023-10-06 11:28:57 +05:45
Johannes 8dd5623883 tweak UI 2023-10-06 10:31:58 +05:45
Johannes 818208fdce Merge branch 'main' of github.com:formbricks/formbricks into issues/SingleUseLinkSurveys 2023-10-06 09:40:35 +05:45
Johannes ab7a072f55 chore: Fix typo
chore: Fix typo
2023-10-06 09:16:22 +05:45
Salim B caaf903160 Fix sentence 2023-10-06 04:19:23 +02:00
Johannes efb1033553 lp: update leaderboard
lp: update leaderboard
2023-10-05 23:46:05 +05:45
Johannes 977078d269 update leaderboard 2023-10-05 23:45:09 +05:45
Johannes eb2a4bc0d2 chore: Add Hook0 to OSS Friends
chore: Add Hook0 to OSS Friends
2023-10-05 23:36:34 +05:45
François-Guillaume Ribreau 53c46418fa feat: add hook0 2023-10-05 17:16:24 +02:00
Matti Nannt 05c4dbaa92 chore: improve error logging in survey service (#958)
* fix: improve error logging in survey service

* expect error class in error logging
2023-10-05 16:46:30 +02:00
Shubham Palriwala 09f885d365 feat: auto generate formbricks encryption key in one click setup (#953)
* fix: docker env parsing & response bug when built w docker

* chore: bring back env example

* fix: docker compose envs are now single place defined

* add: renaming of .env in docs

* remove: existence of prisma_generate_data_proxy

* fix: use newer env vars and a smarter way to handle existing .env file

* fix: remove text to remove existing .enb

* fix: remove comments, local testing, and mention of more updating via echo in prod script

* fix: env ending

* fix: finalllyyy the docker compose works

* wip

* fix: update self host docker compose

* fix: echo log rename
2023-10-05 16:14:23 +02:00
Matti Nannt 7e74cfa0d6 chore: update npm dependencies (#954)
* update packages npm packages

* fix types bug

* update demo npm packages

* update web npm packages

* change formbricks-web to v1.1
2023-10-05 16:11:21 +02:00
Matti Nannt a612eafee5 fix: docker release deployment pipeline (#957) 2023-10-05 16:09:18 +02:00
Naitik 32b1431939 Revert weird package.json 2023-10-05 16:51:55 +05:30
Naitik d6f5120e53 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-05 16:42:38 +05:30
Matti Nannt c6779783dc feat: add ASSET_PREFIX_URL to add support for proxies (#917)
* feat: add ASSET_PREFIX_URL to add support for proxies

* cleanup
2023-10-05 11:27:16 +02:00
Shubham Palriwala cb8c08dd1f fix: update docker from source setup with new env variables and use env variables directly in docker-compose (#818)
* fix: docker env parsing & response bug when built w docker

* chore: bring back env example

* fix: docker compose envs are now single place defined

* add: renaming of .env in docs

* remove: existence of prisma_generate_data_proxy

* fix: use newer env vars and a smarter way to handle existing .env file

* fix: remove text to remove existing .enb

* fix: remove comments, local testing, and mention of more updating via echo in prod script

* fix: env ending

* fix: finalllyyy the docker compose works

* feat: short survey url support in docker compose

* fix: add envs to prod script

* chore: reorder env vars for uniformity

* update description for SHORT_SURVEY_BASE_URL

* fix: add ASSET_PREFIX_URL to prod script & docker compose

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-05 11:04:34 +02:00
Naitik 5e772f38ec Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-05 13:30:20 +05:30
Shubham Palriwala 940332ced9 fix: survey validation bug and verbose logging (#951) 2023-10-05 09:51:20 +02:00
Naitik 48105c9e8f Ensure Type Safety for inputType 2023-10-05 13:18:09 +05:30
Naitik 5245c29739 Replaced margin with space-x-2 and default placeholder 2023-10-05 13:02:07 +05:30
Shubham Palriwala 0c6acc0d41 feat: add authorization for webhook creation, updation, deletion actions (#912)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-05 09:28:47 +02:00
Subham Ray ff39086d21 feat: add Url Shortener (#895)
* WIP

* added prisma actions

* remove console.logs

* some more fixes

* tweaks

* addressed all PR review comments

* remove hits from the prisma schema and all its corresponding service logic

* add nanoid

* corrected placeholders

* change database model, bring shortUrl service up to Formbricks code conventions

* update UI and shortUrl endpoint to work with new service

---------

Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-05 09:22:52 +02:00
Naitik b0c03d52e1 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-05 12:17:18 +05:30
Dhruwang 652c9d9de0 cleaned up unused code 2023-10-05 10:38:57 +05:30
Johannes 5f19ffabd1 feat: added port info and guide in gitpod doc page
feat: added port info and guide in gitpod doc page
2023-10-05 07:23:40 +05:45
Johannes 193855c3ff Merge branch 'main' of github.com:formbricks/formbricks into gitpod-doc 2023-10-05 07:16:45 +05:45
Piyush Gupta cddbabc4ad fix: build error (#949) 2023-10-04 22:30:29 +02:00
Naitik 815c642a37 Made title for phone more clear 2023-10-05 00:58:57 +05:30
Naitik 32f793e43c Remove Please as it duplicates 2023-10-05 00:57:03 +05:30
Naitik 54951822c3 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-05 00:47:38 +05:30
Johannes 06f03f65ca feat: Better Embedding of Link Surveys
feat: Better Embedding of Link Surveys
2023-10-04 23:35:30 +05:45
Anjy Gupta 2ec2695cde Merge branch 'gitpod-doc' of https://github.com/anjy7/formbricks into gitpod-doc 2023-10-04 17:42:04 +00:00
Anjy Gupta d0385eb203 Merge branch 'formbricks:main' into gitpod-doc 2023-10-04 23:10:20 +05:30
Anjy Gupta 999203531f added back ticks 2023-10-04 17:38:52 +00:00
Anjy Gupta 6e4f9cde5c highlighted url 2023-10-04 17:35:47 +00:00
Naitik 4a90d87058 HTML Validation, Proper UI 2023-10-04 23:04:49 +05:30
Joe 59752f3ebe feat: add option to overwrite color and position for single surveys (#645)
* feat: styles ui

* feat: handling brand color and position

* schema update

* survey type update

* feat: local styles preview

* prisma migration

* feat: overriding global settings

* fix: update wording

* fix: do not show positioning in link mode

* update wording

* feat: new component for placement ui

* fix: destructuring localsurvey

* fix: overwritePosition optional

* fix: brandcolor zod validation

* feat: overwrite highlight border setting

* update wording

* merge conflit resolved

* fix: minor review suggestions

* fix: renamed localsurvey to survey

* fix: db schema

* fix comment in .env.example

* fix build errors

* fix: placement

* fix getFirstEnvironmentByUserId function

* fix build errors

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-10-04 19:09:48 +02:00
joyal007 438ffcd77f conflict resolve 2023-10-04 22:09:01 +05:30
joyal007 b433275cb5 Merge conflict resolved' 2023-10-04 22:07:21 +05:30
joyal007 4dee291e32 radio button index updated 2023-10-04 22:07:20 +05:30
joyal007 8d9d9e7d76 merge conflic resolved 2023-10-04 22:07:20 +05:30
joyal007 6deab8fdcf removed CTA button tabindex 2023-10-04 22:07:20 +05:30
joyal007 55c2830085 updated focus issue 2023-10-04 22:07:20 +05:30
joyal007 a126cc14a0 conflict resolved 2023-10-04 22:07:20 +05:30
joyal007 f8f5826151 added tabindex 2023-10-04 22:07:20 +05:30
joyal007 372ae167e0 updated tabindex 2023-10-04 22:07:20 +05:30
joyal007 5ffd8f748d updated tabindex 2023-10-04 22:07:20 +05:30
joyal007 5f2f9717fd updated tabindex 2023-10-04 22:07:20 +05:30
joyal007 f830f59e67 added tabindex 2023-10-04 22:07:20 +05:30
joyal007 882b3c4195 keyboard usablity 2023-10-04 22:07:20 +05:30
Rotimi Best de40dc36e6 chore: move all services into the new folder structure (#948)
* chore: move environment services

* chore: move all services
2023-10-04 18:04:38 +02:00
Anjy Gupta 1c4394bf75 Merge branch 'formbricks:main' into gitpod-doc 2023-10-04 21:26:56 +05:30
Anjy Gupta b121e69fb5 added gitpod setup overview 2023-10-04 15:56:31 +00:00
Piyush Gupta 9e19d11eed purged LinkSurveyModal, fixed build error 2023-10-04 21:04:54 +05:30
Piyush Gupta 7580840bb5 resolved merge conflicts 2023-10-04 20:55:45 +05:30
Rotimi Best 6758d2d318 chore: move actions service to new folder structure (#943)
* feat: move actions service

* fix: rename folder to be singular not plural

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-04 17:00:03 +02:00
Rotimi Best 61a850c4ea fix: delete duplicate displays (#947) 2023-10-04 16:41:41 +02:00
Rotimi Best 99ec1ed4e9 fix: standardize error messaging in all service (#920)
* fix: standardize error messaging in all service

* fix: use unknownerror
2023-10-04 16:29:49 +02:00
Sagnik Sahoo d9f3df8b0f fix: Single Use Link Preview is not correctly functioning (#938)
* fixing the preview link

* Update LinkSingleUseSurveyModal.tsx
2023-10-04 16:27:24 +02:00
Rotimi Best eb70a8b99a chore: move display service to new folder structure (#946) 2023-10-04 16:25:26 +02:00
dependabot[bot] 16603f1a42 chore(deps-dev): bump postcss from 8.4.30 to 8.4.31 (#939)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.30 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.30...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 16:24:14 +02:00
dependabot[bot] 9dfdd4e6ce chore(deps): bump zod from 3.22.2 to 3.22.3 (#940)
Bumps [zod](https://github.com/colinhacks/zod) from 3.22.2 to 3.22.3.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Changelog](https://github.com/colinhacks/zod/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colinhacks/zod/compare/v3.22.2...v3.22.3)

---
updated-dependencies:
- dependency-name: zod
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 16:23:43 +02:00
Piyush Gupta c69e3f5cca fix: resolved PR review changes 2023-10-04 19:11:25 +05:30
Rotimi Best 424cddfa9e chore: move attributeClass service to new folder structure (#944)
* chore: move attributeClass service

* update person service with new attributeClass location
2023-10-04 15:25:08 +02:00
Johannes 8897d3ed66 Validate Survey Editor Form
Validate Survey Editor Form
2023-10-04 18:36:59 +05:45
Rotimi Best 07d0f3e751 fix: move close comment to end in .env.example (#945) 2023-10-04 14:34:31 +02:00
ShubhamPalriwala 16a94ef61f fix: add missing state set on fail 2023-10-04 18:04:06 +05:30
ShubhamPalriwala f97c8e5bce Merge branch 'shubham/for-1150-validate-survey-editor-forms' of https://github.com/formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-10-04 17:47:53 +05:30
Piyush Gupta c57c06dd3b merged main into feat/embed-xp 2023-10-04 17:35:53 +05:30
Matthias Nannt 188f61bda6 merge latest changes, solve merge conflicts 2023-10-04 13:07:10 +02:00
Shubham Palriwala a78c19385e fix: generate single survey Ids in summary only if enabled (#942) 2023-10-04 13:04:47 +02:00
Dhruwang 7ae1599c03 fix: display count not getting decremented 2023-10-04 16:26:20 +05:30
Dhruwang f01f55521a fix: display count not getting decremented 2023-10-04 16:24:34 +05:30
Dhruwang c440d6b486 fix: display count not getting decremented 2023-10-04 16:23:14 +05:30
Dhruwang 3222649ae0 Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-04 14:51:47 +05:30
Shubham Palriwala cce3a98f20 feat: add docs for management API (#930)
* feat: docs for management API

* fix: split api into client and management

* update navigation and pages

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-04 11:03:13 +02:00
Johannes b13dbc7fea reword toast 2023-10-04 14:23:09 +05:45
Johannes 3b24569e8e Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-10-04 14:06:44 +05:45
Johannes 66d38b1449 feat: faq section on landing page as well as docs
feat: faq section on landing page as well as docs
2023-10-04 13:31:56 +05:45
Johannes 082691d0b3 fix typo 2023-10-04 13:31:29 +05:45
Johannes d3779bd649 fix typos 2023-10-04 13:24:07 +05:45
Naitik 57234cf012 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-04 12:09:53 +05:30
Dhruwang d831dc1395 moved Id generation to link Modal button 2023-10-04 11:43:58 +05:30
Johannes 67217f4c75 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1089-formulate-faqs-and-create-page 2023-10-04 11:33:09 +05:45
joyal007 95b937e63d updated 2023-10-04 09:34:15 +05:30
Joyal Raphel 58bccac12a Merge branch 'formbricks:main' into fix/keyboard-form-usablity 2023-10-04 09:30:33 +05:30
joyal007 8d05cf25a8 added tabindex 2023-10-04 09:27:02 +05:30
joyal007 c267dc9b66 updated tabindex 2023-10-04 09:27:02 +05:30
joyal007 4221a9390f updated tabindex 2023-10-04 09:27:02 +05:30
joyal007 b6ed2e6530 updated tabindex 2023-10-04 09:27:02 +05:30
joyal007 080ddb6f48 added tabindex 2023-10-04 09:27:02 +05:30
joyal007 a2128d2a66 keyboard usablity 2023-10-04 09:27:02 +05:30
Matti Nannt 94e272f47b fix: validation error in profile update input (#937) 2023-10-03 22:03:20 +02:00
Shubham Palriwala c6678a2607 fix: add authorization for Survey actions (#870)
* poc: use server session and api key validation on deletion

* feat: use server session and api key validation on deletion and creation

* feat: packages/lib/apiKey for apiKey services and auth

* shubham/auth-for-api-key

* fix: caching

* feat: handle authorization for action creation, update, delete

* feat: handle authorization for survey creation, updation & deletion

* feat: use cached method across and wrapper for authzn check

* fix: use cached wrapper & introduce more authzn check for survey services in actions

* fix: club caching methods and use authzn errors

* feat: add caching in canUserAccessApiKey

* feat: add caching in canUserAccessAction and use Authzn error

* fix: rename action to actionClass wherever needed

* feat: use caching in core method and update hasEnvAccess call

* fix: use authzn specific error

* fix: use cache getActionClass

* fix: make changes

* fix: import

* fix: import and suggested changes

* fix: rename action and use cache tag

* feat: use services to create team

* fix: atomic services for product & team creation

* improve teamUpdateInput

* use services in signup process

* redirect to prod environment when new product is created

* fix signup bug

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-03 21:43:34 +02:00
Naitik Kapadia 1ddfe493e5 Merge branch 'formbricks:main' into main 2023-10-03 23:48:44 +05:30
Naitik 8585df90b3 Fixed Phone Number Regex 2023-10-03 23:47:45 +05:30
Johannes 2f95db729c update leaderboard
update leaderboard
2023-10-03 23:24:21 +05:45
Johannes 76ecbb9e2f update leaderboard 2023-10-03 23:22:09 +05:45
Piyush Gupta 83ab524200 merged with remote changes 2023-10-03 23:00:30 +05:30
Yatharth Verma 32f8ce593a Merge: latest branch 2023-10-03 22:57:24 +05:30
Yatharth Verma e7fd94e412 Improvements: Done all the changes suggested by Johannes 2023-10-03 22:51:32 +05:30
Piyush Gupta 92681b0f81 fix: preview mode in email tab 2023-10-03 22:51:12 +05:30
Piyush Gupta 28ab3c3e4d synced with main 2023-10-03 22:50:11 +05:30
tyjkerr a35d573884 feat: add single use survey links (#742)
* add uniqueResponseId to link survey

* add uniqueResponseId to survey response

* add singUseId to database and link survey

* add singleUseId to api

* add single use option in survey response options

* add single use to getSurvey

* add getResponseBySingleUseId

* add ZSurveySingleUse schema to survey schema

* add logic to check if link with suid has response

* pass singleUseId as props, revert SWR changes

* generation of single-use url in LinkSurveyModal

* add singleUseId to SingleResponseCard

* update SurveyInactive for invalid link

* add suId to ZResponse schema

* fix typo in SurveyInactive

* update ResponseOptionCard

* add suId to response select

* add default message for SurveyLinkUsed

* update logic to render SurveyLinkUsed

* add comment for suId in prisma schema

* fix types

* refresh server component on save survey

* update logic

* fix build errors

* fix prisma schema

* add db migration

* update wording

* add singleUseId to localstorage

* fix survey link used over thank you

* add suid to people responses

* fix preview and copy link on surveys page.

* update text and icon for link survey modal

* check survey not finished before setting question

* update show surveylink used logic

* add zodtype to prisma

* fix logic to render last question answered/stored

* add better comments

* update default message for single use surveys

* add LinkSingleUseSurveyModal

* add guard before getting response with suid

* fix build error

* add default message for link used page

* add key and group imports

* add suId encryption and validation

* make survey url encryption optional

* fix build errors

* move singleUseId to server side in surveyList

* added validation to getResponseBySingleUseId service

* restored env var names

* import FORMBRICKS_ENCRYPTION_KEY from constants

* check if encryption environment variable is set, add length validation for env variable

---------

Co-authored-by: Ty Kerr <tykerr@Tys-MacBook-Pro.local>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2023-10-03 18:26:13 +02:00
Anjy Gupta b710c8961b Merge branch 'formbricks:main' into gitpod-doc 2023-10-03 21:23:52 +05:30
Anjy Gupta 4c60791929 made req changes 2023-10-03 15:52:18 +00:00
Johannes 251beb4d51 ui tweaks 2023-10-03 21:36:16 +05:45
Dhruwang 79d05a4c57 Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-03 21:07:16 +05:30
Piyush Gupta 5384e7f95e resolved merge conflicts 2023-10-03 21:06:38 +05:30
joyal007 b4f10137a8 keyboard usablity 2023-10-03 20:35:02 +05:30
Shubham Palriwala 8f35537bbf fix: smiley rating question now fits inside container (#839)
* fix: smily rating question fit inside container

* wip

* fix: make row center aligned
2023-10-03 14:59:32 +02:00
Dhruwang 09523c318d Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-03 18:25:08 +05:30
Shubham Palriwala 49eb4e0c53 feat: connection states on integrations (#833)
* feat: connection states on integrations

* fix: missing action buttons

* make text more readable

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-10-03 14:28:55 +02:00
Rotimi Best 66ea2069ac chore: move revalidation interval to a constant (#921) 2023-10-03 14:01:26 +02:00
Rotimi Best 4b1352a995 fix: remove direct usage of prisma type in services (#919) 2023-10-03 13:56:48 +02:00
Rotimi Best 9fbefa42dd fix: remove error prone unused function in services (#918) 2023-10-03 13:55:23 +02:00
Rotimi Best 2cf316b620 fix: rename function name typo in services (#922) 2023-10-03 13:54:26 +02:00
Rotimi Best 8a07b2f82d feat: use of server-only consistently in services (#923) 2023-10-03 13:53:34 +02:00
Naitik Kapadia e2572ff87b Merge branch 'formbricks:main' into main 2023-10-03 15:49:47 +05:30
Naitik 6c0d356c2a Component for QuestionTypeSelector 2023-10-03 15:44:28 +05:30
Johannes 41fa1d729d docs: improve pull request template with latest info
docs: improve pull request template with latest info
2023-10-03 15:41:03 +05:45
Johannes 7ce4e58755 tweak wording 2023-10-03 15:40:14 +05:45
Dhruwang 75e17e8aa6 added service deleteResponseById 2023-10-03 15:14:56 +05:30
Anjy Gupta d3d74b2a6c Merge branch 'formbricks:main' into gitpod-doc 2023-10-03 15:13:29 +05:30
Anjy Gupta b09cc8a25f added step by step guide 2023-10-03 09:43:00 +00:00
Matti Nannt a8e0e7d3f2 fix: display count not correct in link surveys (#929) 2023-10-03 11:28:55 +02:00
Rotimi Best ca5f505fbd rename from Not required to optional 2023-10-03 09:55:59 +01:00
Rotimi Best 4584c1e287 fix mix match 2023-10-03 09:55:04 +01:00
Rotimi Best 9c83abb680 docs: improve pull request template with latest info 2023-10-03 09:43:05 +01:00
Johannes 20ec6781e1 add gitpod prize to FormTribe hackathon page
add gitpod prize to FormTribe hackathon page
2023-10-03 14:07:48 +05:45
Johannes 2d9f35f503 add gitpod prize 2023-10-03 14:06:59 +05:45
Johannes fe475a5b48 update how to section FormTribe
update how to section FormTribe
2023-10-03 12:58:42 +05:45
Johannes 0620829830 update how to section 2023-10-03 12:56:25 +05:45
Dhruwang 49a288e83e Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-10-03 10:58:53 +05:30
Naitik b2237bb5e5 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-03 10:12:43 +05:30
Johannes 027f7f13ba Merge branch 'main' of github.com:formbricks/formbricks into feat/full-screen-link-survey-preview 2023-10-03 09:01:00 +05:45
Johannes 727f09aa6e Fix/multi select optional
Fix/multi select optional
2023-10-03 08:45:10 +05:45
Anjy Gupta fb1f622d9d feat: added port info and guide in gitpod doc page 2023-10-02 19:00:57 +00:00
Naitik 6ef5a4bcc0 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-02 23:38:27 +05:30
PratikAwaik b0d070b1a9 Merge branch 'main' of https://github.com/formbricks/formbricks into fix/multi-select-optional 2023-10-02 22:33:16 +05:30
PratikAwaik bd559219b8 fix next button click 2023-10-02 22:33:02 +05:30
Jonas Höbenreich 89a60fd568 feat: add Excel download option (#846)
* add Excel download option

* add back attribute export

* add types and check for download filetype

* add xlsx package

* move csv and excel conversion to internal endpoints

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-02 17:04:11 +02:00
Naitik 5e4d92205c Changed templates.ts 2023-10-02 19:55:50 +05:30
Naitik 444c0b8f36 Small Fix 2023-10-02 19:36:41 +05:30
Naitik 178b5c6ee3 Merge branch 'main' of https://github.com/KapadiaNaitik/formbricks 2023-10-02 19:32:55 +05:30
Naitik adc5e30dca Remove redunant import 2023-10-02 19:32:24 +05:30
Naitik b5737ea611 Merge branch 'main' of https://github.com/formbricks/formbricks 2023-10-02 19:32:04 +05:30
Shubham Palriwala 8c0aba82e5 fix: add authorisation for tags actions (#897)
* poc: use server session and api key validation on deletion

* feat: use server session and api key validation on deletion and creation

* feat: packages/lib/apiKey for apiKey services and auth

* shubham/auth-for-api-key

* fix: caching

* feat: handle authorization for tag creation, updation & deletion

* fix: use cached wrapper

* fix: club caching methods and use authzn errors

* feat: add caching in canUserAccessApiKey

* fix: suggrsted changes and authzn for response as well

* fix: work on suggested changes

* fix broken lock file

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-02 16:00:25 +02:00
Naitik Kapadia 7bb6a0ba7d Merge branch 'formbricks:main' into main 2023-10-02 19:28:03 +05:30
Naitik cf75b4850d Validation Fields 2023-10-02 19:27:37 +05:30
Shubham Palriwala a9c8e99cd4 fix: add authorization to actions for Profile (#908)
* feat: authzn and limit sensitive info from profile actions

* fix: work on suggested changes
2023-10-02 15:40:15 +02:00
Yatharth Verma 8219905d27 feat: Improve animation 2023-10-02 18:19:51 +05:30
Johannes bcaf2337c4 update leaderboard
update leaderboard
2023-10-02 17:11:47 +05:45
Johannes baef77aa98 fix: multi select evaluator and required
fix: multi select evaluator and required
2023-10-02 17:09:07 +05:45
Johannes 1275ae81b3 Merge branch 'main' into fix/multi-select-optional 2023-10-02 17:08:53 +05:45
Johannes 829d2f0297 update leaderboard 2023-10-02 17:04:12 +05:45
Shubham Palriwala c4b4d2a312 chore: add authorization to server actions for Actions (#868)
* poc: use server session and api key validation on deletion

* feat: use server session and api key validation on deletion and creation

* feat: packages/lib/apiKey for apiKey services and auth

* shubham/auth-for-api-key

* fix: caching

* feat: handle authorization for action creation, update, delete

* feat: use cached method across and wrapper for authzn check

* fix: club caching methods and use authzn errors

* feat: add caching in canUserAccessApiKey

* feat: add caching in canUserAccessAction and use Authzn error

* fix: rename action to actionClass wherever needed

* fix: use cache getActionClass

* fix: make changes

* fix: import

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-02 13:03:49 +02:00
Johannes e01d5a44f4 fix lock file (#904) 2023-10-02 12:42:28 +02:00
Johannes 289d36d509 style: Add corresponding icons to type indicator #892
style: Add corresponding icons to type indicator #892
2023-10-02 16:01:52 +05:45
PratikAwaik 015c26a1ef fix multi select evaluator and requirewd 2023-10-02 15:46:44 +05:30
Aditya Deshlahre cfe6e3628d Merge branch 'main' into adityadeshlahre/formtribe 2023-10-02 14:12:30 +05:30
Shubham Palriwala c470c024c5 fix: Add authorisation for API Key server actions (#741)
* poc: use server session and api key validation on deletion

* feat: use server session and api key validation on deletion and creation

* feat: packages/lib/apiKey for apiKey services and auth

* shubham/auth-for-api-key

* fix: caching

* fix: club caching methods and use authzn errors

* feat: add caching in canUserAccessApiKey
2023-10-02 10:13:19 +02:00
Johannes 532d66bb34 feat: Mandatory question indicator added
feat: Mandatory question indicator added
2023-10-02 13:47:12 +05:45
Johannes f4811ecee2 update cta 2023-10-02 13:46:39 +05:45
Shubham Palriwala 9e91e572ba fix: unable to add a new action while editing a survey (#899) 2023-10-02 09:37:33 +02:00
Johannes 7269303b71 tweak styling 2023-10-02 13:21:36 +05:45
Yatharth Verma cb7eb8b19f feat: Add full screen preview feature 2023-10-02 11:40:39 +05:30
Aditya @ArchLinux dab6b86717 Fixed Source of Question type & icon 2023-10-02 10:40:58 +05:30
Piyush Gupta 55c29c6a73 resolved review changes 2023-10-02 10:06:11 +05:30
Johannes d3b2e0ba7b Lp/leaderboard update
Lp/leaderboard update
2023-10-02 10:17:35 +05:45
Johannes 7ef95bc284 update banner 2023-10-02 10:15:46 +05:45
Johannes 7d9617e27f update leaderboard 2023-10-02 10:05:40 +05:45
Aditya @ArchLinux 0892bbd898 Selection Fix 2023-10-02 02:23:07 +05:30
Aditya Deshlahre 8549ac61c2 Merge branch 'formbricks:main' into adityadeshlahre/formtribe 2023-10-02 01:28:32 +05:30
Aditya @ArchLinux 2ab90c14b9 Add corresponding icons to type indicator #892 2023-10-02 01:10:04 +05:30
Johannes 6e2b4e2aef Lp/leaderboard
Lp/leaderboard
2023-10-02 00:12:39 +05:45
Johannes af1dc2c08b side quest tweaks 2023-10-01 23:43:49 +05:45
Johannes a032d8aad6 add button to issue 2023-10-01 23:42:28 +05:45
Johannes 5557f22a4b add leaderboard 2023-10-01 23:33:25 +05:45
Piyush Gupta 5fad91dcb7 feat:mandatory question indicator added 2023-10-01 19:18:04 +05:30
Johannes f01adaf994 Docs: Add cla form to getting started doc
Docs: Add cla form to getting started doc
2023-10-01 17:21:47 +05:30
Rotimi Best 48f1ed4d78 docs: update wording 2023-10-01 11:47:19 +00:00
Rotimi Best 81a6e92aed docs: add cla form to getting started doc 2023-10-01 11:29:45 +00:00
Johannes 030e8556fb fix: Progress bar reset
fix: Progress bar reset
2023-10-01 16:21:09 +05:30
Johannes 4b978b4ac4 Release Side Quests
Release Side Quests
2023-10-01 16:14:15 +05:30
Johannes 15d75a2856 release side quests 2023-10-01 16:11:14 +05:30
Dhruwang 0027835af2 fix: Progress bar reset 2023-10-01 16:00:28 +05:30
Shubham Palriwala 769ceb1fc2 refactor: @formbricks/api package (#782)
* init: rewritten formbricks api package

* restrucure: client prepended formbricks api package

* feat: cleanup error templating and node-fetch for non browser access

* feat: replace package (build error for js packge due to api)

* fix: rename methods & move error type

* fix: imports of api via js

* remove node-fetch

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-10-01 11:50:29 +02:00
Johannes e3069f7bab Blog: Join the FormTribe blog post
Blog: Join the FormTribe blog post
2023-10-01 15:14:39 +05:30
Johannes 3af8a4e17d add gitpod docs page, tweak pricing table 2023-10-01 15:10:26 +05:30
Johannes 1faa74864c Merge branch 'main' of github.com:formbricks/formbricks into join-formtribe 2023-10-01 14:46:07 +05:30
Johannes eac75c29b6 Docs: How we code documentation
Docs: How we code documentation
2023-10-01 14:44:17 +05:30
Johannes 9bed96a22f Merge branch 'main' of github.com:formbricks/formbricks into how-we-code 2023-10-01 14:42:14 +05:30
Johannes 14e8c43214 Merge branch 'main' of github.com:formbricks/formbricks into how-we-code 2023-10-01 14:37:31 +05:30
Johannes 6d36bb8cb7 Merge branch 'main' of github.com:formbricks/formbricks into join-formtribe 2023-10-01 14:35:37 +05:30
Johannes d5b67f4a14 Merge branch 'main' of github.com:formbricks/formbricks into join-formtribe 2023-10-01 14:20:07 +05:30
Johannes e2c3686f2f add gitpod docs 2023-10-01 14:16:16 +05:30
Piyush Gupta 6533d9834b resolved merge conflicts 2023-10-01 10:22:24 +05:30
Piyush Gupta 1033ac745a fix: preview email survey url 2023-10-01 10:15:04 +05:30
Matti Nannt 6af13c7aaa feat: add vercel.json file to configure Vercel deployments (#876)
* feat: add vercel.json file to configure Vercel deployments

* reduce maxDuration of sync endpoint

* update api function routes

* increase sync limit
2023-09-30 22:42:27 +02:00
Matti Nannt 5aad6ea095 fix: invalid validation of VERCEL_URL leads to build errors on Vercel (#875)
* fix: invalid validation of VERCEL_URL leads to build errors on Vercel

* fix build errors
2023-09-30 22:07:17 +02:00
Shubham Palriwala 13afba7615 feat: move env vars from build-time to run-time to better support self-hosting environments (#789)
* feat: privacy, imprint, and terms URL env vars now do not need rebuilding

* feat: disable_singup env var now do not need rebuilding

* feat: password_reset_disabled env var now do not need rebuilding

* feat: email_verification_disabled env var now do not need rebuilding

* feat: github_oauth & google_oauth env var now do not need rebuilding

* feat: move logic of env vars to serverside and send boolean client-side

* feat: invite_disabled env var now do not need rebuilding

* feat: rename vars logically

* feat: migration guide

* feat: update docker-compose as per v1.1

* deprecate: unused NEXT_PUBLIC_VERCEL_URL & VERCEL_URL

* deprecate: unused RAILWAY_STATIC_URL

* deprecate: unused RENDER_EXTERNAL_URL

* deprecate: unused HEROKU_APP_NAME

* fix: define WEBAPP_URL & replace NEXT_WEBAPP_URL with it

* migrate: NEXT_PUBLIC_IS_FORMBRICKS_CLOUD to IS_FORMBRICKS_CLOUD

* chore: move all env parsing to a constants.ts from page files

* feat: migrate client side envs to server side

* redo: isFormbricksCloud to navbar serverside page

* fix: constants is now a server only file

* fix: removal of use swr underway

* fix: move 1 tag away from swr to service

* feat: move away from tags swr

* feat: move away from surveys  swr

* feat: move away from eventClass swr

* feat: move away from event swr

* fix: make constants server-only

* remove comments from .env.example, use constants in MetaInformation

* clean up services

* rename tag function

* fix build error

* fix smaller bugs, fix Response % not working in summary

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-30 21:40:59 +02:00
Ikko Eltociear Ashimine 3c2087452c fix: typo in comment in find-first.ts (#874)
enviroment -> environment
2023-09-30 18:01:14 +02:00
Anshuman Pandey 0225362a92 feat: Add caching to more services (survey, environment, team, profile) (#835)
* feat: caching in surveys

* fix: fixes unstable_cache date parsing error

* fix: fixes survey revalidation in displays and responses

* fix: fixes survey cache

* fix: adds comments

* fix: response cache tag

* fix cache validation and tag naming

* move TSurveysWithAnalytics to TSurveys

* add caching to more services

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-30 14:22:42 +02:00
Rotimi Best 7a9a4b9ffc docs: fix env poin without link 2023-09-30 10:13:59 +00:00
Matthias Nannt f3ef080ec6 downgrade next version to "fix" dev bug 2023-09-30 11:58:05 +02:00
Matthias Nannt a17e86bc91 fix docs page error, slight change to pricing 2023-09-30 11:12:30 +02:00
Matthias Nannt d5bb4d4365 Merge branch 'main' of github.com:formbricks/formbricks into how-we-code 2023-09-30 11:02:56 +02:00
Shubham Palriwala 48d8fc6aca feat: add new pricing table to formbricks-com (#869)
* init: pricing page

* fix: ux changes
2023-09-30 11:01:46 +02:00
Rotimi Best 810bd645f8 docs: more self cr 2023-09-30 06:25:59 +00:00
Rotimi Best 0f3aa9434a docs: self code review 2023-09-30 06:24:32 +00:00
Piyush Gupta 9e9c02bc3e fix: build errors 2023-09-30 11:52:02 +05:30
Rotimi Best 2003bb64f6 docs: how we code documentation 2023-09-30 06:09:47 +00:00
Piyush Gupta 1815d86f16 feat: added email sender server action 2023-09-30 11:32:15 +05:30
Rotimi Best ef604e7660 doc: join the formtribe blog post 2023-09-30 05:25:34 +00:00
Piyush Gupta 0441f0bbbd Merge branch 'main' of https://github.com/formbricks/formbricks into feat/embed-xp 2023-09-29 20:04:36 +05:30
Piyush Gupta 8bf0df7c74 fix: refactoring and responsiveness 2023-09-29 20:04:04 +05:30
Johannes 18ab73e30a Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1089-formulate-faqs-and-create-page 2023-09-29 13:20:41 +05:30
Piyush Gupta 9ce4c26bc9 refactor embed xp 2023-09-29 12:59:55 +05:30
Piyush Gupta 128ad4cb3a added shareSurveySheet 2023-09-29 11:44:31 +05:30
Shubham Palriwala 95b7a6fb8c fix: action class creation in frontend fails (#867) 2023-09-28 17:10:23 +02:00
Johannes 5b3c07ffc8 shorten delay for tooltip 2023-09-28 18:39:24 +05:30
Matti Nannt ca19ee6e0f fix: formbricks-js not displaying properly on smaller screens (#866) 2023-09-28 13:02:41 +02:00
ShubhamPalriwala 9871b0bbe0 fix: metadata on faq & remove best practices due to compile issues 2023-09-28 16:14:54 +05:30
ShubhamPalriwala 35ee2925ec Merge branch 'main' of https://github.com/formbricks/formbricks into shubham/for-1089-formulate-faqs-and-create-page 2023-09-28 15:17:15 +05:30
Johannes 70cd70e414 Tweaking Google Sheets Docs
Tweaking Google Sheets Docs
2023-09-28 14:55:19 +05:30
Johannes 2ff7022368 tweaking docs page 2023-09-28 14:54:39 +05:30
Johannes 9b77d89e53 feat: (documentation) google sheets integration
feat: (documentation) google sheets integration
2023-09-28 14:53:06 +05:30
Johannes c4b6d6d5f4 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1346-docs-page-for-google-sheets-integration 2023-09-28 14:40:25 +05:30
Johannes 2083b68388 fix: add structured metadata to landing pages
fix: add structured metadata to landing pages
2023-09-28 14:35:09 +05:30
Johannes 3e2dcd8e74 fix build error 2023-09-28 14:34:09 +05:30
Dhruwang Jariwala 7e626e75a3 feat: Add Management API (#788)
* added some management APIs for response and surveys

* added management API endpoints

* refactored [responseId] route

* added authorisation and made refactors

* removed console logs

* fixed build issues

* remobed session check

* removed getEnvironmentBySession function

* made code refactors

* update variables in route

* add updated routes

* change underscore to hyphen notation

* peoples -> people

* fix build errors

* resolved build errors

* restored types in summary list

* add redirects for old responses and survey endpoints, update docs

* fixed not authenticated response

* update survey create endpoint to only accept necessary fields, clean up

---------

Co-authored-by: Dhruwang Jariwala <dhruwang@Dhruwangs-MacBook-Pro.local>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-28 10:57:45 +02:00
Piyush Gupta 3edf5539d5 pull from upstream main 2023-09-28 06:38:26 +05:30
Piyush Gupta fba1b1b0a9 feat: added survey preview 2023-09-28 06:28:40 +05:30
Matti Nannt c98b909c9c fix: validation error in surveyClosedMessage (#864) 2023-09-27 16:29:36 +02:00
Rotimi Best edbab36d27 docs: update development and self-hosting information in README (#860)
* docs: add prerequisities to readme.md

* docs: reorganize getting started section in README

* docs: break docker into its own section

* update self-hosting structure

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-27 16:03:26 +02:00
Matti Nannt e27a994ef9 fix: validation error when surveyClosedMessage is undefined (#863) 2023-09-27 15:57:17 +02:00
Ishan Avasthi 8a7f1ff680 fix: typo on FormTribe Landing Page (#859) 2023-09-27 15:48:48 +02:00
Dhruwang Jariwala 07258aabdd chore: Disable administration view on mobile devices (#862)
* Blocks mobile usage

* remove button

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-27 15:47:51 +02:00
Shubham Palriwala 83bc8a8c11 feat: Add pagination to people overview (#830)
* feat: paginante people page

* undo: delete env example

* fix: rename vars and return empty arr over err

* fix: invalid page logic

* fix: handle bigger cases

* increase PEOPLE_PER_PAGE to 50

* fix: show no people when added invalid page no

* feat: add caching in people fetch services

* Revert "feat: add caching in people fetch services"

This reverts commit ab1e98c05e.

* fix build errors

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-27 11:59:44 +02:00
Matti Nannt 48921663be chore: update npm dependencies (#857)
* chore: update npm packages

* update formbricks-web packages

* update packages in demo

* update packages in formbricks-com

* fix survey status dropdown has no value
2023-09-27 11:42:49 +02:00
Dhruwang fce7ac30f3 removed console log 2023-09-27 14:09:44 +05:30
ShubhamPalriwala 4c45f13b5c fix: missed gdpr pages 2023-09-27 13:39:35 +05:30
Dhruwang 3125369708 solved build errors and added functionality to store displayId in in-app surveys 2023-09-27 13:33:09 +05:30
Dhruwang 944de69acc Merge branch 'main' of https://github.com/Dhruwang/formbricks into redesign-metadata 2023-09-27 10:29:51 +05:30
Dhruwang 36355ef54b redesigned metadata 2023-09-26 16:48:24 +05:30
Rotimi Best 06448fd4e0 feat: In Gitpod open mailhog in browser on setup complete (#849)
* docs: add local and gitpod set

This links to our docs on formbricks.com for local setup and adds a gitpod setup banner

* feat: open mailhog after gitpod setup complete

* remove development doc
2023-09-26 18:42:19 +09:00
Matti Nannt 48ba245336 fix: formtribe page should only be shown in light mode (#854) 2023-09-26 17:39:39 +09:00
Anshuman Pandey 95c466dbba chore: moves prisma logic from set-attribute to person service (#840) 2023-09-26 16:57:25 +09:00
Rotimi Best 8181f74ad4 docs: Add Gitpod Button to Readme (#848)
This links to our docs on formbricks.com for local setup and adds a gitpod setup banner
2023-09-26 16:55:39 +09:00
Dhruwang Jariwala 562aefef6e feat: Add Deploy with Railway Button to Readme (#851) 2023-09-26 16:54:00 +09:00
Dhruwang Jariwala a3549cc92c fix: Preview not showing correctly after changing the survey type (#852) 2023-09-26 16:52:39 +09:00
Johannes 6c8d14409c feat: Introduce new Landing Page for FormTribe event (#853)
* formtribe lp v1

* fix apos

* responsiveness + tweaks

* add video
2023-09-26 16:50:21 +09:00
Dhruwang c272b8a75c Updated survey metadata mockup 2023-09-26 00:02:58 +05:30
Piyush Gupta 0a6367e31e feat: added templates for each question type 2023-09-25 23:22:15 +05:30
ShubhamPalriwala 9b6ea3f451 wip 2023-09-25 10:53:23 +05:30
Johannes cf881127e7 chore: Adds Papermark
chore: Adds Papermark
2023-09-25 10:15:31 +05:30
Anshuman Pandey 23d6135f30 fix: fixes empty in app surveys screen when formbricks-js is not connected (#836)
* fix: fixes empty in app surveys screen

* move analysis components to components folder

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-24 15:54:21 +09:00
tanayvaswani f24bd9bfc0 Adds Papermark 2023-09-22 18:37:00 +05:30
Johannes 5f11c9ef81 enhancement: Adds manage sheets label to GS integration card
enhancement: Adds manage sheets label to GS integration card
2023-09-22 11:28:08 +02:00
Johannes 2f8cfe0cd5 fix: NPS response issue
fix: NPS response issue
2023-09-22 11:26:55 +02:00
Dhruwang 0acc840ecd fix: NPS question issue 2023-09-22 14:25:54 +05:30
ShubhamPalriwala 7244af921f Merge branch 'main' of https://github.com/formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-09-22 13:47:15 +05:30
Dhruwang 9a9b367478 Adds manage sheets label to GS integration card 2023-09-21 23:45:26 +05:30
Dhruwang Jariwala 01dcd55487 fix: typos in Google Auth environment variables (#841) 2023-09-22 03:10:43 +09:00
Dhruwang Jariwala 9b883c103e fix: use correct whitespaces in responses within notification emails (#842) 2023-09-22 03:06:20 +09:00
Dhruwang Jariwala 04678d6e50 fix : email indentation (#837) 2023-09-21 17:10:39 +09:00
ShubhamPalriwala 958f1960ae feat: everything google sheets integration docs' 2023-09-21 13:19:35 +05:30
ShubhamPalriwala f2bdeabec1 init: google sheet cloud instance integration 2023-09-21 12:14:40 +05:30
Matti Nannt 66ac652c3c feat: minify formbricks-surveys & formbricks-js using terser (#834) 2023-09-20 13:13:52 +09:00
Piyush Gupta f153b7f0f2 sync with main 2023-09-19 21:18:56 +05:30
Piyush Gupta 91cb8d8503 added email templates 2023-09-19 21:15:27 +05:30
Matti Nannt 85816af22a fix: remove credentials file (#832) 2023-09-19 23:13:51 +09:00
ShubhamPalriwala 5c7f4510e3 Merge branch 'main' of https://github.com/formbricks/formbricks into shubham/for-1089-formulate-faqs-and-create-page 2023-09-19 19:34:00 +05:30
ShubhamPalriwala 23971f33e7 feat: faq section on landing page as well as docs 2023-09-19 19:24:51 +05:30
Dhruwang Jariwala 21f393f402 feat: Add Google Sheets Integration (#735)
* added intro and surveySelect page

* added home page and  wrapper component

* added spreadsheet select

* added data write functionality and added integration schema model

* improved UX

* reworked UI

* added google sheet integration

* removed some unused code

* added user email

* UI tweaks

* fixed build issues and made added question to top of spreadsheets

* adds refreshSheets and added empty survey/spreadsheets text

* restored pnpm-lock

* added duplicate sheet warning

* move process.env to t3env

* move migration

* update docs link, add note to show that sheets integration is not configured

* Add simple docs page for google-sheets

* added session check

* restored pnpm-lock

* Merge branch 'main' of github.com:formbricks/formbricks into Integration/Google-sheet

* added google sheet  env variables to runtimeEnv

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-19 22:29:11 +09:00
ShubhamPalriwala 13bc73b47e feat: add missing seo metadata in landing pages 2023-09-18 18:30:38 +05:30
Anshuman Pandey 892776c493 refactor: moves team settings to server components (#693)
* feat: moves edit team name to server components

* feat: server components for membership roles

* feat: adds server actions and services

* fix: fixes invite server action

* feat: adds packages for jwt and email

* feat: server actions

* feat: moves edit memberships logic to server components

* feat: moves delete team logic to server components

* fix: fixes team loading states

* rename getAllMembershipsByUserId -> getMembershipsByUserId

* remove cache from mutating functions

* remove cache from updateInvite

* refactoring

* fix build error

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-18 17:32:42 +09:00
Johannes 22c2934969 chore: Add Requestly to OSS Friends
chore: Add Requestly to OSS Friends
2023-09-18 08:43:07 +02:00
Johannes 21edd7a3fc Chore: Remove Careers Page
Chore: Remove Careers Page
2023-09-18 08:42:45 +02:00
tyjkerr bf67af4dca feat: Make response notes resolvable (#801)
* update notes ux

* add capability to resolve notes

* add migration

* update text color

* prevent updating unchanged note

* add isEdited to ResponseNote

* combine migrations into one

* simplify services

* fix UI issues

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-18 12:34:16 +09:00
Sachin Jain 31cace79c8 Add Requestly to OSS Friends 2023-09-17 20:04:52 +00:00
Johannes 0b7edfd115 remove careers page 2023-09-17 18:30:57 +02:00
Johannes 3b0f16878d chore: add openstatus to friends
chore: add openstatus to friends
2023-09-17 17:49:57 +02:00
Matti Nannt 9d1ea819c5 feat: add mau limit to web-app survey (#828) 2023-09-17 22:57:47 +09:00
Matti Nannt ac11537e07 fix: make sure event listeners are only added once in formbricks-js (#825)
* add singleton pattern for js widget

* make sure event listeners are only initiated once
2023-09-17 22:51:40 +09:00
Thibault Le Ouay 43a3a0da75 add openstatus to friends 2023-09-17 10:04:56 +02:00
Matti Nannt 9a6a75056c fix: invalidate attributeClasses cache on create (#824) 2023-09-17 00:38:03 +09:00
Matti Nannt f313275a14 fix: sync call gets called by other functions (#823)
* fix: sync call gets called by other functions

* fix: sync call gets called by other functions

* remove unused imports

* remove unused import

* fix userId update
2023-09-17 00:31:38 +09:00
Anshuman Pandey d8b14f5f35 chore: add caching to js actions endpoint (#822)
* fix: caching in actions endpoint

* refactor

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-16 22:35:50 +09:00
Matti Nannt e86b80cf0f chore: enable caching in all js endpoints to reduce database calls (#821)
* Move cached functions to services, add new caching to set-attribute

* update set-user-id route

* move remaining cache functions to services, simplify revalidation and keys

* simplify set-attribute further

* fix build errors

* comment out prisma client logging
2023-09-16 20:53:31 +09:00
Matti Nannt b04acae0ba fix: formatting issue and build error (#820) 2023-09-16 16:05:12 +09:00
Matti Nannt 73ba6feec2 refactor: Add caching to the sync endpoint (#819)
* test: caching strategies

* feat: caching

* remove hotfix code

* remove unused import

* fix: adds revalidation to action services

* add environments to product service & type

* fix: fixes caching

* fix: fixes product cache

* add person revalidation to person js endpoints

* update surveys cache rule

* add new caching policy for surveys in sync

---------

Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
2023-09-16 15:53:44 +09:00
Shubham Palriwala 4a3289d394 chore: rewrite survey not found page to new nextjs standards (#807)
* feat: nextjs custom 404 page notFound

* type survey type properly and return unused inactive screen states

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-15 23:47:33 +09:00
Shubham Palriwala 75323800ea chore: upgrade to nextjs 13.4.19 (#817) 2023-09-15 18:37:42 +09:00
Anshuman Pandey 3fb3baf75d refactor: move product settings page to server components (#679)
* feat: moves edit product name to server component and actions

* feat: moves edit waiting time component to server

* feat: moves product settings to server components

* feat: moves delete product to server components

* fix: fixes delete product

* fix: server fixes

* fix: fixes loading state

* fix: fixes type

* fix: fixes membership types

* fix: fixes

* fix: changes and fixes

* fix build errors

* remove duplicate membership types

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-15 18:26:57 +09:00
Dhruwang Jariwala e741f7d8e5 refactor: Move Onboarding to server components (#816)
* added data fetching to server side and also added some actions

* made refactors

* replaced router.push with redirect

* updated profileUpdateInput

* move components in components folder

* update import for product update action

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-15 11:58:00 +09:00
Dhruwang Jariwala 041bf36f20 refactor: add proper types to jwt service (#815) 2023-09-15 10:06:41 +09:00
Matti Nannt 4e5c822bec feat: fix prisma accelerate types (#812)
* Fix prisma client types;

* Undo ungraceful changes to the sync route with a more graceful cloud-only fix.

* update prisma runtime
2023-09-14 12:21:21 +09:00
Shubham Palriwala 05be97f43b feat: Introduces Source to the Webhook Overview for automatically created webhooks (#724)
* feat: webhooks now have a source to diff between user and third party

* fix: capitalise first letter of source and increase vertical padding in row

* fix: update webhhok source type in prisma and cleanup services

* combine two migrations into one

* add actions file for webhook UI

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-14 11:33:47 +09:00
ShubhamPalriwala 9c00e7ac20 Merge branch 'shubham/for-1150-validate-survey-editor-forms' of https://github.com/formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-09-14 07:34:49 +05:30
ShubhamPalriwala 4b838b26bc Merge branch 'main' of https://github.com/formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-09-14 07:33:53 +05:30
Matti Nannt fa0d4ab83c feat: add prisma accelerate support (#810) 2023-09-14 04:02:11 +09:00
Matti Nannt a60ff93754 temporarily deactivate sync endpoint (#809) 2023-09-14 01:50:33 +09:00
Matti Nannt 1a5e5fc845 make sync endpoint unavailable (#808) 2023-09-14 01:38:51 +09:00
Dhruwang Jariwala 993346b9ae chore: rewrite survey editor to server components (#728)
* created a new service for survey data mutation

* made requested changes

* made some refactors

* ran pnpm format

* removed console logs

* removed some unused code

* made upateSurvey return TSurvey and added laoding state to AddNoCodeActionModal

* fixed minor bugs

* ran pnpm format

* fixed build issues

* Replaced old question types with new types

* fix survey list not up to date on changes

* solved back button issue

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-13 18:30:50 +09:00
Tanmay Banage ffef88731d fix: Fix string gets converted to date causing validation error (#793) 2023-09-13 13:01:48 +09:00
Dhruwang Jariwala 4f4e95fecb refactor: Added input validation using zod (#790)
* added input validation using zod

* changed console.log to console.error

* fix formatting issues

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-13 12:59:37 +09:00
Anshuman Pandey 50d7c9666c fix: fixes github sign up invite token (#803) 2023-09-13 11:54:40 +09:00
Dhruwang Jariwala b7a97d9eb1 fix: Stop Sync in formbricks-js after logout() (#806)
* fixes logout() bug

* restored interval time
2023-09-13 11:50:18 +09:00
Anshuman Pandey c7389ab3c6 fix: multiple smaller bugfixes (#805)
* fix: very small bugs

* fix: fixes white space bug
2023-09-13 11:40:06 +09:00
Piyush Gupta be5f741ec7 fixed pnpm-lock file 2023-09-13 00:10:31 +05:30
Piyush Gupta 92e2abe6e4 resolved merge conflicts 2023-09-13 00:07:02 +05:30
Piyush Gupta 2cacba0b2f synced with main 2023-09-12 23:54:56 +05:30
Matti Nannt ff51f2f25d chore: format code and fix lint workflow (#804) 2023-09-12 18:20:09 +09:00
Dhruwang Jariwala 6a88420122 feat: Add Make.com integration (#628)
* added documentation for make.com integration

* ran pnpm format

* update wording in docs

* updated docs for make integration

* updated connect link

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-12 18:05:52 +09:00
Dhruwang Jariwala 1be6deec64 chore: Rewrite environment navbar to server components (#690)
* moved environment navbar to RSC

* added Error component

* format

* update errors path

* use standard services in environment navbar, update product service according to standards, add redirect shortcuts for teams and products

* update analysis github workflow with environment variables

* fix WEBAPP_URL is required

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-12 14:15:03 +09:00
Shubham Palriwala cbc649111c fix: survey base not set correctly in docker setup (#802) 2023-09-12 13:27:10 +09:00
Shubham Palriwala 60ac49b5c2 fix: webhooks fetch cache is not getting invalidated (#800) 2023-09-11 23:39:51 +09:00
github-actions[bot] d0310fc243 Release formbricks-js 1.0.6 (#796)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-11 16:06:24 +09:00
Matti Nannt 8efb1054dd fix: issue in responseQueue that could lead to a response sent twice (#795)
* fix: responseQueue may be executed twice

* release new formbricks-js version

* update bundle analysis
2023-09-11 16:03:14 +09:00
Matti Nannt f1688502a2 chore: Update npm package dependencies (#794)
* upgrade packages

* upgrade packages in demo & formbricks-com

* update web packages
2023-09-11 15:05:55 +09:00
Shubham Palriwala 3a202541d0 remove: @formbricks/errors (#784) 2023-09-11 10:29:12 +09:00
Matti Nannt 686b52fd14 chore: format code based on prettier rules (#792) 2023-09-10 17:15:43 +09:00
Kuluru Vineeth Kumar Reddy 7d11856f14 feat: response notes can now be edited (#716)
* - Feature Enhancement : Edit and Resolve Notes

* Merge branch 'main' of github.com:formbricks/formbricks into feature/updateNote

* update pencil icon

* - added editing the notes functionality in responses

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-10 17:13:59 +09:00
Matti Nannt ab668c307b fix: link survey responses may fail when custom survey url is set (#791) 2023-09-10 14:33:04 +09:00
Matti Nannt 0a08d7df68 chore: Introduce unified survey UI package @formbricks/surveys (#698)
* add vite survey package

* add renderSurvey method

* add all survey components

* First working version of renderSurvey

* integrate survey package into survey preview

* add survey modal functionality to formbricks-surveys

* fix build errors and add new template types

* add response queue

* add simple formbricks-js integration

* add local state management for surveys

* add local storage to multiple choice and open text questions

* add local state to other question types, layout fixes

* Fix modal close button, clean js package code

* add new calculate progress function

* fix progressbar on thankyou card

* fix churn survey branching in demo product

* use tsup to bundle @formbricks/js

* update survey positioning in link surveys

* fix preview reset button in link survey

* change logic for progress bar

* update progressbar logic

* update spacing

* add conditional autofocus / disable for iframe

* add userId to link survey

* integrated email verification

* moved token verification and reading to server component

* ran pnpm format

* added question prefilling

* ran pnpm format

* Moved question prefilling logic to Link Survey

* Refactor types

* centralize survey package props, fix build errors

* fix userId in link survey

* fix survey closed message

* add redirect on complete, fix bugs

* smaller bugfixes

* smaller bugfixes

* fix bugs

* fix build errors

* remove logs

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2023-09-10 14:06:55 +09:00
Piyush Gupta 5cb31fbe2a feat: added embed survey modal 2023-09-10 02:01:30 +05:30
Matti Nannt bf6ed3576c feat: Add option to customize link survey url using NEXT_PUBLIC_SURVEY_BASE_URL (#787) 2023-09-08 14:01:56 +09:00
Johannes 38092f8a7c fix: (docs) n8n page heading bug and responsiveness issues
fix: (docs) n8n page heading bug and responsiveness issues
2023-09-07 18:57:32 +02:00
ShubhamPalriwala d290b6e011 fix: (docs) n8n page heading bug and responsiveness issues 2023-09-07 21:55:05 +05:30
Shubham Palriwala c901ab13f5 fix: build error in formbricks-com when STRAPI_API_KEY not set (#785) 2023-09-07 23:21:24 +09:00
Shubham Palriwala ae5d3f8e71 Merge branch 'main' into shubham/for-1150-validate-survey-editor-forms 2023-09-07 00:21:26 +05:30
ShubhamPalriwala 50369afd85 fix: only highlight the incorrect choice in multi 2023-09-07 00:20:23 +05:30
ShubhamPalriwala e49cfca56a fix: dont allow is skipped on reqd question, and show approporiate toast error 2023-09-07 00:13:58 +05:30
ShubhamPalriwala 284361aaba fix: corner cases for new option empty and duplicates in single and multi select 2023-09-06 23:33:15 +05:30
Dhruwang Jariwala 0a1de196aa chore: moves setup checklist to react server components (#695)
* Chore: moves setup checklist to RSC

* fix other merge conflictsg

* made code refactors

* added TAction as return type for getActions

* fixed build issues

* fix environmentNotice component

* refactor EnvironmentNotice component

* fix js tests

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-06 15:18:49 +09:00
Shubham Palriwala b0d7bd8686 feat: add email setup to single script prod setup (#752) 2023-09-06 13:32:46 +09:00
Dhruwang Jariwala 6a121680ba feat: Add ability to change back button label (#753)
* adds back button label adjust

* update wording

* made some refactors

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang Jariwala <dhruwang@Dhruwangs-MacBook-Pro.local>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-06 13:29:44 +09:00
Shubham Palriwala edc8870e09 chore: Add Missing Environment Variables in Documentation (#754)
* fix: remove unused stripe_public_key env var

* feat: include all possible env vars in documentation

* update enviroment variables in docs

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-06 13:26:28 +09:00
github-actions[bot] bd84cdf532 chore: Release formbricks-js 1.0.5 (#781)
* Version Packages

* ignore formbricks-web in changeset

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-06 12:48:13 +09:00
Matti Nannt bea1f99374 chore: Prepare release of formbricks-js 1.0.5 (#780) 2023-09-06 12:39:46 +09:00
Shubham Palriwala 713753cdf8 fix: array nullity checks in js packages leads to unpredicted error message (#771) 2023-09-06 10:37:43 +09:00
Shubham Palriwala e8b54dd3ae fix: Generalise login error messages to prevent user account enumeration (#772) 2023-09-06 10:35:45 +09:00
RafalAtGaragenet 36bd14e4f6 fix: Null pointer expection for multiple choice question on web-app form (#770) 2023-09-06 10:31:34 +09:00
Johannes 5b704b536d refactor: Solve confusion around dev/prod API Keys
refactor: Solve confusion around dev/prod API Keys
2023-09-05 20:46:44 +02:00
Johannes c2d3d6889f always show notice 2023-09-05 20:32:32 +02:00
Johannes 4490d2a2f5 Merge branch 'main' of github.com:formbricks/formbricks into prod-dev-apikey 2023-09-05 20:16:43 +02:00
Johannes 1b407a9fb4 fix: document People and Display APIs
fix: document People and Display APIs
2023-09-05 19:44:32 +02:00
Dhruwang 6ab89fa054 moved environmentNotice to shared component and made some refactors 2023-09-05 20:03:04 +05:30
Matti Nannt b174afc1c6 fix: eslint in pre-commit hook failed (#776) 2023-09-05 16:45:42 +09:00
Dhruwang 59af9c9905 API key check 2023-09-05 11:17:35 +05:30
Matti Nannt 2e727a418c fix: Update n8n-node dependencies (#774) 2023-09-05 14:37:22 +09:00
Matti Nannt 5a457ef627 Increase turborepo concurrency level (#773) 2023-09-05 14:10:51 +09:00
ShubhamPalriwala 4320e36ed3 fix: entire questions get red when a field is invalid, now only the field gets red unless trying to save 2023-09-04 18:46:18 +05:30
ShubhamPalriwala 796ba307f0 fix: document missing APIs 2023-09-04 16:24:13 +05:30
Johannes 877ab1fd39 Update wording 2023-09-04 11:15:57 +02:00
Johannes f75b74d38e Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1150-validate-survey-editor-forms 2023-09-04 10:37:48 +02:00
Matti Nannt 1c7ca87439 Improve developer experience by analyzing PRs automatically using Github Actions (#768)
* Improve developer experience by analyzing PRs automatically using Github actions

* update docker workflow base images

* use ubuntu latest image

* move issue label action to workflow dir
2023-09-04 17:05:30 +09:00
dependabot[bot] 65e1a418f7 Bump semver from 5.7.1 to 5.7.2 (#737)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 16:56:02 +09:00
Matti Nannt 8a46b2c4be Add Pre-Commit Hook for linting & formatting (#767)
* add pre-commit hook for linting & formatting

* add husky

* update n8n package json, update package-lock file
2023-09-04 15:45:18 +09:00
github-actions[bot] 5e640b1c54 Release Formbricks n8n package (#766)
* Version Packages

* add n8n package to release pipeline

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-04 14:24:07 +09:00
Pratik aa79c4c319 Add n8n Integration to Formbricks (#733)
* add n8n integration

* add n8n inside packages

* added documentation for n8n setup

* add formbricks scope to package

* add changeset config for automatic package deployment

* remove old docs navigation

* add new package README

* update prettier config & reformat

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-04 12:14:31 +09:00
Sital Adhikari caa6979a1d Fix some images break the layout on formbricks-com (#765) 2023-09-04 10:59:25 +09:00
Dhruwang Jariwala b00beadf2e Add Email Verification option to Link Surveys (#762)
* completed frontend

* Adds email verifaction for Link Surveys

* remove console.log

* run pnpm format

* rename userId to verify

* add loading state

* fix type names

* add types to prisma

---------

Co-authored-by: Dhruwang Jariwala <dhruwang@Dhruwangs-MacBook-Pro.local>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-09-02 15:34:00 +09:00
Shubham Palriwala eae8e2db24 Add API documentation for Surveys & Profile Management API (#761) 2023-09-01 23:44:15 +09:00
ShubhamPalriwala 941527151f fix: multi option multi choose can now not have same options 2023-09-01 16:53:50 +05:30
ShubhamPalriwala 59fb26a6fa fix: setting duplicate question Ids now does not set random ID when click saved, the user has to update it 2023-09-01 16:27:29 +05:30
Johannes 5db306600b Mention Editing Build-time Variables in deployment Guides
Mention Editing Build-time Variables in deployment Guides
2023-09-01 10:11:19 +02:00
ShubhamPalriwala 632bab40f3 fix: user cannot select a skipped logic for a required question 2023-09-01 12:52:03 +05:30
Johannes d21fd629e6 Update Career wording
Update Career wording
2023-08-31 17:58:33 +02:00
Johannes 2df31fbb07 update wording 2023-08-31 17:57:35 +02:00
ShubhamPalriwala cc9142e89b fix: user can now cannot 2 exactly same logic conditions 2023-08-31 21:08:56 +05:30
ShubhamPalriwala bca1e0e926 fix: not allow new logic jump until previous filled & do not allow saving survey until atleast 2 fields are filled 2023-08-31 20:57:45 +05:30
ShubhamPalriwala 17406a0dd4 feat: mention about editing build time variables in all deployment guides 2023-08-31 20:11:13 +05:30
Johannes 908b9d0ae4 update job description
update job description
2023-08-31 15:40:35 +02:00
Johannes 885fe10dc5 update job description 2023-08-31 15:40:00 +02:00
Johannes 5b1eecc71e Remove inline comment for smtp_port to avoid docker build failure
Remove inline comment for smtp_port to avoid docker build failure
2023-08-31 10:05:59 +02:00
Johannes 8156a759fc Add Rivet to OSS Friends
Add Rivet to OSS Friends
2023-08-31 08:39:03 +02:00
Nathan Flurry 50bb510ae4 Add Rivet 2023-08-30 22:27:22 +00:00
Johannes 775a4e74b4 Replace Logo in readme
Replace Logo in readme
2023-08-30 16:59:26 +02:00
Johannes 9c2e26c5b4 Replace Logo
Replace Logo
2023-08-30 16:58:44 +02:00
Johannes b21bc607e7 Integrate Docs with Example Repo and Minor Bug Fixes
Integrate Docs with Example Repo and Minor Bug Fixes
2023-08-30 16:48:33 +02:00
Johannes 5f102c3c3d Merge branch 'main' of github.com:formbricks/formbricks into shubham/docs-add-example-link-and-quick-fixed 2023-08-30 16:47:18 +02:00
Johannes 2320947d9d tweak UX of card 2023-08-30 16:44:44 +02:00
Johannes 3a3f0fa08c Validate URL on Redirection to avoid breaking app
Validate URL on Redirection to avoid breaking app
2023-08-30 15:58:58 +02:00
ShubhamPalriwala 23c388185e fix: validate url on redirection to avoid breaking app 2023-08-30 18:18:17 +05:30
ShubhamPalriwala 78bb8a005e fix: add link to examples, fix heading white in light mode, update docs as per poc built in examples repo 2023-08-30 17:09:10 +05:30
Johannes d97df9a6e7 Harmonize href in OSS Friends
Harmonize href in OSS Friends
2023-08-30 11:37:45 +02:00
Johannes bddc8137a3 Careers page + UI Tweaks in SEO Content
Careers page + UI Tweaks in SEO Content
2023-08-30 11:35:45 +02:00
Johannes 0164b4fbde increase header text sizes 2023-08-30 11:30:56 +02:00
Johannes 288ec89d93 release careers page 2023-08-30 10:57:02 +02:00
ShubhamPalriwala b7d4885e51 fix: long single word was overflowing the thank you card 2023-08-30 13:11:24 +05:30
Thomas Kaul 1c66ccb713 Harmonize href in OSS Friends 2023-08-29 22:39:28 +02:00
Eder Silva 0ab70a8e69 Update .env.docker
removed inline comment for smtp_port to avoid build failure
2023-08-29 15:07:29 -03:00
ShubhamPalriwala 00494a7093 fix: multi option single choose can now not have same options 2023-08-29 23:08:09 +05:30
ShubhamPalriwala 6dfc75a4ce fix: consent question's checkbox should now have some text or default text mandatory 2023-08-29 19:42:17 +05:30
ShubhamPalriwala c10854523d fix: it is now not allowed to save/publish a survey with 0 responses 2023-08-29 19:16:42 +05:30
Johannes 79e66ee408 fix: CTA question link UX
fix: CTA question link UX
2023-08-28 21:35:34 +02:00
Johannes 7b2a1c1de3 Fix Docs Tailwind Config
Fix Docs Tailwind Config
2023-08-28 20:52:53 +02:00
Dhruwang 7c12053a44 fix: CTA question link UX 2023-08-28 23:10:26 +05:30
ShubhamPalriwala 9e7b897e7c Merge branch 'main' of https://github.com/formbricks/formbricks into shubham/fix-docs-tailwind-bug 2023-08-28 22:07:03 +05:30
ShubhamPalriwala 25fcac72d8 fix: tailwind imports that were causing prod issues 2023-08-28 22:04:22 +05:30
Johannes 6c29d323d1 Migration of Docs to Protocol Template
Migration of Docs to Protocol Template
2023-08-28 17:25:41 +02:00
ShubhamPalriwala 3ddb65cd71 Merge branch 'feature/new-docs' of https://github.com/formbricks/formbricks into feature/new-docs 2023-08-28 20:34:30 +05:30
ShubhamPalriwala 2039641bae fix: zinc to slate, lighter heading and page titles 2023-08-28 20:34:24 +05:30
Johannes bc4cfabfde Merge branch 'main' of github.com:formbricks/formbricks into feature/new-docs 2023-08-28 15:53:12 +02:00
Johannes bb9e4521f9 Add CTA to SEO pages + meta data update
Add CTA to SEO pages + meta data update
2023-08-28 15:44:53 +02:00
Johannes 480461f727 update concierge, add canonical tag 2023-08-28 15:39:32 +02:00
Johannes a90156e161 add CTA banner 2023-08-28 15:01:59 +02:00
Matthias Nannt 8e1018dd6a fix long loading time, fix typescript errors 2023-08-26 10:42:21 +02:00
Matthias Nannt 4734a1d369 Merge branch 'main' of github.com:formbricks/formbricks into feature/new-docs 2023-08-25 16:15:49 +02:00
ShubhamPalriwala 9edf9955ae minor final fixes 2023-08-25 19:11:19 +05:30
Matthias Nannt fb6cc1253f update page navigation 2023-08-25 15:26:59 +02:00
Matthias Nannt 5260316d34 fix formatting issues 2023-08-25 14:52:36 +02:00
Matthias Nannt 31dc1c8e3f merge changes 2023-08-25 14:16:21 +02:00
Matthias Nannt fb16735c12 upate packages, doc titles 2023-08-25 14:15:00 +02:00
ShubhamPalriwala 524916c20c chore: restructure api docs and rewrite framework-guides 2023-08-25 17:42:49 +05:30
Matthias Nannt 544b7b401f reformat formbricks-com 2023-08-25 11:55:37 +02:00
Matthias Nannt c636f1d40e Merge branch 'feature/new-docs' of github.com:formbricks/formbricks into feature/new-docs 2023-08-25 11:55:09 +02:00
Matthias Nannt cc7da7b629 fix newsletter input css 2023-08-25 11:54:58 +02:00
Matthias Nannt 06474f9e8e fix blog page not loading properly 2023-08-25 11:54:38 +02:00
ShubhamPalriwala 2eb28feb98 feat: restructure multiple setup guides into one 2023-08-25 14:53:37 +05:30
Matthias Nannt 763db0a674 Merge branch 'feature/new-docs' of github.com:formbricks/formbricks into feature/new-docs 2023-08-25 10:32:42 +02:00
Matthias Nannt 5cca9a9ee9 change gettings started structure 2023-08-25 10:32:38 +02:00
ShubhamPalriwala 53721169e8 fix: docs feedbac preview does not send data to backend now, redirect url fixed, and /docs now takes to intro page 2023-08-25 13:58:27 +05:30
Matthias Nannt f9bb0dec3c fix section navigation 2023-08-25 09:58:24 +02:00
Matthias Nannt ea3fb45e6e fix dead quickstart links 2023-08-25 09:35:53 +02:00
Johannes 16493c9431 Add Missing Dev Mode Navbar in Survey Editor
Add Missing Dev Mode Navbar in Survey Editor
2023-08-25 08:40:25 +02:00
Johannes 4f3ec888ec Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1147-youre-in-dev-mode-bar-missing-in-survey-editor 2023-08-25 08:39:20 +02:00
Johannes e04cab6b7f Add Spark Framework to OSS Friends array.
Add Spark Framework to OSS Friends array.
2023-08-25 08:26:20 +02:00
ShubhamPalriwala fbd42a572e feat: dev mode navbar in surveyEditor 2023-08-25 11:14:33 +05:30
Weston Walker f2d2938672 Update index.ts
Added spark framework OS project.
2023-08-24 11:02:18 -05:00
ShubhamPalriwala 49f48cf7e0 fix: update layout metadata 2023-08-24 17:09:07 +05:30
ShubhamPalriwala a74037dca1 Merge branch 'main' of https://github.com/formbricks/formbricks into feature/new-docs 2023-08-24 17:05:25 +05:30
ShubhamPalriwala 0a5d458b96 fix: make images responsive 2023-08-24 16:53:25 +05:30
Dhruwang Jariwala 9f6c40fd42 Rewrite Billing page to React Server Components and new type system (#701)
* Moved billing page to RSC

* removed unused props

* ran pnpm format

* fix build error

* add 404 page, throw 404 on billing page when !IS_FORMBRICKS_CLOUD

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-24 11:45:02 +02:00
ShubhamPalriwala eea7fbbb5c rewrite: hosting/prod page 2023-08-24 15:12:38 +05:30
ShubhamPalriwala d20b713d18 chore: restructure existing self hosting docs 2023-08-24 14:23:46 +05:30
Shubham Palriwala 317a5463e9 Revamp No-Code-Options: You can now target a combination of conditions (e.g. a specific button on a specific page) (#691)
* feat: revamp nocode action across frontend, backend, and js lib

* fix: remove console warning for ref forwarding

* feat: make advancedToggle component and use it across

* feat: use advancedToggle all across survey editor

* feat: use advancedToggle all across survey editor for link surveys

* remove: unused imports

* ui tweaks

* fix: form registration

* chore: advancedOptionToggle now has grey box inside the div

* fix: handle multiple css selectors separately

* test no code demo app

* replace logout with reset in demo apps

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-08-24 10:27:41 +02:00
ShubhamPalriwala ec7a1276fd chore: replace png with webpack images 2023-08-24 13:45:04 +05:30
ShubhamPalriwala 0efded57de fix: update doc pages as per main, add code layouts, introduce framework overview 2023-08-24 13:13:08 +05:30
ShubhamPalriwala 809bf1207b fix: quick resources as per analytics 2023-08-23 21:33:23 +05:30
Johannes debf8433d0 Update docs with a new improved Quickstart guide (#725)
* update quickstart

* update quickstart and add react

* add screenshot

* update images and comments

* added image

* fill placeholder

* fix build error

* updating wording

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-23 16:25:50 +02:00
ShubhamPalriwala 79ea40c742 Merge branch 'feature/new-docs' of https://github.com/formbricks/formbricks into feature/new-docs 2023-08-23 19:13:42 +05:30
ShubhamPalriwala d96ab91c6e feat: migration to new docs 2023-08-23 19:13:20 +05:30
M. Palanikannan 8ad4ba0f77 Add Gitpod support to the Formbricks Repo (#718)
* Initialized Gitpod tested scripts

* ignored ports 1025 and 8025

* added website dev environment

* removed api and error tasks and prioritized web task to be shown first
2023-08-23 12:10:07 +02:00
Matti Nannt 2a60e8f464 Fix Link Survey also showing for In-Product Surveys (#727) 2023-08-22 17:14:03 +02:00
Matti Nannt 4562d85974 Fix Link Survey not pulling the right product (#726) 2023-08-22 17:07:05 +02:00
Matthias Nannt 81652b445b fix font on mainpage 2023-08-22 16:13:14 +02:00
Johannes 75ac56ff3b fixy thingys 2023-08-22 15:20:43 +02:00
Matthias Nannt b0e42e00e9 add missing lib files 2023-08-22 14:45:11 +02:00
Matthias Nannt 8c229e4685 remove old formbricks-com 2023-08-22 14:38:52 +02:00
Matthias Nannt 80c64f2bf5 add components, images and pages 2023-08-22 14:25:06 +02:00
Matthias Nannt c8f88fa4b2 move docs to subfolder 2023-08-22 14:07:45 +02:00
Matthias Nannt e636bb4116 move docs to subfolder 2023-08-22 14:07:25 +02:00
Matthias Nannt 7ce8d75d91 add new template 2023-08-22 13:58:23 +02:00
Johannes 6538f8abdc UI: Responsiveness of Settings Menu
UI: Responsive of Settings Menu
2023-08-22 11:14:34 +02:00
Johannes 9a6997a3bb Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1142-create-responsive-menu-for-settings 2023-08-22 11:10:45 +02:00
Johannes f8f0bb5f13 responsiveness tweaks 2023-08-22 11:10:26 +02:00
ShubhamPalriwala 2b7ec57722 fix: setting pages responsiveness bugs 2023-08-21 23:11:24 +05:30
Johannes 34ca2953d2 Remove zero width characters
Remove zero width characters
2023-08-21 15:58:32 +02:00
Johannes 03144164e9 Add Ghostfolio to OSS Friends
Add Ghostfolio to OSS Friends
2023-08-21 15:57:10 +02:00
Johannes bed70be938 fix: Button descendent of button error
fix: Button descendent of button error
2023-08-21 15:52:45 +02:00
Matti Nannt ba68c6d85d Improve loading time of person detail page (#723) 2023-08-21 13:40:40 +02:00
Matti Nannt 683ca1acec Fix old survey data shown in survey overview (#722) 2023-08-21 12:20:38 +02:00
ShubhamPalriwala 4cf7c84abe feat: responsive settings menu for mobile screens 2023-08-21 15:22:54 +05:30
Matti Nannt 4de85eb365 Add jsVersion & sessionCreated event to Telemetry (#720) 2023-08-21 11:30:00 +02:00
Matti Nannt 754bdfbca7 Move Telemetry events to services and limit events to surveyCreated and responseCreated (#719) 2023-08-21 09:47:06 +02:00
joyal007 e7c863d3ae fixed err in mobile view 2023-08-19 19:44:51 +05:30
joyal007 51430b7f5a Merge branch 'main' of https://github.com/joyal007/formbricks into fix/button-desc-error 2023-08-19 19:09:48 +05:30
joyal007 692c56226d fixed button descendent on button error 2023-08-19 19:08:58 +05:30
Thomas Kaul 503afbafb6 Add Ghostfolio
See https://ghostfol.io/en/about/oss-friends
2023-08-19 12:16:04 +02:00
Thomas Kaul da27af39ec Remove zero width characters 2023-08-19 12:11:13 +02:00
Matti Nannt 0e19044b7f Add Formbricks version number to Setup Checklist (#712) 2023-08-19 09:18:39 +02:00
Matti Nannt 6b462504f6 Fix build errors in formbricks-com (#710)
* Fix build errors in formbricks-com'

* run pnpm format
2023-08-18 16:05:12 +02:00
Johannes 944bdc1e8e Add usagebased attributes to Formbricks
Add usagebased attributes to Formbricks
2023-08-18 15:11:18 +02:00
Johannes 72dcc66811 resolved comments 2023-08-18 15:10:15 +02:00
Johannes b141a38e03 Merge branch 'main' of github.com:formbricks/formbricks into more-formbricks-in-formbricks 2023-08-18 15:08:19 +02:00
Johannes 0417320eb0 UI: Replace Static Truncate fn with Tailwind truncate class
UI: Replace Static Truncate fn with Tailwind truncate class
2023-08-18 15:06:32 +02:00
Johannes 0c19664bf5 update wording 2023-08-18 15:05:34 +02:00
Johannes 908350aa22 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1153-truncate-dynamically-in-logic-editor 2023-08-18 14:31:33 +02:00
Matti Nannt 09b730bc0f Update lock file (#709) 2023-08-18 09:04:09 +02:00
Johannes d2916c7878 UI fixes in Survey Editor
UI fixes in Survey Editor
2023-08-17 17:50:11 +02:00
Johannes 435eb75714 Log Survey Count & Names on Sync in JS widget
Log Survey Count & Names on Sync in JS widget
2023-08-17 17:45:44 +02:00
Johannes 551459a7c5 Add Strapi as CMS for SEO content
Add Strapi as CMS for SEO content
2023-08-17 17:39:42 +02:00
Johannes 6b79e8a888 fix packages 2023-08-17 17:36:14 +02:00
Johannes dd43a55e20 remove unfinished template subpage 2023-08-17 16:57:40 +02:00
Johannes c667b7d949 remove logs 2023-08-17 16:53:58 +02:00
ShubhamPalriwala 70c26af79c feat: use native tailwind dynamic truncate 2023-08-17 14:17:42 +05:30
ShubhamPalriwala 0d5af6b44d feat: responses already recd warning and survey preview padding 2023-08-17 13:08:50 +05:30
ShubhamPalriwala 60d3036ca1 feat: log survey count and names in js widget 2023-08-17 11:13:28 +05:30
Johannes 4362ef9ed4 data model tweaks 2023-08-16 16:37:02 +02:00
Johannes a0ff35ed86 new data model, faq data, new image host 2023-08-16 13:21:43 +02:00
Johannes e25d4e9a21 Merge branch 'main' of github.com:formbricks/formbricks into Rewrite-Link-Surveys-to-RSC 2023-08-16 13:20:05 +02:00
Dhruwang Jariwala 15fde11804 Use Server Components for Link Survey to improve loading speed (#676)
* moved link LinkSurvey to RSC

* made some code refactors

* made requested changes

* ran pnpm build and added configured inactive survey

* fixed a build issue

* made some code refactors

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-16 10:56:15 +02:00
Johannes de90e10b91 Add Loading State to Action Delete & Person Delete Buttons
Add Loading State to Action Delete & Person Delete Buttons
2023-08-16 09:24:38 +02:00
Johannes 5453b2fb31 add usage based attributes 2023-08-15 17:13:44 +02:00
Johannes 1764cb5f1e add name as attribute 2023-08-15 16:17:55 +02:00
Matti Nannt 0659343a0b Fix zod types interfer with zapier integration (#697) 2023-08-15 15:49:48 +02:00
Johannes 1b64fd32b3 Add explainer note to demo app env example
Add explainer note to demo app env example
2023-08-15 14:12:56 +02:00
Johannes 52896d490a Add explainer note to demo app env example
Add explainer note to demo app env example
2023-08-15 14:12:03 +02:00
ShubhamPalriwala fba2d1def9 feat: loader in deleteAction 2023-08-15 14:20:59 +05:30
ShubhamPalriwala be4f96bb18 feat: loader in deletePerson 2023-08-15 14:12:35 +05:30
Johannes 252a6236dc Fix: Button Alignment in widget and Demo App Responsiveness
Fix: Button Alignment in widget and Demo App Responsiveness
2023-08-15 10:33:08 +02:00
Johannes 7c845202b2 responsiveness demo app 2023-08-15 10:31:07 +02:00
Dhruwang eb41e4a419 fix: left align issue 2023-08-15 10:41:30 +05:30
github-actions[bot] 8a0f7fde3d Release formbricks-js 1.0.4 (#689)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-14 12:29:23 +02:00
Matti Nannt 01523393db Convert all attributes and userIds to string in formbricks-js (#688)
* convert any attribute input to string in formbricks-js

* add changeset, increase patch version of formbricks-js
2023-08-14 12:26:40 +02:00
Johannes 534dd5050d Make Survey Summary Page and Several Other Pages Responsive
Make Survey Summary Page and Several Other Pages Responsive
2023-08-14 11:12:48 +02:00
Johannes a3e1e0498d fix restart UI 2023-08-14 11:11:50 +02:00
Johannes beadbfa4b9 attributes and people page responsiveness 2023-08-14 10:53:35 +02:00
Johannes a3162150a6 survey list and editor mobile tweaks 2023-08-14 10:43:30 +02:00
Johannes 1c6a5b2685 Add Loader in Product Delete button and tweak Weekly Summary UI
Add Loader in Product Delete button and tweak Weekly Summary UI
2023-08-14 10:33:56 +02:00
Johannes 9c8141abb2 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1124-responsiveness-create-a-mobile-friendly-version-of-all-data 2023-08-14 10:23:16 +02:00
Johannes 88c17546b7 add font weight bold to weekly summary 2023-08-14 10:20:53 +02:00
Johannes ccfc85f4fa Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1122-tweak-add-loading-state-to-delete-button-in-delete-product 2023-08-14 10:15:29 +02:00
Johannes d9839aba24 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1122-tweak-add-loading-state-to-delete-button-in-delete-product 2023-08-14 10:14:16 +02:00
Johannes 14a6cba3f4 Merge branch 'main' of github.com:formbricks/formbricks into lp/strapi 2023-08-14 10:13:35 +02:00
Matti Nannt d83c530012 Remove responses limit for link surveys on free plan (#686) 2023-08-14 09:50:58 +02:00
ShubhamPalriwala 8716367ec1 ui: data comps of survey summary are now responsive 2023-08-14 13:09:17 +05:30
ShubhamPalriwala dcffb8106e feat: loader in product delete button 2023-08-13 09:54:10 +05:30
github-actions[bot] 315467ef3f Version Packages (#682)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-12 12:43:50 +02:00
Matti Nannt 3dde021cd0 Prepare release of Formbricks v1.0.2 (#681) 2023-08-12 12:39:18 +02:00
Matti Nannt ebbde2b531 Fix WEBAPP_URL cannot be set with prebuilt Docker image (#680)
* Fix WEBAPP_URL cannot be set with prebuilt Docker image

* Extend default docker-compose file and production script

* Update docs
2023-08-12 11:53:23 +02:00
Dhruwang Jariwala 47a8fd6b62 Rewrite Api Key Settings to React Server Components (#654)
* moved apikey settings to server component

* rename ZApiKeyData to ZApiKeyCreateInput

* Make smaller improvements

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-11 17:23:59 +02:00
Shubham Palriwala c6686209be Move Look & Feel Settings to React Server Components (#672)
* feat: migrate look and feel to serverside component with loading screen

* fix: use existing product type instead of creating a custom type

* fix: make improvements as Matti suggested

* change attributes order in updateProduct function

* run pnpm format

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-11 17:04:31 +02:00
Shubham Palriwala 09436c78fc Validate for E-Mail Address on Verification Page (#666)
* validate: for email in the user verification modal

* feat: email auth is now a server page, uses server-side zod lib for email input validation, removes validator lib

* Add FormWrapper to Error Message

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-11 16:36:26 +02:00
Johannes 004e524002 Merge branch 'main' of github.com:formbricks/formbricks into lp/strapi 2023-08-11 14:17:10 +02:00
Dhruwang Jariwala 98cdf941e6 Improve Preview in Survey Editor with Mobile & Desktop View (#573)
* made modal component responsive

* added tab switch

* added mobile preview mode for surveys

* did some refactors

* did some refactors

* added type defs

* ran pnpm format

* removed an unused comment

* fixed variable name typo

* fixed UI bugs and added mobile mockup to link surveys

* restored changes from fix long description PR

* fixed scroll to top issue and toggle hide bug

* fixed minor animation bug

* fixed placement issue

* re-embed restart button, make phone preview more responsive

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-11 10:55:49 +02:00
Johannes 52a09aa3ae Introduce Restart Survey Button on Preview of Survey
Introduce Restart Survey Button on Preview of Survey
2023-08-11 09:13:02 +02:00
Johannes bf028a5f64 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1120-add-restart-button-to-survey-preview-ui-tweak 2023-08-11 09:12:15 +02:00
Johannes 5c60694117 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1120-add-restart-button-to-survey-preview-ui-tweak 2023-08-11 08:52:52 +02:00
Johannes 2815ab2175 first article 2023-08-11 08:52:26 +02:00
Matti Nannt 179f92077b Apply prettier formatting (#678) 2023-08-10 17:25:40 +02:00
Matti Nannt 9cdf446f65 Remove lodash dependency from formbricks-js (#677)
* Remove lodash dependency from formbricks-js

* add array utils file
2023-08-10 16:22:10 +02:00
ShubhamPalriwala f98d4f5c11 fix: make button exactly like mock 2023-08-10 17:21:44 +05:30
Matti Nannt 142c1bd35b Fix saved changes are not visible in Survey Editor (#674) 2023-08-10 13:14:17 +02:00
Johannes b96fbf06d9 update new blog 2023-08-10 12:56:34 +02:00
ShubhamPalriwala 5e3ec7e4f0 feat: Restart Survey when Previewing a Survey & truncate logic values 2023-08-10 15:09:17 +05:30
Johannes c261c63f43 Merge branch 'main' of github.com:formbricks/formbricks into lp/strapi 2023-08-10 09:58:04 +02:00
Johannes 3bbb4170e2 Set Response Limit to 50 when an In-App Survey is Created and Fix Doc Feedback survey
Set Response Limit to 50 when an In-App Survey is Created and Fix Doc Feedback survey
2023-08-09 18:14:34 +02:00
Johannes dc085c41c0 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1119-tweak-set-default-for-in-app-surveys-to-limit-to-50 2023-08-09 18:12:38 +02:00
Matti Nannt 33b3887b84 Use .env.docker in advanced docker-compose setup to simplify file structure (#671) 2023-08-09 17:57:35 +02:00
Johannes 6a8805de0b Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1119-tweak-set-default-for-in-app-surveys-to-limit-to-50 2023-08-09 17:52:29 +02:00
Johannes 10e149bb02 Fix formbricks-js labels not showing correctly with custom label styles, add dark mode to demo app
Fix formbricks-js labels not showing correctly with custom label styles, add dark mode to demo app
2023-08-09 17:51:20 +02:00
Johannes 9f944249fc update formatting 2023-08-09 17:50:40 +02:00
Johannes b5765fed74 add dark mode to widget 2023-08-09 17:48:20 +02:00
Johannes eee9b29723 Merge branch 'main' of github.com:formbricks/formbricks into feature/FOR-1081 2023-08-09 17:02:51 +02:00
Johannes a3aae4ab95 fix: fixes survey link share modal and adds a mobile nav menu
fix: fixes survey link share modal and adds a mobile nav menu
2023-08-09 16:12:07 +02:00
Johannes 5b9db8f353 Merge branch 'main' of github.com:formbricks/formbricks into fix/safari-mobile 2023-08-09 16:08:52 +02:00
Matti Nannt 9b98ca4f64 Fix thank you screen is disabled after completing a survey (#670) 2023-08-09 16:05:15 +02:00
Johannes 6572d5395b Merge branch 'main' of github.com:formbricks/formbricks into fix/safari-mobile 2023-08-09 15:57:21 +02:00
Johannes cd753f1a67 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1119-tweak-set-default-for-in-app-surveys-to-limit-to-50 2023-08-09 15:37:08 +02:00
Johannes 6f0a26904f Fix back button in link surveys with logic jumps
Fix back button in link surveys with logic jumps
2023-08-09 15:35:32 +02:00
Johannes e1c8a715d1 Add UI to create webhooks on integrations page
Add UI to create webhooks on integrations page
2023-08-09 15:31:14 +02:00
Johannes 96e54dbb46 double check migration 2023-08-09 15:25:55 +02:00
Johannes b71fdf3205 Merge branch 'main' of github.com:formbricks/formbricks into shubham/for-1035-add-webhooks-ui-on-integrations-page 2023-08-09 15:22:11 +02:00
ShubhamPalriwala 5520edb2c5 feat: set response limit to 50 if the created survey is in-app 2023-08-09 18:43:50 +05:30
Johannes d824da610d Fix: layout issue on peoples page
Fix: layout issue on peoples page
2023-08-09 14:40:35 +02:00
Dhruwang Jariwala 2bebc9598c Rewrite profile settings page to server component (#642)
* Chore: moved profile settings to server component

* ran pnpm format

* fisxed a build issue

* made requested changes

* made some refactors

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-09 13:13:58 +02:00
Dhruwang Jariwala 580e51dcea Fix Logic Jumps issues in in-product survey (#667) 2023-08-09 12:10:07 +02:00
Matthias Nannt b570f3c79d fix pnpm lock file 2023-08-09 09:36:16 +02:00
Matthias Nannt cf94c1a6d1 Make next & back button follow logic jumps 2023-08-09 09:27:12 +02:00
Johannes 71832c590f ui/ux tweaks 2023-08-08 22:12:40 +02:00
ShubhamPalriwala 15050525fd fix: make components out of survey and trigger checklists and minor ux factoring 2023-08-08 21:21:15 +05:30
ShubhamPalriwala dcc198b151 cleanup: addWebhookModal component 2023-08-08 20:29:28 +05:30
ShubhamPalriwala 3793f29d0a fix: correct typo in htmlFor label 2023-08-08 20:06:21 +05:30
ShubhamPalriwala b6da482e3f feat: webhooks now have a name across the UI 2023-08-08 20:01:48 +05:30
ShubhamPalriwala cd1d9196fc feat: add name in webhook model db in prisme 2023-08-08 19:41:52 +05:30
ShubhamPalriwala e3c09ebec3 fix: loader for add webhook, test nedpoint check on webhook creation, survey check, updated webhook logo 2023-08-08 19:22:01 +05:30
Dhruwang 2bda12d4fc Fix: layout issue on peoples page 2023-08-08 17:56:39 +05:30
Matti Nannt b072d3b549 Update pnpm lock file (#664) 2023-08-08 13:38:22 +02:00
Johannes 758fc9af4d tweaks 2023-08-08 13:29:34 +02:00
ShubhamPalriwala d4a4b4ec41 fix: dropdown replaced with checkbox list and loader is implemented 2023-08-08 15:55:48 +05:30
Johannes d065817ba3 fix build error 2023-08-08 11:04:08 +02:00
Johannes 997f85bf32 update formatting 2023-08-08 11:04:08 +02:00
Piyush Gupta 81ee4ade1e fix: added loading states in CTA 2023-08-08 11:04:08 +02:00
Piyush Gupta a2c07d3be7 added loading in transfer ownership CTA 2023-08-08 11:04:08 +02:00
Piyush Gupta 4a09253234 refactor: used isOwner in delete team 2023-08-08 11:04:08 +02:00
Piyush Gupta a2f6677b54 fix: independent queries -> Txn 2023-08-08 11:04:08 +02:00
Piyush Gupta 0039647718 feat: added transfer ownership 2023-08-08 11:04:08 +02:00
Piyush Gupta 7e27730447 feat: added leave team 2023-08-08 11:04:08 +02:00
Piyush Gupta c22158515d feat: added delete team functionality 2023-08-08 11:04:08 +02:00
Piyush Gupta b8176ce800 feat: added delete card and modal 2023-08-08 11:04:08 +02:00
Johannes 5aa38a6e39 Delete Team, Transfer Ownership and Leave Team functionality
Delete Team, Transfer Ownership and Leave Team functionality
2023-08-08 10:51:44 +02:00
Johannes 0ebef13805 fix build error 2023-08-08 10:46:41 +02:00
Johannes a81ceff09e update formatting 2023-08-08 10:33:26 +02:00
Piyush Gupta 7ebdf9939e fix: added loading states in CTA 2023-08-08 10:16:48 +05:30
ShubhamPalriwala 7631783e7d fix: all webhook icons now use lucid 2023-08-08 09:46:08 +05:30
ShubhamPalriwala c92b2b00e0 fix: webhook table wrapping & add webhook modal text and dropdown id 2023-08-08 09:38:15 +05:30
ShubhamPalriwala e68a7fe763 fix: add webhook logo and card component flexibility 2023-08-08 09:21:03 +05:30
Johannes f8cd9dbb00 Merge branch 'main' of github.com:formbricks/formbricks into lp/strapi 2023-08-07 21:37:52 +02:00
Piyush Gupta a3b46ee532 Merge branch 'main' of https://github.com/formbricks/formbricks into feature/delete-team 2023-08-08 00:59:37 +05:30
Matti Nannt a1a66ef6be Fix close-on-date pipeline not executed properly (#662)
* Fix github action closeOnDate pipeline

* remove prebuild turbo build
2023-08-07 19:54:23 +02:00
Matti Nannt 6a1b8106b7 Add prebuild as a build dependency (#661) 2023-08-07 18:15:28 +02:00
Matti Nannt 8b1a074e2c Update npm packages to latest minor version (#660) 2023-08-07 17:46:58 +02:00
Matti Nannt 57733a75fc Fix build error (#659) 2023-08-07 17:13:50 +02:00
Matti Nannt e5ef71ae87 Fix product service throwing validation error (#658) 2023-08-07 17:02:20 +02:00
Matti Nannt 89dae8f1d8 Simplify highlightBorderColor in product type (#657) 2023-08-07 16:50:24 +02:00
Anshuman Pandey 370041b0ae A highlight border can now be added to the in-product modal using the product settings (#610)
* feat: added logic for adding highlight border

* feat: adds highlight border color to js widget

* fix: fixes class issue

* fix: removes log

* fix: fixes db fields

* fix: fixes border color edit

* fix: fixes highlight border styles in demo app and preview

* fix migrations

* remove console.log

* fix build issues

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-07 16:14:55 +02:00
Johannes 34ff14d43b Fix: In app survey preview container size too high
Fix: In app survey preview container size too high
2023-08-07 16:00:25 +02:00
Pradumn Kumar b6c0dbf5d3 Close survey after x responses now needs to be set to a higher number than the number of current responses (#606)
* fix: fixes close survey on x response issue

* feat: updates

* chore: don't update _count

* chore: optimizations

* fix: fixes issue with not being able to enter a lower value at all

* update toast message

* add response count to toast

* only count completed responses

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-07 15:22:37 +02:00
Johannes 488e2801f0 Make template library searchable
Make template library searchable
2023-08-07 14:21:43 +02:00
Johannes ae7d0a4846 Add input field validation to rename product, team and name
Add input field validation to rename product, team and name
2023-08-07 14:17:59 +02:00
Dhruwang 7d3fa70fe2 Fix: broken preview 2023-08-07 17:09:29 +05:30
ShubhamPalriwala bb4052690e feat: link integrations page to webhook 2023-08-07 16:29:54 +05:30
ShubhamPalriwala e8a286bd4e feat: webhooks UI 2023-08-07 16:10:34 +05:30
Piyush Gupta 205593d8d3 added loading in transfer ownership CTA 2023-08-06 15:46:11 +05:30
Piyush Gupta 37afd004af refactor: used isOwner in delete team 2023-08-06 15:30:54 +05:30
Piyush Gupta ad86c4dbf4 fix: independent queries -> Txn 2023-08-06 15:17:08 +05:30
Piyush Gupta fb64eb50a2 Merge branch 'main' of https://github.com/formbricks/formbricks into feature/delete-team 2023-08-06 14:58:59 +05:30
Piyush Gupta 8d7eeb045b feat: added transfer ownership 2023-08-06 14:58:52 +05:30
Shubham Palriwala fdb1aa2299 Rewrite Person Detail Page to Server Components (#609)
* feat: migration /[personId] page to server side

* feat: decouple components in person page

* fix: ZDisplaysWithSurveyName now extends the ZDisplay type

* feat: drop custom service and use existing service for survey and response

* run pnpm format

* shift data fetching to component level but still server side

* rename event to action

* move special person services to activity service

* remove activityFeedItem type in ActivityFeed

* simplify TResponseWithSurvey

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-06 09:53:37 +02:00
Shubham Khunt df9ff011f7 fix:removed toast 2023-08-06 11:51:31 +05:30
Shubham Khunt e85d95a4eb fix:removed toast 2023-08-06 11:51:01 +05:30
Johannes 5c9605f4af Feature : Toggle Multi-Select and Single-Select Question Types
Feature : Toggle Multi-Select and Single-Select Question Types
2023-08-05 16:23:39 +02:00
Johannes de3d580614 Merge branch 'main' of github.com:formbricks/formbricks into toggle-multi-and-single-select 2023-08-05 15:29:39 +02:00
Johannes d780ae1e59 strapi setup working 2023-08-05 15:28:55 +02:00
Piyush Gupta ccb89548f0 feat: added leave team 2023-08-05 17:49:06 +05:30
Anshuman Pandey ad42f4cc55 Dramatically improve load times when creating a new team(#614)
* fix: attempts to reduce time taken to create team

* fix: fixes long time taken in team creation

* fix: refactors prisma logic

* feat: added logic for adding demo data while signing up

* fix: adds comment

* fix: adds another logic for adding demo data

* fix: adds service for adding demo data

* fix: fixes

* fix: adds demo product creation logic in next auth options

* fix: fixes next auth options

* fix: fixes team creation logic

* refactor: clean up

* fix: moves the logic for adding demo product while creating team in bg

* fix: moves individual queries in a transaction

* refactor: service

* fix: moves api route to app-dir

* fix: fixes api calls

* fix: fixes cache

* fix: removes unused code
2023-08-05 13:59:06 +02:00
Dhruwang 51dda67992 fixed invalid storedResponseValue issue 2023-08-05 15:08:34 +05:30
Dhruwang 0598ad2eaa Feat:Toggle Multi-Select and Single-Select Question Types 2023-08-05 12:39:48 +05:30
Meet Patel 44e48e3c3f Hide the clear button for input type search 2023-08-05 10:56:50 +05:30
Piyush Gupta 1551baeca7 merged with main 2023-08-05 09:33:58 +05:30
Piyush Gupta c3f26f7ab8 feat: added delete team functionality 2023-08-05 09:32:23 +05:30
Meet Patel e9e3de2ce8 Added 'type=search' and 'name=search' attributes to SearchBox in TemplateContainer 2023-08-04 22:22:42 +05:30
Meet Patel 34c4e9bc1a lucide search icon 2023-08-04 22:10:39 +05:30
Johannes c707896eb6 Fix Weekly: Remove N/A completion rate, exclude "completed" survey if has no submission in last 7 days
Fix Weekly: Remove N/A completion rate, exclude "completed" survey if has no submission in last 7 days
2023-08-04 04:19:40 -05:00
Johannes ee545b7ade remove N/A CR, exclude completed if has no submission 2023-08-04 09:51:49 +02:00
Johannes 7bf0fa450a Add structured data to blog articles, tweaked the SEO score of existing ones
Add structured data to blog articles, tweaked the SEO score of existing ones
2023-08-04 02:19:13 -05:00
Johannes 1a8618692a more metadata for articles 2023-08-03 20:28:38 +02:00
Matti Nannt e5f371476c Fix formatting of preview components (#646)
* Fix formatting of preview components

* update npm packages
2023-08-03 17:03:53 +02:00
Shubham Palriwala dba3677633 fix: documentation on create webhook had invalid body key and headers were not being showed as required (#643) 2023-08-03 13:48:31 +02:00
Anshuman Pandey 369c9ed7b2 fix: fixes survey link share modal and moble nav menu 2023-08-03 17:13:51 +05:30
Piyush Gupta 0776138c1c Merge branch 'main' of https://github.com/formbricks/formbricks into feature/delete-team 2023-08-02 23:40:30 +05:30
Matthias Nannt 235c1afe28 Fix formbricks-js labels not showing correctly with custom label styles 2023-08-02 16:59:57 +02:00
Meet Patel 17b9d686bd category button text & gap 2023-08-02 20:04:18 +05:30
github-actions[bot] 73904e11a6 Update formbricks-js to 1.0.2 (#640)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-02 16:12:39 +02:00
Meet Patel c423e43aee refined search for who completed onboarding 2023-08-02 19:39:38 +05:30
Matti Nannt a1b447caad Increase formbricks-js z-index to 999999 to increase compatibility with more websites (#639)
* Fix formbricks-js modal covered by other elements

* Fix wrong usage of prefix

* add changeset
2023-08-02 15:59:16 +02:00
Johannes 6b989487b2 Fix SEMRush SEO issues & move OSS friends to static
Fix SEMRush SEO issues & move OSS friends to static
2023-08-02 07:40:45 -05:00
Johannes d60e0c4e5c fix SEO issues and move OSS friends to static 2023-08-02 14:24:26 +02:00
Shubham Palriwala 2a3ab3280f Fix NEXTAUTH_SECRET not get filled correctly in deployment script (#632)
* feat: handle openssl producing special characters that were causing errrs for sed to read

* feat: use all variables in dockerfile from the sole env itself
2023-08-02 13:33:29 +02:00
Matti Nannt 5b217e5483 Update pnpm-lock to solve build issues (#636) 2023-08-02 13:20:03 +02:00
tyjkerr ec0d3f2fa2 Add Back Button to Surveys (#501)
* add back button, next with local storaage wip

* handle submission and skip submission logic

* handle showing stored value on same concurrent question type.

* remove console.log

* fix next button not showing, add saving answer on pressing back to local storage

* add temp props to QuestionCondition in preview modal

* add temp props to QuestionCondition in preview modal again...

* update navigation logic

* update survey question preview

* add back-button component

* add back button to formbricks/js

* refactor localStorage functions to lib

* remove unused import

* add form prefilling when reloading forms

* merge main into branch

* Revert "merge main into branch"

This reverts commit 13bc9c06ec.

* rename localStorage key answers->responses

* rename answers -> responses in linkSurvey lib

* when survey page reloaded jump to next question instead of current question

* rename getStoredAnswer -> getStoredResponse

* continue renaming

* continue renaming

* rename answerValue -> responseValue

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-08-02 13:08:20 +02:00
Johannes ae702ddd06 Add Twenty.com to OSS friends
Add Twenty.com to OSS friends
2023-08-02 04:34:19 -05:00
Johannes 91f78d875b Add Twenty.com to OSS friends 2023-08-02 04:34:00 -05:00
Johannes 08110b0c34 LP: Add OSS friends via API and update pricing wording
LP: Add OSS friends via API and update pricing wording
2023-08-02 03:59:31 -05:00
Johannes 42e6601f13 update fetch URL 2023-08-02 10:47:26 +02:00
Johannes a5c33981a0 update pricing wording, add OSS friends API 2023-08-02 10:29:06 +02:00
Johannes 1a90d1b7e8 Merge branch 'main' of github.com:formbricks/formbricks into lp/add-oss-friends 2023-08-02 09:57:03 +02:00
Meet Patel 712431e842 search box improved & default category set 2023-08-01 23:32:00 +05:30
Johannes 3905c2227e Patch: Close survey on date can be set to past
Patch: Close survey on date can be set to past
2023-08-01 03:33:37 -05:00
Meet Patel 86da5ff2f4 search improved & bg white & category disabled on search 2023-07-31 23:03:37 +05:30
github-actions[bot] fc0feda5e9 Release formbricks-js 1.0.1 (#625)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-31 16:44:56 +02:00
Matti Nannt 3d0d633bc8 Fix new Session event not triggered every time a new session is created (#624)
* Fix new Session event not triggered every time a new session is created

* make syncWithBackend method private
2023-07-31 16:40:21 +02:00
Matti Nannt d707e2e49e Remove ports from docker compose file in production script (#623) 2023-07-31 15:33:02 +02:00
Matti Nannt 288fc79366 Fix Authentication issues for Webhook API (#622) 2023-07-31 14:10:28 +02:00
Matti Nannt 000fcf8b02 Update npm dependencies (#621) 2023-07-31 12:49:05 +02:00
Matti Nannt 730f0ba1e9 Fix session creation endpoint throw unexpected error (#620)
* fix env variables in weekly summary action

* Fix session creation endpoint throw unexpected error
2023-07-31 11:59:21 +02:00
Meet Patel eed9b6635d two word case handled 2023-07-31 15:06:12 +05:30
Matti Nannt 38d3de2165 Add sentry error reporting (#619) 2023-07-31 10:26:59 +02:00
Matti Nannt 5d380a4986 Fix smileys in rating questions not showing in Safari Browser (#618) 2023-07-30 21:23:02 +02:00
Meet Patel 892a58c45e Merge branch 'main' into search-template-library 2023-07-30 23:00:33 +05:30
Meet Patel 4fb9851a6d searchbox component 2023-07-30 22:49:48 +05:30
Meet Patel 09c37d78a2 filter logic moved out side return 2023-07-29 11:21:56 +05:30
Meet Patel 6335565bf9 search works 2023-07-29 11:20:14 +05:30
Matti Nannt e32e47e272 Fix: Disable autoFocus when embedded with iframe (#615) 2023-07-28 21:08:45 +02:00
Moritz Rengert e864829a79 Fix: Logic Jumps stop working when options get renamed (#540)
* update logic values if multi select options change

* run pnpm format

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-28 20:21:26 +02:00
Dhruwang Jariwala b62a344e54 Update Webhook Documentation (#611)
* added webhook payload docs

* ran pnpm format

* update data.id explanation, reformat

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-28 10:41:21 +02:00
Shubham Palriwala 469590c2f6 Add Quickstart for self-hosting using automated Shell Script (#613)
* feat: poc

* merge: individual docker-compose files

* fix: nits

* feat: postgres now only accessible internally

* feat: emoji time

* cleanup: my commented commands

* better emoji and warning on domain name

* fix: better handling of docker check

* feat: follow principle of least privilege and remove excess sudo in commands

* feat: read machine name dynamically

* feat: documentation for prod script

* feat: remove custom networks in the docker compose

* cleanup: comments in script

* update emojis to fix spacing

* attempt: new groyp

* attemp: move new group command at end for the ability to parse vars

* feat: it all works without sudo yay

* feat: cleanup docs as suggested

* documentation: self hosting for prod script

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-26 16:12:33 +02:00
Matthias Nannt 5ae7f31d01 update pnpm lock 2023-07-25 16:14:00 +02:00
Matthias Nannt cb4cd706ad Merge branch 'main' of github.com:formbricks/formbricks into feat/close-date-edge-case 2023-07-25 16:00:05 +02:00
Dhruwang Jariwala a165143c2a Add Input Validation to the Survey Editor (#588)
* added validation to survey edit

* made refactors

* extracted validation rules into a single object and resolved draggable issue

* ran pnpm format

* fixed a validation bug

* fixed similar  validation bug in other component

* implemented default and specific validation

* made some code refactors

* handled case where a question is deleted

* instead of storing questionIdx now we are storing question id in invalidQuestions array && ran pnpm format

* removed unused comment

* run pnpm format

* made requested changes

* removed unused export

* add types to validation.ts

* run pnpm format

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-25 11:27:09 +02:00
Meet Patel 6b3f977d83 Store current Url in the responses meta data (#566)
* url add to link-survey

* fixed

* fixed

* fixed

* fixed

* ran pnpm format

* make url optional in response input to not break existing integrations

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-24 17:05:54 +02:00
Salim B f743fb18fb Fix Formatting in Docker Readme (#608)
Fix formatting
2023-07-24 10:57:14 +02:00
Piyush Gupta 1e816eb6d9 feat: added delete card and modal 2023-07-23 01:01:51 +05:30
Shubham Khunt 8c31c71251 fix: removed error toast 2023-07-22 19:27:53 +05:30
Shubham Khunt 62a08f304b padding issue fixed in delete dialog 2023-07-22 19:25:15 +05:30
Shubham Khunt 35057322a4 padding issue fixed in alert dialog 2023-07-22 19:25:14 +05:30
Shubham Khunt b1a93de8db fix: toast error message updated 2023-07-22 19:25:14 +05:30
Shubham Khunt aca32655cd fix: edit profile page input validation added 2023-07-22 19:25:14 +05:30
Shubham Khunt 8b14559d5f fix: Edit product page input validation completed 2023-07-22 19:25:14 +05:30
Shubham Khunt 43a623a61e fix: edit team page input validation added 2023-07-22 19:25:14 +05:30
Johannes 2f8257ae62 added new members 2023-07-22 13:41:15 +02:00
Johannes 8a5217b39c OSS Api 2023-07-22 13:26:33 +02:00
Piyush Gupta 57e6c86e6a refactor: summary header 2023-07-22 11:02:59 +05:30
Piyush Gupta 4519cb8a2d Merge branch 'main' of https://github.com/gupta-piyush19/formbricks into feat/close-date-edge-case 2023-07-21 20:38:22 +05:30
Moritz Rengert e5d06de68e Fix multiple NPS questions in one survey not working (#596)
* clear nps question on submit

* fix onboarding color picker

* update onChange to onClick for NPS Questions

* update border color

* remove console.log

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-21 17:00:29 +02:00
Matti Nannt 49f61e2eeb Fix pnpm go bug and format code (#605) 2023-07-21 16:58:48 +02:00
Yash Gupta 4763cf3217 Enhance Github Issue Templates for better usability (#594)
* feat: adds enhanced bug report github page and removes md version of it

* feat: adds enhanced feature request .yml github page and removes .md version of it

* refactor: makes the Desktop field as md editor on Bug Report Github Page

* refactor: converts the Environment field as checkbox on Bug Report Github Page
2023-07-21 16:48:44 +02:00
Matti Nannt b6a0d0fe5d Add OSS friends api endpoint (#604) 2023-07-21 16:44:41 +02:00
Matti Nannt 9be053d8a6 Fix: Add revalidation to surveys overview page (#601) 2023-07-21 15:19:29 +02:00
Matti Nannt 3a17c6b085 Fix errors in pnpm go script dependencies (#600) 2023-07-21 15:12:12 +02:00
Johannes 16b7e0d82a Improve Weekly Summary Email (#584)
* fix bugs in weekly

* fix CTA

* update bg color of completed badge
2023-07-20 16:33:01 +02:00
Johannes ae7075c746 Fix 404 when Email exists in GitHub Login
Fix 404 when Email exists in GitHub Login
2023-07-20 09:11:55 -05:00
Johannes 78ed48adeb fix error messages 2023-07-20 15:59:21 +02:00
Matti Nannt 03ba9ecb58 fix build error (#592) 2023-07-20 15:10:18 +02:00
Matti Nannt d360c1f741 Fix legacy sdk endpoints not working with new services (#591) 2023-07-20 14:44:58 +02:00
Johannes cf953db18f Refactor Survey Overview Page
Refactor Survey Overview Page
2023-07-20 06:35:36 -05:00
Johannes 7475df147d Move Stripe to a new account (#589) 2023-07-20 11:03:32 +02:00
Matti Nannt 06d620dbc8 Update docs for nextjs setup with app directory (#590) 2023-07-20 10:45:06 +02:00
Matthias Nannt feadefa90d clean up and move to new action -> service structure 2023-07-19 19:00:04 +02:00
Johannes 754832f097 Add Author Box to Blog articles
Add Author Box to Blog articles
2023-07-19 07:01:08 -05:00
Johannes dad8ebe8da update blog articles 2023-07-19 13:44:01 +02:00
Johannes df27b4703f add author box 2023-07-19 13:36:53 +02:00
Matthias Nannt e385638c14 merge latest changes from main 2023-07-19 13:35:03 +02:00
Johannes 8cacb2ccee Landing Page: Balance cal.com widget with Concierge Div, Update Concierge Offer
Landing Page: Balance cal.com widget with Concierge Div, Update Concierge Offer
2023-07-19 05:56:50 -05:00
Johannes 98a62949d5 update concierge offer 2023-07-19 12:52:43 +02:00
Matti Nannt dd6ac2e4cd Fix build errors and update contact to Formbricks GmbH (#585) 2023-07-19 12:50:19 +02:00
Matti Nannt c52df00d39 Fix Email Notifications (#583)
* Fix email notifications not working properly

* Fix response notification not working

* fix response meta schema

* fix typo in docs

* improve error message in webhooks
2023-07-19 12:30:31 +02:00
Ankur Datta 0c7c3c9ad2 [RM] getProductWithEnvironments 2023-07-19 10:10:49 +00:00
Ankur Datta 5612fbfa22 [RM] getSurveysWithResponseCount 2023-07-19 09:41:06 +00:00
Ankur Datta 186a4269a3 [CHANGE] make survey-list as server component 2023-07-19 07:29:18 +00:00
Shubham Palriwala 503e7649e2 Fix formbricks-js unit tests not working properly (#582) 2023-07-19 08:46:39 +02:00
ShubhamPalriwala e3b4ec4a9e fix: cal widget had an internal predefined margin causing it to be unabalanced with the concierge div 2023-07-19 00:59:52 +05:30
Piyush Gupta b20cda2d06 fix: removed today's date from closeOnDate date picker 2023-07-19 00:11:01 +05:30
Piyush Gupta 6e8be0c0bd fixed merge conflict 2023-07-18 19:40:01 +05:30
Piyush Gupta c68a9c8d15 fix: edge case of close on date 2023-07-18 19:38:03 +05:30
Johannes e23f26f48c Improve Responsiveness of LP
Improve Responsiveness of LP
2023-07-18 07:04:26 -05:00
Johannes 9e9fe5c09d update logos 2023-07-18 13:57:17 +02:00
ShubhamPalriwala 3bb4a34e4c fix: hero component padding for smaller screen & github div conditional horizontal margin 2023-07-18 17:15:18 +05:30
Matti Nannt 9fcc0a360c Fix Posthog environment variables not recognized in Frontend (#578)
* move posthog variable to client in t3env

* remove groups, add revalidation to action/attributes pages
2023-07-18 12:53:40 +02:00
Shubham Palriwala 3824d95151 Move Actions & Attributes pages over to server components (#495)
* feat: server rendering of event actions summary page & server actions

* chore: renaming event to action and minor refactoring

* fix: logging message

* delete: unnecessary file

* feat: migrate attributes overview page

* feat: impl grouped page & layout, logically differentiate attributes and actions

* pnpm format

* fix: logical addressing of dirs and minot bugs

* move: actionsAndAttributes navbar to dedicated dir from components

* fix: use server-only build-time checks and move actionsAttributes navbar

* revert: unnecessary docker compose changes

* resolve merge conflicts dynamically

* fix: address feedback comments

* use sparkles icon from heroicons

* fix updated action not updating in table

* remove async from client function due to warning

* move router.refresh in AddNoActionModal

* small rename

* feat: replace swr w server action in ActionSettingsTab

* replace custom error with ResourceNotFoundError error class

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-18 12:40:03 +02:00
Matti Nannt 5bfaad9484 Improve Folder Structure for App-wide Client-imports (#577)
* move posthog to new implementation

* update folder structure
2023-07-18 11:32:58 +02:00
Matti Nannt a5c8c1aa85 Update formbricks-js version in html docs (#576) 2023-07-18 09:12:33 +02:00
Johannes c92011b069 Improve UI for delete account functionality (#575) 2023-07-17 19:25:48 +02:00
Anshuman Pandey 856247763c Improve Tags UI/UX (#563)
* fix: fixes tag merging logic

* fix: moves tag merge logic into transactions

* update tags settings icon

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-07-17 19:24:08 +02:00
Matti Nannt 2199a4b102 Improve pnpm go command pipeline & remove database tsup setup (#574)
* move docker compose dev

* update all packages; pnpm format

* remove tsup from prisma

* add zod to prisma files

* delete tsup config

* improve pnpm go script, downgrade prettier

* update pnpm lock
2023-07-17 18:12:40 +02:00
Matti Nannt cd49d687ad fix weekly summary cron workflow (#568) 2023-07-17 09:30:03 +02:00
Johannes 2852bf617a Fix ordering dropdown + Other input field
Fix ordering dropdown + Other input field
2023-07-16 09:04:22 -05:00
Johannes 30623d5fd2 fix order dropdown, other field and UX tweaks 2023-07-16 15:51:46 +02:00
Johannes b673044890 Add Blog for v1 Release - How we got here
Add Blog for v1 Release - How we got here
2023-07-14 06:05:44 -05:00
Shubham Palriwala bf9189c1af fix: docker compose url for curl (#557) 2023-07-14 13:00:57 +02:00
Moritz Rengert e262006f7e Add Demo-Data to newly created teams (#521)
* create people and survey on team create

* create people and responses / displays

* drafting GPT input

* add attributeClass, eventClass and people

* fix link in person detail page

* fix email instead of uid

* added two surveys

* add events, 3 more surveys

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-07-14 12:55:41 +02:00
Johannes d44ea1f32d add v1 blog 2023-07-14 12:51:44 +02:00
Matti Nannt e24f6cd017 Improve documentation (#552)
* update nextjs app docs

* remove prisma extendedWhereUnique from schema

* change button titles in pricing table

* fix smaller bugs
2023-07-14 12:48:57 +02:00
Matthias Nannt c6a4b7731f merge latest changes, resolve conflict & build error 2023-07-14 11:05:00 +02:00
Johannes 62d2c1af18 improve filter ux, update summary header (#555) 2023-07-14 10:37:42 +02:00
Ankur Datta 2ea3d42ff6 [RM] logs 2023-07-14 07:43:24 +00:00
Ankur Datta e275553425 [ADD] loading-state, [HANDLE] imports 2023-07-14 07:24:43 +00:00
Nitesh Seram 1a83373099 Fix random 0 can appear in survey menubar (#553)
Co-authored-by: Seram Nitesh Singh <nitesh.s@auzmor.com>
2023-07-14 09:08:15 +02:00
Matti Nannt 94c11193e5 Fix changesets config (#551) 2023-07-13 20:44:29 +02:00
Matti Nannt 21529da799 Fix billing page not showing current plan (#550)
* update packages, fix error getting current subscription plan

* fix billing page not showing current plan

* add revalidation constant
2023-07-13 20:28:48 +02:00
Ankur Datta 701a7d9786 [REFACTOR] survey-overview-page 2023-07-13 17:54:21 +00:00
Ankur Datta 4410b14d0c [ADD] services 2023-07-13 17:53:48 +00:00
Ankur Datta cddbbc2be2 [ADD] server-actions 2023-07-13 17:53:09 +00:00
Ankur Datta 4fefa09ee8 [ADD] product-with-environment-type 2023-07-13 17:52:55 +00:00
Ankur Datta 09106188ba [FIX] zod-type 2023-07-13 17:52:18 +00:00
Matti Nannt 62c001cbee Update packages, Fix error getting current subscription plan (#549) 2023-07-13 18:23:31 +02:00
Shubham Palriwala adef4c8762 Add Public Docker Image and Build Pipeline using Github Actions (#546)
* feat: github action to build and push to dockerhub on release

* feat: docker repo and quickstart readmne

* fix: check for NEXTAUTH_SECRET in dockerfile before running

* fix: check for NEXTAUTH_SECRET as null or not

* add deployment guide

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-13 17:33:54 +02:00
Dhruwang Jariwala 5d66a8b8f4 Improve Page Titles (#470)
* added metadata template

* created layout file in [survedId]

* changed Link to  <a> for complete reload of individual survey

* added prop types for generateMetadata

* added page titles for sub pages

* Replaced survey title with Your Surveys

* fix layout metadata not working with latest changes to getAnalysisData()

* run pnpm format

* add new analysis folder for common layout

* fix conflicts

* add metadata to integrations page

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-13 16:52:49 +02:00
gitstart-formbricks ec80543a95 Add Filter-Functionality to Survey Analysis (#474)
* Extensive Filtering of Responses

* Delete .env

* fix scroll

* Delete .env

* add all-time date filter option

* increase filterOption max-width, update csv selection text

* fix consent question filter

* default onlyComplete to false

* move ResponseFilterContext to app dir

* show options when we switch surveys

* Delete empty .env file

---------

Co-authored-by: gitstart-formbricks <gitstart@users.noreply.github.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-13 16:28:18 +02:00
Johannes 1d5fab3665 Add Link Source Tracking for Weekly Summary Emails (#547)
* add UTM to links, update CTA button color in mails

* add tracking, update weekly + email layout
2023-07-13 16:22:50 +02:00
Shubhdeep Chhabra e21c2a45e0 Add option for random ordering of choices in multiple choice questions (#394)
* feat: added a option to set ordering of choices

* changed the parameter for random ordering and used Switch instead of Select

* added logic for shuffle

* added shuffleOption in zod schema and fixed some copy.

* run pnpm format

* make shuffleOption optional in zod to prevent errors in existing data

* made fixes as asked in peer review and ran pnpm format

* minor bug fixes

* Update env.mjs

* fix shuffleArray to not shuffle reference object

* update shuffle method

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-13 15:09:26 +02:00
Nitesh Seram 8ae8afec0d Fix long description overflow in questions (#466)
* Fix issue 427

* Address review comment

* jump back to top on long questions

* add to JS widget

---------

Co-authored-by: Seram Nitesh Singh <nitesh.s@auzmor.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2023-07-13 12:03:53 +02:00
Moritz Rengert dceb8842d3 Fix prevent duplicate team invite (#536)
* check for existing invites

* add success / error toast on invite

* add toast on member / invite removal
2023-07-13 11:58:30 +02:00
Moritz Rengert dc6ae088bf Fix allow invited users to signin/signup with Github (#534)
* pass inviteToken through github / google redirect url

* keep invite token when switching between signup and login
2023-07-13 11:54:47 +02:00
Johannes 257287cefc Fix owners should not be deleted from the team (#543) 2023-07-13 11:24:23 +02:00
Matti Nannt a4a771ba70 Fix multiple client-side errors in formbricks-js 2023-07-13 11:17:04 +02:00
Matti Nannt 8ea6016cf5 Sync surveys and events with formbricks-js automatically (#537)
* add first part of sync service

* add actionClasses to js sync

* fix errors, add product to sync

* rewrite formbricks-js for new states and types

* fix tests

* fix build errors

* add cors

* fix cors errors and other bugs

* comment test in checks until working again
2023-07-13 00:49:58 +02:00
Dhruwang Jariwala cfedd0f4b8 Add 'pnpm go' command for better DX (#538)
* added go script

* let turbo manage go command

* delete unused READMEs and update contribution docs

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-12 21:19:03 +02:00
Johannes dc25856b46 Add Integrations Page UI
Add Integrations Page UI
2023-07-12 12:25:37 -05:00
Johannes d4fe92ab07 Merge branch 'main' of github.com:formbricks/formbricks into feature/integrations 2023-07-12 19:14:49 +02:00
Johannes 194809758b Fix Permissions for Team Actions
Fix Permissions for Team Actions
2023-07-12 12:08:52 -05:00
moritzrengert a1a4972db3 allow admins to delete members 2023-07-12 18:36:41 +02:00
moritzrengert 5084fb6063 allow admins to change team name and delete team members 2023-07-12 17:58:23 +02:00
Johannes 8821fa2167 Fix Roadmap Template productName
Fix Roadmap Template productName
2023-07-12 08:21:44 -05:00
Johannes 64bbff56f7 add } to productName 2023-07-12 15:18:40 +02:00
Ankur Datta ec3a20b183 Move Templates Page to server components and new services (#488)
* [ADD] types

* [ADD] methods

* [Rearrange] with-server-component

* [FIX]server-methods,[ADD]preview-survey-server

* [FIX] zod-types-normalized

* pnpm format

* [FIX] build-error-due-to-cascade

* [RM] PreviewSurveyServer

* [TMP]

* [CHANGE] file-name-hack

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-12 12:44:19 +02:00
Matti Nannt 170ed85712 fix error while saving in-app surveys (#532) 2023-07-12 09:17:11 +02:00
Matti Nannt 1c58474dc2 Fix email notification not working (#531) 2023-07-11 22:52:17 +02:00
Dhruwang Jariwala 3f2ef3e776 Fix Logic Jumps are not updated properly when questions are updated or deleted (#530)
* modified updateQuestion functio

* added type defs

* pnpm format

* fix LogicEditor fields not updating properly

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-11 18:45:54 +02:00
Johannes 83b94de977 Add Zapier Tutorial to Docs
Add Zapier Tutorial to Docs
2023-07-11 11:20:58 -05:00
Johannes 3a1a385b41 update API key page + changes 2023-07-11 18:18:31 +02:00
Johannes c99da3165b Improve UI/UX of Response Settings (#529) 2023-07-11 17:49:32 +02:00
Johannes b1f7e03995 remove subpages, add Zapier link 2023-07-11 16:46:26 +02:00
Johannes 69809bafa4 Merge branch 'main' of github.com:formbricks/formbricks into feature/integrations 2023-07-11 16:02:04 +02:00
Matthias Nannt c1b1fa61b6 add link & fix typos 2023-07-11 15:18:42 +02:00
Johannes f1a297f5e8 Merge branch 'docs/add-zapier' of github.com:formbricks/formbricks into docs/add-zapier 2023-07-11 14:13:48 +02:00
Johannes bcf11a37fa Merge branch 'main' of github.com:formbricks/formbricks into docs/add-zapier 2023-07-11 14:13:24 +02:00
Johannes 7333bb604d add zapier, add docs links opening in new tab 2023-07-11 14:09:23 +02:00
Johannes 1101d1f268 add zapier, add docs links opening in new tab 2023-07-11 14:06:48 +02:00
Matti Nannt 7dd67e4633 Fix duplicated closeOnDate in survey service (#525)
* Remove duplicated closeOnDate

* regenerate pnpm-lock
2023-07-11 13:21:14 +02:00
Pradumn Kumar 57a64d7940 Survey Completed message shown to the enduser can now be customized (#464)
* 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>
2023-07-11 13:12:45 +02:00
gitstart-formbricks 269a504780 Fix typo in product name replace in template (#520)
* fix product name typo in template

* revert unwanted change.

---------

Co-authored-by: gitstart-formbricks <gitstart@users.noreply.github.com>
2023-07-11 12:49:58 +02:00
Piyush Gupta c8c84d0148 Add close on date functionality for surveys (#463)
* added date-picker

* added state and handlers for closeOnDate

* closeDate -> closeOnDate

* added endpoint for CRON to close surveys

* resolved migrations

* fixed datetime format

* removed warnings

* PR review changes

* resolved merge conflicts and package update

* add github workflow for cron

* change migration order

* change migration order

* add zod types for closeOnDate

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-11 12:47:35 +02:00
Johannes af1b29f8bc Improve QuestionID UX by updating onBlur (#523)
* change questionId on blur, fix placeholder

* fix build error

* fix UX issues
2023-07-11 12:29:50 +02:00
Johannes 4908bc77bd New Hero Graphic for Landing Page
New Hero Graphic for Landing Page
2023-07-11 03:37:11 -05:00
Johannes 20ec66481b update graphic and copy 2023-07-11 10:32:33 +02:00
Moritz Rengert c912ebd42a Fix expired member invites are not displayed properly (#475)
* add expiresAt prop to members call

* add expired badge in addition to pending in members list

* check for expired on invite link

* fix type error

* update invite expired message

* remove console.log

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-11 10:14:58 +02:00
Moritz Rengert 1b0327edd4 Allow questionId to be changed for newly added questions (#476)
* 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>
2023-07-11 10:07:19 +02:00
tyjkerr ce8a8df091 Fix summary showing NaN values when adding new Consent or CTA question (#518) 2023-07-11 09:54:59 +02:00
Matti Nannt 7be6879afb add SurveyId filter option to responses endpoint (#517) 2023-07-10 17:03:36 +02:00
Matti Nannt 04ec0a6827 Extend Webhook with surveyIds filter (#512)
* add surveyIds filter to webhooks. Use triggers array instead of single trigger

* include webhook id in webhook payload

* run pnpm format
2023-07-10 16:24:03 +02:00
Johannes 62ed0a7945 Update suffix of next.config in Dockerfile
fix next config suffix
2023-07-10 05:07:41 -05:00
Johannes fc0dfec151 fix next config suffix 2023-07-10 12:06:27 +02:00
Matti Nannt fe55a152ea add .env file to checks workflow (#508)
* add .env file to checks workflow

* update .env.example comment
2023-07-10 10:59:17 +02:00
Matti Nannt 31ccb9d43f Add new Surveys endpoint to list all surveys of an account (#500) 2023-07-10 10:44:37 +02:00
Johannes f4237e3121 Merge pull request #493 from Dhruwang/Validation-for-Reset-Password
Add validation to password reset page, improve UX
2023-07-10 03:09:53 -05:00
Johannes bd9b77cd9d add loading states, clarify naming 2023-07-10 10:02:35 +02:00
Johannes 70c809586c Merge branch 'main' of github.com:formbricks/formbricks into Validation-for-Reset-Password 2023-07-10 09:45:29 +02:00
Johannes 60f723d3cc Merge pull request #489 from Meetcpatel/questionid-space
Looks great, thanks for your contribution! :) 🙌
2023-07-10 02:38:27 -05:00
Matti Nannt 95eeaecafc Add empty string dataproxy env (#506)
'
2023-07-09 18:33:06 +02:00
Matti Nannt 484da80e4c Fix Zod Schema for PRISMA_GENERATE_DATAPROXY env variable (#505) 2023-07-09 18:19:49 +02:00
Moritz Rengert 25f6ccc0a0 Fix other field not working properly in multiple choice question (#502) 2023-07-09 17:30:27 +02:00
Matti Nannt 4017a5c4f9 Add t3 env for env validation (#498)
* add t3 env for env validation

* fix env variables that should be optional

* update gitignore

* add vercel ignore
2023-07-07 15:58:15 +02:00
Johannes ffb9fd659f Merge pull request #497 from formbricks/lp/fix-landing
fix lp & update blog
2023-07-07 07:04:11 -05:00
Johannes 40dfea070c fix lp & update blog 2023-07-07 13:54:16 +02:00
Johannes ec1f940d48 Merge pull request #496 from formbricks/lp/add-github-blog
Add GitHub Acc blog post, update lp
2023-07-07 06:18:29 -05:00
Johannes 749fdd684a fix build error 2023-07-07 13:07:43 +02:00
Subhodip Roy 60c96fe3f9 Build Display service and rebuild display endpoint in app directory (#432)
* 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>
2023-07-07 12:28:47 +02:00
Johannes 81ea563dbc update lp, add blog post 2023-07-07 12:14:57 +02:00
Meet Patel 4cc085cecf questionid can not be empty 2023-07-06 21:46:31 +05:30
Johannes 561afcc8fb Merge pull request #478 from gupta-piyush19/feature/consent-prefill-added
feat: Added prefill for consent question type and fixed the loader bug
2023-07-06 10:11:52 -05:00
Bhaskar Singh 9e9db7103e Add Weekly Summary Feature (Beta) (#431)
* 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>
2023-07-06 15:47:33 +02:00
Matti Nannt 896e91a38b add product information to api/v1/me endpoint (#494) 2023-07-06 14:36:39 +02:00
Dhruwang 8283a7d2ed restored a css class 2023-07-06 17:08:40 +05:30
Dhruwang 08fe6b0ad8 changed id name to previous one 2023-07-06 16:23:08 +05:30
Dhruwang 8eae9fc846 resolved empty password field issue 2023-07-06 16:18:40 +05:30
Dhruwang 5ae6130e89 added password validation in reset password form 2023-07-06 16:17:30 +05:30
Matti Nannt 47b9867f28 Fix autoComplete survey schema validation (#491) 2023-07-06 11:58:16 +02:00
Shubham Palriwala 8585cb8c7c Add Timestamps to person model (#490) 2023-07-06 10:26:53 +02:00
Meet Patel 82bcc0ae7e space not allowed in questionid input 2023-07-05 20:41:48 +05:30
Matti Nannt 33811f9349 Improve Authorization Checks in Layout (#487) 2023-07-05 16:01:45 +02:00
Matti Nannt 4e1d905c9e Fix people service loading time (#485)
* Fix people service loading time

* run pnpm format
2023-07-05 15:19:54 +02:00
Johannes e840816567 Merge pull request #484 from joe-shajan/fix_user_email
too easy for you ;) Thanks!! 🙌 🙌 🙌
2023-07-05 06:47:10 -05:00
Shubham Palriwala dbec5426b2 Move people page to server components (#479)
* 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>
2023-07-05 13:06:37 +02:00
joe-shajan 5162a84246 fix: display user email in responses 2023-07-05 16:24:34 +05:30
Johannes 419b9d0b90 Add Link Prefilling, UserId Prefilling and Nextjs App Dir Setup to Docs (#480)
* fix EventClassesList table

* doc update

* update docs

* update nextjs docs

* update prefilling docs with url encoding

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-05 12:45:28 +02:00
Moritz Rengert 183ce34cad Fix Consent Question Summary not displayed (#482)
* enable consent summary

* fix type error

* fix Consent Summary to use dismissed instead of skipped and move to Server Component

* change Skipped to Dismissed in UI

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-05 09:43:11 +02:00
Matti Nannt a9f4d4e28b Dev Experience Performance Improvements (#481)
* 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
2023-07-04 20:54:41 +02:00
Piyush Gupta 751d729242 feat: Added prefill for consent question type and fixed the loader bug 2023-07-04 13:54:40 +05:30
Johannes c8c6d922c3 zapier subpage 2023-07-03 16:14:31 +02:00
Johannes dbe9a9aa02 Merge branch 'main' of github.com:formbricks/formbricks into feature/integrations 2023-07-03 15:55:39 +02:00
Johannes 175736bb4b Merge pull request #472 from formbricks/lp/remove-github
remove GitHub Deal
2023-07-03 07:58:25 -05:00
Johannes d3724fa9fc remove GitHub Deal 2023-07-03 14:52:32 +02:00
Matti Nannt db0b673965 Fix formatting issues (#471) 2023-07-03 11:37:08 +02:00
Johannes fadd56102b Merge pull request #469 from formbricks/jobenjada-patch-1
fix images
2023-07-03 04:08:21 -05:00
Johannes f38c897e2a fix images 2023-07-03 04:08:09 -05:00
Johannes 70ac575fcf Merge pull request #468 from formbricks/jobenjada-patch-1
Add dark mode images
2023-07-03 04:03:08 -05:00
Johannes c1815007d1 Add dark mode images 2023-07-03 04:02:59 -05:00
Johannes 8188b85335 Merge pull request #467 from formbricks/jobenjada-patch-1
Update images in ReadMe
2023-07-03 03:57:22 -05:00
Johannes 00a4919b5a Update images in ReadMe 2023-07-03 03:56:32 -05:00
Johannes 81b4624649 Add Feedback Box to Formbricks Cloud (#461)
* add feedback box

* only show product feedback on cloud

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-07-03 10:15:13 +02:00
Johannes 69c332a435 Merge pull request #462 from formbricks/fix/fix-readme-for-dev-setup
fix README.md for dev setup
2023-07-03 02:18:31 -05:00
Matti Nannt 73a2b077e5 add response poll endpoint for zapier (#465)
* add response poll endpoint for zapier

* fix internal server error with incorrect api key
2023-07-02 22:32:20 +02:00
Timothy Krechel f4349d348a fix README.md for dev setup 2023-07-02 12:29:48 +02:00
Johannes 95f588d5d1 update link and ui 2023-06-30 18:47:01 +02:00
Johannes fb909938f9 Merge pull request #460 from formbricks/fix/response-options
Fix/response options
2023-06-30 10:57:57 -05:00
Anshuman Pandey 46b7183161 Improve Tag feature with better error handling and animations (#449)
* 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
2023-06-30 17:40:25 +02:00
Johannes 4610a46b5b Merge branch 'main' of github.com:formbricks/formbricks into fix/response-options 2023-06-30 17:24:50 +02:00
Matti Nannt f7aea59f80 fix error during onboarding when environment not fully loaded (#459) 2023-06-30 17:22:19 +02:00
Johannes 31e4965355 Merge branch 'main' of github.com:formbricks/formbricks into fix/response-options 2023-06-30 17:16:30 +02:00
Johannes b86f837e78 fix response card not visible 2023-06-30 17:12:59 +02:00
tyjkerr 1d76365f04 Add Option to Display Invite Link in Team Settings (#452)
* add share link feature

* add grid-cols-20 in tailwind.config

* update edit members section styles

* Check for valid inviteId when sharing invite
2023-06-30 17:05:05 +02:00
Matti Nannt aa80eb5d96 Fix Widget Position not working in Preview (#458)
* update tailwindconfig to fix widget in preview

* remove prisma studio from database package scripts
2023-06-30 16:46:53 +02:00
Shubham Palriwala d67858e2ea Add tests to formbricks-js (#399)
* 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>
2023-06-30 16:29:38 +02:00
Moritz Rengert 888d10434a Add option ask for short answers in Open Text questions (#435)
* feat: add shortAnswer: boolean to OpenTextQuestion interface

* feat: add longAnswer switch to OpenTextForm

* toggle textare lines depending on question.shortAnswer

* fix type build error

* move long answer switch to baseline

* adjust spacing between switches

* rename shortAnswer -> longAnswer, change textarea to input field

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-30 12:10:48 +02:00
Johannes 5dc9dfdb3d Update feature_request.md (#450)
added "How we code"
2023-06-29 16:33:06 +02:00
Johannes 06817aa8bc Update PULL_REQUEST_TEMPLATE.md (#451)
added two bullets to PR template
2023-06-29 16:31:47 +02:00
Moritz Rengert 2205d98aeb Add new Consent Question Type (#342)
* feat: add consent to questionTypes and types

* feat: add default values to consent question

* feat: add consent question form

* feat: add consent question to preview / link survey

* fix: clean consent question html

* feat: add consent question to js package

* feat: add consent to summary list

* fix build errors

* fix: remove skip button, add button label input

* feat: add checked logic option

* fix: add accepted option

* update consent form to match new advanced settings layout

* remove console.log

* hide accepted condition if consent is required

* fix build errors

* update consent question return values

* remove console.log

* renamed submitted to clicked in CTA logic, removed submitted condition for consent questions

* remove logs display from demo;

* remove logs display from demo;

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-29 16:31:05 +02:00
Johannes fa785fcafb Merge pull request #448 from PeerRich/patch-2
added contact link to readme
2023-06-29 09:04:53 -05:00
Peer Richelsen 1892b6df40 added contact link to readme 2023-06-28 20:14:04 +02:00
Matti Nannt ef0c621e5e fix necessary hard reload on responses summary and list (#447) 2023-06-28 16:45:30 +02:00
Matti Nannt 4f12886bfc Fix userId prefilling not working properly (#446) 2023-06-28 15:35:41 +02:00
Moritz Rengert 8c838bc25c feature/position in app modal (#440)
* 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>
2023-06-28 15:25:58 +02:00
Johannes 5bb1a0678a Merge pull request #445 from formbricks/lp/forward-deal
forward /deal
2023-06-28 07:56:15 -05:00
Johannes e1f81636a3 forward /deal 2023-06-28 14:49:13 +02:00
Matti Nannt 9cc836a775 Clean up + Bugfixes (#443)
* format code

* fix building issue in database package

* update turbo config and package jsons

* update error package with more information and license

* fix typescript issues in ui package

* update package-lock

* update packages

* clean dependencies in web

* clean up dependencies in demo & formbricks-com

* remove unsused template file

* remove legacy capture endpoint

* remove unfinished client endpoints

* clean up unused functions

* fix formbricks not loading on invalid session

* update readme
2023-06-28 13:07:51 +02:00
Johannes 9d1d0576a2 Merge pull request #444 from formbricks/lp/fix-booking
Lp/fix booking
2023-06-28 06:05:36 -05:00
Johannes 454cc01629 fix build errors 2023-06-28 12:54:34 +02:00
Johannes a296caa3c0 fix cal, update github icon 2023-06-28 12:51:45 +02:00
Johannes f0eb8289c1 Merge pull request #442 from formbricks/lp/concierge
Add Concierge Page to Landing Page
2023-06-28 05:36:12 -05:00
Johannes f93e2b9ace Merge branch 'main' of github.com:formbricks/formbricks into lp/concierge 2023-06-28 12:28:07 +02:00
Johannes 0187b0e61e update concierge page 2023-06-27 11:57:35 +02:00
Johannes 252859298b add concierge page 2023-06-27 11:24:35 +02:00
Zorig daf030b183 Add option to connect a Linksurvey with a userId (#430)
* feat: identify users in link surveys #384

* fix: identify users in link surveys formbricks#384 PR feedback

* relocate endpoint, add check for preview=true

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-27 10:01:47 +02:00
Johannes 87a0eb0a04 Merge pull request #441 from formbricks/lp-remove-early-bird
remove early bird deal
2023-06-26 11:22:11 -05:00
Johannes a2a47f433c remove early bird 2023-06-26 18:15:19 +02:00
Matthias Nannt 59481a7f5b add js integration 2023-06-26 16:55:32 +02:00
Matti Nannt ff001e7ea1 Update formbricks-js to 0.1.22 (#438) 2023-06-26 16:07:44 +02:00
Dhruwang Jariwala 38021d2026 Add password requirements and password validation (#412)
* resolved

* made changes

* made submit button disabled on failing password checks

* removed submitted state and fixed typos

* redactored IsPasswordValid Component

* removed cursor-pointer from XCircleIcon

* added PasswordInput component

* made some refactors in PasswordInput component

* made eye icon lighter

* removed unsed code

* fix infinite state updates

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-26 14:43:50 +02:00
Matti Nannt f1cc434e49 add missing migration (#437) 2023-06-26 13:36:16 +02:00
Dhruwang Jariwala 8a7b16effc Add option to redirect after completed link survey (#408)
* completed

* resolved migration error

* added redirect timer and url check

* rename redirectLink to redirectUrl

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-26 13:30:02 +02:00
Nafees Nazik 55c1e354fc Add user agent as meta data to responses (#398)
* chore: add ua parser

* feat: add user agent to meta

* feat: parse ua

* feat: add tooltip

* fix: type

* fix: empty tooltip

* fix: typo

* add simple formatting to tooltip text

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-26 11:42:42 +02:00
Matti Nannt c853f8db2c fix deleted responses still shown in frontend (#436) 2023-06-26 09:25:36 +02:00
Matti Nannt 8486e516b6 Move Summary & responses page over to serverside data-retrieval (#433)
* 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
2023-06-25 17:26:17 +02:00
Anshuman Pandey 2e662f98b9 Add tagging functionality to responses (#426)
* 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>
2023-06-25 15:43:54 +02:00
Ashutosh Bhadauriya 7ed24c9f49 Add 50% Scroll & Exit Attempt Automatic events to trigger surveys (#393)
* 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
2023-06-23 12:17:37 +02:00
Ankur Datta c224e7995d Add option to copy surveys to other environments (#392)
* Add option to copy surveys to other environments

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-23 11:48:28 +02:00
Johannes a1bbe5c5fb Merge pull request #428 from formbricks/remove-career
remove careers page, update remaining CTAs
2023-06-22 09:40:27 -05:00
Johannes 5b34304cfc fix build error 2023-06-22 16:30:36 +02:00
Johannes e15309a080 remove careers page, update remaining CTAs 2023-06-22 16:04:07 +02:00
Joe 25b84102a7 Check for unsaved changes in Survey Editor before changing pages (#409)
* fix: remove environmentsNavbar on survey editor

* objects deep comparision utility function

* feat: confirm on window reload or close

* feat: confirm save on back

* feat: custom alert dialog

* remove radixui alert dialog

* replaced shadcn alert with new custom alert dialog

* fix: save button varient to darkCTA

* fix: moved beforeunload logic to surveymenubar

* fix: remove deepequal function

* installed lodash

* fix: survey not comparing on change

* fix: isqual import
2023-06-22 08:44:04 +02:00
Pradumn Kumar 6922b3ed3f Add snapshot of user attributes to a response (#403)
* 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>
2023-06-21 13:02:55 +02:00
Nitesh Seram 08717cd396 Add NEXT_PUBLIC_INVITE_DISABLED env variable to disable invite functionality (#373)
* Add env variable to check for team invite

* Check for only public invite env for invite

* Disable Add Member and block the invite API

* Change the invite disabled condition

* Update the condition for env variable

---------

Co-authored-by: Seram Nitesh Singh <nitesh.s@auzmor.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-21 11:53:37 +02:00
Ankur Datta 8cfc1878fb Add iFrame Embed Option for Link Surveys (#414)
* add-embed-share-survey

* rm-use-client

* [FIX] responsive-iframe-embed
2023-06-21 10:56:35 +02:00
Matti Nannt 7ef7c39c31 Fix Zod Survey Types to represent current logic jumps (#424)
* fix survey zod types to represent question based logic jumps
2023-06-20 23:30:51 +02:00
Matti Nannt db697a485e Make prisma call in survey service specific to avoid model conflicts (#423)
* make prisma call in survey service specific to avoid model conflicts

* make zod survey schema more readable by using enums
2023-06-20 22:31:47 +02:00
Matti Nannt 455e0779a5 fix compatibility issue with new pnpm version (#421) 2023-06-20 17:09:19 +02:00
Piyush Gupta 51e4221f33 Add QuestionType enum in place of strings (#420) 2023-06-20 16:32:03 +02:00
Francois Disubi 8f1b7ae83a Add Delete Account functionality (#363)
* 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
2023-06-20 14:33:14 +02:00
Neil Chauhan 27023eacf8 Add roles to users you invite to your team (#404)
* Add method to check if user is admin or owner

* Add method to enable role based member invites

* Add Select Control element to UI to handle role based invite

* Add flag to allow add member feature for owner or admin level users only

* Fix error with role select element

* Add UI view to modify membership

* Add RoleElement component to handle the Role display

* Integrate api for Updating Accepted Member Role

* Integrate api for Updating Invitee's Role

* Resolve PR comments and merge conflicts
2023-06-20 12:21:25 +02:00
Matti Nannt 4348c905f0 improve delete product dialog, send error toast on failed request (#419) 2023-06-20 11:33:27 +02:00
Johannes aa52808bd2 Merge pull request #417 from formbricks/fix-demo-responsiveness
fix responsiveness of demo app
2023-06-20 03:23:08 -05:00
Johannes 033d4cb54a fix responsiveness 2023-06-20 10:08:03 +02:00
Matti Nannt 8f55b73c08 Format code according to prettier rules in all files (#406) 2023-06-19 13:01:20 +02:00
Surendhar 495b53e98f Add ability to mark survey as completed after x responses (#395)
* mark survey as completed after x responses
2023-06-19 12:56:07 +02:00
Joe e64d2b9ac1 Add active & inactive surveys to attribute details view (#400) 2023-06-19 09:26:40 +02:00
Matti Nannt ce5410a3f9 Update pnpm lock file to fix Docker build issues (#405) 2023-06-18 20:12:26 +02:00
Piyush Gupta 51c39116d0 Add URL prefilling option for the first question (#376)
Add URL prefilling option for the first question using URL search parameters
2023-06-18 13:36:31 +02:00
Johannes 117823a6f7 Merge pull request #380 from joe-shajan/preserve_nav_scroll
Fix: Preserve docs nav scroll position
2023-06-16 13:40:51 -05:00
Matti Nannt e6f6e2296f fix email notifications display empty responses, fix webhook data format (#383) 2023-06-16 11:49:09 +02:00
Matti Nannt 2f65c8d011 Close Icon not showing on mobile in formbricks-js (#382)
* fix close icon not showing on mobile
* remove whitespaces in preview
2023-06-16 10:53:55 +02:00
Matti Nannt 9393cab76f add megaprompt (#381) 2023-06-16 10:39:36 +02:00
joe-shajan b1fa0fefe9 fix: preserve docs nav scroll position 2023-06-16 01:00:11 +05:30
Johannes cfacd1a63e Merge pull request #377 from Ashutosh-Bhadauriya/enhancement/add-save-button
Enhance: Add save button in deleteDialogue when creating survey
2023-06-15 11:18:21 -05:00
Ashutosh-Bhadauriya 306bf622c6 Merge branch 'main' of https://github.com/Ashutosh-Bhadauriya/formbricks into enhancement/add-save-button 2023-06-15 20:12:57 +05:30
Matti Nannt fc66e16653 fix build errors (#379) 2023-06-15 16:35:25 +02:00
Ashutosh-Bhadauriya 6ff3371ed1 Merge branch 'main' of https://github.com/Ashutosh-Bhadauriya/formbricks into enhancement/add-save-button 2023-06-15 19:56:59 +05:30
Ashutosh-Bhadauriya 427406e9eb Enhance: add save button in delete dialog and let the user go back after saving 2023-06-15 19:15:28 +05:30
Johannes 00acdf58f1 Merge pull request #375 from formbricks/feature/FOR-772
Add Data Service for Responses, Webhooks, Surveys & Api Keys
2023-06-15 08:39:02 -05:00
Johannes f4bb54c79c Merge branch 'main' of github.com:formbricks/formbricks into feature/FOR-772 2023-06-15 14:01:14 +02:00
Anshuman Pandey 66891318a1 Add CSV Export (#371)
* add CSV export feature to responses page
2023-06-15 13:58:03 +02:00
Johannes 478a981996 Improve Dev-Experience with a new Demo-App to test the SDK (#372)
* update demo app with new UI

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-15 09:53:56 +02:00
Johannes f713591083 Merge pull request #374 from Ashutosh-Bhadauriya/feat/add-user-roles
Feat: Add a column to add user roles and added useMemo in attributeclassesList
2023-06-14 11:25:23 -05:00
Matthias Nannt 1334e7a3f9 fix bug creating responses, improve error handling in survey service 2023-06-14 17:55:04 +02:00
Matthias Nannt a5e426109b Merge branch 'main' of github.com:formbricks/formbricks into feature/FOR-772 2023-06-14 17:23:53 +02:00
Ashutosh-Bhadauriya 7554ab4d97 Feat: Add a column to add user roles 2023-06-14 20:52:47 +05:30
Matthias Nannt 1ef49f6fae rewrite single response client endpoint with new error classes to minimize prisma calls 2023-06-14 17:19:31 +02:00
Matthias Nannt b7f72fe111 update services with new error classes, update responses endpoint with new error classes and the right response codes 2023-06-14 17:08:02 +02:00
Matti Nannt bbec1c9066 fix build errors in docker container (#370) 2023-06-14 14:49:50 +02:00
Matthias Nannt 0feaadcbc9 add new error classes, add types and services for api keys, use new error classes in webhook api 2023-06-13 15:07:15 +02:00
Johannes a6f3bb8f87 Merge pull request #367 from formbricks/patch/note-height
update note height and fix multiple choice zod
2023-06-13 06:28:45 -05:00
Johannes a4274da003 update note height and fix multiple choice zod 2023-06-13 13:25:24 +02:00
Johannes eb1f4b0f0d Merge pull request #365 from Ashutosh-Bhadauriya/feat/add-attribute-archive
Feature: Add ability to archive attributes
2023-06-13 06:05:28 -05:00
Ashutosh-Bhadauriya c5be453563 Increase badge margin and change button variant 2023-06-13 16:29:02 +05:30
Matti Nannt c16708d12a Update webhook overview doc with more usage information (#366) 2023-06-13 12:16:26 +02:00
Ashutosh-Bhadauriya 46fadf9df0 Feat: Add ability to archive attributes 2023-06-13 15:16:57 +05:30
Johannes 7c53fa34f4 Merge pull request #344 from formbricks/FBRICKS-332
[FEATURE] Add a note to responses
2023-06-13 04:35:12 -05:00
Johannes 52a8d7beef increase width 2023-06-13 11:26:01 +02:00
Matti Nannt 842cb34942 Add Webhooks (#364) 2023-06-13 11:22:46 +02:00
Johannes 08038f292b Merge branch 'main' of github.com:formbricks/formbricks into FBRICKS-332 2023-06-13 11:20:46 +02:00
Johannes 424a2f1a69 tweak UI 2023-06-13 11:14:01 +02:00
Johannes c1b1f6cacb Merge branch 'main' of github.com:formbricks/formbricks into FBRICKS-332 2023-06-13 09:42:18 +02:00
Matti Nannt 97263a66cc Add new client endpoints & webhook functionality (#355)
* add new zod schema for responses
* add new client endpoints for responses
* add services for responses and surveys
* add new responses model to webhooks & email

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-06-12 19:51:13 +02:00
Johannes 85c3069155 Merge pull request #353 from formbricks/patch/add-overflow-to-survey
[ENHANCEMENT] Add scrolling to select question when too man options are added
2023-06-12 11:23:11 -05:00
Johannes b6e99274fe Merge branch 'patch/add-overflow-to-survey' of github.com:formbricks/formbricks into patch/add-overflow-to-survey 2023-06-12 18:16:35 +02:00
Johannes 2278fc1477 fix survey layout 2023-06-12 18:15:26 +02:00
Johannes 26e2be43bc fix survey layout 2023-06-12 18:12:11 +02:00
Johannes 583dc7af2b remove chevron 2023-06-12 17:35:36 +02:00
Johannes c6702cecb8 fix standalone links 2023-06-12 17:22:32 +02:00
Matthias Nannt 995de207fb update responseNotes lib to plural wording 2023-06-12 14:37:37 +02:00
Johannes d970c121a5 fix single question 2023-06-12 13:59:37 +02:00
Johannes 369379e539 Merge branch 'main' of github.com:formbricks/formbricks into patch/add-overflow-to-survey 2023-06-12 13:57:47 +02:00
gitstart-formbricks 62e47507cd show response note by default 2023-06-12 11:54:07 +00:00
gitstart-formbricks 8c87957911 Merge commit '03e83caeb7bedbf38f1c01d404a9772a73f2187e' into FBRICKS-332 2023-06-12 11:53:59 +00:00
Johannes 51621dcaff add scroll indicator on iPhone 2023-06-12 13:50:59 +02:00
Johannes 03e83caeb7 Merge pull request #351 from Ashutosh-Bhadauriya/enhance/question-card-ui
Great work @Ashutosh-Bhadauriya - thanks! 🥳
2023-06-12 03:54:48 -05:00
AshutoshBhadauriya f312783670 Remove logiceditor import 2023-06-12 14:23:28 +05:30
Matti Nannt ef70e7363f Fix responsiveness issue for long questions FOR-760 (#358) 2023-06-12 09:41:05 +02:00
AshutoshBhadauriya b3ab0ad12e Minor fixes 2023-06-10 13:54:46 +05:30
gitstart-formbricks 1e3204e063 align icons 2023-06-09 18:26:23 +00:00
gitstart-formbricks 855fd87dba Update styles 2023-06-09 16:55:41 +00:00
gitstart-formbricks 7b6b1b9edb update styles 2023-06-09 16:46:01 +00:00
gitstart-formbricks a53e67ac7d Merge commit 'ba1a17578f91bae58a938936d120883a38ed34e3' into FBRICKS-332 2023-06-09 16:45:53 +00:00
AshutoshBhadauriya e54d8f42fb Fix description 2023-06-09 21:34:21 +05:30
Johannes ba1a17578f fix autoFocus in FreeText standalone (#354) 2023-06-09 17:08:32 +02:00
AshutoshBhadauriya ac83286b27 Fix: all the changes suggested in the issue 2023-06-09 20:31:21 +05:30
Matti Nannt 1243017718 Include formbricks-api into formbricks-js (#352)
* remove debug loglevel from formbricks usage;

* remove license fields from internal packages

* improve package descriptions, add logger message for survey delay

* include formbricks api into formbricks js

* make formbricks errors package private

* update formbricks-js dependencies to include formbricks-api

* update formbricks-js to 0.1.20
2023-06-09 15:10:01 +02:00
Johannes 93c66c0caf Update Notification Email Subject (#350)
* update email noti subject

* add improvement to PR template
2023-06-09 15:02:57 +02:00
Johannes 5180fa8608 add scroll to js package 2023-06-09 14:44:46 +02:00
Johannes 92787722f0 add scroll to select 2023-06-09 14:22:01 +02:00
AshutoshBhadauriya 9d3117b9c1 Merge branch 'main' of https://github.com/Ashutosh-Bhadauriya/formbricks into enhance/question-card-ui 2023-06-09 15:07:24 +05:30
AshutoshBhadauriya 3218bbdf6a Enhancement: Revamp question card ui 2023-06-09 14:36:29 +05:30
Johannes 4bfaf68de2 Smoothen Progressbar animations and minor survey editor improvements (#339)
* auto focus on sign up

* update PR template

* add updatedAt date to survey summary

* add animation to Progress, make timer smoother

* change button size in question card, auto focus

* add transition to js widget, fix auto focus in editor

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-09 10:31:22 +02:00
Moritz Rengert d2aa9b5f04 fix rating question button alignment (#341)
* fix: input in Link Survey / Preview alignment

* fix: input alignment in js package
2023-06-09 10:17:31 +02:00
Johannes 91d4b09453 Feature/template update (#343)
* improve layout and information design of templates view

---------

Co-authored-by: moritzrengert <moritz@rengert.de>
2023-06-09 10:14:02 +02:00
Moritz Rengert fc6534fa19 feature/delay survey (#345)
* add delay option to survey trigger
2023-06-09 10:08:23 +02:00
Johannes b7e6ef5bd6 Merge pull request #346 from formbricks/lp/add-careers
add careers page, update OSS friends
2023-06-08 15:45:19 +02:00
Johannes f0d321b073 add careers page, update OSS friends 2023-06-08 15:41:12 +02:00
gitstart-formbricks ab8e42f018 fix response note header 2023-06-07 22:29:30 +00:00
gitstart-formbricks ddbcf77e59 Add a note to responses 2023-06-07 16:10:23 +00:00
Matti Nannt 944c861b18 Fix Formbricks Usage Bug leading to unidentified users (#340)
* move formbricks client to useEffect only

* add formbricks client to onboarding
2023-06-07 11:30:31 +02:00
Moritz Rengert 8a2beab5d1 Add Other Option to Multiple Choice Questions (#314)
* add other options to multiple choice question types

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Johannes <johannes@formbricks.com>
2023-06-06 20:10:47 +02:00
Matti Nannt d7fb29607a bugfix: mark onboarding responses as finished in formbricks (#338) 2023-06-06 15:00:32 +02:00
Matti Nannt e2ebad0735 add current page url to formbricks-js logging (#337) 2023-06-06 09:19:18 +02:00
Matti Nannt bd31d87046 Multiple fixes for Formbricks usage within Formbricks (#336)
* use label instead of id in onboarding analysis, add logout to formbricks usage

* add await option for all sdk commands, fix logout bug in formbricks usage
2023-06-05 17:22:52 +02:00
Matti Nannt 7040755b40 send onboarding results to formbricks (#335) 2023-06-05 11:41:47 +02:00
Matti Nannt c4e70fbfaa update package dependencies (#333) 2023-06-01 19:16:54 +02:00
Midka 7fa2a260e8 create: api wrapper & errors package (#262)
* add @formbricks/api (api abstraction layer) and @formbricks/errors package to monorepo
* use @formbricks/api in @formbricks/js to expose an api endpoint

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-06-01 14:02:53 +02:00
Johannes dbe7f138b6 Merge pull request #331 from formbricks/lp/reorder-friends
Reorder OSS Friends (alphabetically)
2023-06-01 13:43:07 +02:00
Johannes 35fc7b2d25 reorder friends 2023-06-01 13:36:44 +02:00
Johannes 37a0914c5a Merge pull request #323 from kof/patch-1
Added Webstudio to oss-friends.tsx
2023-06-01 10:51:43 +02:00
Moritz Rengert 8e43939206 fix: extract activeQuestionId from submit data not the expanded form (#326) 2023-06-01 08:51:32 +02:00
Matti Nannt c4dd7ae4a2 fix security issue in link (#330) 2023-05-31 18:22:12 +02:00
Matti Nannt 0f6210c559 fix prisma commands with new json plugin (#328)
* add prisma migration, change prisma commands

* remove userAttributes from type definitions
2023-05-31 17:45:47 +02:00
Matti Nannt 965ae44344 Create SECURITY.md (#329) 2023-05-31 17:45:23 +02:00
Matti Nannt 0e94900e2c enhance prisma json types (#327) 2023-05-31 15:57:10 +02:00
Matti Nannt 99bb6932c9 update vercel migration script to fix preview deployment (#325) 2023-05-31 10:31:10 +02:00
Matti Nannt a2e428f3c9 update readme (#324) 2023-05-31 09:55:52 +02:00
Johannes 78f7b4d03e Duplicate Questions, Add Survey Name to Summary, Update Login Screen (#322)
* Duplicate Questions, Add Survey Name to Summary, Update Login Screen

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-31 09:52:58 +02:00
Oleg Isonen 38f1803188 Update oss-friends.tsx
Added Webstudio
2023-05-30 21:13:16 +02:00
Johannes 66c747d1ca Merge pull request #321 from formbricks/fix/logic-in-last-question
fix/logic in last question
2023-05-30 10:53:44 +02:00
Johannes 0b24f1fe09 add "Preview" text to survey preview 2023-05-30 10:52:19 +02:00
moritzrengert 9631776552 fix: remove comments and console.log 2023-05-30 09:51:59 +02:00
moritzrengert 726b734b1a fix: update js package to make last question work with logic. fix build errors 2023-05-30 09:45:27 +02:00
moritzrengert 7ba1cc5055 fix: upade link survey to have logic working on last question 2023-05-30 09:38:59 +02:00
moritzrengert 94a10b2870 fix: thank you card not opening on skip logic, simplify check 2023-05-30 09:32:12 +02:00
moritzrengert f71cc87b3d fix: update goToNextQuestion logic to work in last question 2023-05-30 08:50:39 +02:00
Johannes b70b0008c1 Merge pull request #320 from formbricks/lp/add-boxy
Add BoxyHQ to OSS Friends
2023-05-29 17:44:08 +02:00
Johannes 5601f046d7 Add BoxyHQ to OSS Friends 2023-05-29 10:40:56 -05:00
Matti Nannt a6c703620c update prisma version (#318) 2023-05-29 14:44:58 +02:00
Matti Nannt 8b56225b6e update formbricks js to 0.1.19 (#317) 2023-05-29 14:36:46 +02:00
Matti Nannt e07a30c12d Add new client Endpoints for App-Router (WIP) (#316) 2023-05-29 14:33:02 +02:00
Moritz Rengert 92ee5529d8 Add option to auto-close (#310)
* add option to aut-close a in-app survey

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-29 12:47:10 +02:00
Johannes cda8513410 Formbricks Branding Signature (#305)
* Add Formbricks Signature Branding (can be deactivated in Look & Feel Settings)

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-29 11:46:07 +02:00
Johannes 2912b8bd8d Merge pull request #307 from formbricks/feature/extend-link-context-menu
Extend Menu for Link Surveys
2023-05-29 11:04:04 +02:00
Matti Nannt 1db79ffa6b update package version to 0.1.18 (#315) 2023-05-28 19:14:56 +02:00
Johannes fe4d6a8ce8 Enable users to create a new team (#299)
* Add option to create a new team

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-28 19:11:23 +02:00
Moritz Rengert 7238b28fb5 Add Logic Jumps (#283)
* Add the ability to add Logic Jumps to all Question Types

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-28 19:05:01 +02:00
Johannes ed0135733a Merge branch 'main' of github.com:formbricks/formbricks into feature/extend-link-context-menu 2023-05-28 13:07:08 +02:00
Johannes e7e772e155 Merge pull request #313 from DidierRLopes/patch-1
Update oss-friends.tsx w OpenBB text
2023-05-28 12:33:02 +02:00
DidierRLopes 2fbaeae9c0 Update oss-friends.tsx w OpenBB text 2023-05-27 14:30:47 -07:00
moritzrengert 37f26fa7c6 fix: show link options only on published surveys 2023-05-27 00:58:37 +02:00
Moritz Rengert fec3741ef4 Fix Progress Bar in in-App Survey Preview 2023-05-26 12:44:54 +02:00
Matti Nannt 3618310116 update wording in PR checklist (#312) 2023-05-26 12:35:28 +02:00
Konrad Kalemba 0a1680229d Exclude updatedAt field in survey update (#297) 2023-05-26 12:14:38 +02:00
Moritz Rengert d0f8f8d57d fix: do not create a display if the survey is in preview mode (#304) 2023-05-26 10:29:30 +02:00
Matti Nannt e7a0821901 fix typo in PR template (#309) 2023-05-26 09:55:24 +02:00
Matti Nannt 8e98003ea2 add hanko to oss friends (#308) 2023-05-26 09:15:08 +02:00
moritzrengert 6ea6bddc5e feat: copy link to clipboard and toast success, open preview in new tab 2023-05-25 21:46:19 +02:00
Johannes 59cb636b6e Merge pull request #306 from formbricks/lp/oss-friends
add oss-friends page
2023-05-25 17:36:25 +02:00
Johannes 5469ffb8d2 add oss-friends page 2023-05-25 17:33:18 +02:00
moritzrengert 852cfacf4b feat: add preview and copy to link survey context menu 2023-05-25 09:20:56 +02:00
Matti Nannt ba871726a5 Fix Notification emails not sending on vercel (#303) 2023-05-24 18:40:05 +02:00
Matti Nannt 33cbbd07de fix build errors and add types to dropdown menu (#302) 2023-05-24 18:09:56 +02:00
Matti Nannt 1edd69408a fix build errors on link survey (#301) 2023-05-24 17:31:34 +02:00
Johannes b553080443 update preview UI (#300) 2023-05-24 17:14:56 +02:00
Johannes 4636ac9806 Add email notification settings (#295)
* add email notifications settings with notification options on finished responses

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-24 17:07:05 +02:00
Moritz Rengert 9b187a4975 Add Preview-Mode to Link-Survey (#298)
* feat: add ?=preview to preview button url

* feat: add live survey banner and restart button
2023-05-24 16:00:15 +02:00
Moritz Rengert 96344d6123 Add new Pause/Not Found screens for surveys (#285)
* Add new screens for surveys with different status (not found, paused, completed)

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-05-23 13:35:13 +02:00
Johannes 69c05a3133 Improvements to Auth Screen based on Design Feedback (#292) 2023-05-23 09:26:10 +02:00
Konrad Kalemba 79a86050c3 fix typo in ErrorComponent (#293) 2023-05-23 09:22:04 +02:00
Thomas Kaul d07616d4a0 Fix typo in Pricing.tsx (#294) 2023-05-23 09:21:23 +02:00
Matthias Nannt 8ce705e08c update pr template 2023-05-22 13:59:21 +02:00
Matthias Nannt 41c61cd94a add pull request template 2023-05-22 09:38:14 +02:00
Matthias Nannt 204837b844 add google oauth migration 2023-05-22 08:58:21 +02:00
Matthias Nannt d8f4ee598d add google provider to nextauth 2023-05-19 14:28:46 +02:00
Johannes c6aabc77b4 Revamp sign up page (#288)
* New cleaner signup/login screen
2023-05-19 12:08:24 +02:00
Johannes b9cdf329e3 fix checkmark color on disabled 2023-05-19 10:55:10 +02:00
Moritz Rengert 953f04b42a Fix Preview on Delete in Survey Builder & Fix Button Text on light brand color (#284)
* Fix Preview on Delete in Survey Builder
* Fix Button Text on light brand color

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-19 08:46:46 +02:00
Johannes 41443267c9 Revamp survey settings (#287)
* improve survey settings flow

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-19 08:33:52 +02:00
Matthias Nannt b76289c9d8 remove console.log, add loading state to response delete button 2023-05-16 14:31:12 +02:00
Shubhdeep Chhabra c352c9ff5d Add ability to delete products and responses (#276)
* #263 long strings edge cases fixed

* Add ability to delete products and responses

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-16 14:23:14 +02:00
Matthias Nannt eea8500501 format & update README 2023-05-16 13:28:35 +02:00
Shubhdeep Chhabra 48f53a2120 localhost urls fixed in documentation (#286) 2023-05-16 09:48:51 +02:00
Matti Nannt 26b4fd9b3e Add Attribute Filtering to Surveys (#282)
* add attribute filtering to surveys

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-05-15 17:28:37 +02:00
Johannes 80ae43646f Update README.md 2023-05-15 01:22:43 -05:00
Johannes 14ae404b0e fix best practices 2023-05-15 07:55:19 +02:00
Johannes a652f0df9a fix onboarding in menu 2023-05-12 14:35:56 +02:00
Johannes b5928e71e5 Add Best Practices to Landingpage (#281)
* Update landingpage
2023-05-12 14:25:17 +02:00
Matthias Nannt 9b38f9bf9a add clean command to all packages 2023-05-12 13:13:19 +02:00
Matthias Nannt e3f5bba755 allow survey type to be changed after publishing 2023-05-11 19:43:08 +02:00
Johannes fbfc80dd4e ux tweaks, add skip to product in onboarding 2023-05-11 13:54:33 +02:00
Matthias Nannt e95407ca44 revert dockerfile to fix deployment issue 2023-05-11 07:15:15 +02:00
Matthias Nannt 0617157ccf Merge branch 'main' of github.com:formbricks/formbricks 2023-05-11 06:33:56 +02:00
Midka 1fdfdb585a Add types for common response types in the API (#270)
* add: WIP stuff for structured API responses

* revert: files with modified api responses

* fix: vscode not using @lib/ import
2023-05-10 20:48:46 +02:00
Johannes 423541e5d5 Merge branch 'main' of github.com:formbricks/formbricks 2023-05-10 16:57:38 +02:00
Matthias Nannt 59930ecac5 Merge branch 'main' of github.com:formbricks/formbricks 2023-05-10 13:35:19 +02:00
Matthias Nannt 68500de8bf update js package to 0.1.17 2023-05-10 13:35:03 +02:00
Matthias Nannt c4ba0fe5d2 update js package to 0.1.17 2023-05-10 13:32:54 +02:00
Matti Nannt 3206637e22 Add Rating Question (Numbers, Stars & Smileys) (#271)
Add new Star Rating Question Type with different ranges and variations.

---------

Co-authored-by: moritzrengert <moritz@rengert.de>
2023-05-10 13:31:49 +02:00
Matthias Nannt 106afd12c3 update context-menu buttons in question card 2023-05-10 10:22:50 +02:00
Moritz Rengert 56e500397a feature/move question cards (#278)
* add moveQuestion function to handle index changes

* add dropdown arrows to context menu, disable on first / last element and call moveQuestion function

* fix: build error StartIcon typing

* fix: endIcon type for button
2023-05-10 10:08:00 +02:00
Matthias Nannt 58e5dc6e7b fix demo throws error when environment variables not set 2023-05-10 08:58:51 +02:00
Matti Nannt 60f7103198 Revert & gradually use updated files (#280)
* revert to last working version

* add updated ui components

* update formbricks-com components

* apply prettier formatting

* update apps/web files
2023-05-10 00:20:43 +02:00
Matti Nannt ef4e5ed17a Fix Dev Environment Errors & Docker Deployment (#279)
* fix prisma errors
* add new database build process
* fix js widget needing @prisma/client
2023-05-09 20:12:48 +02:00
Matthias Nannt 520f282384 update type imports in @formbricks/js` 2023-05-09 15:33:39 +02:00
Matthias Nannt bc4e2379cf update package-lock 2023-05-09 13:19:29 +02:00
Matti Nannt 650b674e24 update all packages, fix typescript errors (#277)
* simplify ui package, update all packages

* fix typescript errors that occur during build
2023-05-09 13:18:07 +02:00
Johannes bfcc62e8ff issue toast after question id upate 2023-05-08 17:07:22 +02:00
Matthias Nannt 9b42808d6d update dependencies 2023-05-08 13:52:52 +02:00
Matthias Nannt 957a5b3e8c change webhook endpoint to only accept one trigger 2023-05-05 15:50:09 +02:00
Matti Nannt 325eda064e Add Webhooks for Zapier Integration (#273)
* add simple webhooks

* add pipelines endpoint to handle internal events
2023-05-05 10:53:54 +02:00
Matthias Nannt eecb10e255 Merge branch 'main' of github.com:formbricks/formbricks 2023-05-05 09:57:53 +02:00
Matthias Nannt 8d38031b11 fix docker build errors, simplify docker file to fix startup issue, update nextjs 2023-05-05 09:53:25 +02:00
Johannes d2c837b54f fix "other" option, add Ids for posthog 2023-05-04 08:54:38 +02:00
Matthias Nannt ea084c3075 update packages in apps/web 2023-05-03 22:31:51 +02:00
Matthias Nannt bac12eb552 add posthog to onboarding 2023-05-03 22:25:59 +02:00
Matthias Nannt 035652556d Merge branch 'main' of github.com:formbricks/formbricks 2023-05-03 16:59:23 +02:00
Matthias Nannt f0aeed763a add simple me endpoint to api 2023-05-03 16:51:07 +02:00
Johannes b84e54c63c fix "skip" in onboarding 2023-05-03 16:20:13 +02:00
Matthias Nannt 730296055b improve error resistence in environmentNavbar, fix memberships endpoint 2023-05-03 16:09:31 +02:00
Matthias Nannt 7b1edfe654 set previous brand color in onboarding if productname not already changed 2023-05-03 15:36:30 +02:00
Matthias Nannt fe1314634a rename onboarding flag to fix onboarding not shown 2023-05-03 15:28:20 +02:00
Matti Nannt 04f536b7c6 Add support for Next.js Server-Components (#272)
* Add new env variable NEXT_PUBLIC_WEBAPP_URL that is used server-side for the current address

* Move Next-Auth to App-Directory

* Move Membership-API & User-API to App-Directory

* Update env-examples with new structure
2023-05-03 15:17:23 +02:00
Timothy 056ddff709 #586: Add new Onboarding for new & existing users (#266)
* add new onboarding for new and existing Formbricks users
* Add new personalized template view

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-03 14:00:11 +02:00
Johannes d66c417bab fix double toast 2023-05-03 13:42:40 +02:00
Johannes 12bf20fe1f fix double toast on survey creation 2023-05-03 12:12:36 +02:00
Johannes 510231296e update survey created toast + link survey modal UI 2023-05-03 11:12:49 +02:00
Matthias Nannt 0509ac0e51 fix posthog pageview not firing with next-router 2023-05-02 16:22:13 +02:00
Matthias Nannt 63ce05d35e add surveyType to posthog response tracking 2023-05-02 15:36:54 +02:00
Johannes 478d4e16f8 Feature/duplicate surveys (#268)
* add duplicate to menu

* add duplicate survey API endpoint

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-02 15:33:45 +02:00
Matti Nannt a0acc945b2 update docs pages for deployment and contribution with more detailed setup instructions (#269) 2023-05-01 18:17:05 +02:00
CJ 3426232b70 Fix responsiveness on summary page (#257)
* fix responsiveness on summary page
2023-05-01 15:39:00 +02:00
Shubhdeep Chhabra ae0bf3e90d #263 long strings edge cases fixed (#267)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-01 15:24:48 +02:00
Johannes 13508f42be Add Team switch (#259)
* add team switch when user has multiple teams

* fix hydration error by changing the way env variables load

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-05-01 15:11:53 +02:00
Johannes c20ca5e789 update variable names 2023-04-29 16:25:34 +02:00
Johannes 3de164623b add templates + objective 2023-04-29 16:20:04 +02:00
Johannes efce2c106a ux tweaks 2023-04-28 16:27:47 +02:00
Moritz Rengert bcd4f953ee Add Rating Question Type (numbers) (#256)
Add Rating Question Type (with numbers)

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-28 12:05:29 +02:00
Johannes 7e9b336954 Improve UX with multiple tweaks (#258) 2023-04-27 20:11:44 +02:00
Johannes b01d2409de add Best Practices to Docs(#255)
* add Docs Feedback to Docs
2023-04-27 09:53:20 +02:00
Matthias Nannt 8a7f8eb94c update formbricks/js 2023-04-26 14:46:15 +02:00
Johannes ddec12740d update docs template, adjust link survey width 2023-04-26 11:05:45 +02:00
Midka 09356bbded add: error handling to SDK (#240)
* improve error handling and add new `errorHandler` to sdk init function.

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-25 20:24:42 +02:00
Johannes ad17ea957d added docs feedback (#251)
* add feedback button on every docs page

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-25 20:08:16 +02:00
Johannes 6ec3878c77 Merge branch 'main' of github.com:formbricks/formbricks 2023-04-25 19:21:53 +02:00
Johannes 6fd11fb54c replace ID with email if available 2023-04-25 19:21:22 +02:00
Matthias Nannt 47605493e9 update next features in README 2023-04-25 17:42:14 +02:00
Matthias Nannt 5b273cc194 add error message when action with same name already exists 2023-04-25 17:04:46 +02:00
Matthias Nannt c81bfadb66 fix width in link surveys 2023-04-25 16:48:12 +02:00
Matthias Nannt 96ac6a2a6f add delete action functionality 2023-04-25 16:26:15 +02:00
Vishwash Bajpai 97e5398adf add functionality to make events editable after creating them (#245) 2023-04-25 15:42:42 +02:00
Matthias Nannt 29064b3bde fix build errors, fix z-index in sdk 2023-04-24 21:12:11 +02:00
Matthias Nannt 7abe1d877a Merge branch 'main' of github.com:formbricks/formbricks 2023-04-24 20:14:32 +02:00
Matti Nannt 7eefdd336c Add CTA Question Type (#246)
* add CTA question type together with new Text Editor based on Lexical and CTA summary

---------

Co-authored-by: moritzrengert <moritz@rengert.de>
2023-04-24 20:13:39 +02:00
Matthias Nannt 1a9400139c fix sdk bug on initialization 2023-04-24 12:06:52 +02:00
Matthias Nannt 501ce56de6 show different placeholder in link summary empty page filler 2023-04-20 15:43:52 +02:00
Matthias Nannt 9eb3f2e605 update GDPR page 2023-04-20 15:32:13 +02:00
Matthias Nannt 1b251b8ad0 reduce information posthog can receive 2023-04-20 15:18:48 +02:00
Matthias Nannt e7e4406e91 fix formating issues in wording in privacy policy 2023-04-20 15:08:51 +02:00
Matthias Nannt f6ea9f6375 improve wording in survey delete dialog 2023-04-20 15:02:43 +02:00
Matthias Nannt 90eaab9c9e remove posthog client on survey frontend 2023-04-20 15:00:15 +02:00
Matthias Nannt 9a494a3f8a fix link survey pausable when sdk not initialized 2023-04-20 12:56:16 +02:00
Matthias Nannt 5e6ac0a141 fix display event name 2023-04-20 12:50:52 +02:00
Matthias Nannt d889775c56 add display track event to posthog 2023-04-20 09:54:45 +02:00
Matthias Nannt ce0179a2c7 add legal footer to link survey 2023-04-19 16:39:48 +02:00
Matthias Nannt d835e78d92 remove duplicated question types, update js sdk to 0.1.11 2023-04-19 16:03:26 +02:00
Matthias Nannt 8352d05d04 fix nps summary NaN bug, fix add question not working for some question types 2023-04-19 14:55:06 +02:00
Matthias Nannt fbc1c74046 fix migrations 2023-04-19 14:36:54 +02:00
Moritz Rengert 48bac2128e Add NPS Question Type (#243)
Add NPS Question Type
---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-19 14:28:58 +02:00
Moritz Rengert d15d062581 Add MultipleChoice Multi-Select Question Type (#238)
Add MultipleChoice Multi-Select Question Type

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-19 13:38:23 +02:00
Johannes 72c6ea6f39 Updated Landingpage (#242)
* add /demo to LP

* add best practices

* add clovyr logo to lp

* new animation, best pracitces, CTA tracking, etc.

* update animation
2023-04-18 17:52:55 +02:00
Matthias Nannt 3b5ab29669 remove snoopForms from README 2023-04-18 13:36:47 +02:00
Matthias Nannt 793aff4585 update README 2023-04-18 13:34:33 +02:00
Matthias Nannt 8734127143 update surveyList template to make room for more infos 2023-04-18 12:04:19 +02:00
Matti Nannt d2ee0d6a9a Add Link Survey Functionality (#239)
Users can now create & send link surveys to their customers.
2023-04-18 11:40:30 +02:00
Johannes c9f5f8cd16 Update Pricing tables 2023-04-17 13:49:50 +02:00
Johannes 392bbfd911 landing page pricing 2023-04-17 13:23:32 +02:00
Matthias Nannt a7fd1fc754 question id can now be changed in advanced settings 2023-04-17 12:21:17 +02:00
Matthias Nannt c118fbb0bd add contributing guide to docs, update readme with simple roadmap 2023-04-17 10:40:41 +02:00
Matthias Nannt d6868c3d40 fix add margins for survey modal FOR-596 2023-04-17 10:01:13 +02:00
Matthias Nannt 8ef8c93f3d fix response questions in wrong order FOR-558 2023-04-17 09:49:10 +02:00
Matthias Nannt 324a150a90 fix typo in module import 2023-04-16 15:39:56 +02:00
Matthias Nannt 1ec4dcb02d build free limit into formbricks cloud 2023-04-16 13:47:51 +02:00
Johannes d470b6576f "events" -> "actions" 2023-04-14 20:54:57 +02:00
Matthias Nannt 3778ed80d4 add formbricks client to app 2023-04-14 17:51:28 +02:00
Matthias Nannt 87ee687d51 release formbricks-js version 0.1.10 2023-04-14 17:01:03 +02:00
Matthias Nannt a917668b3a Merge branch 'main' of github.com:formbricks/formbricks 2023-04-14 16:56:14 +02:00
Matthias Nannt e6d091d35e fix widget styling, add z-index, remove env to fix vercel error 2023-04-14 16:56:07 +02:00
Johannes 7ee8cb98e1 Merge branch 'main' of github.com:formbricks/formbricks 2023-04-14 16:11:19 +02:00
Johannes 3a2c697736 fix people list, display email instead of ID 2023-04-14 16:11:07 +02:00
Matthias Nannt b28fad2ffa fix edit product name not showing in navbar 2023-04-14 16:08:40 +02:00
Matthias Nannt 6024cad566 fix "edit brand color" not showing FOR-581 2023-04-14 16:04:38 +02:00
Matthias Nannt 9e1a17a3ef fix build errors in formbricks-com 2023-04-14 15:53:00 +02:00
Matthias Nannt da998d9820 fix logout not working FOR-562 2023-04-14 14:48:56 +02:00
Matthias Nannt 1bcdcee799 fix client error when survey builder contains no questions FOR-564 2023-04-14 14:26:36 +02:00
Matthias Nannt 1c58b0c95c update web dependencies 2023-04-14 14:22:12 +02:00
Matthias Nannt 0bbb9ad3d7 fix warnings on events overview 2023-04-14 14:00:14 +02:00
Matthias Nannt 5163f36e53 format files according to prettier config 2023-04-14 12:52:13 +02:00
Matthias Nannt 529bf4611c add z-index to js modal 2023-04-14 12:49:34 +02:00
Ramsay Sewell 29cf117fda #230: add required attr to multiple choice inputs (#232)
* add required attr to multiple choice inputs

* add required field to multiple choice preview components

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-14 09:29:48 +02:00
Johannes 50435413c3 github sponsorship + blog 2023-04-13 18:04:13 +02:00
Matthias Nannt e614e4bd00 fix invite email in serveless functions 2023-04-13 12:47:58 +02:00
Johannes 3c31e5fe84 SEO listicle, all blog links in new tab 2023-04-12 23:48:03 +02:00
Midka 6cce82d9bf Update issue templates (#1) (#233) 2023-04-12 21:28:03 +02:00
Johannes 1bb5fcfcb2 update SEO descriptions 2023-04-12 15:27:17 +02:00
Johannes 4ddb09cd39 Merge branch 'main' of github.com:formbricks/formbricks 2023-04-12 14:34:23 +02:00
Johannes 0a6a12cacb SEO Health + descriptions 2023-04-12 14:34:19 +02:00
Matthias Nannt 76a4d49c2d update package json of js widget 2023-04-12 13:21:28 +02:00
Matthias Nannt 08229c1761 update JS Readme, release js 0.1.7, fix quickstart instructions 2023-04-12 13:08:27 +02:00
Moritz Rengert a0baa25864 Feature Thank You Card (#222)
add thankyou card to surveys.

---------

Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-12 12:35:04 +02:00
Johannes bc771bc188 Merge branch 'main' of github.com:formbricks/formbricks 2023-04-12 12:15:28 +02:00
Johannes 957a7b4b69 update price and docs 2023-04-12 12:15:13 +02:00
Johannes 64afd6ed00 Fixes radio to overwrite waiting time (#225)
* Fixes radio to overwrite waiting time

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-12 11:04:35 +02:00
Matthias Nannt 4f7fb96e3f add description to posthog attribute import 2023-04-11 17:58:12 +02:00
Matthias Nannt 065c0d352c only import attributes for existing users with posthog 2023-04-11 17:46:11 +02:00
Matthias Nannt 418bd956eb log users in posthog endpoint 2023-04-11 14:04:45 +02:00
Matthias Nannt c510da3879 update posthog eventnames in export integration 2023-04-11 13:33:03 +02:00
Matthias Nannt 68cd7a9a81 add loading spinner to logout process 2023-04-11 10:52:16 +02:00
Johannes 357628b0d6 Feature create new products (#220)
* feat: add modal to add new product to current team

* feat: add create product endpoint and helper function

* feat: display available products in dropdown and include environmentId in request

* new icon

---------

Co-authored-by: moritzrengert <moritz@rengert.de>
2023-04-11 10:42:33 +02:00
Matthias Nannt edc149417a update payment link for cloud 2023-04-11 10:19:04 +02:00
Johannes 028d1631bd remove console logs, tweak auth UI (#224) 2023-04-11 09:51:00 +02:00
Matthias Nannt b62eaa7bb2 fix docker compose file 2023-04-10 09:24:28 +02:00
Matthias Nannt a934fa3897 add stripe payment to cloud 2023-04-08 16:53:42 +02:00
Matthias Nannt 01a637d0f6 update information about cloud offering in Readme 2023-04-08 08:08:33 +02:00
Matthias Nannt 0560526b53 fix response summary / list not working without personId 2023-04-07 16:39:46 +02:00
Matthias Nannt d12bb98f8c update html js link in docs and setup instructions 2023-04-06 17:32:18 +02:00
Matthias Nannt 1cb1687958 publish js widget v0.1.6 2023-04-06 17:29:20 +02:00
Moritz Rengert fb404a8452 Add innerHtml and cssSelector No-Code Event Creation (#219)
* feat: make cssSelector and innerHtml available as noCode Events
2023-04-06 17:12:04 +02:00
Matthias Nannt 6e761b0a91 add migration 2023-04-06 14:51:23 +02:00
Matthias Nannt 5111efdfdf make personId optional in response 2023-04-06 14:47:53 +02:00
Johannes 764e16a1d8 update posthog auth 2023-04-05 17:49:59 +02:00
Johannes 3bbc4b7742 Merge branch 'api-keys' 2023-04-05 17:40:52 +02:00
Johannes 76276a7938 change auth of API 2023-04-05 17:37:07 +02:00
Matthias Nannt 8436e3d826 update github action release 2023-04-05 13:44:58 +02:00
Matthias Nannt 4e18b3f4e0 update checks github action 2023-04-05 13:43:24 +02:00
Matthias Nannt 3f4e53c5e3 update pnpm version in package.json 2023-04-05 13:39:21 +02:00
Matthias Nannt 55cf24a1c8 update github action 2023-04-05 13:35:24 +02:00
Matti Nannt 46e6a32a3a Add Posthog sync endpoints (#217)
* Add new API endpoints to sync events and persons with Posthog
2023-04-05 13:20:55 +02:00
Matthias Nannt 7802e1fbca update js dependencies 2023-04-05 13:08:49 +02:00
Matthias Nannt a328e7902e update packages 2023-04-05 11:41:47 +02:00
Johannes 072a5947cf UI tweaks (#216)
* preview hint, warnings, survey status indicator

* add event in survey builder, add surveystatusdropdown

* update wording, add survey status toasts, update LP

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-04-05 11:28:46 +02:00
Matthias Nannt 5b1c4f7208 fix widget error not showing widget twice, fix bug in get client settings, update demo with feedback button 2023-04-04 15:39:55 +02:00
Matthias Nannt 070d69f094 small bugfixes, add simple posthog out endpoint 2023-04-04 15:10:08 +02:00
Matthias Nannt 1d39373117 add posthog app 2023-04-04 09:27:04 +02:00
Matthias Nannt 06233dd1bd update github linting action 2023-04-03 16:16:57 +02:00
Matthias Nannt ca981ff7c2 remove console.log from posthog-app 2023-04-03 15:38:51 +02:00
Matthias Nannt d11456b9b0 add posthog-siteapp, update widget logging 2023-04-03 15:25:19 +02:00
Matthias Nannt 54a6061748 fix build errors 2023-04-03 14:00:37 +02:00
Matthias Nannt 951b4e8d99 fix pricing desc in billing, add plan to user session, add permissions check to Invite API 2023-04-03 12:38:07 +02:00
Matthias Nannt 2d8fbbabfb Merge branch 'main' of github.com:formbricks/formbricks 2023-04-03 12:08:11 +02:00
Johannes fdacc73c0c fix responsiveness logos 2023-04-03 12:08:01 +02:00
Matthias Nannt ebc53e4bc8 bugfix widget init error, fix widget dark mode colors 2023-04-03 12:07:14 +02:00
Johannes 3780225a42 add social proof 2023-04-03 11:45:56 +02:00
Johannes 6d768913e3 add default light mode to app 2023-04-03 09:28:46 +02:00
Johannes 295b300654 update hero piece 2023-04-01 14:40:13 +02:00
Johannes 71f29406d8 add pricing to lp 2023-04-01 14:18:23 +02:00
Matthias Nannt afb985b233 Merge branch 'main' of github.com:formbricks/formbricks 2023-03-31 18:02:01 +02:00
Matthias Nannt d2f8c1ebd8 make personId optional in capture api call 2023-03-31 18:01:51 +02:00
Matthias Nannt 48e2026ef0 fix font in widget not showing in darkmode 2023-03-31 17:38:00 +02:00
Johannes db4c50d834 broken teams link 2023-03-31 17:37:02 +02:00
Matthias Nannt ce977aa927 Merge branch 'main' of github.com:formbricks/formbricks 2023-03-31 17:23:47 +02:00
Matthias Nannt 1051c9f779 update javascript snippet in setup instructions and docs 2023-03-31 17:23:38 +02:00
Matthias Nannt 26a4e2f710 fix widget window not found error 2023-03-31 16:56:03 +02:00
Johannes afa055f004 fix typo 2023-03-31 16:43:11 +02:00
Johannes 5968d764ca fix /demo 404, update docs 2023-03-31 12:02:11 +02:00
Matthias Nannt 40fb28f5e1 switch telemetry identifier to random id on startup 2023-03-30 23:00:02 +02:00
Matthias Nannt a8377c9b24 add Dockerfile, fixes in README 2023-03-30 22:21:00 +02:00
Johannes fbcc9d5628 Update Docs, add Walkthrough Video to App & LP (#212)
* update LP with walk through

* update docs with attributes and events

* update team UI + form validation

* add walk through to app

* small fixes

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-03-30 17:24:04 +02:00
Matthias Nannt a01b01d065 allow github profile images in next image 2023-03-30 13:51:43 +02:00
Matthias Nannt b73939d9d0 fix home page not working with invalid session 2023-03-30 13:44:13 +02:00
Matthias Nannt e2d76a6ba3 add legacy endpoint 2023-03-30 13:20:33 +02:00
Matthias Nannt 22d4120a2d update tailwind config to include @formbricks/ui 2023-03-30 12:02:17 +02:00
Matthias Nannt 3dcdc3a45b fix build error on vercel, fix types in invite api 2023-03-30 10:59:48 +02:00
Matthias Nannt 6e0cb443b6 fix github actions error in new packages 2023-03-30 10:15:30 +02:00
Matthias Nannt 1237749464 fix website github icon color 2023-03-29 23:55:13 +02:00
Matthias Nannt d5ff4710d2 add docs redirect to first page 2023-03-29 23:52:32 +02:00
Matthias Nannt c80154bb7d update cta on website 2023-03-29 23:50:10 +02:00
Matti Nannt 27d63c01e1 Introducing the new Formbricks (#210)
### New Formbricks Release: Complete Rewrite, New Features & Enhanced UI 🚀

We're thrilled to announce the release of the new Formbricks, a complete overhaul of our codebase, packed with powerful features and an improved user experience.

#### What's New:

1. **Survey Builder**: Design and customize your in-product micro-surveys with our intuitive survey builder.
2. **Trigger Micro-Surveys**: Set up micro-surveys to appear at specific points within your app, allowing you to gather feedback when it matters most.
3. **JavaScript SDK**: Our new JavaScript SDK makes integration a breeze - just embed it once and you're ready to go.
4. **No-Code Events**: Set up events and triggers without writing a single line of code, making it accessible for everyone on your team.
5. **Revamped UI**: Enjoy an entirely new user interface that enhances usability and provides a smooth, delightful experience.

This release marks a major step forward for Formbricks, enabling you to better understand your users and build an outstanding product experience.

Please update your Formbricks integration to take advantage of these exciting new features, and let us know in the Discord if you have any questions or feedback!

Happy surveying! 🎉
2023-03-29 23:34:29 +02:00
Matthias Nannt bf45973ccf fix typo in blog 2023-03-25 16:21:36 +01:00
Matti Nannt 84d209fe4c Weekly update (#209)
* add new blog post
* remove old weeklys

---------

Co-authored-by: Johannes <johannes@formbricks.com>
2023-03-25 16:02:38 +01:00
knugget 462fa0c871 weekly-100323 🚢 2023-03-10 13:31:31 +01:00
knugget ca35d4c734 change wording in email 2023-03-10 10:19:03 +01:00
knugget ef13db666d fix label on Add API Modal 2023-03-06 09:24:12 +01:00
knugget 04e3d647d5 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-03-03 16:21:37 +01:00
knugget 778d25c164 typo 2023-03-03 16:21:34 +01:00
Matthias Nannt a47b20da2d fix feedback modal tab bug 2023-03-03 16:15:51 +01:00
knugget f1c5fee91b update teaser 2023-03-03 14:58:48 +01:00
knugget b584d3f9e4 weekly 030323 2023-03-03 14:19:18 +01:00
Matti Nannt c13547af1a Cleanup 2023-03-03 13:57:44 +01:00
Matthias Nannt 4922c29fd2 fix filter navigation build error 2023-02-25 11:15:40 +01:00
Matthias Nannt 349868be40 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-25 11:13:52 +01:00
Matthias Nannt 94487cf524 persist filters when tags are added/removed 2023-02-25 11:11:37 +01:00
knugget a0271057ad Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-24 17:25:40 +01:00
knugget ba5d7bffbe weekly-240223 2023-02-24 17:25:37 +01:00
Matthias Nannt a62f5a7cbd fix build errors 2023-02-24 11:27:30 +01:00
Matthias Nannt ce172c3b9e update packages to latest version 2023-02-24 08:52:22 +01:00
Johannes 318f14c4b2 Add tags (#208)
* add tag functionality to responses

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-02-23 19:26:24 +01:00
knugget 6cebf594b8 remove comment 2023-02-22 11:16:01 +01:00
knugget f6f0d53435 relative time 2023-02-22 11:15:23 +01:00
Matthias Nannt f1a2a6aadc add more pipelines to demo, pull demo data using function instead of object to be able to implement logic 2023-02-21 15:44:22 +01:00
Matthias Nannt ea074425ef update custom survey docs 2023-02-21 14:43:15 +01:00
Matthias Nannt b3007249df fix delete customer on demo page 2023-02-21 14:14:21 +01:00
Johannes 97dcccd6fc add deleteCustomer, fix view link in customer overview (#206)
* add deleteCustomer functionality

* add migration for cascade delete

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-02-21 14:07:02 +01:00
Sandra Dylus 54196faf46 Use auto-enumeration in README (#207)
Indent code blocks and texts in enumeration appropriately to make auto-enumeration work.
Use auto-enumeration (aka 1. for every enum item) to be more robust with respect to changes.
2023-02-21 13:00:02 +01:00
knugget c56388c54b update custom survey docs 2023-02-21 12:36:54 +01:00
knugget 0ba85592ee custom survey docs 2023-02-21 12:27:23 +01:00
knugget 63f165c11f update submission counter, replace "results" 2023-02-21 12:04:19 +01:00
knugget 59e16f2550 update PMF setup manual 2023-02-21 11:46:29 +01:00
knugget cbef066730 add loading spinner to auth buttons 2023-02-21 11:31:50 +01:00
knugget 44ac65f076 fix typo in PMF widget styling 2023-02-20 15:17:11 +01:00
knugget 43ddd8fd35 typo onboarding survey 2023-02-20 09:59:20 +01:00
Matthias Nannt e57316f4c8 update weekly update 2023-02-17 23:35:56 +01:00
Matthias Nannt 04e259b07f fix typo in weekly update 2023-02-17 19:08:15 +01:00
Matthias Nannt 2408ba4588 update posthog user attributes 2023-02-17 19:04:59 +01:00
Matthias Nannt 564753af77 update posthog tracking to identify users by id 2023-02-17 18:46:03 +01:00
Matthias Nannt 88ad834ef9 fix build issues 2023-02-17 18:36:42 +01:00
Matthias Nannt 36933ad68a Merge branch 'main' of github.com:formbricks/formbricks 2023-02-17 18:29:51 +01:00
Matthias Nannt 25549f4064 update posthog tracking method 2023-02-17 18:29:40 +01:00
knugget 60a1407e0f weekly-170223 2023-02-17 17:49:29 +01:00
knugget 2449c66c22 typo and removed filter on superhuman page 2023-02-17 17:33:30 +01:00
knugget 4f9f7dbf39 add scrolling to submission overview table 2023-02-16 15:11:46 +01:00
knugget d93a58ba18 fix responsive 2023-02-16 09:50:18 +01:00
Matthias Nannt 485d7cd47d update wording 2023-02-15 22:30:22 +01:00
Matthias Nannt 21c79c9efb update Pmf Superhuman view 2023-02-15 21:26:54 +01:00
knugget 81da4ea5c8 AI Summaries + first Step Superhuman 2023-02-15 17:27:45 +01:00
knugget ea15e662bf Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-15 16:40:18 +01:00
knugget 84ed5e7f35 superhuman report 2023-02-15 16:40:15 +01:00
Matthias Nannt 7d1e73dfa8 edit main benefits in demo data 2023-02-15 16:34:02 +01:00
Matthias Nannt ad46f14235 add more demo submissions and sample sentences 2023-02-15 15:19:28 +01:00
Matthias Nannt 04c6462f41 fix build errors 2023-02-15 13:17:40 +01:00
knugget f01b7f688c Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-15 12:39:49 +01:00
knugget d310ff7f80 update customer view, responses link to user 2023-02-15 12:39:46 +01:00
Matthias Nannt 2b64ab7139 bugfix filter navigation in superhuman dashboard 2023-02-15 12:15:28 +01:00
Matthias Nannt 4f5e023c52 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-15 12:09:04 +01:00
Matthias Nannt b3f060c77e fix filter navigation bug, fix to prevent archived show in SubmissionCounter 2023-02-15 12:09:00 +01:00
knugget 10df0a811d update email template 2023-02-15 11:00:49 +01:00
Matthias Nannt 8e887f5714 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-14 14:54:22 +01:00
Matthias Nannt 98a1e8ac08 update github issue templates 2023-02-14 14:54:18 +01:00
Johannes 5c25980d82 Email templates (#203)
* add basic html template

* update email content

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-02-14 14:47:15 +01:00
Matti Nannt 5dc5f968d1 Update custom form layout (#204)
* add new layout for custom survey view

* make filterNavigation work without schema
2023-02-14 14:30:34 +01:00
knugget 0d82a21b8f Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-14 11:21:03 +01:00
knugget 9bc8148fd5 add scrollbar to submission overview 2023-02-14 11:19:25 +01:00
Midka eb931720a8 add: support for custom error handling (#201)
* add: devcontaier (codespaces)

* add: custom errors & other stuff lmao

* fixes #199
2023-02-14 11:17:46 +01:00
Johannes 8f24f21b87 Prevent smartphone view + responsiveness settings for dashboards (#202)
* responsiveness PMF & FB dashboards

* prevent smartphone view

---------

Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2023-02-14 11:14:34 +01:00
Matthias Nannt afdc4f1ee9 update pmf survey dashboard with quick optimizations 2023-02-14 10:53:57 +01:00
Matthias Nannt 8a02ebc9db fix build error 2023-02-13 15:25:08 +01:00
Matthias Nannt efdd2bd257 fix filter navigation by removing duplicates 2023-02-13 15:22:21 +01:00
Matthias Nannt 8e277e030a update posthog events to also submit form type 2023-02-13 15:13:08 +01:00
Matthias Nannt 52d5bb7c44 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-13 14:52:18 +01:00
Matthias Nannt 261e3a59c9 add pins to filter navigation 2023-02-13 14:52:14 +01:00
knugget 709591ec33 pmf page btn tracking 2023-02-13 14:49:04 +01:00
Matthias Nannt 35da57d06d Merge branch 'main' of github.com:formbricks/formbricks 2023-02-13 14:01:48 +01:00
Matthias Nannt 1884655c85 rename pmf demo to product market fit demo 2023-02-13 14:01:32 +01:00
knugget 14a8ea9b2c Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-13 12:20:39 +01:00
knugget 6779cac4c4 update quick manual 2023-02-13 12:18:01 +01:00
Matthias Nannt 7e2b76216c Merge branch 'main' of github.com:formbricks/formbricks 2023-02-13 12:09:53 +01:00
Matthias Nannt c2a272a072 update docs 2023-02-13 12:09:39 +01:00
Matthias Nannt 1f143dab22 fix pmf widget colors, add error alert 2023-02-13 11:57:09 +01:00
Matthias Nannt 35df900d70 update feedback docs 2023-02-13 11:48:38 +01:00
knugget 8ae1353114 404 page formbricks.com 2023-02-13 11:43:05 +01:00
Matthias Nannt b43fbba9aa merge 2023-02-13 11:40:42 +01:00
Matthias Nannt dc984ac7ba fix feedback widget render & alert on error 2023-02-13 11:39:38 +01:00
knugget 508508869a forward /demo to PMF Demo 2023-02-13 11:35:13 +01:00
knugget db55f29231 updated feedback box docs, pmf page, typos in blog 2023-02-13 11:13:02 +01:00
Matthias Nannt 113a573573 update feedback widget package information 2023-02-13 09:58:01 +01:00
Matthias Nannt fb82e92471 formbricks-app: change divId to containerId in feedback widget embeds 2023-02-12 19:03:46 +01:00
Matthias Nannt ddc33d309b change divId to containerId in feedback widget embeds 2023-02-12 18:49:54 +01:00
Matthias Nannt 10b92b368c add new weekly report 2023-02-12 18:16:50 +01:00
Matthias Nannt ff067d63f1 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-10 15:29:43 +01:00
Matti Nannt 5ee5af3e8b Docs revamp (#197)
* add new docs for user research approach

---------

Co-authored-by: knugget <johannes@knugget.de>
2023-02-10 15:29:21 +01:00
Matthias Nannt b4753c34b4 feedback-widget: rename divId -> containerId, add closeOnOutsideClick config option 2023-02-10 11:35:34 +01:00
Matthias Nannt 7c7119380f remove console log from onboarding survey 2023-02-10 10:46:14 +01:00
Matthias Nannt 6b473b7a4b update target in pmf page 2023-02-09 17:04:46 +01:00
Matthias Nannt c83beffeae fix feedback-button interfering with forms 2023-02-09 16:57:23 +01:00
knugget cec677eaae revamped instructions 2023-02-09 15:53:25 +01:00
knugget 3701487534 updating instructions 2023-02-09 13:16:55 +01:00
Matthias Nannt 187bf3ca49 remove session from formbricks-app feedback button 2023-02-09 12:08:43 +01:00
Matthias Nannt a94a35c89d update feedback button to solve build issues 2023-02-09 12:00:51 +01:00
Matthias Nannt 3d3ced5f4b Merge branch 'main' of github.com:formbricks/formbricks 2023-02-09 11:54:45 +01:00
Matthias Nannt 97a20c4f7f update feedback button to solve build issues 2023-02-09 11:54:29 +01:00
knugget d8f40a44fa Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-09 11:44:10 +01:00
knugget afe94f9266 fix pmf page layout 2023-02-09 11:44:04 +01:00
Matthias Nannt d7547fb594 update robots.txt 2023-02-09 11:41:33 +01:00
Matthias Nannt b8f272ceb9 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-09 11:37:24 +01:00
knugget 16c9e5beb3 old docs forwards 2023-02-09 11:36:24 +01:00
knugget 5d00e87d1e replace "Superhuman" with PMF 2023-02-09 11:27:44 +01:00
knugget 6d7d77087c open CTA in new tab 2023-02-09 11:21:18 +01:00
Matthias Nannt 838ac1d6b7 update engine-react version to 0.1.1 2023-02-09 11:20:52 +01:00
knugget bfca2b7385 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-09 11:17:16 +01:00
Matthias Nannt 797a8e69bb update package-lock 2023-02-09 11:10:08 +01:00
Matthias Nannt a67312fa97 Merge branch 'main' of github.com:formbricks/formbricks 2023-02-09 11:07:39 +01:00
Matthias Nannt 28245cf604 update feedback button 2023-02-09 11:07:10 +01:00
knugget fa04bae030 Merge branch 'pmf-page' into main 2023-02-09 10:56:11 +01:00
knugget ad703df3b6 pmf page v1 2023-02-09 10:53:03 +01:00
Matti Nannt 9f2487cabf Add a PMF demo dashboard at /demo (#195)
* add pmf demo page with sample submissions

* add customer demo view
2023-02-08 19:29:30 +01:00
Matthias Nannt ad8d906429 add label to integration survey elements 2023-02-08 15:46:29 +01:00
Matthias Nannt 0af31fdc9d send schema along with onboarding survey 2023-02-08 15:43:09 +01:00
Matthias Nannt 5f58c50865 add finished flag to onboarding survey submission 2023-02-08 14:19:38 +01:00
Matthias Nannt 24c350829c fix layout to allow page layout to be full width 2023-02-08 14:14:42 +01:00
Matthias Nannt 3af58e80d2 update <a> with <Link> 2023-02-08 14:11:58 +01:00
Matthias Nannt 9c4b2e99ae formbricks-app: use feedback widget from packages 2023-02-08 14:02:12 +01:00
Matti Nannt edacd3507a Integration survey (#194)
* add integrations tab with surveys

* add new horizontal navbar

---------

Co-authored-by: knugget <johannes@knugget.de>
2023-02-08 13:55:02 +01:00
Matthias Nannt 29db5394f7 fix filterNavigation warning, add database_urls to db:migrate:vercel in turbo.json 2023-02-08 13:11:21 +01:00
Matthias Nannt f8759aa2f2 update lock file 2023-02-08 12:46:28 +01:00
Matthias Nannt 31d751b89c Merge branch 'main' of github.com:formbricks/formbricks 2023-02-08 12:05:31 +01:00
Matthias Nannt 51c80cb9d5 fix reply-to header in email 2023-02-08 12:04:45 +01:00
knugget efb52bdab4 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-08 11:54:42 +01:00
knugget 00ba12a511 fix logo on FF 2023-02-08 11:54:32 +01:00
Matthias Nannt 623d54d6e5 fix submission capture typo, fix feedback demo 2023-02-08 11:48:50 +01:00
Matthias Nannt 264c931624 clean up & fix build issues 2023-02-08 11:20:08 +01:00
Matti Nannt 6bfc46042b Add Onboarding Survey after User-Signup (#193)
* add onboarding survey after user signup

* add user flag finishedOnboarding to database and session

* fix submission capture endpoint to allow customer property update

---------

Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
Co-authored-by: knugget <johannes@knugget.de>
2023-02-08 11:12:12 +01:00
Matthias Nannt 1fec6e34a9 add superhuman view to pmf survey 2023-02-07 09:25:57 +01:00
Matthias Nannt 750f05420a Fix FilterNavigation to work with Checkboxes 2023-02-06 16:11:35 +01:00
Matthias Nannt 1d2834fabc update pnpm lockfile 2023-02-06 15:43:49 +01:00
Matthias Nannt 92b750c87e show percentage in pie chart instead of total number, add total number of submissions to pmf overview 2023-02-06 15:42:23 +01:00
Matthias Nannt c898af0390 outsource form-engine in own package 2023-02-06 14:53:48 +01:00
Matthias Nannt a9b9f022b5 refactor demos to include a demo-overview, change demos to use env variables, fix react lib to work with new schema 2023-02-06 10:46:42 +01:00
Matthias Nannt b833e21b10 use only organisationId for posthog tracking 2023-02-06 09:47:53 +01:00
Matthias Nannt 1758bef978 make ee package privat to fix deployment pipeline issues 2023-02-05 21:44:46 +01:00
Matthias Nannt 6f5e43f0e5 add confetti to waitlist survey 2023-02-05 21:37:05 +01:00
Matthias Nannt 5b9a829f3f Merge branch 'main' of github.com:formbricks/formbricks 2023-02-04 11:40:18 +01:00
Matthias Nannt ee7b74cd5d fix survey fields are saved only in customer 2023-02-04 11:39:58 +01:00
knugget bc06197126 update blog 2023-02-03 17:54:36 +01:00
knugget 60166c1292 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-02-03 17:45:38 +01:00
knugget bc663bd104 weekly 3rd of Feb 2023-02-03 17:45:35 +01:00
Matthias Nannt 892bb9d65a bugfix build errors 2023-02-03 17:14:52 +01:00
Matthias Nannt e63d57667c add api functionality to add fields to customer with submission update, update waitlist to create customer once he submits email field 2023-02-03 17:06:48 +01:00
Matthias Nannt a809110b13 add db:migrate:vercel to turbo json 2023-02-03 15:32:23 +01:00
Matthias Nannt 524f35aba1 update database packages and prisma version, add db:migrate:vercel command to use MIGRATE_DATABASE_URL 2023-02-03 15:29:00 +01:00
Matthias Nannt 6c7b1a9540 update pmf widget version number 2023-02-03 14:13:27 +01:00
Matti Nannt a2cbf87a20 Add Payment to Formbricks Cloud (#192)
* add enterprise license, add ee package

* migrate database from workspaces to organisations

* add payment api endpoints and billing pages

* add stripe env variables to .env.example
2023-02-03 11:42:40 +01:00
Johannes 97a0accca0 session type 2023-01-31 16:11:54 +00:00
Johannes 55a6d57921 update wording survey 2023-01-31 16:00:36 +00:00
Matthias Nannt 79f420e45d update demo & web dependencies 2023-01-31 09:56:48 +01:00
Matthias Nannt 26f5d39baf formbricks-com make waitlist submission synchronous again, add warmup request 2023-01-30 16:34:28 +01:00
Matthias Nannt 53749d191b update telemetry endpoint 2023-01-30 15:05:23 +01:00
Matthias Nannt d2b10d6502 update tslint config with noUnusedLocals and clean up code accordingly 2023-01-30 14:40:12 +01:00
knugget 94f0cf490f PMFPage 2023-01-30 14:07:29 +01:00
Matthias Nannt bfe4ad0f87 app: underline privacy policy and terms link in signup 2023-01-30 14:04:00 +01:00
Matthias Nannt 2e6c7eabdc update privacy policy with new cloud url 2023-01-30 13:53:49 +01:00
Matthias Nannt 067022e69c FOR-201 fix hqUrl in feedback and pmf widget to work with trailing slash 2023-01-30 13:42:59 +01:00
Matthias Nannt b8fd9ee624 add target to ui button link 2023-01-30 13:34:14 +01:00
Matthias Nannt 1392bc9ad2 updated feedback widget version in formbricks-com & formbricks-app 2023-01-30 12:21:51 +01:00
Matthias Nannt 86be8d7c4b fix pnpm lock, move formbricks feedback widget to app.formbricks.com 2023-01-30 12:14:34 +01:00
Matthias Nannt 6c85188d4d pmf widget: add focus trap, make radio buttons accesible via keyboard 2023-01-30 11:58:46 +01:00
knugget 825a6e8c39 update imports 2023-01-30 11:23:47 +01:00
knugget 7f9111472e pmf page pt 1 2023-01-30 11:23:47 +01:00
Matthias Nannt 58e643bac5 update css classes in pmf widget to avoid conflicts with feedback widget 2023-01-30 10:10:50 +01:00
knugget f06b9b1de9 fix deploy 2023-01-27 21:44:43 +01:00
knugget 3446814efe redeploy 2023-01-27 21:01:55 +01:00
Johannes 9a7bf766db weekly-270123 (#190) 2023-01-27 20:27:04 +01:00
Matthias Nannt 4e1386978c fix customer view in formbricks app, rename pmf overview 2023-01-27 17:16:42 +01:00
Matthias Nannt 0d832b65b3 add warmup call to pmfwidget; 2023-01-27 14:59:10 +01:00
Matthias Nannt 50a9c2bc8a update pmf widget to 0.0.6 2023-01-27 12:17:37 +01:00
Matthias Nannt c99b4a8754 pmf widget change window.formbricks to window.formbricksPmf 2023-01-27 12:12:59 +01:00
Matthias Nannt 2c111bdcb2 merged change 2023-01-27 11:33:07 +01:00
Matthias Nannt ea0383dc2b update pmf widget version 2023-01-27 11:32:12 +01:00
knugget bfa24987cc Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-01-27 11:31:58 +01:00
knugget d8d6480876 update PMF Widget, delete old LP subpages 2023-01-27 11:31:43 +01:00
Matthias Nannt 26f200e4c4 add onFinished method to pmf widget 2023-01-27 11:31:06 +01:00
knugget 6cbd58bc2d update feedback button, snappy waitlist 2023-01-26 14:23:26 +01:00
knugget bbe573ec6f responsivenes scale 2023-01-26 13:18:56 +01:00
Matthias Nannt 28b004e2fe formbricks-com async waitlist form submissions 2023-01-26 11:47:39 +01:00
Matthias Nannt 0ca3a6f876 fix github sso 404 error 2023-01-26 11:12:10 +01:00
Matti Nannt 0e2e57a837 Add PMF dashboard to Formbricks App (#189)
* add PMF results dashboard
* add PMF Segmentation View
* add PMF setup instructions
* Built new Filter Navigation that is also used in Feedback

Co-authored-by: knugget <johannes@knugget.de>
2023-01-25 20:50:54 +01:00
knugget 090ac903e8 fix slider button blocking UI 2023-01-25 13:51:50 +01:00
knugget c444d500a4 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-01-25 12:10:35 +01:00
knugget a3ef84ba30 PMF Widget UI tweaking 2023-01-25 12:09:37 +01:00
Matthias Nannt 4b49dfa6a4 pmf widget: reset-method, add finished flag, make textareas required 2023-01-25 10:26:46 +01:00
Matti Nannt 70346cf1f6 Add pmf frontend widget (#188)
* add pmf widget code

* update widget, add pmf demo page
2023-01-24 16:58:08 +01:00
knugget e64df610d9 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-01-23 14:45:15 +01:00
knugget 8fbce22474 waitlist update + fix blog link 2023-01-23 14:45:12 +01:00
Matthias Nannt 7d0c548477 fix emailNotification input field label 2023-01-23 13:27:36 +01:00
Matthias Nannt 427cf17a8d Merge branch 'main' of github.com:formbricks/formbricks 2023-01-23 13:17:11 +01:00
Matthias Nannt 5bfb3a1864 update feedback widget to overwrite config with open(), fix customer view in feedback timeline in app 2023-01-23 13:16:56 +01:00
Matthias Nannt 7b72ffb82e update feedback widget to add finished flag after sending 2023-01-21 18:26:17 +01:00
Johannes 16ad208f8e remove free plan from waitlist thank-you page 2023-01-21 18:18:01 +01:00
Matthias Nannt 14be6ce407 fix ui icons to use jsx notation for properties 2023-01-21 11:23:24 +01:00
Matthias Nannt 7bf0a76f29 use nextjs built-in cors approach for formbricks app 2023-01-21 11:19:57 +01:00
Matthias Nannt 81f26e3eb6 Merge branch 'main' of github.com:formbricks/formbricks 2023-01-21 10:33:12 +01:00
Matthias Nannt 3275f60e10 fix import error in demo, fix jsx style in core-api & email icon, add finished flag to capture endpoint 2023-01-21 10:25:38 +01:00
knugget d0bf119f9d fix typo on screenshot 2023-01-20 18:33:18 +01:00
knugget 47a81aff19 weekly + animation update 2023-01-20 18:15:57 +01:00
knugget e5aaf4bcb6 update wording lp 2023-01-20 16:21:54 +01:00
knugget 0186103c01 Merge branch 'main' of https://github.com/formbricks/formbricks into main 2023-01-20 16:21:46 +01:00
knugget 7b0b479e88 update wording 2023-01-20 16:21:38 +01:00
Matthias Nannt e02df9683e update waitlist questions, add skip button 2023-01-20 16:18:45 +01:00
Matthias Nannt 8339bb9d65 add plausible events to waitlist form 2023-01-20 15:35:47 +01:00
Matthias Nannt fb2cd315e5 Merge branch 'main' of github.com:formbricks/formbricks 2023-01-20 12:25:49 +01:00
Matthias Nannt dbc68c810f add new pipeline events submissionUpdated & submissionFinished 2023-01-20 12:25:45 +01:00
Matthias Nannt e5ce84b03d add finished flag to submission 2023-01-20 11:01:33 +01:00
knugget 7dc9c61122 update beta question 2023-01-20 09:50:40 +01:00
knugget 944235ef00 fix discord btn + waitlist dark 2023-01-19 16:19:26 +01:00
Johannes 75d0f51df4 fix waitlist dark (#186) 2023-01-19 16:02:20 +01:00
Matthias Nannt 5bb3bd2031 update waitlist formId in formbricks-com 2023-01-19 15:52:01 +01:00
Matthias Nannt 2e881c0914 add github auth env variables to example files 2023-01-19 15:47:05 +01:00
Matti Nannt 80617811c2 Add new landingpage with waitlist, update Formbricks App to handle custom waitlist survey (#185)
* add new landingpage for user research surveys
* update Formbricks App to support custom surveys

Co-authored-by: knugget <johannes@knugget.de>
2023-01-19 15:34:22 +01:00
Matthias Nannt 09c822c52e update dockerfile to work with new folder structure 2023-01-15 14:10:20 +01:00
Matthias Nannt a86b9c6e19 rebuild formbricks app folder structure, rename team -> workspace 2023-01-15 12:57:34 +01:00
Matti Nannt 99c1d155e3 Update HQ with experience management approach and feedback widget (#184)
* create basis for feedback form creation

* add icons to ui package

* add prototype feedback results view

* add react feedback widget to demo, add connection between widget and hq, update capture submission api, update results view

* update single customer view to new design, update feedback modal interface, fix smaller bugs

* add feedback widget

* fix signup route, fix persistForm functionality

* feedback box widget pre animation

* fix intro text in widget

* feedback-widget: clean old switch-button

* tweaks

* feedback widget: fix click listener

* formbricks feedback package setup

* finish styling

* Change "Compliments" to "Love"

* form card width

* update demo page with feedback widget

* update feedback widget

* load from NPM

* add highlightcolor styles

* add style to feedback widget config

* fix send email in hq feedback, fix error when styling not present in feedback widget config

* feedback widget: fix header subtitle color by adding opacity, re-add focus

* with rgba variables

* updated with HEX and examples

* hq: add pipelines to form

* feedback widget: outside click closes widget

* update sentry config

* update recommended nodejs version to 18 in hq readme

* switch css update

* update feedback widget demo

* feedback widget: hide cta by default

* fix config contact in widget not checked correctly

* feedbackwidget: init on open if init failed previously

* fix margin bottom

* fix margins feedback box

* release feedback widget v0.1.5

* hq: add replyTo field in submission mail if customer present

* fix contact subtitle css

* add setup instructions in XM

* add divId support for feedback widget

* add feedback-box to hq

* add slackNotification (#181)

* update slack pipeline wording

* fix formbricks url in email and slack notifications

* lotus config + borderRadius

* rebase xm branch to current main

* remove formbricks-com cloud offering links

* update Readme for xm approach

Co-authored-by: knugget <johannes@knugget.de>
2023-01-14 11:41:35 +01:00
Matthias Nannt 8794de78fb update blog post 2023-01-13 21:03:43 +01:00
Johannes be5a333d7a weekly update (#183) 2023-01-13 20:59:41 +01:00
Johannes 51f0bdfbe9 Weekly 130123 (#182)
* weekly-130123

* weekly-130123
2023-01-13 20:00:13 +01:00
knugget a653775c5f new size mobile 2023-01-11 16:45:05 +01:00
knugget 1b67b8469a shorten feedback box 2023-01-11 16:29:17 +01:00
Matthias Nannt 29f5b7a95c formbricks-com update xs breakpoint 2023-01-11 12:34:38 +01:00
Matti Nannt 5b174b0e8e Feedback Box on formbricks.com (#180)
* build and integrate feedback widget on formbricks-com

Co-authored-by: knugget <johannes@knugget.de>
2023-01-11 12:23:03 +01:00
Matthias Nannt 3f8811f5f3 update feedback box in formbricks.com 2023-01-09 09:54:41 +01:00
Matthias Nannt 76d9587b26 fix typos in blog 2023-01-06 23:16:19 +01:00
Matti Nannt 91cf027f16 Weekly 060123 (#179)
* weekly 060123 draft

* add calcom screenshot

Co-authored-by: knugget <johannes@knugget.de>
2023-01-06 23:00:47 +01:00
Matthias Nannt 1d739f75f1 formbricks.com hide feedback widget 2023-01-05 16:34:39 +01:00
Matthias Nannt 104edbd214 use jsdeliver for loading feedback widget on formbricks.com 2023-01-04 17:56:49 +01:00
Matthias Nannt fc0b730652 move feedback widget on formbricks.com to own component, add plausible tracking on feedback click 2023-01-04 17:31:54 +01:00
Matthias Nannt b4b0b89df3 add feedback widget to formbricks.com 2023-01-04 17:16:39 +01:00
knugget 2576447d85 fix responsive iframe 2022-12-30 16:28:36 +01:00
Matti Nannt 3faf6661d5 weekly 301222 (#178)
Co-authored-by: knugget <johannes@knugget.de>
2022-12-30 14:37:42 +01:00
Matthias Nannt 81fa18053d update dockerfile from alpine to slim to fix openssl errors 2022-12-19 09:13:07 +01:00
Matti Nannt c256bab985 weekly-161222 + nav bar adapt (#177)
Co-authored-by: knugget <johannes@knugget.de>
2022-12-16 16:42:38 +01:00
Matthias Nannt a4d21222a6 react: throw error on sendToHq failing 2022-12-14 13:38:54 +01:00
Matthias Nannt fbfc1acd61 update feedback demo 2022-12-13 15:57:57 +01:00
Matthias Nannt 9b16d182d4 fix react lib missing in demo dependencies 2022-12-13 15:32:08 +01:00
Matthias Nannt 237febf512 update react example 2022-12-13 15:21:00 +01:00
Matthias Nannt 19bb1565f6 add sentry error tracking to hq 2022-12-12 12:51:38 +01:00
Matthias Nannt 270754521e fix posthog tracking new user, use next link in form tabs to improve speed 2022-12-12 11:14:55 +01:00
Matthias Nannt 0cff6e799f Merge branch 'main' of github.com:snoopForms/snoopforms 2022-12-12 11:01:41 +01:00
Matti Nannt 3383d1e896 fix broken settings + UX improvements (#176)
Co-authored-by: knugget <johannes@knugget.de>
2022-12-12 09:11:19 +01:00
Matthias Nannt 49a273c7c4 update hq demo with pmf modal 2022-12-11 10:57:17 +01:00
Johannes aa5f4654a5 updated launch hq (#174) 2022-12-09 18:37:44 +01:00
Johannes 3daf96c2bb weekly-09122022 (#175) 2022-12-09 18:37:04 +01:00
Matthias Nannt 37bd6c054d fix charts and react package 2022-12-09 09:08:38 +01:00
Matthias Nannt 846f0fe7bf clean up code, fix typo in blog 2022-12-08 18:53:37 +01:00
Matthias Nannt a56fddbb37 update launch blog post 2022-12-08 18:43:27 +01:00
Matthias Nannt 8cba54aa86 fix add react lib to formbricks-com 2022-12-08 18:34:22 +01:00
Matti Nannt 0f1e5e5fb0 Launch hq blog (#173)
* draft-1

* update

Co-authored-by: knugget <johannes@knugget.de>
2022-12-08 18:25:06 +01:00
Matthias Nannt aec2a922d4 update cors headers in hq 2022-12-08 17:46:33 +01:00
Matthias Nannt 65a157e6ea fix hq pipeline prisma not found, remove cors in api route files 2022-12-08 17:43:50 +01:00
Matthias Nannt ae3780880c add demo app, update cors on hq 2022-12-08 17:19:54 +01:00
Matthias Nannt 2463fb8d17 update Readme 2022-12-08 15:56:48 +01:00
Matthias Nannt 7e7f27d232 add self-hosting doc for hq 2022-12-08 15:49:08 +01:00
Matthias Nannt ea1b0c9c70 Merge branch 'main' of github.com:snoopForms/snoopforms 2022-12-08 15:41:15 +01:00
Matthias Nannt 43da64b2f1 update docs link in hq 2022-12-08 15:41:08 +01:00
Johannes 59db0d357e update privacy policy (#171) 2022-12-08 15:33:24 +01:00
4177 changed files with 447448 additions and 36342 deletions
-8
View File
@@ -1,8 +0,0 @@
# Changesets
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
+4 -4
View File
@@ -1,11 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json",
"access": "public",
"baseBranch": "main",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"ignore": ["@formbricks/demo", "@formbricks/web"],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["@formbricks/formbricks-com"]
"updateInternalDependencies": "patch"
}
+61
View File
@@ -0,0 +1,61 @@
---
description:
globs:
alwaysApply: false
---
# Build & Deployment Best Practices
## Build Process
### Running Builds
- Use `pnpm build` from project root for full build
- Monitor for React hooks warnings and fix them immediately
- Ensure all TypeScript errors are resolved before deployment
### Common Build Issues & Fixes
#### React Hooks Warnings
- Capture ref values in variables within useEffect cleanup
- Avoid accessing `.current` directly in cleanup functions
- Pattern for fixing ref cleanup warnings:
```typescript
useEffect(() => {
const currentRef = myRef.current;
return () => {
if (currentRef) {
currentRef.cleanup();
}
};
}, []);
```
#### Test Failures During Build
- Ensure all test mocks include required constants like `SESSION_MAX_AGE`
- Mock Next.js navigation hooks properly: `useParams`, `useRouter`, `useSearchParams`
- Remove unused imports and constants from test files
- Use literal values instead of imported constants when the constant isn't actually needed
### Test Execution
- Run `pnpm test` to execute all tests
- Use `pnpm test -- --run filename.test.tsx` for specific test files
- Fix test failures before merging code
- Ensure 100% test coverage for new components
### Performance Monitoring
- Monitor build times and optimize if necessary
- Watch for memory usage during builds
- Use proper caching strategies for faster rebuilds
### Deployment Checklist
1. All tests passing
2. Build completes without warnings
3. TypeScript compilation successful
4. No linter errors
5. Database migrations applied (if any)
6. Environment variables configured
### EKS Deployment Considerations
- Ensure latest code is deployed to all pods
- Monitor AWS RDS Performance Insights for database issues
- Verify environment-specific configurations
- Check pod health and resource usage
+414
View File
@@ -0,0 +1,414 @@
---
description: Caching rules for performance improvements
globs:
alwaysApply: false
---
# Cache Optimization Patterns for Formbricks
## Cache Strategy Overview
Formbricks uses a **hybrid caching approach** optimized for enterprise scale:
- **Redis** for persistent cross-request caching
- **React `cache()`** for request-level deduplication
- **NO Next.js `unstable_cache()`** - avoid for reliability
## Key Files
### Core Cache Infrastructure
- [apps/web/modules/cache/lib/service.ts](mdc:apps/web/modules/cache/lib/service.ts) - Redis cache service
- [apps/web/modules/cache/lib/withCache.ts](mdc:apps/web/modules/cache/lib/withCache.ts) - Cache wrapper utilities
- [apps/web/modules/cache/lib/cacheKeys.ts](mdc:apps/web/modules/cache/lib/cacheKeys.ts) - Enterprise cache key patterns and utilities
### Environment State Caching (Critical Endpoint)
- [apps/web/app/api/v1/client/[environmentId]/environment/route.ts](mdc:apps/web/app/api/v1/client/[environmentId]/environment/route.ts) - Main endpoint serving hundreds of thousands of SDK clients
- [apps/web/app/api/v1/client/[environmentId]/environment/lib/data.ts](mdc:apps/web/app/api/v1/client/[environmentId]/environment/lib/data.ts) - Optimized data layer with caching
## Enterprise-Grade Cache Key Patterns
**Always use** the `createCacheKey` utilities from [cacheKeys.ts](mdc:apps/web/modules/cache/lib/cacheKeys.ts):
```typescript
// ✅ Correct patterns
createCacheKey.environment.state(environmentId) // "fb:env:abc123:state"
createCacheKey.organization.billing(organizationId) // "fb:org:xyz789:billing"
createCacheKey.license.status(organizationId) // "fb:license:org123:status"
createCacheKey.user.permissions(userId, orgId) // "fb:user:456:org:123:permissions"
// ❌ Never use flat keys - collision-prone
"environment_abc123"
"user_data_456"
```
## When to Use Each Cache Type
### Use React `cache()` for Request Deduplication
```typescript
// ✅ Prevents multiple calls within same request
export const getEnterpriseLicense = reactCache(async () => {
// Complex license validation logic
});
```
### Use `withCache()` for Simple Database Queries
```typescript
// ✅ Simple caching with automatic fallback (TTL in milliseconds)
export const getActionClasses = (environmentId: string) => {
return withCache(() => fetchActionClassesFromDB(environmentId), {
key: createCacheKey.environment.actionClasses(environmentId),
ttl: 60 * 30 * 1000, // 30 minutes in milliseconds
})();
};
```
### Use Explicit Redis Cache for Complex Business Logic
```typescript
// ✅ Full control for high-stakes endpoints
export const getEnvironmentState = async (environmentId: string) => {
const cached = await environmentStateCache.getEnvironmentState(environmentId);
if (cached) return cached;
const fresh = await buildComplexState(environmentId);
await environmentStateCache.setEnvironmentState(environmentId, fresh);
return fresh;
};
```
## Caching Decision Framework
### When TO Add Caching
```typescript
// ✅ Expensive operations that benefit from caching
- Database queries (>10ms typical)
- External API calls (>50ms typical)
- Complex computations (>5ms)
- File system operations
- Heavy data transformations
// Example: Database query with complex joins (TTL in milliseconds)
export const getEnvironmentWithDetails = withCache(
async (environmentId: string) => {
return prisma.environment.findUnique({
where: { id: environmentId },
include: { /* complex joins */ }
});
},
{ key: createCacheKey.environment.details(environmentId), ttl: 60 * 30 * 1000 } // 30 minutes
)();
```
### When NOT to Add Caching
```typescript
// ❌ Don't cache these operations - minimal overhead
- Simple property access (<0.1ms)
- Basic transformations (<1ms)
- Functions that just call already-cached functions
- Pure computation without I/O
// ❌ Bad example: Redundant caching
const getCachedLicenseFeatures = withCache(
async () => {
const license = await getEnterpriseLicense(); // Already cached!
return license.active ? license.features : null; // Just property access
},
{ key: "license-features", ttl: 1800 * 1000 } // 30 minutes in milliseconds
);
// ✅ Good example: Simple and efficient
const getLicenseFeatures = async () => {
const license = await getEnterpriseLicense(); // Already cached
return license.active ? license.features : null; // 0.1ms overhead
};
```
### Computational Overhead Analysis
Before adding caching, analyze the overhead:
```typescript
// ✅ High overhead - CACHE IT
- Database queries: ~10-100ms
- External APIs: ~50-500ms
- File I/O: ~5-50ms
- Complex algorithms: >5ms
// ❌ Low overhead - DON'T CACHE
- Property access: ~0.001ms
- Simple lookups: ~0.1ms
- Basic validation: ~1ms
- Type checks: ~0.01ms
// Example decision tree:
const expensiveOperation = async () => {
return prisma.query(); // 50ms - CACHE IT
};
const cheapOperation = (data: any) => {
return data.property; // 0.001ms - DON'T CACHE
};
```
### Avoid Cache Wrapper Anti-Pattern
```typescript
// ❌ Don't create wrapper functions just for caching
const getCachedUserPermissions = withCache(
async (userId: string) => getUserPermissions(userId),
{ key: createCacheKey.user.permissions(userId), ttl: 3600 * 1000 } // 1 hour in milliseconds
);
// ✅ Add caching directly to the original function
export const getUserPermissions = withCache(
async (userId: string) => {
return prisma.user.findUnique({
where: { id: userId },
include: { permissions: true }
});
},
{ key: createCacheKey.user.permissions(userId), ttl: 3600 * 1000 } // 1 hour in milliseconds
);
```
## TTL Coordination Strategy
### Multi-Layer Cache Coordination
For endpoints serving client SDKs, coordinate TTLs across layers:
```typescript
// Client SDK cache (expiresAt) - longest TTL for fewer requests
const CLIENT_TTL = 60 * 60; // 1 hour (seconds for client)
// Server Redis cache - shorter TTL ensures fresh data for clients
const SERVER_TTL = 60 * 30 * 1000; // 30 minutes in milliseconds
// HTTP cache headers (seconds)
const BROWSER_TTL = 60 * 60; // 1 hour (max-age)
const CDN_TTL = 60 * 30; // 30 minutes (s-maxage)
const CORS_TTL = 60 * 60; // 1 hour (balanced approach)
```
### Standard TTL Guidelines (in milliseconds for cache-manager + Keyv)
```typescript
// Configuration data - rarely changes
const CONFIG_TTL = 60 * 60 * 24 * 1000; // 24 hours
// User data - moderate frequency
const USER_TTL = 60 * 60 * 2 * 1000; // 2 hours
// Survey data - changes moderately
const SURVEY_TTL = 60 * 15 * 1000; // 15 minutes
// Billing data - expensive to compute
const BILLING_TTL = 60 * 30 * 1000; // 30 minutes
// Action classes - infrequent changes
const ACTION_CLASS_TTL = 60 * 30 * 1000; // 30 minutes
```
## High-Frequency Endpoint Optimization
### Performance Patterns for High-Volume Endpoints
```typescript
// ✅ Optimized high-frequency endpoint pattern
export const GET = async (request: NextRequest, props: { params: Promise<{ id: string }> }) => {
const params = await props.params;
try {
// Simple validation (avoid Zod for high-frequency)
if (!params.id || typeof params.id !== 'string') {
return responses.badRequestResponse("ID is required", undefined, true);
}
// Single optimized query with caching
const data = await getOptimizedData(params.id);
return responses.successResponse(
{
data,
expiresAt: new Date(Date.now() + CLIENT_TTL * 1000), // SDK cache duration
},
true,
"public, s-maxage=1800, max-age=3600, stale-while-revalidate=1800, stale-if-error=3600"
);
} catch (err) {
// Simplified error handling for performance
if (err instanceof ResourceNotFoundError) {
return responses.notFoundResponse(err.resourceType, err.resourceId);
}
logger.error({ error: err, url: request.url }, "Error in high-frequency endpoint");
return responses.internalServerErrorResponse(err.message, true);
}
};
```
### Avoid These Performance Anti-Patterns
```typescript
// ❌ Avoid for high-frequency endpoints
const inputValidation = ZodSchema.safeParse(input); // Too slow
const startTime = Date.now(); logger.debug(...); // Logging overhead
const { data, revalidateEnvironment } = await get(); // Complex return types
```
### CORS Optimization
```typescript
// ✅ Balanced CORS caching (not too aggressive)
export const OPTIONS = async (): Promise<Response> => {
return responses.successResponse(
{},
true,
"public, s-maxage=3600, max-age=3600" // 1 hour balanced approach
);
};
```
## Redis Cache Migration from Next.js
### Avoid Legacy Next.js Patterns
```typescript
// ❌ Old Next.js unstable_cache pattern (avoid)
const getCachedData = unstable_cache(
async (id) => fetchData(id),
['cache-key'],
{ tags: ['environment'], revalidate: 900 }
);
// ❌ Don't use revalidateEnvironment flags with Redis
return { data, revalidateEnvironment: true }; // This gets cached incorrectly!
// ✅ New Redis pattern with withCache (TTL in milliseconds)
export const getCachedData = (id: string) =>
withCache(
() => fetchData(id),
{
key: createCacheKey.environment.data(id),
ttl: 60 * 15 * 1000, // 15 minutes in milliseconds
}
)();
```
### Remove Revalidation Logic
When migrating from Next.js `unstable_cache`:
- Remove `revalidateEnvironment` or similar flags
- Remove tag-based invalidation logic
- Use TTL-based expiration instead
- Handle one-time updates (like `appSetupCompleted`) directly in cache
## Data Layer Optimization
### Single Query Pattern
```typescript
// ✅ Optimize with single database query
export const getOptimizedEnvironmentData = async (environmentId: string) => {
return prisma.environment.findUniqueOrThrow({
where: { id: environmentId },
include: {
project: {
select: { id: true, recontactDays: true, /* ... */ }
},
organization: {
select: { id: true, billing: true }
},
surveys: {
where: { status: "inProgress" },
select: { id: true, name: true, /* ... */ }
},
actionClasses: {
select: { id: true, name: true, /* ... */ }
}
}
});
};
// ❌ Avoid multiple separate queries
const environment = await getEnvironment(id);
const organization = await getOrganization(environment.organizationId);
const surveys = await getSurveys(id);
const actionClasses = await getActionClasses(id);
```
## Invalidation Best Practices
**Always use explicit key-based invalidation:**
```typescript
// ✅ Clear and debuggable
await invalidateCache(createCacheKey.environment.state(environmentId));
await invalidateCache([
createCacheKey.environment.surveys(environmentId),
createCacheKey.environment.actionClasses(environmentId)
]);
// ❌ Avoid complex tag systems
await invalidateByTags(["environment", "survey"]); // Don't do this
```
## Critical Performance Targets
### High-Frequency Endpoint Goals
- **Cache hit ratio**: >85%
- **Response time P95**: <200ms
- **Database load reduction**: >60%
- **HTTP cache duration**: 1hr browser, 30min Cloudflare
- **SDK refresh interval**: 1 hour with 30min server cache
### Performance Monitoring
- Use **existing elastic cache analytics** for metrics
- Log cache errors and warnings (not debug info)
- Track database query reduction
- Monitor response times for cached endpoints
- **Avoid performance logging** in high-frequency endpoints
## Error Handling Pattern
Always provide fallback to fresh data on cache errors:
```typescript
try {
const cached = await cache.get(key);
if (cached) return cached;
const fresh = await fetchFresh();
await cache.set(key, fresh, ttl); // ttl in milliseconds
return fresh;
} catch (error) {
// ✅ Always fallback to fresh data
logger.warn("Cache error, fetching fresh", { key, error });
return fetchFresh();
}
```
## Common Pitfalls to Avoid
1. **Never use Next.js `unstable_cache()`** - unreliable in production
2. **Don't use revalidation flags with Redis** - they get cached incorrectly
3. **Avoid Zod validation** for simple parameters in high-frequency endpoints
4. **Don't add performance logging** to high-frequency endpoints
5. **Coordinate TTLs** between client and server caches
6. **Don't over-engineer** with complex tag systems
7. **Avoid caching rapidly changing data** (real-time metrics)
8. **Always validate cache keys** to prevent collisions
9. **Don't add redundant caching layers** - analyze computational overhead first
10. **Avoid cache wrapper functions** - add caching directly to expensive operations
11. **Don't cache property access or simple transformations** - overhead is negligible
12. **Analyze the full call chain** before adding caching to avoid double-caching
13. **Remember TTL is in milliseconds** for cache-manager + Keyv stack (not seconds)
## Monitoring Strategy
- Use **existing elastic cache analytics** for metrics
- Log cache errors and warnings
- Track database query reduction
- Monitor response times for cached endpoints
- **Don't add custom metrics** that duplicate existing monitoring
## Important Notes
### TTL Units
- **cache-manager + Keyv**: TTL in **milliseconds**
- **Direct Redis commands**: TTL in **seconds** (EXPIRE, SETEX) or **milliseconds** (PEXPIRE, PSETEX)
- **HTTP cache headers**: TTL in **seconds** (max-age, s-maxage)
- **Client SDK**: TTL in **seconds** (expiresAt calculation)
+41
View File
@@ -0,0 +1,41 @@
---
description:
globs:
alwaysApply: false
---
# Database Performance & Prisma Best Practices
## Critical Performance Rules
### Response Count Queries
- **NEVER** use `skip`/`offset` with `prisma.response.count()` - this causes expensive subqueries with OFFSET
- Always use only `where` clauses for count operations: `prisma.response.count({ where: { ... } })`
- For pagination, separate count queries from data queries
- Reference: [apps/web/lib/response/service.ts](mdc:apps/web/lib/response/service.ts) line 654-686
### Prisma Query Optimization
- Use proper indexes defined in [packages/database/schema.prisma](mdc:packages/database/schema.prisma)
- Leverage existing indexes: `@@index([surveyId, createdAt])`, `@@index([createdAt])`
- Use cursor-based pagination for large datasets instead of offset-based
- Cache frequently accessed data using React Cache and custom cache tags
### Date Range Filtering
- When filtering by `createdAt`, always use indexed queries
- Combine with `surveyId` for optimal performance: `{ surveyId, createdAt: { gte: start, lt: end } }`
- Avoid complex WHERE clauses that can't utilize indexes
### Count vs Data Separation
- Always separate count queries from data fetching queries
- Use `Promise.all()` to run count and data queries in parallel
- Example pattern from [apps/web/modules/api/v2/management/responses/lib/response.ts](mdc:apps/web/modules/api/v2/management/responses/lib/response.ts):
```typescript
const [responses, totalCount] = await Promise.all([
prisma.response.findMany(query),
prisma.response.count({ where: whereClause }),
]);
```
### Monitoring & Debugging
- Monitor AWS RDS Performance Insights for problematic queries
- Look for queries with OFFSET in count operations - these indicate performance issues
- Use proper error handling with `DatabaseError` for Prisma exceptions
+105
View File
@@ -0,0 +1,105 @@
---
description: It should be used **only when the agent explicitly requests database schema-level, details** to support tasks such as: writing/debugging Prisma queries, designing/reviewing data models, investigating multi-tenancy behavior, creating API endpoints, or understanding data relationships.
alwaysApply: false
---
# Formbricks Database Schema Reference
This rule provides a reference to the Formbricks database structure. For the most up-to-date and complete schema definitions, please refer to the schema.prisma file directly.
## Database Overview
Formbricks uses PostgreSQL with Prisma ORM. The schema is designed for multi-tenancy with strong data isolation between organizations.
### Core Hierarchy
```
Organization
└── Project
└── Environment (production/development)
├── Survey
├── Contact
├── ActionClass
└── Integration
```
## Schema Reference
For the complete and up-to-date database schema, please refer to:
- Main schema: `packages/database/schema.prisma`
- JSON type definitions: `packages/database/json-types.ts`
The schema.prisma file contains all model definitions, relationships, enums, and field types. The json-types.ts file contains TypeScript type definitions for JSON fields.
## Data Access Patterns
### Multi-tenancy
- All data is scoped by Organization
- Environment-level isolation for surveys and contacts
- Project-level grouping for related surveys
### Soft Deletion
Some models use soft deletion patterns:
- Check `isActive` fields where present
- Use proper filtering in queries
### Cascading Deletes
Configured cascade relationships:
- Organization deletion cascades to all child entities
- Survey deletion removes responses, displays, triggers
- Contact deletion removes attributes and responses
## Common Query Patterns
### Survey with Responses
```typescript
// Include response count and latest responses
const survey = await prisma.survey.findUnique({
where: { id: surveyId },
include: {
responses: {
take: 10,
orderBy: { createdAt: "desc" },
},
_count: {
select: { responses: true },
},
},
});
```
### Environment Scoping
```typescript
// Always scope by environment
const surveys = await prisma.survey.findMany({
where: {
environmentId: environmentId,
// Additional filters...
},
});
```
### Contact with Attributes
```typescript
const contact = await prisma.contact.findUnique({
where: { id: contactId },
include: {
attributes: {
include: {
attributeKey: true,
},
},
},
});
```
This schema supports Formbricks' core functionality: multi-tenant survey management, user targeting, response collection, and analysis, all while maintaining strict data isolation and security.
+28
View File
@@ -0,0 +1,28 @@
---
description: Guideline for writing end-user facing documentation in the apps/docs folder
globs:
alwaysApply: false
---
Follow these instructions and guidelines when asked to write documentation in the apps/docs folder
Follow this structure to write the title, describtion and pick a matching icon and insert it at the top of the MDX file:
---
title: "FEATURE NAME"
description: "1 concise sentence to describe WHEN the feature is being used and FOR WHAT BENEFIT."
icon: "link"
---
- Description: 1 concise sentence to describe WHEN the feature is being used and FOR WHAT BENEFIT.
- Make ample use of the Mintlify components you can find here https://mintlify.com/docs/llms.txt - e.g. if docs describe consecutive steps, always use Mintlify Step component.
- In all Headlines, only capitalize the current feature and nothing else, to Camel Case.
- The page should never start with H1 headline, because it's already part of the template.
- Tonality: Keep it concise and to the point. Avoid Jargon where possible.
- If a feature is part of the Enterprise Edition, use this note:
<Note>
FEATURE NAME is part of the [Enterprise Edition](/self-hosting/advanced/license)
</Note>
+152
View File
@@ -0,0 +1,152 @@
---
description:
globs:
alwaysApply: false
---
# EKS & ALB Optimization Guide for Error Reduction
## Infrastructure Overview
This project uses AWS EKS with Application Load Balancer (ALB) for the Formbricks application. The infrastructure has been optimized to minimize ELB 502/504 errors through careful configuration of connection handling, health checks, and pod lifecycle management.
## Key Infrastructure Files
### Terraform Configuration
- **Main Infrastructure**: [infra/terraform/main.tf](mdc:infra/terraform/main.tf) - EKS cluster, VPC, Karpenter, and core AWS resources
- **Monitoring**: [infra/terraform/cloudwatch.tf](mdc:infra/terraform/cloudwatch.tf) - CloudWatch alarms for 502/504 error tracking and alerting
- **Database**: [infra/terraform/rds.tf](mdc:infra/terraform/rds.tf) - Aurora PostgreSQL configuration
### Helm Configuration
- **Production**: [infra/formbricks-cloud-helm/values.yaml.gotmpl](mdc:infra/formbricks-cloud-helm/values.yaml.gotmpl) - Optimized ALB and pod configurations
- **Staging**: [infra/formbricks-cloud-helm/values-staging.yaml.gotmpl](mdc:infra/formbricks-cloud-helm/values-staging.yaml.gotmpl) - Staging environment with spot instances
- **Deployment**: [infra/formbricks-cloud-helm/helmfile.yaml.gotmpl](mdc:infra/formbricks-cloud-helm/helmfile.yaml.gotmpl) - Multi-environment Helm releases
## ALB Optimization Patterns
### Connection Handling Optimizations
```yaml
# Key ALB annotations for reducing 502/504 errors
alb.ingress.kubernetes.io/load-balancer-attributes: |
idle_timeout.timeout_seconds=120,
connection_logs.s3.enabled=false,
access_logs.s3.enabled=false
alb.ingress.kubernetes.io/target-group-attributes: |
deregistration_delay.timeout_seconds=30,
stickiness.enabled=false,
load_balancing.algorithm.type=least_outstanding_requests,
target_group_health.dns_failover.minimum_healthy_targets.count=1
```
### Health Check Configuration
- **Interval**: 15 seconds for faster detection of unhealthy targets
- **Timeout**: 5 seconds to prevent false positives
- **Thresholds**: 2 healthy, 3 unhealthy for balanced responsiveness
- **Path**: `/health` endpoint optimized for < 100ms response time
## Pod Lifecycle Management
### Graceful Shutdown Pattern
```yaml
# PreStop hook to allow connection draining
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "sleep 15"]
# Termination grace period for complete cleanup
terminationGracePeriodSeconds: 45
```
### Health Probe Strategy
- **Startup Probe**: 5s initial delay, 5s interval, max 60s startup time
- **Readiness Probe**: 10s delay, 10s interval for traffic readiness
- **Liveness Probe**: 30s delay, 30s interval for container health
### Rolling Update Configuration
```yaml
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25% # Maintain capacity during updates
maxSurge: 50% # Allow faster rollouts
```
## Karpenter Node Management
### Node Lifecycle Optimization
- **Startup Taints**: Prevent traffic during node initialization
- **Graceful Shutdown**: 30s grace period for pod eviction
- **Consolidation Delay**: 60s to reduce unnecessary churn
- **Eviction Policies**: Configured for smooth pod migrations
### Instance Selection
- **Families**: c8g, c7g, m8g, m7g, r8g, r7g (ARM64 Graviton)
- **Sizes**: 2, 4, 8 vCPUs for cost optimization
- **Bottlerocket AMI**: Enhanced security and performance
## Monitoring & Alerting
### Critical ALB Metrics
1. **ELB 502 Errors**: Threshold 20 over 5 minutes
2. **ELB 504 Errors**: Threshold 15 over 5 minutes
3. **Target Connection Errors**: Threshold 50 over 5 minutes
4. **4XX Errors**: Threshold 100 over 10 minutes (client issues)
### Expected Improvements
- **60-80% reduction** in ELB 502 errors
- **Faster recovery** during pod restarts
- **Better connection reuse** efficiency
- **Improved autoscaling** responsiveness
## Deployment Patterns
### Infrastructure Updates
1. **Terraform First**: Apply infrastructure changes via [infra/deploy-improvements.sh](mdc:infra/deploy-improvements.sh)
2. **Helm Second**: Deploy application configurations
3. **Verification**: Check pod status, endpoints, and ALB health
4. **Monitoring**: Watch CloudWatch metrics for 24-48 hours
### Environment-Specific Configurations
- **Production**: On-demand instances, stricter resource limits
- **Staging**: Spot instances, rate limiting disabled, relaxed resources
## Troubleshooting Patterns
### 502 Error Investigation
1. Check pod readiness and health probe status
2. Verify ALB target group health
3. Review deregistration timing during deployments
4. Monitor connection pool utilization
### 504 Error Analysis
1. Check application response times
2. Verify timeout configurations (ALB: 120s, App: aligned)
3. Review database query performance
4. Monitor resource utilization during traffic spikes
### Connection Error Patterns
1. Verify Karpenter node lifecycle timing
2. Check pod termination grace periods
3. Review ALB connection draining settings
4. Monitor cluster autoscaling events
## Best Practices
### When Making Changes
- **Test in staging first** with same configurations
- **Monitor metrics** for 24-48 hours after changes
- **Use gradual rollouts** with proper health checks
- **Maintain ALB timeout alignment** across all layers
### Performance Optimization
- **Health endpoint** should respond < 100ms consistently
- **Connection pooling** aligned with ALB idle timeouts
- **Resource requests/limits** tuned for consistent performance
- **Graceful shutdown** implemented in application code
### Monitoring Strategy
- **Real-time alerts** for error rate spikes
- **Trend analysis** for connection patterns
- **Capacity planning** based on LCU usage
- **4XX pattern analysis** for client behavior insights
+332
View File
@@ -0,0 +1,332 @@
---
description:
globs:
alwaysApply: false
---
# Formbricks Architecture & Patterns
## Monorepo Structure
### Apps Directory
- `apps/web/` - Main Next.js web application
- `packages/` - Shared packages and utilities
### Key Directories in Web App
```
apps/web/
├── app/ # Next.js 13+ app directory
│ ├── (app)/ # Main application routes
│ ├── (auth)/ # Authentication routes
│ ├── api/ # API routes
├── components/ # Shared components
├── lib/ # Utility functions and services
└── modules/ # Feature-specific modules
```
## Routing Patterns
### App Router Structure
The application uses Next.js 13+ app router with route groups:
```
(app)/environments/[environmentId]/
├── surveys/[surveyId]/
│ ├── (analysis)/ # Analysis views
│ │ ├── responses/ # Response management
│ │ ├── summary/ # Survey summary
│ │ └── hooks/ # Analysis-specific hooks
│ ├── edit/ # Survey editing
│ └── settings/ # Survey settings
```
### Dynamic Routes
- `[environmentId]` - Environment-specific routes
- `[surveyId]` - Survey-specific routes
## Service Layer Pattern
### Service Organization
Services are organized by domain in `apps/web/lib/`:
```typescript
// Example: Response service
// apps/web/lib/response/service.ts
export const getResponseCountAction = async ({
surveyId,
filterCriteria,
}: {
surveyId: string;
filterCriteria: any;
}) => {
// Service implementation
};
```
### Action Pattern
Server actions follow a consistent pattern:
```typescript
// Action wrapper for service calls
export const getResponseCountAction = async (params) => {
try {
const result = await responseService.getCount(params);
return { data: result };
} catch (error) {
return { error: error.message };
}
};
```
## Context Patterns
### Provider Structure
Context providers follow a consistent pattern:
```typescript
// Provider component
export const ResponseFilterProvider = ({ children }: { children: React.ReactNode }) => {
const [selectedFilter, setSelectedFilter] = useState(defaultFilter);
const value = {
selectedFilter,
setSelectedFilter,
// ... other state and methods
};
return (
<ResponseFilterContext.Provider value={value}>
{children}
</ResponseFilterContext.Provider>
);
};
// Hook for consuming context
export const useResponseFilter = () => {
const context = useContext(ResponseFilterContext);
if (!context) {
throw new Error('useResponseFilter must be used within ResponseFilterProvider');
}
return context;
};
```
### Context Composition
Multiple contexts are often composed together:
```typescript
// Layout component with multiple providers
export default function AnalysisLayout({ children }: { children: React.ReactNode }) {
return (
<ResponseFilterProvider>
<ResponseCountProvider>
{children}
</ResponseCountProvider>
</ResponseFilterProvider>
);
}
```
## Component Patterns
### Page Components
Page components are located in the app directory and follow this pattern:
```typescript
// apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/page.tsx
export default function ResponsesPage() {
return (
<div>
<ResponsesTable />
<ResponsesPagination />
</div>
);
}
```
### Component Organization
- **Pages** - Route components in app directory
- **Components** - Reusable UI components
- **Modules** - Feature-specific components and logic
### Shared Components
Common components are in `apps/web/components/`:
- UI components (buttons, inputs, modals)
- Layout components (headers, sidebars)
- Data display components (tables, charts)
## Hook Patterns
### Custom Hook Structure
Custom hooks follow consistent patterns:
```typescript
export const useResponseCount = ({
survey,
initialCount
}: {
survey: TSurvey;
initialCount?: number;
}) => {
const [responseCount, setResponseCount] = useState(initialCount ?? 0);
const [isLoading, setIsLoading] = useState(false);
// Hook logic...
return {
responseCount,
isLoading,
refetch,
};
};
```
### Hook Dependencies
- Use context hooks for shared state
- Implement proper cleanup with AbortController
- Optimize dependency arrays to prevent unnecessary re-renders
## Data Fetching Patterns
### Server Actions
The app uses Next.js server actions for data fetching:
```typescript
// Server action
export async function getResponsesAction(params: GetResponsesParams) {
const responses = await getResponses(params);
return { data: responses };
}
// Client usage
const { data } = await getResponsesAction(params);
```
### Error Handling
Consistent error handling across the application:
```typescript
try {
const result = await apiCall();
return { data: result };
} catch (error) {
console.error("Operation failed:", error);
return { error: error.message };
}
```
## Type Safety
### Type Organization
Types are organized in packages:
- `@formbricks/types` - Shared type definitions
- Local types in component/hook files
### Common Types
```typescript
import { TSurvey } from "@formbricks/types/surveys/types";
import { TResponse } from "@formbricks/types/responses";
import { TEnvironment } from "@formbricks/types/environment";
```
## State Management
### Local State
- Use `useState` for component-specific state
- Use `useReducer` for complex state logic
- Use refs for mutable values that don't trigger re-renders
### Global State
- React Context for feature-specific shared state
- URL state for filters and pagination
- Server state through server actions
## Performance Considerations
### Code Splitting
- Dynamic imports for heavy components
- Route-based code splitting with app router
- Lazy loading for non-critical features
### Caching Strategy
- Server-side caching for database queries
- Client-side caching with React Query (where applicable)
- Static generation for public pages
## Testing Strategy
### Test Organization
```
component/
├── Component.tsx
├── Component.test.tsx
└── hooks/
├── useHook.ts
└── useHook.test.tsx
```
### Test Patterns
- Unit tests for utilities and services
- Integration tests for components with context
- Hook tests with proper mocking
## Build & Deployment
### Build Process
- TypeScript compilation
- Next.js build optimization
- Asset optimization and bundling
### Environment Configuration
- Environment-specific configurations
- Feature flags for gradual rollouts
- Database connection management
## Security Patterns
### Authentication
- Session-based authentication
- Environment-based access control
- API route protection
### Data Validation
- Input validation on both client and server
- Type-safe API contracts
- Sanitization of user inputs
## Monitoring & Observability
### Error Tracking
- Client-side error boundaries
- Server-side error logging
- Performance monitoring
### Analytics
- User interaction tracking
- Performance metrics
- Database query monitoring
## Best Practices Summary
### Code Organization
- ✅ Follow the established directory structure
- ✅ Use consistent naming conventions
- ✅ Separate concerns (UI, logic, data)
- ✅ Keep components focused and small
### Performance
- ✅ Implement proper loading states
- ✅ Use AbortController for async operations
- ✅ Optimize database queries
- ✅ Implement proper caching strategies
### Type Safety
- ✅ Use TypeScript throughout
- ✅ Define proper interfaces for props
- ✅ Use type guards for runtime validation
- ✅ Leverage shared type packages
### Testing
- ✅ Write tests for critical functionality
- ✅ Mock external dependencies properly
- ✅ Test error scenarios and edge cases
- ✅ Maintain good test coverage
+232
View File
@@ -0,0 +1,232 @@
---
description: Security best practices and guidelines for writing GitHub Actions and workflows
globs: .github/workflows/*.yml,.github/workflows/*.yaml,.github/actions/*/action.yml,.github/actions/*/action.yaml
---
# GitHub Actions Security Best Practices
## Required Security Measures
### 1. Set Minimum GITHUB_TOKEN Permissions
Always explicitly set the minimum required permissions for GITHUB_TOKEN:
```yaml
permissions:
contents: read
# Only add additional permissions if absolutely necessary:
# pull-requests: write # for commenting on PRs
# issues: write # for creating/updating issues
# checks: write # for publishing check results
```
### 2. Add Harden-Runner as First Step
For **every job** on `ubuntu-latest`, add Harden-Runner as the first step:
```yaml
- name: Harden the runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit # or 'block' for stricter security
```
### 3. Pin Actions to Full Commit SHA
**Always** pin third-party actions to their full commit SHA, not tags:
```yaml
# ❌ BAD - uses mutable tag
- uses: actions/checkout@v4
# ✅ GOOD - pinned to immutable commit SHA
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
```
### 4. Secure Variable Handling
Prevent command injection by properly quoting variables:
```yaml
# ❌ BAD - potential command injection
run: echo "Processing ${{ inputs.user_input }}"
# ✅ GOOD - properly quoted
env:
USER_INPUT: ${{ inputs.user_input }}
run: echo "Processing ${USER_INPUT}"
```
Use `${VARIABLE}` syntax in shell scripts instead of `$VARIABLE`.
### 5. Environment Variables for Secrets
Store sensitive data in environment variables, not inline:
```yaml
# ❌ BAD
run: curl -H "Authorization: Bearer ${{ secrets.TOKEN }}" api.example.com
# ✅ GOOD
env:
API_TOKEN: ${{ secrets.TOKEN }}
run: curl -H "Authorization: Bearer ${API_TOKEN}" api.example.com
```
## Workflow Structure Best Practices
### Required Workflow Elements
```yaml
name: "Descriptive Workflow Name"
on:
# Define specific triggers
push:
branches: [main]
pull_request:
branches: [main]
# Always set explicit permissions
permissions:
contents: read
jobs:
job-name:
name: "Descriptive Job Name"
runs-on: ubuntu-latest
timeout-minutes: 30 # tune per job; standardize repo-wide
# Set job-level permissions if different from workflow level
permissions:
contents: read
steps:
# Always start with Harden-Runner on ubuntu-latest
- name: Harden the runner
uses: step-security/harden-runner@v2
with:
egress-policy: audit
# Pin all actions to commit SHA
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
```
### Input Validation for Actions
For composite actions, always validate inputs:
```yaml
inputs:
user_input:
description: "User provided input"
required: true
runs:
using: "composite"
steps:
- name: Validate input
shell: bash
run: |
# Harden shell and validate input format/content before use
set -euo pipefail
USER_INPUT="${{ inputs.user_input }}"
if [[ ! "${USER_INPUT}" =~ ^[A-Za-z0-9._-]+$ ]]; then
echo "❌ Invalid input format"
exit 1
fi
```
## Docker Security in Actions
### Pin Docker Images to Digests
```yaml
# ❌ BAD - mutable tag
container: node:18
# ✅ GOOD - pinned to digest
container: node:18@sha256:a1ba21bf0c92931d02a8416f0a54daad66cb36a85d6a37b82dfe1604c4c09cad
```
## Common Patterns
### Secure File Operations
```yaml
- name: Process files securely
shell: bash
env:
FILE_PATH: ${{ inputs.file_path }}
run: |
set -euo pipefail # Fail on errors, undefined vars, pipe failures
# Use absolute paths and validate
SAFE_PATH=$(realpath "${FILE_PATH}")
if [[ "$SAFE_PATH" != "${GITHUB_WORKSPACE}"/* ]]; then
echo "❌ Path outside workspace"
exit 1
fi
```
### Artifact Handling
```yaml
- name: Upload artifacts securely
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: build-artifacts
path: |
dist/
!dist/**/*.log # Exclude sensitive files
retention-days: 30
```
### GHCR authentication for pulls/scans
```yaml
# Minimal permissions required for GHCR pulls/scans
permissions:
contents: read
packages: read
steps:
- name: Log in to GitHub Container Registry
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
## Security Checklist
- [ ] Minimum GITHUB_TOKEN permissions set
- [ ] Harden-Runner added to all ubuntu-latest jobs
- [ ] All third-party actions pinned to commit SHA
- [ ] Input validation implemented for custom actions
- [ ] Variables properly quoted in shell scripts
- [ ] Secrets stored in environment variables
- [ ] Docker images pinned to digests (if used)
- [ ] Error handling with `set -euo pipefail`
- [ ] File paths validated and sanitized
- [ ] No sensitive data in logs or outputs
- [ ] GHCR login performed before pulls/scans (packages: read)
- [ ] Job timeouts configured (`timeout-minutes`)
## Recommended Additional Workflows
Consider adding these security-focused workflows to your repository:
1. **CodeQL Analysis** - Static Application Security Testing (SAST)
2. **Dependency Review** - Scan for vulnerable dependencies in PRs
3. **Dependabot Configuration** - Automated dependency updates
## Resources
- [GitHub Security Hardening Guide](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions)
- [Step Security Harden-Runner](https://github.com/step-security/harden-runner)
- [Secure-Repo Best Practices](https://github.com/step-security/secure-repo)
+74
View File
@@ -0,0 +1,74 @@
---
alwaysApply: true
---
### Formbricks Monorepo Overview
- **Project**: Formbricks — opensource survey and experience management platform. Repo: [formbricks/formbricks](https://github.com/formbricks/formbricks)
- **Monorepo**: Turborepo + pnpm workspaces. Root configs: [package.json](mdc:package.json), [turbo.json](mdc:turbo.json)
- **Core app**: Next.js app in `apps/web` with Prisma, Auth.js, TailwindCSS, Vitest, Playwright. Enterprise modules live in [apps/web/modules/ee](mdc:apps/web/modules/ee)
- **Datastores**: PostgreSQL + Redis. Local dev via [docker-compose.dev.yml](mdc:docker-compose.dev.yml); Prisma schema at [packages/database/schema.prisma](mdc:packages/database/schema.prisma)
- **Docs & Ops**: Docs in `docs/` (Mintlify), Helm in `helm-chart/`, IaC in `infra/`
### Apps
- **apps/web**: Next.js product application (API, UI, SSO, i18n, emails, uploads, integrations)
- **apps/storybook**: Storybook for UI components; a11y addon + Vite builder
### Packages
- **@formbricks/database** (`packages/database`): Prisma schema, DB scripts, migrations, data layer
- **@formbricks/js-core** (`packages/js-core`): Core runtime for web embed / async loader
- **@formbricks/surveys** (`packages/surveys`): Embeddable survey rendering and helpers
- **@formbricks/logger** (`packages/logger`): Shared logging (pino) + Zod types
- **@formbricks/types** (`packages/types`): Shared types (Zod, Prisma clients)
- **@formbricks/i18n-utils** (`packages/i18n-utils`): i18n helpers and build output
- **@formbricks/eslint-config** (`packages/config-eslint`): Central ESLint config (Next, TS, Vitest, Prettier)
- **@formbricks/config-typescript** (`packages/config-typescript`): Central TS config and types
- **@formbricks/vite-plugins** (`packages/vite-plugins`): Internal Vite plugins
- **packages/android, packages/ios**: Native SDKs (built with platform toolchains)
### Enterpriseready by design
- **Quality & safety**: Strict TypeScript, repowide ESLint + Prettier, lintstaged + Husky, CI checks, typed env validation
- **Securityfirst**: Auth.js, SSO/SAML/OIDC, session controls, rate limiting, Sentry, structured logging
### Accessible by design
- **UI foundations**: Radix UI, TailwindCSS, Storybook with `@storybook/addon-a11y`, keyboard and screenreaderfriendly components
### Root pnpm commands
```bash
pnpm clean:all # Clean turbo cache, node_modules, lockfile, coverage, out
pnpm clean # Clean turbo cache, node_modules, coverage, out
pnpm build # Build all packages/apps (turbo)
pnpm build:dev # Dev-optimized builds (where supported)
pnpm dev # Run all dev servers in parallel
pnpm start # Start built apps/services
pnpm go # Start DB (docker compose) and run long-running dev tasks
pnpm generate # Run generators (e.g., Prisma, API specs)
pnpm lint # Lint all
pnpm format # Prettier write across repo
pnpm test # Unit tests
pnpm test:coverage # Unit tests with coverage
pnpm test:e2e # Playwright tests
pnpm test-e2e:azure # Playwright tests with Azure config
pnpm storybook # Run Storybook
pnpm db:up # Start local Postgres/Redis via docker compose
pnpm db:down # Stop local DB stack
pnpm db:start # Project-level DB setup choreography
pnpm db:push # Prisma db push (accept data loss in package script)
pnpm db:migrate:dev # Apply dev migrations
pnpm db:migrate:deploy # Apply prod migrations
pnpm fb-migrate-dev # Create DB migration (database package) and prisma generate
pnpm tolgee-pull # Pull translation keys for current branch and format
```
### Essentials for every prompt
- **Tech stack**: Next.js, React 19, TypeScript, Prisma, Zod, TailwindCSS, Turborepo, Vitest, Playwright
- **Environments**: See `.env.example`. Many tasks require DB up and env variables set
- **Licensing**: Core under AGPLv3; Enterprise code in `apps/web/modules/ee` (included in Docker, unlocked via Enterprise License Key)
For deeper details, consult perpackage `package.json` and scripts (e.g., [apps/web/package.json](mdc:apps/web/package.json)).
@@ -0,0 +1,5 @@
---
description:
globs:
alwaysApply: false
---
+52
View File
@@ -0,0 +1,52 @@
---
description:
globs:
alwaysApply: false
---
# React Context & Provider Patterns
## Context Provider Best Practices
### Provider Implementation
- Use TypeScript interfaces for provider props with optional `initialCount` for testing
- Implement proper cleanup in `useEffect` to avoid React hooks warnings
- Reference: [apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/ResponseCountProvider.tsx](mdc:apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/ResponseCountProvider.tsx)
### Cleanup Pattern for Refs
```typescript
useEffect(() => {
const currentPendingRequests = pendingRequests.current;
const currentAbortController = abortController.current;
return () => {
if (currentAbortController) {
currentAbortController.abort();
}
currentPendingRequests.clear();
};
}, []);
```
### Testing Context Providers
- Always wrap components using context in the provider during tests
- Use `initialCount` prop for predictable test scenarios
- Mock context dependencies like `useParams`, `useResponseFilter`
- Example from [apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.test.tsx](mdc:apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.test.tsx):
```typescript
render(
<ResponseCountProvider survey={dummySurvey} initialCount={5}>
<ComponentUnderTest />
</ResponseCountProvider>
);
```
### Required Mocks for Context Testing
- Mock `next/navigation` with `useParams` returning environment and survey IDs
- Mock response filter context and actions
- Mock API actions that the provider depends on
### Context Hook Usage
- Create custom hooks like `useResponseCountContext()` for consuming context
- Provide meaningful error messages when context is used outside provider
- Use context for shared state that multiple components need to access
@@ -0,0 +1,5 @@
---
description:
globs:
alwaysApply: false
---
@@ -0,0 +1,216 @@
---
description: Migrate deprecated UI components to a unified component
globs:
alwaysApply: false
---
# Component Migration Automation Rule
## Overview
This rule automates the migration of deprecated components to new component systems in React/TypeScript codebases.
## Trigger
When the user requests component migration (e.g., "migrate [DeprecatedComponent] to [NewComponent]" or "component migration").
## Process
### Step 1: Discovery and Planning
1. **Identify migration parameters:**
- Ask user for deprecated component name (e.g., "Modal")
- Ask user for new component name(s) (e.g., "Dialog")
- Ask for any components to exclude (e.g., "ModalWithTabs")
- Ask for specific import paths if needed
2. **Scan codebase** for deprecated components:
- Search for `import.*[DeprecatedComponent]` patterns
- Exclude specified components that should not be migrated
- List all found components with file paths
- Present numbered list to user for confirmation
### Step 2: Component-by-Component Migration
For each component, follow this exact sequence:
#### 2.1 Component Migration
- **Import changes:**
- Ask user to provide the new import structure
- Example transformation pattern:
```typescript
// FROM:
import { [DeprecatedComponent] } from "@/components/ui/[DeprecatedComponent]"
// TO:
import {
[NewComponent],
[NewComponentPart1],
[NewComponentPart2],
// ... other parts
} from "@/components/ui/[NewComponent]"
```
- **Props transformation:**
- Ask user for prop mapping rules (e.g., `open` → `open`, `setOpen` → `onOpenChange`)
- Ask for props to remove (e.g., `noPadding`, `closeOnOutsideClick`, `size`)
- Apply transformations based on user specifications
- **Structure transformation:**
- Ask user for the new component structure pattern
- Apply the transformation maintaining all functionality
- Preserve all existing logic, state management, and event handlers
#### 2.2 Wait for User Approval
- Present the migration changes
- Wait for explicit user approval before proceeding
- If rejected, ask for specific feedback and iterate
#### 2.3 Re-read and Apply Additional Changes
- Re-read the component file to capture any user modifications
- Apply any additional improvements the user made
- Ensure all changes are incorporated
#### 2.4 Test File Updates
- **Find corresponding test file** (same name with `.test.tsx` or `.test.ts`)
- **Update test mocks:**
- Ask user for new component mock structure
- Replace old component mocks with new ones
- Example pattern:
```typescript
// Add to test setup:
jest.mock("@/components/ui/[NewComponent]", () => ({
[NewComponent]: ({ children, [props] }: any) => ([mock implementation]),
[NewComponentPart1]: ({ children }: any) => <div data-testid="[new-component-part1]">{children}</div>,
[NewComponentPart2]: ({ children }: any) => <div data-testid="[new-component-part2]">{children}</div>,
// ... other parts
}));
```
- **Update test expectations:**
- Change test IDs from old component to new component
- Update any component-specific assertions
- Ensure all new component parts used in the component are mocked
#### 2.5 Run Tests and Optimize
- Execute `Node package manager test -- ComponentName.test.tsx`
- Fix any failing tests
- Optimize code quality (imports, formatting, etc.)
- Re-run tests until all pass
- **Maximum 3 iterations** - if still failing, ask user for guidance
#### 2.6 Wait for Final Approval
- Present test results and any optimizations made
- Wait for user approval of the complete migration
- If rejected, iterate based on feedback
#### 2.7 Git Commit
- Run: `git add .`
- Run: `git commit -m "migrate [ComponentName] from [DeprecatedComponent] to [NewComponent]"`
- Confirm commit was successful
### Step 3: Final Report Generation
After all components are migrated, generate a comprehensive GitHub PR report:
#### PR Title
```
feat: migrate [DeprecatedComponent] components to [NewComponent] system
```
#### PR Description Template
```markdown
## 🔄 [DeprecatedComponent] to [NewComponent] Migration
### Overview
Migrated [X] [DeprecatedComponent] components to the new [NewComponent] component system to modernize the UI architecture and improve consistency.
### Components Migrated
[List each component with file path]
### Technical Changes
- **Imports:** Replaced `[DeprecatedComponent]` with `[NewComponent], [NewComponentParts...]`
- **Props:** [List prop transformations]
- **Structure:** Implemented proper [NewComponent] component hierarchy
- **Styling:** [Describe styling changes]
- **Tests:** Updated all test mocks and expectations
### Migration Pattern
```typescript
// Before
<[DeprecatedComponent] [oldProps]>
[oldStructure]
</[DeprecatedComponent]>
// After
<[NewComponent] [newProps]>
[newStructure]
</[NewComponent]>
```
### Testing
- ✅ All existing tests updated and passing
- ✅ Component functionality preserved
- ✅ UI/UX behavior maintained
### How to Test This PR
1. **Functional Testing:**
- Navigate to each migrated component's usage
- Verify [component] opens and closes correctly
- Test all interactive elements within [components]
- Confirm styling and layout are preserved
2. **Automated Testing:**
```bash
Node package manager test
```
3. **Visual Testing:**
- Check that all [components] maintain proper styling
- Verify responsive behavior
- Test keyboard navigation and accessibility
### Breaking Changes
[List any breaking changes or state "None - this is a drop-in replacement maintaining all existing functionality."]
### Notes
- [Any excluded components] were preserved as they already use [NewComponent] internally
- All form validation and complex state management preserved
- Enhanced code quality with better imports and formatting
```
## Special Considerations
### Excluded Components
- **DO NOT MIGRATE** components specified by user as exclusions
- They may already use the new component internally or have other reasons
- Inform user these are skipped and why
### Complex Components
- Preserve all existing functionality (forms, validation, state management)
- Maintain prop interfaces
- Keep all event handlers and callbacks
- Preserve accessibility features
### Test Coverage
- Ensure all new component parts are mocked when used
- Mock all new component parts that appear in the component
- Update test IDs from old component to new component
- Maintain all existing test scenarios
### Error Handling
- If tests fail after 3 iterations, stop and ask user for guidance
- If component is too complex, ask user for specific guidance
- If unsure about functionality preservation, ask for clarification
### Migration Patterns
- Always ask user for specific migration patterns before starting
- Confirm import structures, prop mappings, and component hierarchies
- Adapt to different component architectures (simple replacements, complex restructuring, etc.)
## Success Criteria
- All deprecated components successfully migrated to new components
- All tests passing
- No functionality lost
- Code quality maintained or improved
- User approval on each component
- Successful git commits for each migration
- Comprehensive PR report generated
## Usage Examples
- "migrate Modal to Dialog"
- "migrate Button to NewButton"
- "migrate Card to ModernCard"
- "component migration" (will prompt for details)
@@ -0,0 +1,177 @@
---
description: Create a story in Storybook for a given component
globs:
alwaysApply: false
---
# Formbricks Storybook Stories
## When generating Storybook stories for Formbricks components:
### 1. **File Structure**
- Create `stories.tsx` (not `.stories.tsx`) in component directory
- Use exact import: `import { Meta, StoryObj } from "@storybook/react-vite";`
- Import component from `"./index"`
### 2. **Story Structure Template**
```tsx
import { Meta, StoryObj } from "@storybook/react-vite";
import { ComponentName } from "./index";
// For complex components with configurable options
// consider this as an example the options need to reflect the props types
interface StoryOptions {
showIcon: boolean;
numberOfElements: number;
customLabels: string[];
}
type StoryProps = React.ComponentProps<typeof ComponentName> & StoryOptions;
const meta: Meta<StoryProps> = {
title: "UI/ComponentName",
component: ComponentName,
tags: ["autodocs"],
parameters: {
layout: "centered",
controls: { sort: "alpha", exclude: [] },
docs: {
description: {
component: "The **ComponentName** component provides [description].",
},
},
},
argTypes: {
// Organize in exactly these categories: Behavior, Appearance, Content
},
};
export default meta;
type Story = StoryObj<typeof ComponentName> & { args: StoryOptions };
```
### 3. **ArgTypes Organization**
Organize ALL argTypes into exactly three categories:
- **Behavior**: disabled, variant, onChange, etc.
- **Appearance**: size, color, layout, styling, etc.
- **Content**: text, icons, numberOfElements, etc.
Format:
```tsx
argTypes: {
propName: {
control: "select" | "boolean" | "text" | "number",
options: ["option1", "option2"], // for select
description: "Clear description",
table: {
category: "Behavior" | "Appearance" | "Content",
type: { summary: "string" },
defaultValue: { summary: "default" },
},
order: 1,
},
}
```
### 4. **Required Stories**
Every component must include:
- `Default`: Most common use case
- `Disabled`: If component supports disabled state
- `WithIcon`: If component supports icons
- Variant stories for each variant (Primary, Secondary, Error, etc.)
- Edge case stories (ManyElements, LongText, CustomStyling)
### 5. **Story Format**
```tsx
export const Default: Story = {
args: {
// Props with realistic values
},
};
export const EdgeCase: Story = {
args: { /* ... */ },
parameters: {
docs: {
description: {
story: "Use this when [specific scenario].",
},
},
},
};
```
### 6. **Dynamic Content Pattern**
For components with dynamic content, create render function:
```tsx
const renderComponent = (args: StoryProps) => {
const { numberOfElements, showIcon, customLabels } = args;
// Generate dynamic content
const elements = Array.from({ length: numberOfElements }, (_, i) => ({
id: `element-${i}`,
label: customLabels[i] || `Element ${i + 1}`,
icon: showIcon ? <IconComponent /> : undefined,
}));
return <ComponentName {...args} elements={elements} />;
};
export const Dynamic: Story = {
render: renderComponent,
args: {
numberOfElements: 3,
showIcon: true,
customLabels: ["First", "Second", "Third"],
},
};
```
### 7. **State Management**
For interactive components:
```tsx
import { useState } from "react";
const ComponentWithState = (args: any) => {
const [value, setValue] = useState(args.defaultValue);
return (
<ComponentName
{...args}
value={value}
onChange={(newValue) => {
setValue(newValue);
args.onChange?.(newValue);
}}
/>
);
};
export const Interactive: Story = {
render: ComponentWithState,
args: { defaultValue: "initial" },
};
```
### 8. **Quality Requirements**
- Include component description in parameters.docs
- Add story documentation for non-obvious use cases
- Test edge cases (overflow, empty states, many elements)
- Ensure no TypeScript errors
- Use realistic prop values
- Include at least 3-5 story variants
- Example values need to be in the context of survey application
### 9. **Naming Conventions**
- **Story titles**: "UI/ComponentName"
- **Story exports**: PascalCase (Default, WithIcon, ManyElements)
- **Categories**: "Behavior", "Appearance", "Content" (exact spelling)
- **Props**: camelCase matching component props
### 10. **Special Cases**
- **Generic components**: Remove `component` from meta if type conflicts
- **Form components**: Include Invalid, WithValue stories
- **Navigation**: Include ManyItems stories
- **Modals, Dropdowns and Popups **: Include trigger and content structure
## Generate stories that are comprehensive, well-documented, and reflect all component states and edge cases.
+322
View File
@@ -0,0 +1,322 @@
---
description:
globs:
alwaysApply: false
---
# Testing Patterns & Best Practices
## Running Tests
### Test Commands
From the **root directory** (formbricks/):
- `npm test` - Run all tests across all packages (recommended for CI/full testing)
- `npm run test:coverage` - Run all tests with coverage reports
- `npm run test:e2e` - Run end-to-end tests with Playwright
From the **apps/web directory** (apps/web/):
- `npm run test` - Run only web app tests (fastest for development)
- `npm run test:coverage` - Run web app tests with coverage
- `npm run test -- <file-pattern>` - Run specific test files
### Examples
```bash
# Run all tests from root (takes ~3 minutes, runs 790 test files with 5334+ tests)
npm test
# Run specific test file from apps/web (fastest for development)
npm run test -- modules/cache/lib/service.test.ts
# Run tests matching pattern from apps/web
npm run test -- modules/ee/license-check/lib/license.test.ts
# Run with coverage from root
npm run test:coverage
# Run specific test with watch mode from apps/web (for development)
npm run test -- --watch modules/cache/lib/service.test.ts
# Run tests for a specific directory from apps/web
npm run test -- modules/cache/
```
### Performance Tips
- **For development**: Use `apps/web` directory commands to run only web app tests
- **For CI/validation**: Use root directory commands to run all packages
- **For specific features**: Use file patterns to target specific test files
- **For debugging**: Use `--watch` mode for continuous testing during development
### Test File Organization
- Place test files in the **same directory** as the source file
- Use `.test.ts` for utility/service tests (Node environment)
- Use `.test.tsx` for React component tests (jsdom environment)
## Test File Naming & Environment
### File Extensions
- Use `.test.tsx` for React component/hook tests (runs in jsdom environment)
- Use `.test.ts` for utility/service tests (runs in Node environment)
- The vitest config uses `environmentMatchGlobs` to automatically set jsdom for `.tsx` files
### Test Structure
```typescript
// Import the mocked functions first
import { useHook } from "@/path/to/hook";
import { serviceFunction } from "@/path/to/service";
import { renderHook, waitFor } from "@testing-library/react";
import { beforeEach, describe, expect, test, vi } from "vitest";
// Mock dependencies
vi.mock("@/path/to/hook", () => ({
useHook: vi.fn(),
}));
describe("ComponentName", () => {
beforeEach(() => {
vi.clearAllMocks();
// Setup default mocks
});
test("descriptive test name", async () => {
// Test implementation
});
});
```
## React Hook Testing
### Context Mocking
When testing hooks that use React Context:
```typescript
vi.mocked(useResponseFilter).mockReturnValue({
selectedFilter: {
filter: [],
responseStatus: "all",
},
setSelectedFilter: vi.fn(),
selectedOptions: {
questionOptions: [],
questionFilterOptions: [],
},
setSelectedOptions: vi.fn(),
dateRange: { from: new Date(), to: new Date() },
setDateRange: vi.fn(),
resetState: vi.fn(),
});
```
### Testing Async Hooks
- Always use `waitFor` for async operations
- Test both loading and completed states
- Verify API calls with correct parameters
```typescript
test("fetches data on mount", async () => {
const { result } = renderHook(() => useHook());
expect(result.current.isLoading).toBe(true);
await waitFor(() => {
expect(result.current.isLoading).toBe(false);
});
expect(result.current.data).toBe(expectedData);
expect(vi.mocked(apiCall)).toHaveBeenCalledWith(expectedParams);
});
```
### Testing Hook Dependencies
To test useEffect dependencies, ensure mocks return different values:
```typescript
// First render
mockGetFormattedFilters.mockReturnValue(mockFilters);
// Change dependency and trigger re-render
const newMockFilters = { ...mockFilters, finished: true };
mockGetFormattedFilters.mockReturnValue(newMockFilters);
rerender();
```
## Performance Testing
### Race Condition Testing
Test AbortController implementation:
```typescript
test("cancels previous request when new request is made", async () => {
let resolveFirst: (value: any) => void;
let resolveSecond: (value: any) => void;
const firstPromise = new Promise((resolve) => {
resolveFirst = resolve;
});
const secondPromise = new Promise((resolve) => {
resolveSecond = resolve;
});
vi.mocked(apiCall)
.mockReturnValueOnce(firstPromise as any)
.mockReturnValueOnce(secondPromise as any);
const { result } = renderHook(() => useHook());
// Trigger second request
result.current.refetch();
// Resolve in order - first should be cancelled
resolveFirst!({ data: 100 });
resolveSecond!({ data: 200 });
await waitFor(() => {
expect(result.current.isLoading).toBe(false);
});
// Should have result from second request
expect(result.current.data).toBe(200);
});
```
### Cleanup Testing
```typescript
test("cleans up on unmount", () => {
const abortSpy = vi.spyOn(AbortController.prototype, "abort");
const { unmount } = renderHook(() => useHook());
unmount();
expect(abortSpy).toHaveBeenCalled();
abortSpy.mockRestore();
});
```
## Error Handling Testing
### API Error Testing
```typescript
test("handles API errors gracefully", async () => {
const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => {});
vi.mocked(apiCall).mockRejectedValue(new Error("API Error"));
const { result } = renderHook(() => useHook());
await waitFor(() => {
expect(result.current.isLoading).toBe(false);
});
expect(consoleSpy).toHaveBeenCalledWith("Error message:", expect.any(Error));
expect(result.current.data).toBe(fallbackValue);
consoleSpy.mockRestore();
});
```
### Cancelled Request Testing
```typescript
test("does not update state for cancelled requests", async () => {
const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => {});
let rejectFirst: (error: any) => void;
const firstPromise = new Promise((_, reject) => {
rejectFirst = reject;
});
vi.mocked(apiCall)
.mockReturnValueOnce(firstPromise as any)
.mockResolvedValueOnce({ data: 42 });
const { result } = renderHook(() => useHook());
result.current.refetch();
const abortError = new Error("Request cancelled");
rejectFirst!(abortError);
await waitFor(() => {
expect(result.current.isLoading).toBe(false);
});
// Should not log error for cancelled request
expect(consoleSpy).not.toHaveBeenCalled();
consoleSpy.mockRestore();
});
```
## Type Safety in Tests
### Mock Type Assertions
Use type assertions for edge cases:
```typescript
vi.mocked(apiCall).mockResolvedValue({
data: null as any, // For testing null handling
});
vi.mocked(apiCall).mockResolvedValue({
data: undefined as any, // For testing undefined handling
});
```
### Proper Mock Typing
Ensure mocks match the actual interface:
```typescript
const mockSurvey: TSurvey = {
id: "survey-123",
name: "Test Survey",
// ... other required properties
} as unknown as TSurvey; // Use when partial mocking is needed
```
## Common Test Patterns
### Testing State Changes
```typescript
test("updates state correctly", async () => {
const { result } = renderHook(() => useHook());
// Initial state
expect(result.current.value).toBe(initialValue);
// Trigger change
result.current.updateValue(newValue);
// Verify change
expect(result.current.value).toBe(newValue);
});
```
### Testing Multiple Scenarios
```typescript
test("handles different modes", async () => {
// Test regular mode
vi.mocked(useParams).mockReturnValue({ surveyId: "123" });
const { rerender } = renderHook(() => useHook());
await waitFor(() => {
expect(vi.mocked(regularApi)).toHaveBeenCalled();
});
rerender();
await waitFor(() => {
expect(vi.mocked(sharingApi)).toHaveBeenCalled();
});
});
```
## Test Organization
### Comprehensive Test Coverage
For hooks, ensure you test:
- ✅ Initialization (with/without initial values)
- ✅ Data fetching (success/error cases)
- ✅ State updates and refetching
- ✅ Dependency changes triggering effects
- ✅ Manual actions (refetch, reset)
- ✅ Race condition prevention
- ✅ Cleanup on unmount
- ✅ Mode switching (if applicable)
- ✅ Edge cases (null/undefined data)
### Test Naming
Use descriptive test names that explain the scenario:
- ✅ "initializes with initial count"
- ✅ "fetches response count on mount for regular survey"
- ✅ "cancels previous request when new request is made"
- ❌ "test hook"
- ❌ "it works"
+7
View File
@@ -0,0 +1,7 @@
---
description: Whenever the user asks to write or update a test file for .tsx or .ts files.
globs:
alwaysApply: false
---
Use the rules in this file when writing tests [copilot-instructions.md](mdc:.github/copilot-instructions.md).
After writing the tests, run them and check if there's any issue with the tests and if all of them are passing. Fix the issues and rerun the tests until all pass.
+6
View File
@@ -0,0 +1,6 @@
{
"features": {},
"image": "mcr.microsoft.com/devcontainers/universal:2",
"postAttachCommand": "pnpm go",
"postCreateCommand": "cp .env.example .env && sed -i '/^ENCRYPTION_KEY=/c\\ENCRYPTION_KEY='$(openssl rand -hex 32) .env && sed -i '/^NEXTAUTH_SECRET=/c\\NEXTAUTH_SECRET='$(openssl rand -hex 32) .env && sed -i '/^CRON_SECRET=/c\\CRON_SECRET='$(openssl rand -hex 32) .env && pnpm install && pnpm db:migrate:dev"
}
+56
View File
@@ -0,0 +1,56 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
**/node_modules
.pnp
.pnp.js
.pnpm-store/
# testing
**/coverage
# next.js
**/.next/
**/out/
**/build
# node
**/dist/
# misc
**/.DS_Store
*.pem
Zone.Identifier
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# local env files
**/.env
**/.env.local
**/.env.development.local
**/.env.test.local
**/.env.production.local
!packages/database/.env
!apps/web/.env
# build tools
.turbo
**/*vite.config.*.timestamp-*
# environment specific
.direnv
# Playwright
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
# project specific
packages/lib/uploads
apps/web/public/js
packages/database/migrations
branch.json
-51
View File
@@ -1,51 +0,0 @@
########################################################################
# ------------ MANDATORY (CHANGE ACCORDING TO YOUR SETUP) ------------#
########################################################################
############
# Basics #
############
NEXTAUTH_SECRET=RANDOM_STRING
NEXTAUTH_URL=http://localhost:3000
# This should always be localhost:3000 (or whatever port your app is running on)
NEXTAUTH_URL_INTERNAL=http://localhost:3000
DATABASE_URL='postgresql://postgres:postgres@postgres:5432/postgres?schema=public'
################
# Mail Setup #
################
# Necessary if email verification and password reset are enabled.
# See optional configurations below if you want to disable these features.
# MAIL_FROM=noreply@example.com
# SMTP_HOST=localhost
# SMTP_PORT=1025
# SMTP_SECURE_ENABLED=0 # Enable for TLS (port 465)
# SMTP_USER=smtpUser
# SMTP_PASSWORD=smtpPassword
########################################################################
# ------------------------------ OPTIONAL -----------------------------#
########################################################################
# Uncomment the variables you would like to use and customize the values.
#####################
# Disable Features #
#####################
# Email Verification. If you enable Email Verification you have to setup SMTP-Settings, too.
NEXT_PUBLIC_EMAIL_VERIFICATION_DISABLED=1
# Password Reset. If you enable Password Reset functionality you have to setup SMTP-Settings, too.
NEXT_PUBLIC_PASSWORD_RESET_DISABLED=1
# Signup. Disable the ability for new users to create an account.
# NEXT_PUBLIC_SIGNUP_DISABLED=1
+182 -16
View File
@@ -1,39 +1,60 @@
########################################################################
# ------------ MANDATORY (CHANGE ACCORDING TO YOUR SETUP) ------------#
# ------------ MANDATORY (CHANGE ACCORDING TO YOUR SETUP) ------------ #
########################################################################
############
# Basics #
# BASICS #
############
NEXTAUTH_SECRET=RANDOM_STRING
WEBAPP_URL=http://localhost:3000
# Set this to your public-facing URL, e.g., https://example.com
# Required for next-auth. Should be the same as WEBAPP_URL
NEXTAUTH_URL=http://localhost:3000
# This should always be localhost:3000 (or whatever port your app is running on)
NEXTAUTH_URL_INTERNAL=http://localhost:3000
# Encryption keys
# Please set both for now, we will change this in the future
DATABASE_URL='postgresql://postgres:postgres@localhost:5432/postgres?schema=public'
# You can use: `openssl rand -hex 32` to generate one
ENCRYPTION_KEY=
# For Docker Compose Production Setup use this Database URL:
# DATABASE_URL='postgresql://postgres:postgres@postgres:5432/formbricks?schema=public'
# @see: https://next-auth.js.org/configuration/options#nextauth_secret
# You can use: `openssl rand -hex 32` to generate a secure one
NEXTAUTH_SECRET=
# API Secret for running cron jobs. (mandatory)
# You can use: `openssl rand -hex 32` to generate a secure one
CRON_SECRET=
# Set the minimum log level(debug, info, warn, error, fatal)
LOG_LEVEL=info
##############
# DATABASE #
##############
DATABASE_URL='postgresql://postgres:postgres@localhost:5432/formbricks?schema=public'
################
# Mail Setup #
# MAIL SETUP #
################
# Necessary if email verification and password reset are enabled.
# See optional configurations below if you want to disable these features.
MAIL_FROM=noreply@example.com
MAIL_FROM_NAME=Formbricks
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_SECURE_ENABLED=0 # Enable for TLS (port 465)
# Enable SMTP_SECURE_ENABLED for TLS (port 465)
SMTP_SECURE_ENABLED=0
SMTP_USER=smtpUser
SMTP_PASSWORD=smtpPassword
# If set to 0, the server will not require SMTP_USER and SMTP_PASSWORD(default is 1)
# SMTP_AUTHENTICATED=
# If set to 0, the server will accept connections without requiring authorization from the list of supplied CAs (default is 1).
# SMTP_REJECT_UNAUTHORIZED_TLS=0
########################################################################
# ------------------------------ OPTIONAL -----------------------------#
@@ -41,15 +62,160 @@ SMTP_PASSWORD=smtpPassword
# Uncomment the variables you would like to use and customize the values.
# Custom local storage path for file uploads
#UPLOADS_DIR=
##############
# S3 STORAGE #
##############
# S3 Storage is required for the file upload in serverless environments like Vercel
S3_ACCESS_KEY=
S3_SECRET_KEY=
S3_REGION=
S3_BUCKET_NAME=
# Configure a third party S3 compatible storage service endpoint like StorJ leave empty if you use Amazon S3
# e.g., https://gateway.storjshare.io
S3_ENDPOINT_URL=
# Force path style for S3 compatible storage (0 for disabled, 1 for enabled)
S3_FORCE_PATH_STYLE=0
# Set this URL to add a public domain for all your client facing routes(default is WEBAPP_URL)
# PUBLIC_URL=https://survey.example.com
#####################
# Disable Features #
#####################
# Email Verification. If you enable Email Verification you have to setup SMTP-Settings, too.
# NEXT_PUBLIC_EMAIL_VERIFICATION_DISABLED=1
EMAIL_VERIFICATION_DISABLED=1
# Password Reset. If you enable Password Reset functionality you have to setup SMTP-Settings, too.
# NEXT_PUBLIC_PASSWORD_RESET_DISABLED=1
PASSWORD_RESET_DISABLED=1
# Signup. Disable the ability for new users to create an account.
# NEXT_PUBLIC_SIGNUP_DISABLED=1
# Email login. Disable the ability for users to login with email.
# EMAIL_AUTH_DISABLED=1
# Organization Invite. Disable the ability for invited users to create an account.
# INVITE_DISABLED=1
# Docker cron jobs. Disable the supercronic cron jobs in the Docker image (useful for cluster setups).
# DOCKER_CRON_ENABLED=1
##########
# Other #
##########
# Display privacy policy, imprint and terms of service links in the footer of signup & public pages.
PRIVACY_URL=
TERMS_URL=
IMPRINT_URL=
IMPRINT_ADDRESS=
# Configure Turnstile in signup flow
# TURNSTILE_SITE_KEY=
# TURNSTILE_SECRET_KEY=
# Google reCAPTCHA v3 keys
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=
# Configure Github Login
GITHUB_ID=
GITHUB_SECRET=
# Configure Google Login
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Configure Azure Active Directory Login
AZUREAD_CLIENT_ID=
AZUREAD_CLIENT_SECRET=
AZUREAD_TENANT_ID=
# OpenID Connect (OIDC) configuration
# OIDC_CLIENT_ID=
# OIDC_CLIENT_SECRET=
# OIDC_ISSUER=
# OIDC_DISPLAY_NAME=
# OIDC_SIGNING_ALGORITHM=
# Configure SAML SSO
# SAML_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/formbricks-saml
# Configure this when you want to ship JS & CSS files from a complete URL instead of the current domain
# ASSET_PREFIX_URL=
# Oauth credentials for Notion Integration
NOTION_OAUTH_CLIENT_ID=
NOTION_OAUTH_CLIENT_SECRET=
# Stripe Billing Variables
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
# Oauth credentials for Google sheet integration
GOOGLE_SHEETS_CLIENT_ID=
GOOGLE_SHEETS_CLIENT_SECRET=
GOOGLE_SHEETS_REDIRECT_URL=
# Oauth credentials for Airtable integration
AIRTABLE_CLIENT_ID=
# Oauth credentials for Slack integration
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
# Enterprise License Key
ENTERPRISE_LICENSE_KEY=
# Automatically assign new users to a specific organization and role within that organization
# Insert an existing organization id or generate a valid CUID for a new one at https://www.getuniqueid.com/cuid (e.g. cjld2cjxh0000qzrmn831i7rn)
# (Role Management is an Enterprise feature)
# AUTH_SSO_DEFAULT_TEAM_ID=
# AUTH_SKIP_INVITE_FOR_SSO=
# Send new users to Brevo
# BREVO_API_KEY=
# BREVO_LIST_ID=
# Ignore Rate Limiting across the Formbricks app
# RATE_LIMITING_DISABLED=1
# OpenTelemetry URL for tracing
# OPENTELEMETRY_LISTENER_URL=http://localhost:4318/v1/traces
# Unsplash API Key
UNSPLASH_ACCESS_KEY=
# The below is used for Next Caching (uses In-Memory from Next Cache if not provided)
REDIS_URL=redis://localhost:6379
# The below is used for Rate Limiting (uses In-Memory LRU Cache if not provided) (You can use a service like Webdis for this)
# REDIS_HTTP_URL:
# INTERCOM_APP_ID=
# INTERCOM_SECRET_KEY=
# Enable Prometheus metrics
# PROMETHEUS_ENABLED=
# PROMETHEUS_EXPORTER_PORT=
# The SENTRY_DSN is used for error tracking and performance monitoring with Sentry.
# SENTRY_DSN=
# The SENTRY_AUTH_TOKEN variable is picked up by the Sentry Build Plugin.
# It's used automatically by Sentry during the build for authentication when uploading source maps.
# SENTRY_AUTH_TOKEN=
# The SENTRY_ENVIRONMENT is the environment which the error will belong to in the Sentry dashboard
# SENTRY_ENVIRONMENT=
# Configure the minimum role for user management from UI(owner, manager, disabled)
# USER_MANAGEMENT_MINIMUM_ROLE="manager"
# Configure the maximum age for the session in seconds. Default is 86400 (24 hours)
# SESSION_MAX_AGE=86400
# Audit logs options. Default 0.
# AUDIT_LOG_ENABLED=0
# If the ip should be added in the log or not. Default 0
# AUDIT_LOG_GET_USER_IP=0
+2
View File
@@ -0,0 +1,2 @@
node_modules/
packages/config-eslint/
-10
View File
@@ -1,10 +0,0 @@
module.exports = {
root: true,
// This tells ESLint to load the config from the package `eslint-config-formbricks`
extends: ["formbricks"],
settings: {
next: {
rootDir: ["apps/*/"],
},
},
};
-44
View File
@@ -1,44 +0,0 @@
---
name: Bug report
about: Something not working as expected? Let us look into it
title: ""
labels: bug
assignees: ""
---
Found a bug? Please fill out the sections below. 👍
### Issue Summary
<!--
A summary of the issue. This needs to be a clear detailed-rich summary.
-->
(Write your answer here.)
### Steps to Reproduce
<!--
1. (for example) Went to ...
2. Clicked on...
3. ...
Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?
-->
(Write your answer here.)
## Environment
- [ ] snoopForms Cloud (app.snoopforms.com)
- [ ] self-hosted snoopForms, version/commit: [please provide]
### Additional Context
<!--
- Browser version, screen recording, console logs, network requests: You can make a recording with [Bird Eats Bug](https://birdeatsbug.com/).
- Node.js version
- Anything else that you think could be an issue.
-->
(Write your answer here.)
+33
View File
@@ -0,0 +1,33 @@
name: Bug report
description: "Found a bug? Please fill out the sections below. \U0001F44D"
type: bug
projects: "formbricks/8"
labels: ["bug"]
body:
- type: textarea
id: issue-summary
attributes:
label: Issue Summary
description: A summary of the issue. This needs to be a clear detailed-rich summary.
validations:
required: true
- type: textarea
id: issue-expected-behavior
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
id: other-information
attributes:
label: Other information (incl. screenshots, Formbricks version, steps to reproduce,...)
validations:
required: false
- type: dropdown
id: environment
attributes:
label: Your Environment
options:
- Formbricks Cloud (app.formbricks.com)
- Self-hosted Formbricks
+3 -3
View File
@@ -1,5 +1,5 @@
blank_issues_enabled: false
blank_issues_enabled: true
contact_links:
- name: Questions
url: https://discord.gg/3YFcABF2Ts
about: Ask a general question about the project on our Discord server
url: https://github.com/formbricks/formbricks/discussions
about: Need help selfhosting or ask a general question about the project? Open a discussion
-41
View File
@@ -1,41 +0,0 @@
---
name: Feature request
about: Suggest a feature or idea
title: ""
labels: feature
assignees: ""
---
### Is your proposal related to a problem?
<!--
Provide a clear and concise description of what the problem is.
For example, "I'm always frustrated when..."
-->
(Write your answer here.)
### Describe the solution you'd like
<!--
Provide a clear and concise description of what you want to happen.
-->
(Describe your proposed solution here.)
### Describe alternatives you've considered
<!--
Let us know about other solutions you've tried or researched.
-->
(Write your answer here.)
### Additional context
<!--
Is there anything else you can add about the proposal?
You might want to link to related issues here, if you haven't already.
-->
(Write your answer here.)
@@ -0,0 +1,33 @@
name: Feature request
description: "Suggest an idea for this project \U0001F680"
type: feature
projects: "formbricks/21"
body:
- type: textarea
id: problem-description
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: solution-description
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
- type: markdown
attributes:
value: |
### Additional resources 🤓
- Check out our [Contributor Docs](https://formbricks.com/docs/developer-docs/contributing/get-started)
- Anything unclear? [Ask in Github Discussions](https://github.com/formbricks/formbricks/discussions)
@@ -0,0 +1,79 @@
name: Build & Cache Web App
on:
workflow_dispatch:
inputs:
e2e_testing_mode:
description: "Set E2E Testing Mode"
required: false
default: "0"
inputs:
turbo_token:
description: "Turborepo token"
required: false
turbo_team:
description: "Turborepo team"
required: false
runs:
using: "composite"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- uses: ./.github/actions/dangerous-git-checkout
- name: Cache Build
uses: actions/cache@v3
id: cache-build
env:
cache-name: prod-build
key-1: ${{ hashFiles('pnpm-lock.yaml') }}
key-2: ${{ hashFiles('apps/**/**.[jt]s', 'apps/**/**.[jt]sx', 'packages/**/**.[jt]s', 'packages/**/**.[jt]sx', '!**/node_modules') }}
with:
path: |
${{ github.workspace }}/apps/web/.next
**/.turbo/**
**/dist/**
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}
- name: Set Cache Hit Status
run: echo "cache-hit=${{ steps.cache-build.outputs.cache-hit }}" >> "$GITHUB_OUTPUT"
shell: bash
- name: Setup Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20.x
if: steps.cache-build.outputs.cache-hit != 'true'
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
if: steps.cache-build.outputs.cache-hit != 'true'
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
if: steps.cache-build.outputs.cache-hit != 'true'
shell: bash
- name: create .env
run: cp .env.example .env
shell: bash
- name: Fill ENCRYPTION_KEY, ENTERPRISE_LICENSE_KEY and E2E_TESTING in .env
env:
E2E_TESTING_MODE: ${{ inputs.e2e_testing_mode }}
run: |
RANDOM_KEY=$(openssl rand -hex 32)
sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env
echo "E2E_TESTING=$E2E_TESTING_MODE" >> .env
shell: bash
- run: |
pnpm build --filter=@formbricks/web...
if: steps.cache-build.outputs.cache-hit != 'true'
shell: bash
env:
TURBO_TOKEN: ${{ inputs.turbo_token }}
TURBO_TEAM: ${{ inputs.turbo_team }}
@@ -0,0 +1,10 @@
name: Dangerous git Checkout
description: "Git Checkout from PR code so we can run checks from forks"
runs:
using: "composite"
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 2
+32
View File
@@ -0,0 +1,32 @@
# Testing Instructions
When generating test files inside the "/app/web" path, follow these rules:
- You are an experienced senior software engineer
- Use vitest
- Ensure 100% code coverage
- Add as few comments as possible
- The test file should be located in the same folder as the original file
- Use the `test` function instead of `it`
- Follow the same test pattern used for other files in the package where the file is located
- All imports should be at the top of the file, not inside individual tests
- For mocking inside "test" blocks use "vi.mocked"
- If the file is located in the "packages/survey" path, use "@testing-library/preact" instead of "@testing-library/react"
- Don't mock functions that are already mocked in the "apps/web/vitestSetup.ts" file
- When using "screen.getByText" check for the tolgee string if it is being used in the file.
- The types for mocked variables can be found in the "packages/types" path. Be sure that every imported type exists before using it. Don't create types that are not already in the codebase.
- When mocking data check if the properties added are part of the type of the object being mocked. Only specify known properties, don't use properties that are not part of the type.
If it's a test for a ".tsx" file, follow these extra instructions:
- Add this code inside the "describe" block and before any test:
afterEach(() => {
cleanup();
});
- The "afterEach" function should only have the "cleanup()" line inside it and should be adde to the "vitest" imports.
- For click events, import userEvent from "@testing-library/user-event"
- Mock other components that can make the text more complex and but at the same time mocking it wouldn't make the test flaky. It's ok to leave basic and simple components.
- You don't need to mock @tolgee/react
- Use "import "@testing-library/jest-dom/vitest";"
+6
View File
@@ -0,0 +1,6 @@
"❗️ migrations":
- packages/database/migrations/**/migration.sql
"❗️ .env changes":
- .env.example
- .env.docker
+40
View File
@@ -0,0 +1,40 @@
<!-- We require pull request titles to follow the Conventional Commits specification ( https://www.conventionalcommits.org/en/v1.0.0/#summary ). Please make sure your title follow these conventions -->
## What does this PR do?
<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. -->
Fixes #(issue)
<!-- Please provide a screenshots or a loom video for visual changes to speed up reviews
Loom Video: https://www.loom.com/
-->
## How should this be tested?
<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration -->
- Test A
- Test B
## Checklist
<!-- We're starting to get more and more contributions. Please help us making this efficient for all of us and go through this checklist. Please tick off what you did -->
### Required
- [ ] Filled out the "How to test" section in this PR
- [ ] Read [How we Code at Formbricks](<[https://github.com/formbricks/formbricks/blob/main/CONTRIBUTING.md](https://formbricks.com/docs/contributing/how-we-code)>)
- [ ] Self-reviewed my own code
- [ ] Commented on my code in hard-to-understand bits
- [ ] Ran `pnpm build`
- [ ] Checked for warnings, there are none
- [ ] Removed all `console.logs`
- [ ] Merged the latest changes from main onto my branch with `git pull origin main`
- [ ] My changes don't cause any responsiveness issues
- [ ] First PR at Formbricks? [Please sign the CLA!](https://cla-assistant.io/formbricks/formbricks) Without it we wont be able to merge it 🙏
### Appreciated
- [ ] If a UI change was made: Added a screen recording or screenshots to this PR
- [ ] Updated the Formbricks Docs if changes were necessary
+168
View File
@@ -0,0 +1,168 @@
name: Build & Push Docker to ECR
on:
workflow_dispatch:
inputs:
image_tag:
description: "Image tag to push (e.g., v3.16.1, main)"
required: true
default: "v3.16.1"
deploy_production:
description: "Tag image for production deployment"
required: false
default: false
type: boolean
deploy_staging:
description: "Tag image for staging deployment"
required: false
default: false
type: boolean
permissions:
contents: read
id-token: write
env:
ECR_REGION: ${{ vars.ECR_REGION }}
# ECR settings are sourced from repository/environment variables for portability across envs/forks
ECR_REGISTRY: ${{ vars.ECR_REGISTRY }}
ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY }}
DOCKERFILE: apps/web/Dockerfile
CONTEXT: .
jobs:
build-and-push:
name: Build and Push
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Validate image tag input
shell: bash
env:
IMAGE_TAG: ${{ inputs.image_tag }}
run: |
set -euo pipefail
if [[ -z "${IMAGE_TAG}" ]]; then
echo "❌ Image tag is required (non-empty)."
exit 1
fi
if (( ${#IMAGE_TAG} > 128 )); then
echo "❌ Image tag must be at most 128 characters."
exit 1
fi
if [[ ! "${IMAGE_TAG}" =~ ^[a-z0-9._-]+$ ]]; then
echo "❌ Image tag may only contain lowercase letters, digits, '.', '_' and '-'."
exit 1
fi
if [[ "${IMAGE_TAG}" =~ ^[.-] || "${IMAGE_TAG}" =~ [.-]$ ]]; then
echo "❌ Image tag must not start or end with '.' or '-'."
exit 1
fi
- name: Validate required variables
shell: bash
env:
ECR_REGISTRY: ${{ env.ECR_REGISTRY }}
ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }}
ECR_REGION: ${{ env.ECR_REGION }}
run: |
set -euo pipefail
if [[ -z "${ECR_REGISTRY}" || -z "${ECR_REPOSITORY}" || -z "${ECR_REGION}" ]]; then
echo "ECR_REGION, ECR_REGISTRY and ECR_REPOSITORY must be set via repository or environment variables (Settings → Variables)."
exit 1
fi
- name: Update package.json version
shell: bash
env:
IMAGE_TAG: ${{ inputs.image_tag }}
run: |
set -euo pipefail
# Remove 'v' prefix if present (e.g., v3.16.1 -> 3.16.1)
VERSION="${IMAGE_TAG#v}"
# Validate SemVer format (major.minor.patch with optional prerelease and build metadata)
if [[ ! "${VERSION}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?(\+[a-zA-Z0-9.-]+)?$ ]]; then
echo "❌ Error: Invalid version format after extraction. Must be SemVer (e.g., 1.2.3, 1.2.3-alpha, 1.2.3+build.1)"
echo "Original input: ${IMAGE_TAG}"
echo "Extracted version: ${VERSION}"
echo "Expected format: MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA]"
exit 1
fi
echo "✅ Valid SemVer format detected: ${VERSION}"
echo "Updating package.json version to: ${VERSION}"
sed -i "s/\"version\": \"0.0.0\"/\"version\": \"${VERSION}\"/" ./apps/web/package.json
cat ./apps/web/package.json | grep version
- name: Build tag list
id: tags
shell: bash
env:
IMAGE_TAG: ${{ inputs.image_tag }}
DEPLOY_PRODUCTION: ${{ inputs.deploy_production }}
DEPLOY_STAGING: ${{ inputs.deploy_staging }}
ECR_REGISTRY: ${{ env.ECR_REGISTRY }}
ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }}
run: |
set -euo pipefail
# Start with the base image tag
TAGS="${ECR_REGISTRY}/${ECR_REPOSITORY}:${IMAGE_TAG}"
# Add production tag if requested
if [[ "${DEPLOY_PRODUCTION}" == "true" ]]; then
TAGS="${TAGS}\n${ECR_REGISTRY}/${ECR_REPOSITORY}:production"
fi
# Add staging tag if requested
if [[ "${DEPLOY_STAGING}" == "true" ]]; then
TAGS="${TAGS}\n${ECR_REGISTRY}/${ECR_REPOSITORY}:staging"
fi
# Output for debugging
echo "Generated tags:"
echo -e "${TAGS}"
# Set output for next step (escape newlines for GitHub Actions)
{
echo "tags<<EOF"
echo -e "${TAGS}"
echo "EOF"
} >> "${GITHUB_OUTPUT}"
- name: Configure AWS credentials (OIDC)
uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a
with:
role-to-assume: ${{ secrets.AWS_ECR_PUSH_ROLE_ARN }}
aws-region: ${{ env.ECR_REGION }}
- name: Log in to Amazon ECR
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076
- name: Set up Depot CLI
uses: depot/setup-action@b0b1ea4f69e92ebf5dea3f8713a1b0c37b2126a5 # v1.6.0
- name: Build and push image (Depot remote builder)
uses: depot/build-push-action@636daae76684e38c301daa0c5eca1c095b24e780 # v1.14.0
with:
project: tw0fqmsx3c
token: ${{ secrets.DEPOT_PROJECT_TOKEN }}
context: ${{ env.CONTEXT }}
file: ${{ env.DOCKERFILE }}
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.tags.outputs.tags }}
secrets: |
database_url=${{ secrets.DUMMY_DATABASE_URL }}
encryption_key=${{ secrets.DUMMY_ENCRYPTION_KEY }}
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
+29
View File
@@ -0,0 +1,29 @@
name: Build Web
on:
workflow_call:
permissions:
contents: read
jobs:
build:
name: Build Formbricks-web
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/dangerous-git-checkout
- name: Build & Cache Web Binaries
uses: ./.github/actions/cache-build-web
id: cache-build-web
with:
e2e_testing_mode: "0"
turbo_token: ${{ secrets.TURBO_TOKEN }}
turbo_team: ${{ vars.TURBO_TEAM }}
-28
View File
@@ -1,28 +0,0 @@
name: Checks
on: [push]
jobs:
build:
name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}
runs-on: ubuntu-latest
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Install pnpm
uses: pnpm/action-setup@v2.2.2
- name: Install dependencies
run: pnpm install
- name: Lint
run: pnpm lint
+42
View File
@@ -0,0 +1,42 @@
name: "Chromatic"
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
chromatic:
name: Run Chromatic
runs-on: ubuntu-latest
permissions:
packages: write
id-token: write
actions: read
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 20
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
- name: Run Chromatic
uses: chromaui/action@c93e0bc3a63aa176e14a75b61a31847cbfdd341c # latest
with:
# ⚠️ Make sure to configure a `CHROMATIC_PROJECT_TOKEN` repository secret
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: apps/storybook
@@ -0,0 +1,149 @@
name: Formbricks Cloud Deployment
on:
workflow_dispatch:
inputs:
VERSION:
description: "The version of the Docker image to release, full image tag if image tag is v0.0.0 enter v0.0.0."
required: true
type: string
REPOSITORY:
description: "The repository to use for the Docker image"
required: false
type: string
default: "ghcr.io/formbricks/formbricks"
ENVIRONMENT:
description: "The environment to deploy to"
required: true
type: choice
options:
- staging
- production
workflow_call:
inputs:
VERSION:
description: "The version of the Docker image to release"
required: true
type: string
REPOSITORY:
description: "The repository to use for the Docker image"
required: false
type: string
default: "ghcr.io/formbricks/formbricks"
ENVIRONMENT:
description: "The environment to deploy to"
required: true
type: string
permissions:
id-token: write
contents: read
jobs:
helmfile-deploy:
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Tailscale
uses: tailscale/github-action@84a3f23bb4d843bcf4da6cf824ec1be473daf4de # v3.2.3
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:github
args: --accept-routes
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@f24d7193d98baebaeacc7e2227925dd47cc267f5 # v4.2.0
with:
role-to-assume: ${{ secrets.AWS_ASSUME_ROLE_ARN }}
aws-region: "eu-central-1"
- name: Setup Cluster Access
run: |
aws eks update-kubeconfig --name formbricks-prod-eks --region eu-central-1
env:
AWS_REGION: eu-central-1
- uses: helmfile/helmfile-action@712000e3d4e28c72778ecc53857746082f555ef3 # v2.0.4
name: Deploy Formbricks Cloud Production
if: inputs.ENVIRONMENT == 'production'
env:
VERSION: ${{ inputs.VERSION }}
REPOSITORY: ${{ inputs.REPOSITORY }}
FORMBRICKS_S3_BUCKET: ${{ secrets.FORMBRICKS_S3_BUCKET }}
FORMBRICKS_INGRESS_CERT_ARN: ${{ secrets.FORMBRICKS_INGRESS_CERT_ARN }}
FORMBRICKS_ROLE_ARN: ${{ secrets.FORMBRICKS_ROLE_ARN }}
with:
helmfile-version: "v1.0.0"
helm-plugins: >
https://github.com/databus23/helm-diff,
https://github.com/jkroepke/helm-secrets
helmfile-args: apply -l environment=prod
helmfile-auto-init: "false"
helmfile-workdirectory: infra/formbricks-cloud-helm
- uses: helmfile/helmfile-action@712000e3d4e28c72778ecc53857746082f555ef3 # v2.0.4
name: Deploy Formbricks Cloud Staging
if: inputs.ENVIRONMENT == 'staging'
env:
VERSION: ${{ inputs.VERSION }}
REPOSITORY: ${{ inputs.REPOSITORY }}
FORMBRICKS_INGRESS_CERT_ARN: ${{ secrets.STAGE_FORMBRICKS_INGRESS_CERT_ARN }}
FORMBRICKS_ROLE_ARN: ${{ secrets.STAGE_FORMBRICKS_ROLE_ARN }}
with:
helmfile-version: "v1.0.0"
helm-plugins: >
https://github.com/databus23/helm-diff,
https://github.com/jkroepke/helm-secrets
helmfile-args: apply -l environment=stage
helmfile-auto-init: "false"
helmfile-workdirectory: infra/formbricks-cloud-helm
- name: Purge Cloudflare Cache
if: ${{ inputs.ENVIRONMENT == 'production' || inputs.ENVIRONMENT == 'staging' }}
env:
CF_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
CF_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
ENVIRONMENT: ${{ inputs.ENVIRONMENT }}
run: |
# Set hostname based on environment
if [[ "$ENVIRONMENT" == "production" ]]; then
PURGE_HOST="app.formbricks.com"
else
PURGE_HOST="stage.app.formbricks.com"
fi
echo "Purging Cloudflare cache for host: $PURGE_HOST (environment: $ENVIRONMENT, zone: $CF_ZONE_ID)"
# Prepare JSON payload for selective cache purge
json_payload=$(cat << EOF
{
"hosts": ["$PURGE_HOST"]
}
EOF
)
# Make API call to Cloudflare
response=$(curl -s -X POST \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data "$json_payload")
echo "Cloudflare API response: $response"
# Verify the operation was successful
if [[ "$(echo "$response" | jq -r .success)" == "true" ]]; then
echo "✅ Successfully purged cache for $PURGE_HOST"
else
echo "❌ Cloudflare cache purge failed"
echo "Error details: $(echo "$response" | jq -r .errors)"
exit 1
fi
@@ -0,0 +1,170 @@
name: Docker Build Validation
on:
pull_request:
branches:
- main
merge_group:
branches:
- main
workflow_dispatch:
permissions:
contents: read
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
jobs:
validate-docker-build:
name: Validate Docker Build
runs-on: ubuntu-latest
# Add PostgreSQL service container
services:
postgres:
image: pgvector/pgvector:pg17
env:
POSTGRES_USER: test
POSTGRES_PASSWORD: test
POSTGRES_DB: formbricks
ports:
- 5432:5432
# Health check to ensure PostgreSQL is ready before using it
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- name: Checkout Repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Build Docker Image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
env:
GITHUB_SHA: ${{ github.sha }}
with:
context: .
file: ./apps/web/Dockerfile
push: false
load: true
tags: formbricks-test:${{ env.GITHUB_SHA }}
cache-from: type=gha
cache-to: type=gha,mode=max
secrets: |
database_url=${{ secrets.DUMMY_DATABASE_URL }}
encryption_key=${{ secrets.DUMMY_ENCRYPTION_KEY }}
- name: Verify and Initialize PostgreSQL
run: |
echo "Verifying PostgreSQL connection..."
# Install PostgreSQL client to test connection
sudo apt-get update && sudo apt-get install -y postgresql-client
# Test connection using psql with timeout and proper error handling
echo "Testing PostgreSQL connection with 30 second timeout..."
if timeout 30 bash -c 'until PGPASSWORD=test psql -h localhost -U test -d formbricks -c "\dt" >/dev/null 2>&1; do
echo "Waiting for PostgreSQL to be ready..."
sleep 2
done'; then
echo "✅ PostgreSQL connection successful"
PGPASSWORD=test psql -h localhost -U test -d formbricks -c "SELECT version();"
# Enable necessary extensions that might be required by migrations
echo "Enabling required PostgreSQL extensions..."
PGPASSWORD=test psql -h localhost -U test -d formbricks -c "CREATE EXTENSION IF NOT EXISTS vector;" || echo "Vector extension already exists or not available"
else
echo "❌ PostgreSQL connection failed after 30 seconds"
exit 1
fi
# Show network configuration
echo "Network configuration:"
netstat -tulpn | grep 5432 || echo "No process listening on port 5432"
- name: Test Docker Image with Health Check
shell: bash
env:
GITHUB_SHA: ${{ github.sha }}
DUMMY_ENCRYPTION_KEY: ${{ secrets.DUMMY_ENCRYPTION_KEY }}
run: |
echo "🧪 Testing if the Docker image starts correctly..."
# Add extra docker run args to support host.docker.internal on Linux
DOCKER_RUN_ARGS="--add-host=host.docker.internal:host-gateway"
# Start the container with host.docker.internal pointing to the host
docker run --name formbricks-test \
$DOCKER_RUN_ARGS \
-p 3000:3000 \
-e DATABASE_URL="postgresql://test:test@host.docker.internal:5432/formbricks" \
-e ENCRYPTION_KEY="$DUMMY_ENCRYPTION_KEY" \
-d "formbricks-test:$GITHUB_SHA"
# Start health check polling immediately (every 5 seconds for up to 5 minutes)
echo "🏥 Polling /health endpoint every 5 seconds for up to 5 minutes..."
MAX_RETRIES=60 # 60 attempts × 5 seconds = 5 minutes
RETRY_COUNT=0
HEALTH_CHECK_SUCCESS=false
set +e # Disable exit on error to allow for retries
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
RETRY_COUNT=$((RETRY_COUNT + 1))
# Check if container is still running
if [ "$(docker inspect -f '{{.State.Running}}' formbricks-test 2>/dev/null)" != "true" ]; then
echo "❌ Container stopped running after $((RETRY_COUNT * 5)) seconds!"
echo "📋 Container logs:"
docker logs formbricks-test
exit 1
fi
# Show progress and diagnostic info every 12 attempts (1 minute intervals)
if [ $((RETRY_COUNT % 12)) -eq 0 ] || [ $RETRY_COUNT -eq 1 ]; then
echo "Health check attempt $RETRY_COUNT of $MAX_RETRIES ($(($RETRY_COUNT * 5)) seconds elapsed)..."
echo "📋 Recent container logs:"
docker logs --tail 10 formbricks-test
fi
# Try health endpoint with shorter timeout for faster polling
# Use -f flag to make curl fail on HTTP error status codes (4xx, 5xx)
if curl -f -s -m 10 http://localhost:3000/health >/dev/null 2>&1; then
echo "✅ Health check successful after $((RETRY_COUNT * 5)) seconds!"
HEALTH_CHECK_SUCCESS=true
break
fi
# Wait 5 seconds before next attempt
sleep 5
done
# Show full container logs for debugging
echo "📋 Full container logs:"
docker logs formbricks-test
# Clean up the container
echo "🧹 Cleaning up..."
docker rm -f formbricks-test
# Exit with failure if health check did not succeed
if [ "$HEALTH_CHECK_SUCCESS" != "true" ]; then
echo "❌ Health check failed after $((MAX_RETRIES * 5)) seconds (5 minutes)"
exit 1
fi
echo "✨ Docker validation complete - all checks passed!"
@@ -0,0 +1,70 @@
name: Docker Security Scan
on:
schedule:
- cron: "0 2 * * *" # Daily at 2 AM UTC
workflow_dispatch:
workflow_run:
workflows: ["Docker Release to Github"]
types: [completed]
permissions:
contents: read
packages: read
security-events: write
jobs:
scan:
name: Vulnerability Scan
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Harden the runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- name: Checkout (for SARIF fingerprinting only)
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
- name: Determine ref and commit for upload
id: gitref
shell: bash
env:
EVENT_NAME: ${{ github.event_name }}
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
run: |
set -euo pipefail
if [[ "${EVENT_NAME}" == "workflow_run" ]]; then
echo "ref=refs/heads/${HEAD_BRANCH}" >> "$GITHUB_OUTPUT"
echo "sha=${HEAD_SHA}" >> "$GITHUB_OUTPUT"
else
echo "ref=${GITHUB_REF}" >> "$GITHUB_OUTPUT"
echo "sha=${GITHUB_SHA}" >> "$GITHUB_OUTPUT"
fi
- name: Log in to GitHub Container Registry
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@dc5a429b52fcf669ce959baa2c2dd26090d2a6c4 # v0.32.0
with:
image-ref: "ghcr.io/${{ github.repository }}:latest"
format: "sarif"
output: "trivy-results.sarif"
severity: "CRITICAL,HIGH,MEDIUM,LOW"
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@a4e1a019f5e24960714ff6296aee04b736cbc3cf # v3.29.6
if: ${{ always() }}
with:
sarif_file: "trivy-results.sarif"
ref: ${{ steps.gitref.outputs.ref }}
sha: ${{ steps.gitref.outputs.sha }}
category: "trivy-container-scan"
+185
View File
@@ -0,0 +1,185 @@
name: E2E Tests
on:
workflow_call:
secrets:
AZURE_CLIENT_ID:
required: false
AZURE_TENANT_ID:
required: false
AZURE_SUBSCRIPTION_ID:
required: false
PLAYWRIGHT_SERVICE_URL:
required: false
ENTERPRISE_LICENSE_KEY:
required: true
# Add other secrets if necessary
workflow_dispatch:
env:
TELEMETRY_DISABLED: 1
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
permissions:
id-token: write
contents: read
actions: read
jobs:
build:
name: Run E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 60
services:
postgres:
image: pgvector/pgvector:pg17
env:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U testuser"
--health-interval=10s
--health-timeout=5s
--health-retries=5
valkey:
image: valkey/valkey:8.1.1
ports:
- 6379:6379
options: >-
--entrypoint "valkey-server"
--health-cmd="valkey-cli ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: allow
allowed-endpoints: |
ee.formbricks.com:443
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/dangerous-git-checkout
- name: Setup Node.js 22.x
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: 22.x
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
shell: bash
- name: create .env
run: cp .env.example .env
shell: bash
- name: Fill ENCRYPTION_KEY, ENTERPRISE_LICENSE_KEY and E2E_TESTING in .env
run: |
RANDOM_KEY=$(openssl rand -hex 32)
sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env
sed -i "s/CRON_SECRET=.*/CRON_SECRET=${RANDOM_KEY}/" .env
sed -i "s/NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=${RANDOM_KEY}/" .env
sed -i "s/ENTERPRISE_LICENSE_KEY=.*/ENTERPRISE_LICENSE_KEY=${{ secrets.ENTERPRISE_LICENSE_KEY }}/" .env
sed -i "s|REDIS_URL=.*|REDIS_URL=redis://localhost:6379|" .env
echo "" >> .env
echo "E2E_TESTING=1" >> .env
shell: bash
- name: Build App
run: |
pnpm build --filter=@formbricks/web...
- name: Apply Prisma Migrations
run: |
# pnpm prisma migrate deploy
pnpm db:migrate:dev
- name: Run Rate Limiter Load Tests
run: |
echo "Running rate limiter load tests with Redis/Valkey..."
cd apps/web && pnpm vitest run modules/core/rate-limit/rate-limit-load.test.ts
shell: bash
- name: Check for Enterprise License
run: |
LICENSE_KEY=$(grep '^ENTERPRISE_LICENSE_KEY=' .env | cut -d'=' -f2-)
if [ -z "$LICENSE_KEY" ]; then
echo "::error::ENTERPRISE_LICENSE_KEY in .env is empty. Please check your secret configuration."
exit 1
fi
echo "License key length: ${#LICENSE_KEY}"
- name: Run App
run: |
echo "Starting app with enterprise license..."
NODE_ENV=test pnpm start --filter=@formbricks/web | tee app.log 2>&1 &
sleep 10 # Optional: gives some buffer for the app to start
for attempt in {1..10}; do
if [ $(curl -o /dev/null -s -w "%{http_code}" http://localhost:3000/health) -eq 200 ]; then
echo "Application is ready."
break
fi
if [ $attempt -eq 10 ]; then
echo "Application failed to start in time."
exit 1
fi
echo "Still waiting for the application to be ready..."
sleep 10
done
- name: Install Playwright
run: pnpm exec playwright install --with-deps
- name: Set Azure Secret Variables
run: |
if [[ -n "${{ secrets.AZURE_CLIENT_ID }}" && -n "${{ secrets.AZURE_TENANT_ID }}" && -n "${{ secrets.AZURE_SUBSCRIPTION_ID }}" ]]; then
echo "AZURE_ENABLED=true" >> $GITHUB_ENV
else
echo "AZURE_ENABLED=false" >> $GITHUB_ENV
fi
- name: Azure login
if: env.AZURE_ENABLED == 'true'
uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Run E2E Tests (Azure)
if: env.AZURE_ENABLED == 'true'
env:
PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }}
run: |
pnpm test-e2e:azure
- name: Run E2E Tests (Local)
if: env.AZURE_ENABLED == 'false'
run: |
pnpm test:e2e
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
if: failure()
with:
name: app-logs
path: app.log
- name: Output App Logs
if: failure()
run: cat app.log
+48
View File
@@ -0,0 +1,48 @@
name: Build, release & deploy Formbricks images
on:
release:
types: [published]
permissions:
contents: read
jobs:
docker-build:
name: Build & release docker image
permissions:
contents: read
packages: write
id-token: write
uses: ./.github/workflows/release-docker-github.yml
secrets: inherit
with:
IS_PRERELEASE: ${{ github.event.release.prerelease }}
helm-chart-release:
name: Release Helm Chart
permissions:
contents: read
packages: write
uses: ./.github/workflows/release-helm-chart.yml
secrets: inherit
needs:
- docker-build
with:
VERSION: ${{ needs.docker-build.outputs.VERSION }}
deploy-formbricks-cloud:
name: Deploy Helm Chart to Formbricks Cloud
permissions:
contents: read
id-token: write
secrets: inherit
uses: ./.github/workflows/deploy-formbricks-cloud.yml
needs:
- docker-build
- helm-chart-release
with:
VERSION: v${{ needs.docker-build.outputs.VERSION }}
ENVIRONMENT: ${{ github.event.release.prerelease && 'staging' || 'production' }}
+45
View File
@@ -0,0 +1,45 @@
name: Lint
on:
workflow_call:
permissions:
contents: read
jobs:
build:
name: Linters
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: ./.github/actions/dangerous-git-checkout
- name: Setup Node.js 20.x
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af
with:
node-version: 20.x
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
- name: create .env
run: cp .env.example .env
- name: Generate Random ENCRYPTION_KEY, CRON_SECRET & NEXTAUTH_SECRET and fill in .env
run: |
RANDOM_KEY=$(openssl rand -hex 32)
sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env
sed -i "s/CRON_SECRET=.*/CRON_SECRET=${RANDOM_KEY}/" .env
sed -i "s/NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=${RANDOM_KEY}/" .env
- name: Lint
run: pnpm lint
+57
View File
@@ -0,0 +1,57 @@
name: PR Update
# Update permissions to include all necessary ones
permissions:
contents: read
pull-requests: read
actions: read
checks: write
id-token: write
on:
pull_request:
merge_group:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
name: Run Unit Tests
uses: ./.github/workflows/test.yml
secrets: inherit
lint:
name: Run Linters
uses: ./.github/workflows/lint.yml
secrets: inherit
build:
name: Build Formbricks-web
uses: ./.github/workflows/build-web.yml
secrets: inherit
e2e-test:
name: Run E2E Tests
uses: ./.github/workflows/e2e.yml
secrets: inherit
required:
name: PR Check Summary
needs: [lint, test, build, e2e-test]
if: always()
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
statuses: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0
with:
egress-policy: audit
- name: fail if conditional jobs failed
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')
run: exit 1
@@ -0,0 +1,151 @@
name: Docker Release to Github Experimental
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
workflow_dispatch:
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}-experimental
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Generate SemVer version from branch or tag
id: generate_version
env:
REF_NAME: ${{ github.ref_name }}
REF_TYPE: ${{ github.ref_type }}
run: |
# Get reference name and type from environment variables
echo "Reference type: $REF_TYPE"
echo "Reference name: $REF_NAME"
# Create unique timestamped version for testing sourcemap resolution
TIMESTAMP=$(date +%s)
if [[ "$REF_TYPE" == "tag" ]]; then
# If running from a tag, use the tag name + timestamp
if [[ "$REF_NAME" =~ ^v?[0-9]+\.[0-9]+\.[0-9]+.*$ ]]; then
# Tag looks like a SemVer, use it directly (remove 'v' prefix if present)
BASE_VERSION=$(echo "$REF_NAME" | sed 's/^v//')
VERSION="${BASE_VERSION}-${TIMESTAMP}"
echo "Using SemVer tag with timestamp: $VERSION"
else
# Tag is not SemVer, treat as prerelease
SANITIZED_TAG=$(echo "$REF_NAME" | sed 's/[^a-zA-Z0-9.-]/-/g' | sed 's/--*/-/g' | sed 's/^-\|-$//g')
VERSION="0.0.0-${SANITIZED_TAG}-${TIMESTAMP}"
echo "Using tag as prerelease with timestamp: $VERSION"
fi
else
# Running from branch, use branch name as prerelease + timestamp
SANITIZED_BRANCH=$(echo "$REF_NAME" | sed 's/[^a-zA-Z0-9.-]/-/g' | sed 's/--*/-/g' | sed 's/^-\|-$//g')
VERSION="0.0.0-${SANITIZED_BRANCH}-${TIMESTAMP}"
echo "Using branch as prerelease with timestamp: $VERSION"
fi
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Generated SemVer version: $VERSION"
- name: Update package.json version
run: |
sed -i "s/\"version\": \"0.0.0\"/\"version\": \"${{ env.VERSION }}\"/" ./apps/web/package.json
cat ./apps/web/package.json | grep version
- name: Set up Depot CLI
uses: depot/setup-action@b0b1ea4f69e92ebf5dea3f8713a1b0c37b2126a5 # v1.6.0
# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@3454372f43399081ed03b604cb2d021dabca52bb # v3.8.2
# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=raw,value=${{ env.VERSION }}
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: depot/build-push-action@636daae76684e38c301daa0c5eca1c095b24e780 # v1.14.0
with:
project: tw0fqmsx3c
token: ${{ secrets.DEPOT_PROJECT_TOKEN }}
context: .
file: ./apps/web/Dockerfile
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
secrets: |
database_url=${{ secrets.DUMMY_DATABASE_URL }}
encryption_key=${{ secrets.DUMMY_ENCRYPTION_KEY }}
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes "{}@${DIGEST}"
+146
View File
@@ -0,0 +1,146 @@
name: Docker Release to Github
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
workflow_call:
inputs:
IS_PRERELEASE:
description: "Whether this is a prerelease (affects latest tag)"
required: false
type: boolean
default: false
outputs:
VERSION:
description: release version
value: ${{ jobs.build.outputs.VERSION }}
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
outputs:
VERSION: ${{ steps.extract_release_tag.outputs.VERSION }}
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Get Release Tag
id: extract_release_tag
run: |
# Extract version from tag (e.g., refs/tags/v1.2.3 -> 1.2.3)
TAG="$GITHUB_REF"
TAG=${TAG#refs/tags/v}
# Validate the extracted tag format
if [[ ! "$TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?(\+[a-zA-Z0-9.-]+)?$ ]]; then
echo "❌ Error: Invalid release tag format after extraction. Must be semver (e.g., 1.2.3, 1.2.3-alpha)"
echo "Original ref: $GITHUB_REF"
echo "Extracted tag: $TAG"
exit 1
fi
# Safely add to environment variables
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
echo "VERSION=$TAG" >> $GITHUB_OUTPUT
echo "Using tag-based version: $TAG"
- name: Update package.json version
run: |
sed -i "s/\"version\": \"0.0.0\"/\"version\": \"${{ env.RELEASE_TAG }}\"/" ./apps/web/package.json
cat ./apps/web/package.json | grep version
- name: Set up Depot CLI
uses: depot/setup-action@b0b1ea4f69e92ebf5dea3f8713a1b0c37b2126a5 # v1.6.0
# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@3454372f43399081ed03b604cb2d021dabca52bb # v3.8.2
# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
# Default semver tags (version, major.minor, major)
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
# Only tag as 'latest' for stable releases (not prereleases)
type=raw,value=latest,enable=${{ !inputs.IS_PRERELEASE }}
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: depot/build-push-action@636daae76684e38c301daa0c5eca1c095b24e780 # v1.14.0
with:
project: tw0fqmsx3c
token: ${{ secrets.DEPOT_PROJECT_TOKEN }}
context: .
file: ./apps/web/Dockerfile
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
secrets: |
database_url=${{ secrets.DUMMY_DATABASE_URL }}
encryption_key=${{ secrets.DUMMY_ENCRYPTION_KEY }}
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
+72
View File
@@ -0,0 +1,72 @@
name: Publish Helm Chart
on:
workflow_call:
inputs:
VERSION:
description: "The version of the Helm chart to release"
required: true
type: string
permissions:
contents: read
jobs:
publish:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Validate input version
env:
INPUT_VERSION: ${{ inputs.VERSION }}
run: |
set -euo pipefail
# Validate input version format (expects clean semver without 'v' prefix)
if [[ ! "$INPUT_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?(\+[a-zA-Z0-9.-]+)?$ ]]; then
echo "❌ Error: Invalid version format. Must be clean semver (e.g., 1.2.3, 1.2.3-alpha)"
echo "Expected: clean version without 'v' prefix"
echo "Provided: $INPUT_VERSION"
exit 1
fi
# Store validated version in environment variable
echo "VERSION<<EOF" >> $GITHUB_ENV
echo "$INPUT_VERSION" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
with:
version: latest
- name: Log in to GitHub Container Registry
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
run: printf '%s' "$GITHUB_TOKEN" | helm registry login ghcr.io --username "$GITHUB_ACTOR" --password-stdin
- name: Install YQ
uses: dcarbone/install-yq-action@4075b4dca348d74bd83f2bf82d30f25d7c54539b # v1.3.1
- name: Update Chart.yaml with new version
run: |
yq -i ".version = \"$VERSION\"" helm-chart/Chart.yaml
yq -i ".appVersion = \"v$VERSION\"" helm-chart/Chart.yaml
- name: Package Helm chart
run: |
helm package ./helm-chart
- name: Push Helm chart to GitHub Container Registry
run: |
helm push "formbricks-$VERSION.tgz" oci://ghcr.io/formbricks/helm-charts
-40
View File
@@ -1,40 +0,0 @@
name: Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Install pnpm
uses: pnpm/action-setup@v2.2.2
- name: Install Dependencies
run: pnpm install
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
# This expects you to have a script called release which does a build for your packages and calls changeset publish
publish: pnpm release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,58 @@
name: "Check PR"
on:
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize
permissions:
pull-requests: write
jobs:
validate-pr:
name: PR title
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: |
fix
feat
chore
docs
style
refactor
perf
test
build
ci
revert
ossgg
- uses: marocchino/sticky-pull-request-comment@67d0dec7b07ed060a405f9b2a64b8ab319fdd7db # v2.9.2
# When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
if: always() && (steps.lint_pr_title.outputs.error_message != null)
with:
header: pr-title-lint-error
message: |
Hey there and thank you for opening this pull request! 👋🏼
We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
Details:
```
${{ steps.lint_pr_title.outputs.error_message }}
```
+55
View File
@@ -0,0 +1,55 @@
name: SonarQube
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
merge_group:
permissions:
contents: read
jobs:
sonarqube:
name: SonarQube
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Setup Node.js 22.x
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af
with:
node-version: 22.x
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
- name: create .env
run: cp .env.example .env
- name: Generate Random ENCRYPTION_KEY, CRON_SECRET & NEXTAUTH_SECRET and fill in .env
run: |
RANDOM_KEY=$(openssl rand -hex 32)
sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env
sed -i "s/CRON_SECRET=.*/CRON_SECRET=${RANDOM_KEY}/" .env
sed -i "s/NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=${RANDOM_KEY}/" .env
sed -i "s|REDIS_URL=.*|REDIS_URL=|" .env
- name: Run tests with coverage
run: |
pnpm test:coverage
- name: SonarQube Scan
uses: SonarSource/sonarqube-scan-action@2500896589ef8f7247069a56136f8dc177c27ccf
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
@@ -0,0 +1,86 @@
name: "Terraform"
on:
workflow_dispatch:
# TODO: enable it back when migration is completed.
push:
branches:
- main
paths:
- "infra/terraform/**"
pull_request:
branches:
- main
paths:
- "infra/terraform/**"
permissions:
contents: read
jobs:
terraform:
runs-on: ubuntu-latest
permissions:
id-token: write
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Tailscale
uses: tailscale/github-action@84a3f23bb4d843bcf4da6cf824ec1be473daf4de # v3.2.3
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:github
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@f24d7193d98baebaeacc7e2227925dd47cc267f5 # v4.2.0
with:
role-to-assume: ${{ secrets.AWS_ASSUME_ROLE_ARN }}
aws-region: "eu-central-1"
- name: Setup Terraform
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
- name: Terraform Format
id: fmt
run: terraform fmt -check -recursive
continue-on-error: true
working-directory: infra/terraform
- name: Terraform Init
id: init
run: terraform init
working-directory: infra/terraform
- name: Terraform Validate
id: validate
run: terraform validate
working-directory: infra/terraform
- name: Terraform Plan
id: plan
run: terraform plan -out .planfile
working-directory: infra/terraform
- name: Post PR comment
uses: borchero/terraform-plan-comment@434458316f8f24dd073cd2561c436cce41dc8f34 # v2.4.1
if: always() && github.ref != 'refs/heads/main' && (steps.plan.outcome == 'success' || steps.plan.outcome == 'failure')
with:
token: ${{ github.token }}
planfile: .planfile
working-directory: "infra/terraform"
- name: Terraform Apply
id: apply
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: terraform apply .planfile
working-directory: "infra/terraform"
+47
View File
@@ -0,0 +1,47 @@
name: Tests
on:
workflow_call:
permissions:
contents: read
jobs:
build:
name: Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/dangerous-git-checkout
- name: Setup Node.js 20.x
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: 20.x
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Install dependencies
run: pnpm install --config.platform=linux --config.architecture=x64
- name: create .env
run: cp .env.example .env
- name: Generate Random ENCRYPTION_KEY, CRON_SECRET & NEXTAUTH_SECRET and fill in .env
run: |
RANDOM_KEY=$(openssl rand -hex 32)
sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env
sed -i "s/CRON_SECRET=.*/CRON_SECRET=${RANDOM_KEY}/" .env
sed -i "s/NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=${RANDOM_KEY}/" .env
sed -i "s|REDIS_URL=.*|REDIS_URL=|" .env
- name: Test
run: pnpm test
@@ -0,0 +1,51 @@
name: Check Missing Translations
permissions:
contents: read
on:
workflow_dispatch:
pull_request_target:
types: [opened, synchronize, reopened]
jobs:
check-missing-translations:
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ github.event.pull_request.base.ref }}
- name: Checkout PR
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup Node.js
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 18
- name: Install Tolgee CLI
run: npm install -g @tolgee/cli
- name: Compare Tolgee Keys
id: compare
run: |
tolgee compare --api-key ${{ secrets.TOLGEE_API_KEY }} > compare_output.txt
cat compare_output.txt
- name: Check for Missing Translations
run: |
if grep -q "new key found" compare_output.txt; then
echo "New keys found that may require translations:"
exit 1
else
echo "No new keys found."
fi
+95
View File
@@ -0,0 +1,95 @@
name: Tolgee Tagging on PR Merge
permissions:
contents: read
on:
pull_request_target:
types: [closed]
branches:
- main
jobs:
tag-production-keys:
name: Tag Production Keys
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # This ensures we get the full git history
- name: Get source branch name
id: branch-name
env:
RAW_BRANCH: ${{ github.head_ref }}
run: |
# Validate and sanitize branch name - only allow alphanumeric, dots, underscores, hyphens, and forward slashes
SOURCE_BRANCH=$(echo "$RAW_BRANCH" | sed 's/[^a-zA-Z0-9._\/-]//g')
# Additional validation - ensure branch name is not empty after sanitization
if [[ -z "$SOURCE_BRANCH" ]]; then
echo "❌ Error: Branch name is empty after sanitization"
echo "Original branch: $RAW_BRANCH"
exit 1
fi
# Safely add to environment variables using GitHub's recommended method
# This prevents environment variable injection attacks
echo "SOURCE_BRANCH<<EOF" >> $GITHUB_ENV
echo "$SOURCE_BRANCH" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
echo "Detected source branch: $SOURCE_BRANCH"
- name: Setup Node.js
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 18 # Ensure compatibility with your project
- name: Install Tolgee CLI
run: npm install -g @tolgee/cli
- name: Tag Production Keys
run: |
npx tolgee tag \
--api-key ${{ secrets.TOLGEE_API_KEY }} \
--filter-extracted \
--filter-tag "draft:${SOURCE_BRANCH}" \
--tag production \
--untag "draft:${SOURCE_BRANCH}"
- name: Tag unused production keys as Deprecated
run: |
npx tolgee tag \
--api-key ${{ secrets.TOLGEE_API_KEY }} \
--filter-not-extracted --filter-tag production \
--tag deprecated --untag production
- name: Tag unused draft:current-branch keys as Deprecated
run: |
npx tolgee tag \
--api-key ${{ secrets.TOLGEE_API_KEY }} \
--filter-not-extracted --filter-tag "draft:${SOURCE_BRANCH}" \
--tag deprecated --untag "draft:${SOURCE_BRANCH}"
- name: Sync with backup
run: |
npx tolgee sync \
--api-key ${{ secrets.TOLGEE_API_KEY }} \
--backup ./tolgee-backup \
--continue-on-warning \
--yes
- name: Upload backup as artifact
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: tolgee-backup-${{ github.sha }}
path: ./tolgee-backup
retention-days: 90
+49 -15
View File
@@ -1,25 +1,26 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
node_modules
**/node_modules
.pnp
.pnp.js
.pnpm-store/
# testing
coverage
**/coverage
# next.js
.next/
out/
build
**/.next/
**/out/
**/build
# node
dist/
**/dist/
# misc
.DS_Store
**/.DS_Store
*.pem
Zone.Identifier
# debug
npm-debug.log*
@@ -27,16 +28,49 @@ yarn-debug.log*
yarn-error.log*
# local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
**/.env
**/.env.local
**/.env.development.local
**/.env.test.local
**/.env.production.local
!packages/database/.env
!apps/web/.env
# turbo
# build tools
.turbo
**/*vite.config.*.timestamp-*
# nixos stuff
# environment specific
.direnv
apps/demo
# Playwright
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
# project specific
packages/lib/uploads
apps/web/public/js
packages/database/migrations
branch.json
.vercel
# Terraform
infra/terraform/.terraform/
**/.terraform.lock.hcl
**/terraform.tfstate
**/terraform.tfstate.*
**/crash.log
**/override.tf
**/override.tf.json
**/*.tfvars
**/*.tfvars.json
**/.terraformrc
**/terraform.rc
# IntelliJ IDEA
/.idea/
/*.iml
packages/ios/FormbricksSDK/FormbricksSDK.xcodeproj/project.xcworkspace/xcuserdata
.cursorrules
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
images=($(yq eval '.services.*.image' docker-compose.dev.yml))
pull_image() {
docker pull "$1"
}
# install packages in background
pnpm i &
# pull images
for image in "${images[@]}"
do
pull_image "$image" &
done
wait
+5
View File
@@ -0,0 +1,5 @@
for task in $(yq -r -oy '.pipeline."@formbricks/demo#go".dependsOn[]' turbo.json); do
package="${task%#*}"
command="${task#*#}"
turbo --filter "$package" $command
done
+5
View File
@@ -0,0 +1,5 @@
for task in $(yq -r -oy '.pipeline."@formbricks/web#go".dependsOn[]' turbo.json); do
package="${task%#*}"
command="${task#*#}"
turbo --filter "$package" $command
done
+2
View File
@@ -0,0 +1,2 @@
echo "{\"branchName\": \"$(git rev-parse --abbrev-ref HEAD)\"}" > ./branch.json
prettier --write ./branch.json
+21
View File
@@ -0,0 +1,21 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# Load environment variables from .env files
if [ -f .env ]; then
set -a
. .env
set +a
fi
pnpm lint-staged
# Run tolgee-pull if branch.json exists and NEXT_PUBLIC_TOLGEE_API_KEY is not set
if [ -f branch.json ]; then
if [ -z "$NEXT_PUBLIC_TOLGEE_API_KEY" ]; then
echo "Skipping tolgee-pull: NEXT_PUBLIC_TOLGEE_API_KEY is not set"
else
pnpm run tolgee-pull
git add apps/web/locales
fi
fi
+3
View File
@@ -4,3 +4,6 @@ shamefully-hoist = true
shared-workspace-shrinkwrap = true
access = public
enable-pre-post-scripts = true
legacy-peer-deps=true
node-linker=hoisted
save-exact=true
+1
View File
@@ -0,0 +1 @@
22.1.0
+11 -1
View File
@@ -1 +1,11 @@
module.exports = require("./packages/prettier-config/prettier-preset");
const baseConfig = require("./packages/config-prettier/prettier-preset");
module.exports = {
...baseConfig,
plugins: [
"@trivago/prettier-plugin-sort-imports",
"prettier-plugin-tailwindcss",
"prettier-plugin-sort-json",
],
jsonRecursiveSort: true,
};
+51
View File
@@ -0,0 +1,51 @@
{
"$schema": "https://docs.tolgee.io/cli-schema.json",
"format": "JSON_TOLGEE",
"patterns": ["./apps/web/**/*.ts?(x)"],
"projectId": 10304,
"pull": {
"path": "./apps/web/locales"
},
"push": {
"files": [
{
"language": "en-US",
"path": "./apps/web/locales/en-US.json"
},
{
"language": "de-DE",
"path": "./apps/web/locales/de-DE.json"
},
{
"language": "fr-FR",
"path": "./apps/web/locales/fr-FR.json"
},
{
"language": "pt-BR",
"path": "./apps/web/locales/pt-BR.json"
},
{
"language": "zh-Hant-TW",
"path": "./apps/web/locales/zh-Hant-TW.json"
},
{
"language": "pt-PT",
"path": "./apps/web/locales/pt-PT.json"
},
{
"language": "ro-RO",
"path": "./apps/web/locales/ro-RO.json"
},
{
"language": "ja-JP",
"path": "./apps/web/locales/ja-JP.json"
},
{
"language": "zh-Hans-CN",
"path": "./apps/web/locales/zh-Hans-CN.json"
}
],
"forceMode": "OVERRIDE"
},
"strictNamespace": false
}
+1
View File
@@ -0,0 +1 @@
apps/web/.env
+3 -1
View File
@@ -6,6 +6,8 @@
"dbaeumer.vscode-eslint", // eslint plugin
"esbenp.prettier-vscode", // prettier plugin
"Prisma.prisma", // syntax|format|completion for prisma
"yzhang.markdown-all-in-one" // nicer markdown support
"yzhang.markdown-all-in-one", // nicer markdown support
"vitest.explorer", // run tests directly from the code window
"sonarsource.sonarlint-vscode" // sonarqube linter for vscode
]
}
+21
View File
@@ -0,0 +1,21 @@
{
"configurations": [
{
"name": "Launch localhost:3002",
"reAttach": true,
"request": "launch",
"type": "firefox",
"url": "http://localhost:3002/",
"webRoot": "${workspaceFolder}"
},
{
"name": "Attach",
"request": "attach",
"type": "firefox"
}
],
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0"
}
+10
View File
@@ -0,0 +1,10 @@
{
"javascript.updateImportsOnFileMove.enabled": "always",
"sonarlint.connectedMode.project": {
"connectionId": "formbricks",
"projectKey": "formbricks_formbricks"
},
"typescript.preferences.importModuleSpecifier": "non-relative",
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.updateImportsOnFileMove.enabled": "always"
}
+69
View File
@@ -0,0 +1,69 @@
# Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in Formbricks and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct that could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
We as project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
We have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hola@formbricks.com - all complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
## Enforcement Guidelines
Community managers will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public of private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html).
+12 -18
View File
@@ -1,29 +1,23 @@
We are so happy that you are interested in contributing to Formbricks 🤗
# 🚀 Join the Formbricks Tribe! 🧱
There are many ways to contribute to Formbricks with writing Issues, fixing bugs, building new features or updating the docs.
First and foremost, we're absolutely thrilled that you're considering becoming a part of the Formbricks Tribe! 🤗
# Issues
Discover a myriad of ways to leave your mark on Formbricks — whether it's by squashing bugs, crafting new features, or enhancing our documentation.
Spotted a bug? Has deployment gone wrong? Do you have user feedback? [Raise an issue](https://github.com/formbricks/formbricks/issues/new/choose) for the fastest response.
## 🐛 Issue Hunters
... or pick up and fix an issue if you want to do a Pull Request.
Did you stumble upon a bug? Encountered a hiccup in deployment? Perhaps you have some user feedback to share? Your quickest route to help us out is by [raising an issue](https://github.com/formbricks/formbricks/issues/new/choose). We're on standby to respond swiftly.
# Feature requests
## 💡 Feature Architects
Raise an issue for these and tag it as an Enhancement. We love every idea. Please give us as much context on the why as possible.
Are you brimming with brilliant ideas? For new features that can elevate Formbricks, create an issue and slap on the "Enhancement" tag. We adore every concept that you throw our way. Just make sure to provide us with the "why" behind your idea. We're all ears!
# Creating a PR
## 🛠 Crafting Pull Requests
Please fork the repository, make your changes and create a new pull request if you want to make an update.
For the time being, we don't have the capacity to properly facilitate community contributions. It's a lot of engineering attention often spent on issues which don't follow our prioritization, so we've decided to only facilitate community code contributions in rare exceptions in the coming months.
If you want to speak to us before doing lots of work, please join our [Discord server](https://formbricks.com/discord) and tell us what you would like to work on - we're very responsive and friendly!
## 🚀 Aspiring Features
For QA of your Pull-Request, you can also get in touch with Matti on Discord. But we will also get to your PR without you taking additional action ;-)
If you spot a feature that isn't part of our official plan but could propel Formbricks forward, don't hesitate. Raise it as an enhancement issue, and let us know you're ready to take the lead. We'll be quick to respond.
# Features
We are currently working on having a clear [Roadmap](https://github.com/orgs/formbricks/projects/1) for the next steps ahead.
But you can also pick a feature that is not already on the roadmap if you think it creates a positive impact for Formbricks.
If you are at all unsure, just raise it as an enhancement issue first and tell us that you like to work on it, and we'll very quickly respond.
Together, let's craft the future of Formbricks, making it better, bolder, and more brilliant! 🚀🧱🌟
+666 -17
View File
@@ -1,21 +1,670 @@
MIT License
Copyright (c) 2024 Formbricks GmbH
Copyright (c) 2022 Matthias Nannt
Portions of this software are licensed as follows:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
- All content that resides under the "apps/web/modules/ee" directory of this repository, if these directories exist, is licensed under the license defined in "apps/web/modules/ee/LICENSE".
- All content that resides under the "packages/js/", "packages/android/", "packages/ios/" and "packages/api/" directories of this repository, if that directories exist, is licensed under the "MIT" license as defined in the "LICENSE" files of these packages.
- All third party components incorporated into the Formbricks Software are licensed under the original license provided by the owner of the applicable component.
- Content outside of the above mentioned directories or restrictions above is available under the "AGPLv3" license as defined below.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
1. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
+207 -66
View File
@@ -1,101 +1,242 @@
<p align="center">
<a href="https://github.com/formbricks/formbricks">
<img src="https://user-images.githubusercontent.com/675065/203262290-3c2bc5b8-839c-468a-b675-e26a369c7fe2.png" alt="Logo" width="500">
</a>
<h3 align="center">Formbricks</h3>
<div id="top"></div>
<p align="center">
The Open Source Forms & Survey Toolbox
<br />
<a href="https://formbricks.com/">Website</a> | <a href="https://formbricks.com/discord">Join Discord community</a>
</p>
<p align="center">Help us grow and star us on Github! ⭐️</p>
<p align="center">
<a href="https://formbricks.com">
<img width="120" alt="Open Source Privacy First Experience Management Solution Qualtrics Alternative Logo" src="https://github.com/formbricks/formbricks/assets/72809645/0086704f-bee7-4d38-9cc8-fa42ee59e004">
</a>
<h3 align="center">Formbricks</h3>
<p align="center">
The Open Source Qualtrics Alternative
<br />
<a href="https://formbricks.com/">Website</a>
</p>
</p>
<p align="center">
<a href="https://github.com/formbricks/formbricks/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-purple" alt="License"></a> <a href="https://formbricks.com/discord"><img src="https://img.shields.io/discord/979077669410979880?label=Discord&logo=discord&logoColor=%23fff" alt="Join Formbricks Discord"></a> <a href="https://github.com/formbricks/formbricks/stargazers"><img src="https://img.shields.io/github/stars/formbricks/formbricks?logo=github" alt="Github Stars"></a>
<a href="https://news.ycombinator.com/item?id=32303986"><img src="https://img.shields.io/badge/Hacker%20News-122-%23FF6600" alt="Hacker News"></a>
<a href="https://www.producthunt.com/products/snoopforms"><img src="https://img.shields.io/badge/Product%20Hunt-%232%20Product%20of%20the%20Day-orange?logo=producthunt&logoColor=%23fff" alt="Product Hunt"></a>
<a href="https://github.com/formbricks/formbricks/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-AGPL-purple" alt="License"></a> <a href="https://github.com/formbricks/formbricks/stargazers"><img src="https://img.shields.io/github/stars/formbricks/formbricks?logo=github" alt="Github Stars"></a>
<a href="https://insights.linuxfoundation.org/project/formbricks"><img src="https://insights.linuxfoundation.org/api/badge/health-score?project=formbricks"></a>
<a href="https://news.ycombinator.com/item?id=32303986"><img src="https://img.shields.io/badge/Hacker%20News-122-%23FF6600" alt="Hacker News"></a>
<a href="[https://www.producthunt.com/products/formbricks](https://www.producthunt.com/posts/formbricks)"><img src="https://img.shields.io/badge/Product%20Hunt-455-orange?logo=producthunt&logoColor=%23fff" alt="Product Hunt"></a>
<a href="https://github.blog/2023-04-12-github-accelerator-our-first-cohort-and-whats-next/"><img src="https://img.shields.io/badge/2023-blue?logo=github&label=Github%20Accelerator" alt="Github Accelerator"></a>
<a href="https://github.com/formbricks/formbricks/issues?q=is:issue+is:open+label:%22%F0%9F%99%8B%F0%9F%8F%BB%E2%80%8D%E2%99%82%EF%B8%8Fhelp+wanted%22"><img src="https://img.shields.io/badge/Help%20Wanted-Contribute-blue"></a>
</p>
<br/>
> :octocat: Are you looking for snoopForms - the Open Source Typeform Alternative? We're building the next stage of the snoopForms evolution here with Formbricks - more modular, more open, and for all your form needs. If you still are looking for the code of snoopForms you can find it in the [snoopforms branch](https://github.com/formbricks/formbricks/tree/snoopforms).
<div style="background-color:#f8fafc; border-radius:5px;">
<p align="center">
<i>Trusted by</i><br/>
<img width="867" alt="clients-hi-res" src="https://github.com/formbricks/formbricks/assets/72809645/924d3693-f66a-4063-bb31-6e5789a8175a">
</p>
<div>
> :warning: Repository still in progress `#buildinpublic`
<p align="center">
<a href="https://trendshift.io/repositories/2570" target="_blank"><img src="https://trendshift.io/api/badge/repositories/2570" alt="Trendshift Badge for formbricks/formbricks" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
## About Formbricks
## About Formbricks
![formbricks-twitter-header-open source forms and survey tools_smaller](https://user-images.githubusercontent.com/72809645/201055057-0883bbcf-86f2-4ea1-83f0-3a190a12f6cd.png)
<img width="1527" alt="formbricks-sneak" src="https://github-production-user-asset-6210df.s3.amazonaws.com/675065/249441967-ccb89ea3-82b4-4bf2-8d2c-528721ec313b.png">
We're building all essential form functionality so you don't have to. Modular, customizable, extendable. And open source.
Formbricks provides a free and open source surveying platform. Gather feedback at every point in the user journey with beautiful in-app, website, link and email surveys. Build on top of Formbricks or leverage prebuilt data analysis capabilities.
### Mission: Stop rewriting existing code
**Try it out in the cloud at [formbricks.com](https://app.formbricks.com/auth/signup)**
We want to solve forms once and for all. If, in 10 years, a web developer rewrites core form functionality instead of building on top of our stack, we didnt do our job. We want you to build your next big thing faster. Our big thing is the last form tool humanity needs. Hold us accountable!
## 💪 Mission: Empower your team, craft an irresistible experience.
[Read more in our blog](https://formbricks.com/blog/snoopforms-becomes-formbricks)
Formbricks is both a free and open source survey platform - and a privacy-first experience management platform. Use in-app, website, link and email surveys to gather user and customer insights at every point of their journey. Leverage Formbricks Insight Platform or build your own. Life's too short for mediocre UX.
## Our Toolbox
### Table of Contents
Build a 'home-cooked' solution at the fraction of the time. We do the heavy lifting, you customize to your needs.
- [Features](#features)
### React Forms Library
- [Getting Started](#getting-started)
Building React forms has never been quicker. But there is more...
- [Cloud Version](#cloud-version)
Loads of question types, validation, multi-page forms, logic jumps, i18n, custom styles - all the good stuff you want, but don't want to build yourself.
Building forms fast is great, but where do you pipe your data? And what is it worth without a schema?"
- [Self-hosted Version](#self-hosted-version)
```jsx
import { Form, Text, Textarea, Submit } from "@formbricks/react";
import "@formbricks/react/styles.css";
- [Development](#development)
export default function WaitlistForm() {
return (
<Form onSubmit={({ data, schema }) => console.log("data:", data, "schema:", schema)}>
<Text name="firstname" label="What's your first name?" validation="required" />
<Text name="lastname" label="What's your last name?" />
<Textarea name="about" label="About you" help="Please keep it short" />
<Submit name="submit" label="Submit" />
</Form>
);
}
```
- [Contribution](#contribution)
[Get started with the React Library](https://formbricks.com/docs/react-form-library/introduction)
- [Contact](#contact-us)
### Core API - The OS form engine
- [Security](#security)
Your form looks perfect? Time to build integrations...
- [License](#license)
Our core API handles all of the submission handling of your forms and surveys. Our main objective is versatility, so that you can use it with any currently existing form. Soon we will integrate it with our React Form Builder. This allows for handling schemas so that you get a full image of your submission data.
<a id="features"></a>
### Features
- **Fast Form Creation**: Build complex forms with our React Lib. Our data pipes also work with any other form.
- **Data Pipelines**: Save your data where you need it. Use webhooks or pre-built integrations.
- **Powerful Data Insights**: View and manage your results quicker. Handle submissions in our dahsboard.
- **No-Code Builder**: Let your operators create and change forms. Stick with React to style and embed forms. `(coming soon)`
- **Built-in Analytics**: Opening rate, drop-offs, conversions. Use privacy-first analytics out of the box. `(coming soon)`
- **Survey Templates**: NPS, CSAT, Employee Surveys. Name your business objective, we have the questions. `(coming soon)`
- 📲 Create **conversion-optimized surveys** with our no-code editor with several question types.
### Why Formbricks
- 📚 Choose from a variety of best-practice **templates**.
- **Futureproof**: Form needs change. With Formbricks youll avoid island solutions right from the start.
- **Privacy by design**: Self-host the entire product and fly through privacy compliance reviews.
- **Community driven**: We're building for you. If you need something specific, were happy to build it!
- **Great DX**: We love a solid developer experience. We felt your pain and do our best to avoid it.
- **Customizable**: We have to build opinionated. If it doesn't suit your need, just change it up.
- **Extendable**: Even though we try, we cannot build every single integration. With Formbricks, you can.
- 👩🏻 Launch and **target your surveys to specific user groups** without changing your application code.
### Built With
- 🔗 Create shareable **link surveys**.
- [Typescript](https://www.typescriptlang.org/)
- [Next.js](https://nextjs.org/)
- [React](https://reactjs.org/)
- [TailwindCSS](https://tailwindcss.com/)
- [Prisma](https://prisma.io/)
- 👨‍👩‍👦 Invite your organization members to **collaborate** on your surveys.
## Installation and usage
- 🔌 Integrate Formbricks with **Slack, Notion, Zapier, n8n and more**.
Coming soon - we will update this Readme in the weeks ahead and show you how to leverage all the advantages of Formbricks
- 🔒 All **open source**, transparent and self-hostable.
### Built on Open Source
- 💻 [Typescript](https://www.typescriptlang.org/)
- 🚀 [Next.js](https://nextjs.org/)
- ⚛️ [React](https://reactjs.org/)
- 🎨 [TailwindCSS](https://tailwindcss.com/)
- 📚 [Prisma](https://prisma.io/)
- 🔒 [Auth.js](https://authjs.dev/)
- 🧘‍♂️ [Zod](https://zod.dev/)
- 🐛 [Vitest](https://vitest.dev/)
<a id="getting-started"></a>
## 🚀 Getting started
We've got several options depending on your need to help you quickly get started with Formbricks.
<a id="cloud-version"></a>
### ☁️ Cloud Version
Formbricks has a hosted cloud offering with a generous free plan to get you up and running as quickly as possible. To get started, please visit [formbricks.com](https://app.formbricks.com/auth/signup).
<a id="self-hosted-version"></a>
### 🐳 Self-hosting Formbricks
Formbricks is available Open-Source under AGPLv3 license. You can host Formbricks on your own servers using Docker without a subscription.
If you opt for self-hosting Formbricks, here are a few options to consider:
#### Docker
To get started with self-hosting with Docker, take a look at our [self-hosting docs](https://formbricks.com/docs/self-hosting/deployment).
#### Community-managed One Click Hosting
##### Railway
You can deploy Formbricks on [Railway](https://railway.app) using the button below.
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/PPDzCd)
##### RepoCloud
Or you can also deploy Formbricks on [RepoCloud](https://repocloud.io) using the button below.
[![Deploy on RepoCloud](https://d16t0pc4846x52.cloudfront.net/deploy.png)](https://repocloud.io/details/?app_id=254)
##### Zeabur
Or you can also deploy Formbricks on [Zeabur](https://zeabur.com) using the button below.
[![Deploy to Zeabur](https://zeabur.com/button.svg)](https://zeabur.com/templates/G4TUJL)
<a id="development"></a>
## 👨‍💻 Development
### Prerequisites
Here is what you need to be able to run Formbricks:
- [Node.js](https://nodejs.org/en) (Version: >=18.x)
- [Pnpm](https://pnpm.io/)
- [Docker](https://www.docker.com/) - to run PostgreSQL and MailHog
### Local Setup
To get started locally, we've got a [guide to help you](https://formbricks.com/docs/developer-docs/contributing/get-started#local-machine-setup).
### Gitpod Setup
1. Click the button below to open this project in Gitpod.
2. This will open a fully configured workspace in your browser with all the necessary dependencies already installed.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/formbricks/formbricks)
<a id="contribution"></a>
## ✍️ Contribution
We are very happy if you are interested in contributing to Formbricks 🤗
Here are a few options:
- Star this repo.
- Create issues every time you feel something is missing or goes wrong.
- Upvote issues with 👍 reaction so we know what the demand for a particular issue is to prioritize it within the roadmap.
- Note: For the time being, we can only facilitate code contributions as an exception.
## All Thanks To Our Contributors
<a href="https://github.com/formbricks/formbricks/graphs/contributors">
<img src="https://contrib.rocks/image?repo=formbricks/formbricks" />
</a>
<a id="contact-us"></a>
## 📆 Contact us
Let's have a chat about your survey needs and get you started.
<a href="https://cal.com/johannes/onboarding?utm_source=banner&utm_campaign=oss"><img alt="Book us with Cal.com" src="https://cal.com/book-with-cal-dark.svg" /></a>
<a id="license"></a>
<a id="security"></a>
## 🔒 Security
We take security very seriously. If you come across any security vulnerabilities, please disclose them by sending an email to security@formbricks.com. We appreciate your help in making our platform as secure as possible and are committed to working with you to resolve any issues quickly and efficiently. See [`SECURITY.md`](./SECURITY.md) for more information.
<a id="license"></a>
## 👩‍⚖️ License
### The AGPL Formbricks Core
The Formbricks core application is licensed under the [AGPLv3 Open Source License](https://github.com/formbricks/formbricks/blob/main/LICENSE). The core application is fully functional and includes everything you need to design & run link surveys, website surveys and in-app surveys. You can use the software for free for personal and commercial use. You're also allowed to create and distribute modified versions as long as you document the changes you make incl. date. The AGPL license requires you to publish your modified version under the AGPLv3 license as well.
### The Enterprise Edition
Additional to the AGPL licensed Formbricks core, this repository contains code licensed under an Enterprise license. The [code](https://github.com/formbricks/formbricks/tree/main/apps/web/modules/ee) and [license](https://github.com/formbricks/formbricks/blob/main/apps/web/modules/ee/LICENSE) for the enterprise functionality can be found in the `/apps/web/modules/ee` folder of this repository. This additional functionality is not part of the AGPLv3 licensed Formbricks core and is designed to meet the needs of larger teams and enterprises. This advanced functionality is already included in the Docker images, but you need an [Enterprise License Key](https://formbricks.com/docs/self-hosting/enterprise) to unlock it.
### White-Labeling Formbricks and Other Licensing Needs
We currently do not offer Formbricks white-labeled. That means that we don't sell a license which let's other companies resell Formbricks to third parties under their name nor take parts (like the survey editor) out of Formbricks to add to their own software products. Any other needs? [Send us an email](mailto:hola@formbricks.com).
### Why charge for Enterprise Features?
The Enterprise Edition allows us to fund the development of Formbricks sustainably. It guarantees that the free and open-source surveying infrastructure we're building will be around for decades to come.
<p align="right"><a href="#top">🔼 Back to top</a></p>
+75
View File
@@ -0,0 +1,75 @@
# Security Policy of Formbricks
This is Formbrick's security policy. Please reach out to us
on Github or, if privately, via <security@formbricks.com>
## Introduction
Formbricks is dedicated to maintaining the integrity and security of our systems and our clients' data. In our pursuit to keep our technology environment safe, we welcome the collaborative efforts of our user community and security researchers to enhance security protocols and continuously secure our platform. This security policy outlines our approach towards handling data, ensuring secure practices, and managing the disclosure of vulnerabilities.
## I. Third-Party Data Usage Policy
We affirm our commitment towards meticulous validation of data usage and collection scope by any third-party library or integration utilized in our operations. We adhere to the following protocols:
- Rigorous vetting of third-party services to confirm adherence to our data usage and privacy standards.
- Continuous monitoring and assessment of third-party practices to ensure ongoing compliance.
- Immediate action to mitigate risks if a third-party deviates from agreed-upon data practices.
## II. Annual Penetration Testing (Pentest)
To understand and bolster our security stature, Formbricks undertakes:
- Annual penetration testing executed by an independent, skilled third party.
- Prioritization of any identified issues, with immediate action on critical vulnerabilities.
- Transparent communication and learnings shared with relevant stakeholders.
## III. Vulnerability Reporting and Management
Please do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties.
### **A. When to Report a Vulnerability**
We invite you to report if:
- A potential security vulnerability in Formbricks is identified.
- There is uncertainty about how a vulnerability affects our platform.
- A vulnerability is detected in a dependent project of Formbricks.
- An action was executed which, in your belief, should be restricted.
### **B. When Reporting is Unnecessary**
Avoid reporting if:
- Assistance is needed to optimize Formbricks for security please engage on Github Discussions for this.
- Help is required for applying security-related updates.
- The concern is not related to security.
### **C. Vulnerability Reporting Procedure**
In the interest of responsibly managing vulnerabilities, please adhere to the following procedure:
> Do not reveal the problem to others until it has been resolved.
1. **Send a Detailed Report**:
- Raise a security report on [Github](https://github.com/formbricks/formbricks/issues/new/choose) or send an email to [security@formbricks.com](mailto:security@formbricks.com).
- Include:
- Problem description.
- Detailed, reproducible steps, with screenshots where possible.
- Affected version(s).
- Known possible mitigations.
- Your preferred contact method.
2. **Acknowledgement of Receipt**:
- Our security team will acknowledge receipt and provide an initial response within 48 hours.
- Following verification of the vulnerability and the fix, a release plan will be formulated, with the fix deployed between 7 to 28 days, depending on the severity and complexity.
3. **Ongoing Communication**:
- A project maintainer may engage with you for additional details or clarification.
- We appreciate your patience as we explore the reported item, verify its authenticity, and ascertain the existence of a vulnerability.
---
### Please Read the below carefully
If you have followed the instructions above, we will **not** take any legal action against you in regard to the report,
We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission, We will keep you informed of the progress towards resolving the problem, In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise).
We, at Formbricks, wish to express our gratitude towards all individuals who assist us in fortifying our security posture. Your responsible disclosure and cooperation enable us to elevate our security protocols, safeguarding our platform and data therein.
-4
View File
@@ -1,4 +0,0 @@
module.exports = {
root: true,
extends: ["formbricks"],
};
-40
View File
@@ -1,40 +0,0 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# local env files
.env*.local
# vercel
.vercel
# typescript
*.tsbuildinfo
next-env.d.ts
.vscode
public/sitemap*.xml
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2022 Matthias Nannt
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-34
View File
@@ -1,34 +0,0 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
## Getting Started
First, run the development server:
```bash
npm run dev
# or
yarn dev
```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
## Deploy on Vercel
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
@@ -1,163 +0,0 @@
import { useCallback, useEffect, useState } from "react";
import Link from "next/link";
import { useRouter } from "next/router";
import clsx from "clsx";
import { Hero } from "@/components/shared/Hero";
import { FooterLogo, Logomark } from "@/components/shared/Logo";
import { MobileNavigation } from "@/components/shared/MobileNavigation";
import { Navigation } from "@/components/shared/Navigation";
import { Prose } from "@/components/shared/Prose";
import { Search } from "@/components/shared/Search";
import { ThemeSelector } from "@/components/shared/ThemeSelector";
import navigation from "@/lib/docsNavigation";
import Button from "../shared/Button";
import MetaInformation from "../shared/MetaInformation";
function GitHubIcon(props: any) {
return (
<svg aria-hidden="true" viewBox="0 0 16 16" {...props}>
<path d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z" />
</svg>
);
}
function Header({ navigation }: any) {
const router = useRouter();
let [isScrolled, setIsScrolled] = useState(false);
useEffect(() => {
function onScroll() {
setIsScrolled(window.scrollY > 0);
}
onScroll();
window.addEventListener("scroll", onScroll, { passive: true });
return () => {
window.removeEventListener("scroll", onScroll);
};
}, []);
return (
<header
className={clsx(
"sticky top-0 z-50 flex flex-wrap items-center justify-between bg-slate-100 px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 dark:shadow-none sm:px-6 lg:px-8",
isScrolled
? "bg-slate-100/90 backdrop-blur dark:bg-slate-900/90 [@supports(backdrop-filter:blur(0))]:bg-slate-100/75 dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75"
: "dark:bg-transparent"
)}>
<div className="mr-6 flex lg:hidden">
<MobileNavigation navigation={navigation} />
</div>
<div className="relative flex flex-grow basis-0 items-center">
<Link href="/" aria-label="Home page">
<FooterLogo className="h-8 w-auto sm:h-10" />
</Link>
</div>
<div className="-my-5 mr-6 sm:mr-8 md:mr-0">
<Search />
</div>
<div className="hidden items-center justify-end md:flex md:flex-1 lg:w-0">
<ThemeSelector className="relative z-10 mr-5" />
<Button
variant="secondary"
EndIcon={GitHubIcon}
endIconClassName="fill-slate-800 dark:fill-slate-200"
onClick={() => router.push("https://github.com/formbricks/formbricks")}>
View on Github
</Button>
<Button variant="highlight" className="ml-2" onClick={() => router.push("/get-started")}>
Get started
</Button>
</div>
</header>
);
}
interface LayoutProps {
children: React.ReactNode;
meta: {
title: string;
};
}
export function Layout({ children, meta }: LayoutProps) {
let router = useRouter();
let isHomePage = router.pathname === "/";
let allLinks = navigation.flatMap((section) => section.links);
let linkIndex = allLinks.findIndex((link) => link.href === router.pathname);
let previousPage = allLinks[linkIndex - 1];
let nextPage = allLinks[linkIndex + 1];
let section = navigation.find((section) => section.links.find((link) => link.href === router.pathname));
return (
<>
<MetaInformation
title="Formbricks Documentation"
description="Modular, customizable, extendable. Take what you like, build on top what you need. Build your next big thing faster."
/>
<Header navigation={navigation} />
{isHomePage && <Hero />}
<div className="max-w-8xl relative mx-auto flex justify-center sm:px-2 lg:px-8 xl:px-12">
<div className="hidden lg:relative lg:block lg:flex-none">
<div className="absolute inset-y-0 right-0 w-[50vw] bg-slate-50 dark:hidden" />
<div className="absolute top-16 bottom-0 right-0 hidden h-12 w-px bg-gradient-to-t from-slate-800 dark:block" />
<div className="absolute top-28 bottom-0 right-0 hidden w-px bg-slate-800 dark:block" />
<div className="sticky top-[4.5rem] -ml-0.5 h-[calc(100vh-4.5rem)] overflow-y-auto overflow-x-hidden py-16 pl-0.5">
<Navigation navigation={navigation} className="w-64 pr-8 xl:w-72 xl:pr-16" />
</div>
</div>
<div className="min-w-0 max-w-2xl flex-auto px-4 py-16 lg:max-w-none lg:pr-0 lg:pl-8 xl:px-16">
<article>
{(meta.title || section) && (
<header className="mb-9 space-y-1">
{section && (
<p className="font-display text-brand-light dark:text-brand-dark text-sm font-medium">
{section.title}
</p>
)}
{meta.title && (
<h1 className="font-display text-3xl tracking-tight text-slate-800 dark:text-slate-100">
{meta.title}
</h1>
)}
</header>
)}
<Prose className="">{children}</Prose>
</article>
<dl className="mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800">
{previousPage && (
<div>
<dt className="font-display text-brand-dark dark:text-brand-light text-sm font-medium">
Previous
</dt>
<dd className="mt-1">
<Link
href={previousPage.href}
className="text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300">
<span aria-hidden="true">&larr;</span> {previousPage.title}
</Link>
</dd>
</div>
)}
{nextPage && (
<div className="ml-auto text-right">
<dt className="font-display text-brand-dark dark:text-brand-light text-sm font-medium">
Next
</dt>
<dd className="mt-1">
<Link
href={nextPage.href}
className="text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300">
{nextPage.title} <span aria-hidden="true">&rarr;</span>
</Link>
</dd>
</div>
)}
</dl>
</div>
</div>
</>
);
}
@@ -1,69 +0,0 @@
import { useEffect, useState } from "react";
import Link from "next/link";
import { useRouter } from "next/router";
import { Dialog } from "@headlessui/react";
import { Logomark } from "@/components/shared/Logo";
import { Navigation } from "@/components/shared/Navigation";
function MenuIcon(props) {
return (
<svg aria-hidden="true" viewBox="0 0 24 24" fill="none" strokeWidth="2" strokeLinecap="round" {...props}>
<path d="M4 7h16M4 12h16M4 17h16" />
</svg>
);
}
function CloseIcon(props) {
return (
<svg aria-hidden="true" viewBox="0 0 24 24" fill="none" strokeWidth="2" strokeLinecap="round" {...props}>
<path d="M5 5l14 14M19 5l-14 14" />
</svg>
);
}
export function MobileNavigation({ navigation }) {
let router = useRouter();
let [isOpen, setIsOpen] = useState(false);
useEffect(() => {
if (!isOpen) return;
function onRouteChange() {
setIsOpen(false);
}
router.events.on("routeChangeComplete", onRouteChange);
router.events.on("routeChangeError", onRouteChange);
return () => {
router.events.off("routeChangeComplete", onRouteChange);
router.events.off("routeChangeError", onRouteChange);
};
}, [router, isOpen]);
return (
<>
<button type="button" onClick={() => setIsOpen(true)} className="relative" aria-label="Open navigation">
<MenuIcon className="h-6 w-6 stroke-slate-500" />
</button>
<Dialog
open={isOpen}
onClose={setIsOpen}
className="fixed inset-0 z-50 flex items-start overflow-y-auto bg-slate-900/50 pr-10 backdrop-blur lg:hidden"
aria-label="Navigation">
<Dialog.Panel className="min-h-full w-full max-w-xs bg-white px-4 pt-5 pb-12 dark:bg-slate-900 sm:px-6">
<div className="flex items-center">
<button type="button" onClick={() => setIsOpen(false)} aria-label="Close navigation">
<CloseIcon className="h-6 w-6 stroke-slate-500" />
</button>
<Link href="/" className="ml-6" aria-label="Home page">
<Logomark className="h-9 w-9" />
</Link>
</div>
<Navigation navigation={navigation} className="mt-5 px-1" />
</Dialog.Panel>
</Dialog>
</>
);
}
@@ -1,111 +0,0 @@
import {
PlusIcon,
SquaresPlusIcon,
ChartBarIcon,
ArrowTrendingUpIcon,
DocumentPlusIcon,
RectangleGroupIcon,
} from "@heroicons/react/24/outline";
import clsx from "clsx";
import HeadingCentered from "../shared/HeadingCentered";
const features = [
{
id: "formCreation",
name: "Fast Form Creation",
description: "Build complex forms with our React Lib. Our data pipes also work with any other form.",
icon: PlusIcon,
},
{
id: "dataPipelines",
name: "Data Pipelines",
description: "Save your data where you need it. Use webhooks or pre-built integrations.",
icon: SquaresPlusIcon,
},
{
id: "dataInsights",
name: "Powerful Data Insights",
description: "View and manage your results quicker. Handle submissions in our dahsboard.",
icon: ChartBarIcon,
},
{
id: "nocodeBuilder",
name: "No-Code Builder",
description: "Let your operators create and change forms. Stick with React to style and embed forms.",
icon: RectangleGroupIcon,
comingSoon: true,
},
{
id: "analytics",
name: "Built-in Analytics",
description: "Opening rate, drop-offs, conversions. Use privacy-first analytics out of the box.",
icon: ArrowTrendingUpIcon,
comingSoon: true,
},
{
id: "templates",
name: "Survey Templates",
description: "NPS, CSAT, Employee Surveys. Name your business objective, we have the questions.",
icon: DocumentPlusIcon,
comingSoon: true,
},
];
export default function Features() {
return (
<div className="relative px-4 pt-16 pb-20 sm:px-6 lg:px-8 lg:pt-24 lg:pb-28">
<div className="absolute inset-0">
<div className="h-1/3 sm:h-2/3" />
</div>
<div className="relative mx-auto max-w-7xl">
<HeadingCentered
closer
teaser="the Swiss army knife for forms & surveys"
heading="Home-cooked taste, delivered in minutes"
subheading="Build a 'home-cooked' solution at the fraction of the time. We do the heavy lifting, you customize
to your needs."
/>
<ul role="list" className="grid grid-cols-1 gap-6 pt-8 sm:grid-cols-2 md:grid-cols-3">
{features.map((feature) => (
<li
key={feature.id}
className={clsx(
feature.comingSoon
? "bg-gradient-to-b from-slate-200 to-slate-100 dark:from-slate-800 dark:to-slate-900"
: "bg-slate-200 drop-shadow-sm dark:bg-slate-800 ",
"relative col-span-1 mt-16 flex flex-col rounded-xl text-center"
)}>
<div className="absolute -mt-12 w-full">
<div
className={clsx(
feature.comingSoon
? "from-slate-100 via-slate-200 to-slate-200 dark:from-slate-800 dark:to-slate-900"
: "from-slate-200 via-slate-100 to-slate-100 dark:from-slate-900 dark:to-slate-700 ",
"mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-gradient-to-br shadow"
)}>
<feature.icon className="text-brand-dark dark:text-brand-light mx-auto h-10 w-10 flex-shrink-0" />
</div>
</div>
<div className="flex flex-1 flex-col p-10">
<h3 className="my-4 text-lg font-medium text-slate-800 dark:text-slate-200">
{feature.name}
</h3>
<dl className="mt-1 flex flex-grow flex-col justify-between">
<dt className="sr-only">Description</dt>
<dd className="text-sm text-gray-600 dark:text-slate-400">{feature.description}</dd>
{feature.comingSoon && (
<dd className="mt-4">
<span className="rounded-full bg-slate-200 px-3 py-1 text-xs font-medium text-slate-500 dark:bg-slate-700 dark:text-slate-300">
coming soon
</span>
</dd>
)}
</dl>
</div>
</li>
))}
</ul>
</div>
</div>
);
}
@@ -1,28 +0,0 @@
import Button from "../shared/Button";
import HeroAnimation from "../shared/HeroAnimation";
import HeroTitle from "../shared/HeroTitle";
import { useRouter } from "next/router";
interface Props {}
export default function Hero({}: Props) {
const router = useRouter();
return (
<div className="relative">
<HeroTitle
headingPt1="The"
headingTeal="Open Source"
headingPt2="Forms & Survey Toolbox"
subheading="We're building all essential form functionality so you don't have to. Modular, customizable,
extendable. And open source.">
<Button variant="secondary" onClick={() => router.push("/docs")}>
Read docs
</Button>
<Button variant="primary" className="ml-3" onClick={() => router.push("/get-started")}>
Get started
</Button>
</HeroTitle>
<HeroAnimation />
</div>
);
}
@@ -1,66 +0,0 @@
import Image from "next/image";
import ImageReactLib from "@/images/react-lib.png";
import ImageDataPipelines from "@/images/data-pipelines.png";
import Link from "next/link";
import Button from "../shared/Button";
import { useRouter } from "next/router";
export default function Highlights({}) {
const router = useRouter();
return (
<>
<div className="mt-8 md:mt-32">
<div className="mx-auto max-w-md px-4 sm:max-w-3xl sm:px-6 lg:max-w-7xl lg:px-8">
<div className="grid lg:grid-cols-2 lg:items-center lg:gap-24">
<div className="order-last lg:order-first">
<h2 className="text-2xl font-bold tracking-tight text-slate-800 dark:text-slate-200 sm:text-3xl">
Build forms in minutes with our{" "}
<span className="text-brand-dark dark:text-brand-light font-light">lightweight</span> React
Form Builder.
</h2>
<p className="text-md mt-6 max-w-3xl leading-7 text-slate-500 dark:text-slate-400">
Loads of question types, validation, multi-page forms, logic jumps, i18n, custom styles - all
the good stuff you want, but don&apos;t want to build yourself.
<br />
<br />
Build <span className="font-semibold">exactly</span> the form you want in a fraction of the
time.
</p>
<div className="my-6">
<Button variant="minimal" size="sm" onClick={() => router.push("/react-form-library")}>
Read more
</Button>
</div>
</div>
<Image src={ImageReactLib} alt="react library" className="mb-8 rounded-lg lg:mb-0" />
</div>
</div>
</div>
<div className="mt-16 md:mt-32">
<div className="mx-auto max-w-md px-4 sm:max-w-3xl sm:px-6 lg:max-w-7xl lg:px-8">
<div className="lg:grid lg:grid-cols-2 lg:items-center lg:gap-24">
<Image src={ImageDataPipelines} alt="react library" className="mb-8 rounded-lg lg:mb-0" />
<div>
<h2 className="text-2xl font-bold tracking-tight text-slate-800 dark:text-slate-100 sm:text-3xl">
<span className="text-brand-dark dark:text-brand-light ">API</span> all the way
</h2>
<p className="text-md mt-6 max-w-3xl leading-7 text-slate-500 dark:text-slate-400">
Your form looks perfect? Time to build integrations...
<br />
<br />
<span className="font-semibold">Or use our prebuilt data pipelines.</span> Pipe submissions
right into your database. Set up webhooks, email notifications and 3rd party integrations in
our webUI.
</p>
<div className="mt-6">
<Button variant="minimal" size="sm" onClick={() => router.push("/core-api")}>
Read more
</Button>
</div>
</div>
</div>
</div>
</div>
</>
);
}
@@ -1,194 +0,0 @@
import { useState, ChangeEvent } from "react";
import { ChevronDownIcon, ChevronRightIcon, ChevronLeftIcon } from "@heroicons/react/20/solid";
import clsx from "clsx";
interface APICallProps {
method: "GET" | "POST";
url: string;
description: string;
queries: {
label: string;
type: string;
description: string;
}[];
bodies: {
label: string;
type: string;
description: string;
required?: boolean;
}[];
responses: {
color: string;
statusCode: string;
description: string;
example?: string;
}[];
example?: string;
}
export function APILayout({ method, url, description, queries, bodies, responses, example }: APICallProps) {
const [switchState, setSwitchState] = useState(false);
function handleOnChange() {
setSwitchState(!switchState);
}
return (
<div className="rounded-lg bg-slate-200 p-8 dark:bg-slate-700">
{switchState ? (
<ChevronDownIcon
className="hover:text-brand-dark dark:hover:text-brand-dark mr-3 inline h-5 w-5 hover:cursor-pointer"
aria-hidden="true"
onClick={handleOnChange}
/>
) : (
<ChevronRightIcon
className="hover:text-brand-dark dark:hover:text-brand-dark mr-3 inline h-5 w-5 hover:cursor-pointer"
aria-hidden="true"
onClick={handleOnChange}
/>
)}
<div
className={clsx(
"mr-3 inline rounded-full p-1 px-3 font-semibold text-white",
method === "POST" && "bg-red-400",
method === "GET" && "bg-green-400"
)}>
{method}
</div>
<div className="inline text-sm text-slate-500">
http://localhost:300/api
<span className="font-bold text-black">{url}</span>
</div>
<div className="mt-4 ml-8 font-bold">{description}</div>
<div>
<div className={clsx(switchState ? "block" : "hidden", "ml-8")}>
<p className="mt-6 mb-2 text-lg font-semibold">Parameters</p>
<div>
<div className="text-base">
<p className="not-prose -mb-1 pt-2 font-bold">Query</p>
<div>
{queries.map((q) => (
<Parameter key={q.label} label={q.label} type={q.type} description={q.description} />
))}
</div>
</div>
<div className="mt-4 text-base">
<p className="not-prose -mb-1 pt-2 font-bold">Body</p>
<div>
{}
{bodies.map((b) => (
<Parameter
key={b.label}
label={b.label}
type={b.type}
description={b.description}
required={b.required}
/>
))}
{example && (
<div>
<p className="not-prose mb-2 pt-2 font-bold">Body Example</p>
<div className="rounded-lg bg-slate-300 p-2 font-mono text-sm">{example}</div>
</div>
)}
</div>
<div className="mt-4 text-base">
<p className="not-prose -mb-1 pt-2 font-bold">Responses</p>
<div>
{responses.map((r) => (
<Response
key={r.color}
color={r.color}
statusCode={r.statusCode}
description={r.description}
example={r.example}
/>
))}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
);
}
interface ParaProps {
label: string;
type: string;
description: string;
required?: boolean;
}
function Parameter({ label, type, description, required }: ParaProps) {
return (
<>
<div className="my-2 grid grid-cols-4 text-sm">
<div className="inline font-mono">
{label}
{required && <p className="inline font-bold text-red-500">*</p>}
</div>
<div>{type}</div>
<div className="col-span-2">{description}</div>
</div>
</>
);
}
interface RespProps {
color: string;
statusCode: string;
description: string;
example?: string;
}
function Response({ color, statusCode, description, example }: RespProps) {
const [toggleExample, setSwitchState] = useState(false);
function handleOnChange() {
setSwitchState(!toggleExample);
}
return (
<div className="my-2 grid grid-cols-2 text-sm">
<div className="text-md inline-flex items-center font-semibold">
<div
className={clsx(
"mr-3 inline h-3 w-3 rounded-full",
color === "green" && "bg-green-400",
color === "brown" && "bg-amber-800"
)}>
&nbsp;
</div>
<div>{statusCode}</div>
</div>
<div className="flex items-center justify-between">
<div>{description}</div>
<div className="font-bold">
{example &&
(toggleExample ? (
<ChevronDownIcon
className={clsx(
toggleExample ? "block" : "hidden",
"hover:text-brand-dark dark:hover:text-brand-dark mr-3 inline h-6 w-6 hover:cursor-pointer"
)}
aria-hidden="true"
onClick={handleOnChange}
/>
) : (
<ChevronLeftIcon
className={clsx(
toggleExample ? "hidden" : "block",
"hover:text-brand-dark dark:hover:text-brand-dark mr-3 inline h-6 w-6 hover:cursor-pointer"
)}
aria-hidden="true"
onClick={handleOnChange}
/>
))}
</div>
</div>
{example && toggleExample && (
<div className="col-span-2 my-3 rounded-lg bg-slate-300 p-2 font-mono">{example}</div>
)}
</div>
);
}
@@ -1,149 +0,0 @@
import Link, { LinkProps } from "next/link";
import React, { forwardRef } from "react";
import clsx from "clsx";
type SVGComponent = React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
export type ButtonBaseProps = {
variant?: "highlight" | "primary" | "secondary" | "minimal" | "warn" | "alert";
size?: "base" | "sm" | "lg" | "fab" | "icon";
loading?: boolean;
disabled?: boolean;
onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
StartIcon?: SVGComponent;
startIconClassName?: string;
EndIcon?: SVGComponent;
endIconClassName?: string;
shallow?: boolean;
};
export type ButtonProps = ButtonBaseProps &
(
| (Omit<JSX.IntrinsicElements["a"], "href" | "onClick"> & LinkProps)
| (Omit<JSX.IntrinsicElements["button"], "onClick"> & { href?: never })
);
export const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, ButtonProps>(function Button(
props: ButtonProps,
forwardedRef
) {
const {
loading = false,
variant = "primary",
size = "base",
StartIcon,
startIconClassName,
endIconClassName,
EndIcon,
shallow,
// attributes propagated from `HTMLAnchorProps` or `HTMLButtonProps`
...passThroughProps
} = props;
// Buttons are **always** disabled if we're in a `loading` state
const disabled = props.disabled || loading;
// If pass an `href`-attr is passed it's `<a>`, otherwise it's a `<button />`
const isLink = typeof props.href !== "undefined";
const elementType = isLink ? "a" : "button";
const element = React.createElement(
elementType,
{
...passThroughProps,
disabled,
ref: forwardedRef,
className: clsx(
// base styles independent what type of button it is
"inline-flex items-center appearance-none",
// different styles depending on size
size === "sm" && "px-3 py-2 text-sm leading-4 font-medium rounded-lg",
size === "base" && "px-6 py-2 text-sm font-medium rounded-xl",
size === "lg" && "px-4 py-2 text-base font-medium rounded-lg",
size === "icon" &&
"w-10 h-10 justify-center group p-2 border rounded-lg border-transparent text-neutral-400 hover:border-gray-200 transition",
// turn button into a floating action button (fab)
size === "fab" ? "fixed" : "relative",
size === "fab" && "justify-center bottom-20 right-8 rounded-full p-4 w-14 h-14",
// different styles depending on variant
variant === "highlight" &&
(disabled
? "border border-transparent bg-gray-400 text-white"
: "text-slate-900 bg-gradient-to-b from-brand-light to-brand-dark hover:shadow-md focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-slate-900 transition ease-in-out delay-50 hover:scale-105"),
variant === "primary" &&
(disabled
? "border border-transparent bg-gray-400 text-white"
: "text-slate-900 bg-gradient-to-b from-brand-light to-brand-dark hover:shadow-md focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-slate-900"),
variant === "secondary" &&
(disabled
? "border border-gray-200 text-gray-400 bg-white"
: "hover:text-slate-600 hover:bg-slate-300 bg-slate-200 text-slate-700 hover:shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-neutral-900 dark:text-slate-400 dark:hover:text-slate-300 dark:bg-slate-800 dark:hover:bg-slate-700 transition ease-in-out delay-50 hover:scale-105"),
variant === "alert" &&
(disabled
? "border border-transparent bg-gray-400 text-white"
: "border border-transparent dark:text-darkmodebrandcontrast text-brandcontrast bg-red-600 dark:bg-darkmodebrand hover:bg-opacity-90 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-neutral-900"),
variant === "minimal" &&
(disabled
? "text-slate-400 dark:text-slate-500 bg-slate-200 dark:bg-slate-800"
: "text-slate-600 hover:text-slate-500 bg-slate-200 hover:bg-slate-100 dark:bg-slate-800 dark:text-slate-300 dark:hover:text-slate-400 dark:hover:bg-slate-900 focus:outline-none focus:ring-2 focus:ring-offset-1 dark:focus:bg-slate-900 focus:bg-slate-700 focus:ring-neutral-500 transition ease-in-out delay-50 hover:scale-105"),
variant === "warn" &&
(disabled
? "text-gray-400 bg-transparent"
: "text-gray-700 bg-transparent hover:text-red-700 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:bg-red-50 focus:ring-red-500"),
// set not-allowed cursor if disabled
loading ? "cursor-wait" : disabled ? "cursor-not-allowed" : "",
props.className
),
// if we click a disabled button, we prevent going through the click handler
onClick: disabled
? (e: React.MouseEvent<HTMLElement, MouseEvent>) => {
e.preventDefault();
}
: props.onClick,
},
<>
{StartIcon && (
<StartIcon
className={clsx(
"inline",
size === "icon" ? "h-4 w-4 " : "-ml-1 h-4 w-4 ltr:mr-2 rtl:ml-2 rtl:-mr-1",
startIconClassName || ""
)}
/>
)}
{props.children}
{loading && (
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transform">
<svg
className={clsx(
"mx-4 h-5 w-5 animate-spin",
variant === "primary" ? "text-white dark:text-slate-900" : "text-slate-900"
)}
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24">
<circle className="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4" />
<path
className="opacity-75"
fill="currentColor"
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
/>
</svg>
</div>
)}
{EndIcon && (
<EndIcon className={clsx("-mr-1 inline h-5 w-5 ltr:ml-2 rtl:mr-2", endIconClassName || "")} />
)}
</>
);
return props.href ? (
<Link passHref href={props.href} shallow={shallow && shallow}>
{element}
</Link>
) : (
element
);
});
export default Button;
@@ -1,31 +0,0 @@
import Button from "@/components/shared/Button";
import { useRouter } from "next/router";
import HeadingCentered from "./HeadingCentered";
export default function CTA() {
const router = useRouter();
return (
<>
<div className="mx-auto px-4 py-16 sm:px-6 lg:px-8 lg:pt-24 lg:pb-40">
<HeadingCentered closer teaser="Get started" heading="Ready for the last form tool you need?" />
<div className="mt-12 grid grid-cols-1 content-center md:grid-cols-2">
<div className="-mb-4 rounded-t-xl bg-gradient-to-br from-slate-300 to-slate-200 px-8 py-24 text-center text-gray-900 dark:from-slate-800 dark:to-slate-900 dark:text-gray-100 md:mb-0 md:ml-2.5 md:-mr-5 md:rounded-l-xl lg:p-24">
<h3 className="text-3xl font-bold">Self-hosted</h3>
<p className="mt-2 mb-4">Run locally e.g. with docker-compose.</p>
<Button variant="secondary" onClick={() => router.push("/docs")} className="mt-3">
Read docs
</Button>
</div>
<div className="rounded-xl bg-gradient-to-br from-slate-400 to-slate-300 py-24 text-center text-gray-800 dark:from-slate-800 dark:to-slate-700 dark:text-gray-100">
<h3 className="text-3xl font-bold">Cloud</h3>
<p className="mt-2 mb-4">Use our free managed service.</p>
<Button variant="secondary" onClick={() => router.push("/get-started")} className="mt-3">
Get started
</Button>
</div>
</div>
</div>
</>
);
}
@@ -1,41 +0,0 @@
import clsx from "clsx";
import { Icon } from "@/components/shared/Icon";
const styles = {
note: {
container: "bg-slate-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10",
title: "text-slate-900 dark:text-slate-400",
body: "text-slate-800 [--tw-prose-background:theme(colors.slate.50)] prose-a:text-slate-900 prose-code:text-slate-900 dark:text-slate-300 dark:prose-code:text-slate-300",
},
warning: {
container: "bg-amber-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10",
title: "text-amber-900 dark:text-amber-500",
body: "text-amber-800 [--tw-prose-underline:theme(colors.amber.400)] [--tw-prose-background:theme(colors.amber.50)] prose-a:text-amber-900 prose-code:text-amber-900 dark:text-slate-300 dark:[--tw-prose-underline:theme(colors.slate.700)] dark:prose-code:text-slate-300",
},
};
const icons = {
note: (props: any) => <Icon icon="lightbulb" {...props} />,
warning: (props: any) => <Icon icon="warning" color="amber" {...props} />,
};
interface CalloutProps {
type: "note" | "warning";
title: string;
children: React.ReactNode;
}
export function Callout({ type = "note", title, children }: CalloutProps) {
let IconComponent = icons[type];
return (
<div className={clsx("my-8 flex rounded-3xl p-6", styles[type].container)}>
<IconComponent className="h-8 w-8 flex-none" />
<div className="ml-4 flex-auto">
<p className={clsx("font-display m-0 text-xl", styles[type].title)}>{title}</p>
<div className={clsx("prose mt-2.5", styles[type].body)}>{children}</div>
</div>
</div>
);
}
@@ -1,76 +0,0 @@
import Link from "next/link";
import clsx from "clsx";
function ChevronRightIcon(props) {
return (
<svg viewBox="0 0 16 16" fill="none" aria-hidden="true" {...props}>
<path d="M6.75 5.75 9.25 8l-2.5 2.25" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
</svg>
);
}
export function Card({ as: Component = "div", className, children }) {
return (
<Component className={clsx(className, "group relative flex flex-col items-start")}>{children}</Component>
);
}
Card.Link = function CardLink({ children, ...props }) {
return (
<>
<div className="absolute -inset-y-6 -inset-x-4 scale-95 bg-slate-50 opacity-0 transition group-hover:scale-100 group-hover:opacity-100 dark:bg-slate-800 sm:-inset-x-6 sm:rounded-2xl" />
<Link {...props}>
<span className="absolute -inset-y-6 -inset-x-4 sm:-inset-x-6 sm:rounded-2xl" />
<span className="relative">{children}</span>
</Link>
</>
);
};
Card.Title = function CardTitle({ as: Component = "h2", href, children }) {
return (
<Component className="text-base font-semibold tracking-tight text-slate-800 dark:text-slate-100">
{href ? <Card.Link href={href}>{children}</Card.Link> : children}
</Component>
);
};
Card.Description = function CardDescription({ children }) {
return <p className="relative mt-2 text-sm text-slate-600 dark:text-slate-400">{children}</p>;
};
Card.Cta = function CardCta({ children }) {
return (
<div
aria-hidden="true"
className="relative mt-4 flex items-center text-sm font-medium text-brand-dark dark:text-brand-light">
{children}
<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current" />
</div>
);
};
Card.Eyebrow = function CardEyebrow({
as: Component = "p",
decorate = false,
className,
children,
...props
}) {
return (
<Component
className={clsx(
className,
"relative order-first mb-3 flex items-center text-sm text-slate-400 dark:text-slate-500",
decorate && "pl-3.5"
)}
{...props}>
{decorate && (
<span className="absolute inset-y-0 left-0 flex items-center" aria-hidden="true">
<span className="h-4 w-0.5 rounded-full bg-slate-200 dark:bg-slate-500" />
</span>
)}
{children}
</Component>
);
};
@@ -1,55 +0,0 @@
import Button from "./Button";
import { useRouter } from "next/router";
import clsx from "clsx";
interface Props {
featureTitle: string;
text: string;
img: React.ReactNode;
isImgLeft?: boolean;
cta?: string;
href?: string;
disabled?: boolean;
}
export default function FeatureHighlights({
featureTitle,
text,
img,
isImgLeft,
cta,
href,
disabled,
}: Props) {
const router = useRouter();
return (
<div className="my-12">
<div className="mx-auto max-w-md px-4 sm:max-w-3xl sm:px-6 lg:max-w-7xl lg:px-8">
<div className="md:grid-cols-2 lg:grid lg:items-center lg:gap-24">
<div className={clsx(isImgLeft ? "order-last" : "")}>
<h2 className="text-2xl font-bold tracking-tight text-slate-800 dark:text-slate-200 sm:text-3xl">
{featureTitle}
</h2>
<div className="text-md mt-6 whitespace-pre-line leading-7 text-slate-500 dark:text-slate-400">
{text}
</div>
<div className="mt-6">
{cta && href && (
<Button
disabled={disabled}
variant="minimal"
size="sm"
className="mb-8"
onClick={() => router.push(href)}>
{cta}
</Button>
)}
</div>
</div>
{img}
</div>
</div>
</div>
);
}
@@ -1,30 +0,0 @@
import { Fragment } from 'react'
import Highlight, { defaultProps } from 'prism-react-renderer'
export function Fence({ children, language }) {
return (
<Highlight
{...defaultProps}
code={children.trimEnd()}
language={language}
theme={undefined}
>
{({ className, style, tokens, getTokenProps }) => (
<pre className={className} style={style}>
<code>
{tokens.map((line, lineIndex) => (
<Fragment key={lineIndex}>
{line
.filter((token) => !token.empty)
.map((token, tokenIndex) => (
<span key={tokenIndex} {...getTokenProps({ token })} />
))}
{'\n'}
</Fragment>
))}
</code>
</pre>
)}
</Highlight>
)
}
@@ -1,176 +0,0 @@
import Link from "next/link";
import clsx from "clsx";
import { FooterLogo } from "./Logo";
const navigation = {
creation: [
{ name: "React Form Builder", href: "/react-form-library", status: true },
{ name: "No Code Builder", href: "/visual-builder", status: true },
{ name: "Templates", href: "#", status: false },
],
pipelines: [
{ name: "Core API", href: "/core-api", status: true },
{ name: "Webhooks", href: "/webhooks", status: true },
{ name: "Email", href: "/email", status: true },
{ name: "Integrations", href: "#", status: false },
],
insights: [
{ name: "Formbricks HQ", href: "/formbricks-hq", status: true },
{ name: "Reports", href: "#", status: false },
],
other: [
{ name: "Community", href: "/community", status: true },
{ name: "Docs", href: "/docs", status: true },
{ name: "Blog", href: "/blog", status: true },
{ name: "GDPR FAQ", href: "/gdpr", status: true },
{ name: "GDPR Guide", href: "/gdpr-guide", status: true },
],
social: [
{
name: "Twitter",
href: "https://twitter.com/formbricks",
icon: (props: any) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
</svg>
),
},
{
name: "GitHub",
href: "https://github.com/formbricks/formbricks",
icon: (props: any) => (
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
<path
fillRule="evenodd"
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
clipRule="evenodd"
/>
</svg>
),
},
],
};
export default function Footer() {
return (
<footer
className="bg-gradient-to-b from-slate-100 to-slate-300 dark:from-slate-900 dark:to-slate-800"
aria-labelledby="footer-heading">
<h2 id="footer-heading" className="sr-only">
Footer
</h2>
<div className="mx-auto max-w-7xl px-4 py-12 sm:px-6 lg:py-16 lg:px-8">
<div className="xl:grid xl:grid-cols-3 xl:gap-8">
<div className="space-y-8 xl:col-span-1">
<FooterLogo className="h-8 w-auto sm:h-10" />
<p className="text-base text-slate-500 dark:text-slate-400">
The Open Source Forms & Survey Toolbox
</p>
<div className="flex space-x-6">
{navigation.social.map((item) => (
<Link key={item.name} href={item.href} className="text-slate-400 hover:text-gray-500">
<span className="sr-only">{item.name}</span>
<item.icon className="h-6 w-6" aria-hidden="true" />
</Link>
))}
</div>
</div>
<div className="mt-12 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0">
<div className="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 className="text-sm font-bold text-slate-700 dark:text-slate-300">Form Creation</h3>
<ul role="list" className="mt-4 space-y-4">
{navigation.creation.map((item) => (
<li key={item.name}>
<Link
href={item.href}
scroll={item.status}
className={clsx(
item.status
? "cursor-pointer text-slate-600 hover:text-slate-500 dark:text-slate-400 dark:hover:text-slate-300"
: "cursor-default text-slate-400 dark:text-slate-600",
"text-base"
)}>
{item.name}
</Link>
</li>
))}
</ul>
</div>
<div className="mt-12 md:mt-0">
<h3 className="text-sm font-bold text-slate-700 dark:text-slate-300">Data Pipelines</h3>
<ul role="list" className="mt-4 space-y-4">
{navigation.pipelines.map((item) => (
<li key={item.name}>
<Link
href={item.href}
scroll={item.status}
className={clsx(
item.status
? "cursor-pointer text-slate-600 hover:text-slate-500 dark:text-slate-400 dark:hover:text-slate-300"
: "cursor-default text-slate-400 dark:text-slate-600",
"text-base"
)}>
{item.name}
</Link>
</li>
))}
</ul>
</div>
</div>
<div className="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 className="text-sm font-bold text-slate-700 dark:text-slate-300">Data Insights</h3>
<ul role="list" className="mt-4 space-y-4">
{navigation.insights.map((item) => (
<li key={item.name}>
<Link
href={item.href}
scroll={item.status}
className={clsx(
item.status
? "cursor-pointer text-slate-600 hover:text-slate-500 dark:text-slate-400 dark:hover:text-slate-300"
: "cursor-default text-slate-400 dark:text-slate-600",
"text-base"
)}>
{item.name}
</Link>
</li>
))}
</ul>
</div>
<div className="mt-12 md:mt-0">
<h3 className="text-sm font-bold text-slate-700 dark:text-slate-300">Other</h3>
<ul role="list" className="mt-4 space-y-4">
{navigation.other.map((item) => (
<li key={item.name}>
<Link
href={item.href}
scroll={item.status}
className={clsx(
item.status
? "cursor-pointer text-slate-600 hover:text-slate-500 dark:text-slate-400 dark:hover:text-slate-300"
: "cursor-default text-slate-400 dark:text-slate-600",
"text-base"
)}>
{item.name}
</Link>
</li>
))}
</ul>
</div>
</div>
</div>
</div>
<div className="mt-12 border-gray-500 pt-8">
<p className="text-sm text-slate-400 dark:text-gray-500 xl:text-center">
&copy; 2022. All rights reserved.
<br />
<Link href="/imprint">Imprint</Link> | <Link href="/privacy">Privacy Policy</Link> |{" "}
<Link href="/terms">Terms</Link>
</p>
</div>
</div>
</footer>
);
}
@@ -1,471 +0,0 @@
import { Popover, Transition } from "@headlessui/react";
import { ChevronDownIcon } from "@heroicons/react/20/solid";
import {
Bars3Icon,
BoltIcon,
ClipboardDocumentListIcon,
CodeBracketSquareIcon,
CpuChipIcon,
CursorArrowRaysIcon,
CursorArrowRippleIcon,
DocumentChartBarIcon,
EnvelopeIcon,
SquaresPlusIcon,
XMarkIcon,
} from "@heroicons/react/24/outline";
import clsx from "clsx";
import Link from "next/link";
import { useRouter } from "next/router";
import { Fragment } from "react";
import Button from "./Button";
import { FooterLogo } from "./Logo";
import { ThemeSelector } from "./ThemeSelector";
const creation = [
{
name: "React Library",
description: "Build forms with React.js",
href: "/react-form-library",
icon: CodeBracketSquareIcon,
status: true,
},
{
name: "No Code Builder",
description: "Notion-like visual builder",
href: "/visual-builder",
icon: CursorArrowRaysIcon,
status: true,
},
{
name: "Templates",
description: "CSAT, PMF survey, etc.",
href: "#",
icon: ClipboardDocumentListIcon,
status: false,
},
];
const pipes = [
{
name: "Core API",
description: "The OS form engine",
href: "/core-api",
icon: CpuChipIcon,
status: true,
},
{
name: "Webhooks",
description: "Send JSON anywhere",
href: "/webhooks",
icon: BoltIcon,
status: true,
},
{
name: "Email",
description: "Send data and notifications",
href: "/email",
icon: EnvelopeIcon,
status: true,
},
{
name: "Integrations",
description: "Connect with 100+ apps",
href: "/integrations",
icon: SquaresPlusIcon,
status: false,
},
];
const insights = [
{
name: "Formbricks HQ",
description: "Manage submissions easily",
href: "/formbricks-hq",
icon: CursorArrowRippleIcon,
cat: "insights",
status: true,
},
{
name: "Reports",
description: "Based on Templates",
href: "#",
icon: DocumentChartBarIcon,
cat: "insights",
status: false,
},
];
export default function Header() {
const router = useRouter();
return (
<Popover className="relative" as="header">
<div className="flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start md:space-x-10">
<div className="flex justify-start lg:w-0 lg:flex-1">
<Link href="/">
<span className="sr-only">Formbricks</span>
<FooterLogo className="h-8 w-auto sm:h-10" />
</Link>
</div>
<div className="-my-2 -mr-2 md:hidden">
<Popover.Button className="inline-flex items-center justify-center rounded-md bg-gray-100 p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-teal-500 dark:bg-slate-700 dark:text-slate-200">
<span className="sr-only">Open menu</span>
<Bars3Icon className="h-6 w-6" aria-hidden="true" />
</Popover.Button>
</div>
<Popover.Group as="nav" className="hidden space-x-10 md:flex">
<Popover className="relative">
{({ open }) => (
<>
<Popover.Button
className={clsx(
open ? "text-slate-700" : "text-slate-400",
"group inline-flex items-center rounded-md text-base font-medium hover:text-slate-700 focus:outline-none focus:ring-2 focus:ring-teal-500 focus:ring-offset-2 dark:hover:text-slate-300"
)}>
<span>Bricks</span>
<ChevronDownIcon className="ml-2 h-5 w-5" aria-hidden="true" />
</Popover.Button>
<Transition
as={Fragment}
enter="transition ease-out duration-200"
enterFrom="opacity-0 translate-y-1"
enterTo="opacity-100 translate-y-0"
leave="transition ease-in duration-150"
leaveFrom="opacity-100 translate-y-0"
leaveTo="opacity-0 translate-y-1">
<Popover.Panel className="absolute z-10 mt-3 -ml-4 w-screen max-w-lg transform lg:left-1/2 lg:ml-0 lg:max-w-4xl lg:-translate-x-1/2">
<div className="overflow-hidden rounded-lg shadow-lg ring-1 ring-black ring-opacity-5">
<div className="relative grid gap-6 bg-slate-50 px-5 py-6 dark:bg-slate-700 sm:gap-6 sm:p-8 lg:grid-cols-3">
<div>
<h4 className="mb-6 ml-16 text-sm text-slate-400">Form Creation</h4>
{creation.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status
? "cursor-pointer hover:bg-slate-100 dark:hover:bg-slate-600 dark:hover:bg-opacity-50"
: "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-4"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-slate-800 dark:text-slate-50"
: "text-slate-500 dark:text-slate-400",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p className="text-sm text-slate-400 dark:text-slate-500">
{brick.description}
</p>
</div>
</Link>
))}
</div>
<div>
<h4 className="mb-6 ml-16 text-sm text-slate-400">Data Pipelines</h4>
{pipes.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status
? "cursor-pointer hover:bg-slate-100 dark:hover:bg-slate-600 dark:hover:bg-opacity-50"
: "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-4"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-slate-800 dark:text-slate-50"
: "text-slate-500 dark:text-slate-400",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p className="text-sm text-slate-400 dark:text-slate-500">
{brick.description}
</p>
</div>
</Link>
))}
</div>
<div>
<h4 className="mb-6 ml-16 text-sm text-slate-400">Data Insights</h4>
{insights.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status
? "cursor-pointer hover:bg-slate-100 dark:hover:bg-slate-600 dark:hover:bg-opacity-50"
: "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-4"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-slate-800 dark:text-slate-50"
: "text-slate-500 dark:text-slate-400",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p className="text-sm text-slate-400 dark:text-slate-500">
{brick.description}
</p>
</div>
</Link>
))}
</div>
</div>
</div>
</Popover.Panel>
</Transition>
</>
)}
</Popover>
<Link
href="/community"
className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300">
Community
</Link>
<Link
href="/blog"
className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300">
Blog
</Link>
<Link
href="/docs"
className="text-base font-medium text-slate-400 hover:text-slate-700 dark:hover:text-slate-300">
Docs
</Link>
</Popover.Group>
<div className="hidden items-center justify-end md:flex md:flex-1 lg:w-0">
<ThemeSelector className="relative z-10 mr-5" />
<Button
variant="secondary"
EndIcon={GitHubIcon}
endIconClassName="fill-slate-800 dark:fill-slate-200"
onClick={() => router.push("https://github.com/formbricks/formbricks")}>
View on Github
</Button>
<Button variant="highlight" className="ml-2" onClick={() => router.push("/get-started")}>
Get started
</Button>
</div>
</div>
<Transition
as={Fragment}
enter="duration-200 ease-out"
enterFrom="opacity-0 scale-95"
enterTo="opacity-100 scale-100"
leave="duration-100 ease-in"
leaveFrom="opacity-100 scale-100"
leaveTo="opacity-0 scale-95">
<Popover.Panel
focus
className="absolute inset-x-0 top-0 z-20 origin-top-right transform p-2 transition md:hidden">
<div className="dark:divide-slate divide-y-2 divide-gray-100 rounded-lg bg-gray-200 shadow-lg ring-1 ring-black ring-opacity-5 dark:divide-gray-700 dark:bg-slate-800">
<div className="px-5 pt-5 pb-6">
<div className="flex items-center justify-between">
<div>
<FooterLogo className="h-8 w-auto" />
</div>
<div className="-mr-2">
<Popover.Button className="inline-flex items-center justify-center rounded-md bg-white p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-teal-500 dark:bg-slate-700 dark:text-slate-200">
<span className="sr-only">Close menu</span>
<XMarkIcon className="h-6 w-6" aria-hidden="true" />
</Popover.Button>
</div>
</div>
<nav className="relative bg-gray-200 px-5 py-6 dark:bg-slate-800">
<div>
<h4 className="mb-3 text-sm text-gray-900 dark:text-gray-300">Form Creation</h4>
{creation.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status ? "cursor-pointer" : "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-3"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-200"
: "text-gray-400 dark:text-gray-500",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-400"
: "text-gray-400 dark:text-gray-600",
"text-sm"
)}>
{brick.description}
</p>
</div>
</Link>
))}
</div>
<div>
<h4 className="mt-8 mb-3 text-sm text-gray-900 dark:text-gray-300">Data Pipelines</h4>
{pipes.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status ? "cursor-pointer" : "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-3"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-200"
: "text-gray-400 dark:text-gray-500",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-400"
: "text-gray-400 dark:text-gray-600",
"text-sm"
)}>
{brick.description}
</p>
</div>
</Link>
))}
</div>
<div>
<h4 className="mt-8 mb-3 text-sm text-gray-900 dark:text-gray-300">Data Insights</h4>
{insights.map((brick) => (
<Link
key={brick.name}
href={brick.href}
className={clsx(
brick.status ? "cursor-pointer" : "cursor-default",
"-m-3 flex items-start rounded-lg p-3 py-3"
)}>
<div
className={clsx(
brick.status ? "text-brand-dark dark:text-brand-light" : "text-slate-500",
"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md sm:h-12 sm:w-12"
)}>
<brick.icon className="h-6 w-6" aria-hidden="true" />
</div>
<div className="ml-4">
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-200"
: "text-gray-400 dark:text-gray-500",
"text-lg font-semibold"
)}>
{brick.name}
</p>
<p
className={clsx(
brick.status
? "text-gray-900 dark:text-gray-400"
: "text-gray-400 dark:text-gray-600",
"text-sm"
)}>
{brick.description}
</p>
</div>
</Link>
))}
</div>
</nav>
</div>
<div className="px-5 py-6">
<div className="grid grid-cols-3 text-center text-sm font-medium text-gray-900 hover:text-gray-700 dark:text-slate-200 sm:text-base">
<Link href="/community">Community</Link>
<Link href="/blog">Blog</Link>
<Link href="/docs">Documentation</Link>
</div>
<div className="mt-6">
<Button
variant="secondary"
EndIcon={GitHubIcon}
onClick={() => router.push("https://github.com/formbricks/formbricks")}
className="flex w-full justify-center fill-slate-800 dark:fill-slate-200">
View on Github
</Button>
<Button
variant="primary"
onClick={() => router.push("/get-started")}
className="mt-3 flex w-full justify-center">
Get started
</Button>
</div>
</div>
</div>
</Popover.Panel>
</Transition>
</Popover>
);
}
function GitHubIcon(props: any) {
return (
<svg aria-hidden="true" viewBox="0 0 16 16" {...props}>
<path d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z" />
</svg>
);
}
@@ -1,24 +0,0 @@
import clsx from "clsx";
interface Props {
teaser?: string;
heading: string;
subheading?: string;
closer?: boolean;
}
export default function HeadingCentered({ teaser, heading, subheading, closer }: Props) {
return (
<div className={clsx(closer ? "pt-16 lg:pt-24" : "pt-24 lg:pt-40", "px-2 pb-4 text-center md:pb-12")}>
<p className="text-md text-brand-dark dark:text-brand-light mx-auto mb-3 max-w-2xl font-semibold uppercase sm:mt-4">
{teaser}
</p>
<h2 className="text-3xl font-bold tracking-tight text-slate-800 dark:text-slate-100 sm:text-4xl">
{heading}
</h2>
<p className="mx-auto mt-3 max-w-3xl text-xl text-slate-500 dark:text-slate-300 sm:mt-4">
{subheading}
</p>
</div>
);
}
@@ -1,153 +0,0 @@
import { Fragment } from "react";
import Image from "next/image";
import clsx from "clsx";
import Highlight, { defaultProps } from "prism-react-renderer";
import { Button } from "@/components/shared/Button";
import { HeroBackground } from "@/components/shared/HeroBackground";
import blurCyanImage from "@/images/blur-cyan.png";
import blurIndigoImage from "@/images/blur-indigo.png";
const codeLanguage = "javascript";
const code = `export default {
strategy: 'predictive',
engine: {
cpus: 12,
backups: ['./storage/cache.wtf'],
},
}`;
const tabs = [
{ name: "cache-advance.config.js", isActive: true },
{ name: "package.json", isActive: false },
];
function TrafficLightsIcon(props) {
return (
<svg aria-hidden="true" viewBox="0 0 42 10" fill="none" {...props}>
<circle cx="5" cy="5" r="4.5" />
<circle cx="21" cy="5" r="4.5" />
<circle cx="37" cy="5" r="4.5" />
</svg>
);
}
export function Hero() {
return (
<div className="overflow-hidden bg-slate-900 dark:-mb-32 dark:mt-[-4.5rem] dark:pb-32 dark:pt-[4.5rem] dark:lg:mt-[-4.75rem] dark:lg:pt-[4.75rem]">
<div className="py-16 sm:px-2 lg:relative lg:py-20 lg:px-0">
<div className="mx-auto grid max-w-2xl grid-cols-1 items-center gap-y-16 gap-x-8 px-4 lg:max-w-8xl lg:grid-cols-2 lg:px-8 xl:gap-x-16 xl:px-12">
<div className="relative z-10 md:text-center lg:text-left">
<Image
className="absolute bottom-full right-full -mr-72 -mb-56 opacity-50"
src={blurCyanImage}
alt=""
width={530}
height={530}
unoptimized
priority
/>
<div className="relative">
<p className="inline bg-gradient-to-r from-indigo-200 via-slate-400 to-indigo-200 bg-clip-text font-display text-5xl tracking-tight text-transparent">
Never miss the cache again.
</p>
<p className="mt-3 text-2xl tracking-tight text-slate-400">
Cache every single thing your app could ever do ahead of time, so your code never even has to
run at all.
</p>
<div className="mt-8 flex gap-4 md:justify-center lg:justify-start">
<Button href="/">Get started</Button>
<Button href="/" variant="secondary">
View on GitHub
</Button>
</div>
</div>
</div>
<div className="relative lg:static xl:pl-10">
<div className="absolute inset-x-[-50vw] -top-32 -bottom-48 [mask-image:linear-gradient(transparent,white,white)] dark:[mask-image:linear-gradient(transparent,white,transparent)] lg:left-[calc(50%+14rem)] lg:right-0 lg:-top-32 lg:-bottom-32 lg:[mask-image:none] lg:dark:[mask-image:linear-gradient(white,white,transparent)]">
<HeroBackground className="absolute top-1/2 left-1/2 -translate-y-1/2 -translate-x-1/2 lg:left-0 lg:translate-x-0 lg:translate-y-[-60%]" />
</div>
<div className="relative">
<Image
className="absolute -top-64 -right-64"
src={blurCyanImage}
alt=""
width={530}
height={530}
unoptimized
priority
/>
<Image
className="absolute -bottom-40 -right-44"
src={blurIndigoImage}
alt=""
width={567}
height={567}
unoptimized
priority
/>
<div className="absolute inset-0 rounded-2xl bg-gradient-to-tr from-slate-300 via-slate-300/70 to-slate-300 opacity-10 blur-lg" />
<div className="absolute inset-0 rounded-2xl bg-gradient-to-tr from-slate-300 via-slate-300/70 to-slate-300 opacity-10" />
<div className="relative rounded-2xl bg-[#0A101F]/80 ring-1 ring-white/10 backdrop-blur">
<div className="absolute -top-px left-20 right-11 h-px bg-gradient-to-r from-slate-300/0 via-slate-300/70 to-slate-300/0" />
<div className="absolute -bottom-px left-11 right-20 h-px bg-gradient-to-r from-slate-400/0 via-slate-400 to-slate-400/0" />
<div className="pl-4 pt-4">
<TrafficLightsIcon className="h-2.5 w-auto stroke-slate-500/30" />
<div className="mt-4 flex space-x-2 text-xs">
{tabs.map((tab) => (
<div
key={tab.name}
className={clsx(
"flex h-6 rounded-full",
tab.isActive
? "bg-gradient-to-r from-slate-400/30 via-slate-400 to-slate-400/30 p-px font-medium text-slate-300"
: "text-slate-500"
)}>
<div
className={clsx(
"flex items-center rounded-full px-2.5",
tab.isActive && "bg-slate-800"
)}>
{tab.name}
</div>
</div>
))}
</div>
<div className="mt-6 flex items-start px-1 text-sm">
<div
aria-hidden="true"
className="select-none border-r border-slate-300/5 pr-4 font-mono text-slate-600">
{Array.from({
length: code.split("\n").length,
}).map((_, index) => (
<Fragment key={index}>
{(index + 1).toString().padStart(2, "0")}
<br />
</Fragment>
))}
</div>
<Highlight {...defaultProps} code={code} language={codeLanguage} theme={undefined}>
{({ className, style, tokens, getLineProps, getTokenProps }) => (
<pre className={clsx(className, "flex overflow-x-auto pb-6")} style={style}>
<code className="px-4">
{tokens.map((line, lineIndex) => (
<div key={lineIndex} {...getLineProps({ line })}>
{line.map((token, tokenIndex) => (
<span key={tokenIndex} {...getTokenProps({ token })} />
))}
</div>
))}
</code>
</pre>
)}
</Highlight>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
);
}
@@ -1,28 +0,0 @@
import { useEffect, useRef, useState } from "react";
import type { LottiePlayer } from "lottie-web";
export default function HeroAnimation(props: any) {
const ref = useRef<HTMLDivElement>(null);
const [lottie, setLottie] = useState<LottiePlayer | null>(null);
useEffect(() => {
import("lottie-web").then((Lottie) => setLottie(Lottie.default));
}, []);
useEffect(() => {
if (lottie && ref.current) {
const animation = lottie.loadAnimation({
container: ref.current,
renderer: "svg",
loop: true,
autoplay: true,
// path to your animation file, place it inside public folder
path: "/animations/hero-v2.json",
});
return () => animation.destroy();
}
}, [lottie]);
return <div ref={ref} {...props} />;
}
@@ -1,188 +0,0 @@
import { useId } from 'react'
export function HeroBackground(props) {
let id = useId()
return (
<svg
aria-hidden="true"
viewBox="0 0 668 1069"
width={668}
height={1069}
fill="none"
{...props}
>
<defs>
<clipPath id={`${id}-clip-path`}>
<path
fill="#fff"
transform="rotate(-180 334 534.4)"
d="M0 0h668v1068.8H0z"
/>
</clipPath>
</defs>
<g opacity=".4" clipPath={`url(#${id}-clip-path)`} strokeWidth={4}>
<path
opacity=".3"
d="M584.5 770.4v-474M484.5 770.4v-474M384.5 770.4v-474M283.5 769.4v-474M183.5 768.4v-474M83.5 767.4v-474"
stroke="#334155"
/>
<path
d="M83.5 221.275v6.587a50.1 50.1 0 0 0 22.309 41.686l55.581 37.054a50.102 50.102 0 0 1 22.309 41.686v6.587M83.5 716.012v6.588a50.099 50.099 0 0 0 22.309 41.685l55.581 37.054a50.102 50.102 0 0 1 22.309 41.686v6.587M183.7 584.5v6.587a50.1 50.1 0 0 0 22.31 41.686l55.581 37.054a50.097 50.097 0 0 1 22.309 41.685v6.588M384.101 277.637v6.588a50.1 50.1 0 0 0 22.309 41.685l55.581 37.054a50.1 50.1 0 0 1 22.31 41.686v6.587M384.1 770.288v6.587a50.1 50.1 0 0 1-22.309 41.686l-55.581 37.054A50.099 50.099 0 0 0 283.9 897.3v6.588"
stroke="#334155"
/>
<path
d="M384.1 770.288v6.587a50.1 50.1 0 0 1-22.309 41.686l-55.581 37.054A50.099 50.099 0 0 0 283.9 897.3v6.588M484.3 594.937v6.587a50.1 50.1 0 0 1-22.31 41.686l-55.581 37.054A50.1 50.1 0 0 0 384.1 721.95v6.587M484.3 872.575v6.587a50.1 50.1 0 0 1-22.31 41.686l-55.581 37.054a50.098 50.098 0 0 0-22.309 41.686v6.582M584.501 663.824v39.988a50.099 50.099 0 0 1-22.31 41.685l-55.581 37.054a50.102 50.102 0 0 0-22.309 41.686v6.587M283.899 945.637v6.588a50.1 50.1 0 0 1-22.309 41.685l-55.581 37.05a50.12 50.12 0 0 0-22.31 41.69v6.59M384.1 277.637c0 19.946 12.763 37.655 31.686 43.962l137.028 45.676c18.923 6.308 31.686 24.016 31.686 43.962M183.7 463.425v30.69c0 21.564 13.799 40.709 34.257 47.529l134.457 44.819c18.922 6.307 31.686 24.016 31.686 43.962M83.5 102.288c0 19.515 13.554 36.412 32.604 40.645l235.391 52.309c19.05 4.234 32.605 21.13 32.605 40.646M83.5 463.425v-58.45M183.699 542.75V396.625M283.9 1068.8V945.637M83.5 363.225v-141.95M83.5 179.524v-77.237M83.5 60.537V0M384.1 630.425V277.637M484.301 830.824V594.937M584.5 1068.8V663.825M484.301 555.275V452.988M584.5 622.075V452.988M384.1 728.537v-56.362M384.1 1068.8v-20.88M384.1 1006.17V770.287M283.9 903.888V759.85M183.699 1066.71V891.362M83.5 1068.8V716.012M83.5 674.263V505.175"
stroke="#334155"
/>
<circle
cx="83.5"
cy="384.1"
r="10.438"
transform="rotate(-180 83.5 384.1)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="83.5"
cy="200.399"
r="10.438"
transform="rotate(-180 83.5 200.399)"
stroke="#334155"
/>
<circle
cx="83.5"
cy="81.412"
r="10.438"
transform="rotate(-180 83.5 81.412)"
stroke="#334155"
/>
<circle
cx="183.699"
cy="375.75"
r="10.438"
transform="rotate(-180 183.699 375.75)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="183.699"
cy="563.625"
r="10.438"
transform="rotate(-180 183.699 563.625)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="384.1"
cy="651.3"
r="10.438"
transform="rotate(-180 384.1 651.3)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="484.301"
cy="574.062"
r="10.438"
transform="rotate(-180 484.301 574.062)"
fill="#0EA5E9"
fillOpacity=".42"
stroke="#0EA5E9"
/>
<circle
cx="384.1"
cy="749.412"
r="10.438"
transform="rotate(-180 384.1 749.412)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="384.1"
cy="1027.05"
r="10.438"
transform="rotate(-180 384.1 1027.05)"
stroke="#334155"
/>
<circle
cx="283.9"
cy="924.763"
r="10.438"
transform="rotate(-180 283.9 924.763)"
stroke="#334155"
/>
<circle
cx="183.699"
cy="870.487"
r="10.438"
transform="rotate(-180 183.699 870.487)"
stroke="#334155"
/>
<circle
cx="283.9"
cy="738.975"
r="10.438"
transform="rotate(-180 283.9 738.975)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="83.5"
cy="695.138"
r="10.438"
transform="rotate(-180 83.5 695.138)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="83.5"
cy="484.3"
r="10.438"
transform="rotate(-180 83.5 484.3)"
fill="#0EA5E9"
fillOpacity=".42"
stroke="#0EA5E9"
/>
<circle
cx="484.301"
cy="432.112"
r="10.438"
transform="rotate(-180 484.301 432.112)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="584.5"
cy="432.112"
r="10.438"
transform="rotate(-180 584.5 432.112)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="584.5"
cy="642.95"
r="10.438"
transform="rotate(-180 584.5 642.95)"
fill="#1E293B"
stroke="#334155"
/>
<circle
cx="484.301"
cy="851.699"
r="10.438"
transform="rotate(-180 484.301 851.699)"
stroke="#334155"
/>
<circle
cx="384.1"
cy="256.763"
r="10.438"
transform="rotate(-180 384.1 256.763)"
stroke="#334155"
/>
</g>
</svg>
)
}
@@ -1,25 +0,0 @@
interface Props {
headingPt1: string;
headingTeal?: string;
headingPt2?: string;
subheading?: string;
children?: React.ReactNode;
}
export default function HeroTitle({ headingPt1, headingTeal, headingPt2, subheading, children }: Props) {
return (
<div className="px-4 py-20 text-center sm:px-6 lg:px-8 lg:py-28">
<h1 className="text-3xl font-bold tracking-tight text-slate-800 dark:text-slate-200 sm:text-4xl md:text-5xl">
<span className="xl:inline">{headingPt1}</span>{" "}
<span className="from-brand-light to-brand-dark bg-gradient-to-b bg-clip-text text-transparent xl:inline">
{headingTeal}
</span>{" "}
<span className="inline ">{headingPt2}</span>
</h1>
<p className="mx-auto mt-3 max-w-md text-base text-slate-500 dark:text-slate-300 sm:text-lg md:mt-5 md:max-w-2xl md:text-xl">
{subheading}
</p>
<div className="mx-auto mt-5 max-w-md sm:flex sm:justify-center md:mt-8">{children}</div>
</div>
);
}
@@ -1,69 +0,0 @@
import { useId } from "react";
import clsx from "clsx";
import { InstallationIcon } from "@/components/shared/icons/InstallationIcon";
import { LightbulbIcon } from "@/components/shared/icons/LightbulbIcon";
import { PluginsIcon } from "@/components/shared/icons/PluginsIcon";
import { PresetsIcon } from "@/components/shared/icons/PresetsIcon";
import { ThemingIcon } from "@/components/shared/icons/ThemingIcon";
import { WarningIcon } from "@/components/shared/icons/WarningIcon";
const icons = {
installation: InstallationIcon,
presets: PresetsIcon,
plugins: PluginsIcon,
theming: ThemingIcon,
lightbulb: LightbulbIcon,
warning: WarningIcon,
};
const iconStyles = {
slate: "[--icon-foreground:theme(colors.slate.900)] [--icon-background:theme(colors.white)]",
amber: "[--icon-foreground:theme(colors.amber.900)] [--icon-background:theme(colors.amber.100)]",
};
export function Icon({ color = "slate", icon, className, ...props }) {
let id = useId();
let IconComponent = icons[icon];
return (
<svg
aria-hidden="true"
viewBox="0 0 32 32"
fill="none"
className={clsx(className, iconStyles[color])}
{...props}>
<IconComponent id={id} color={color} />
</svg>
);
}
const gradients = {
slate: [
{ stopColor: "#0EA5E9" },
{ stopColor: "#22D3EE", offset: ".527" },
{ stopColor: "#818CF8", offset: 1 },
],
amber: [
{ stopColor: "#FDE68A", offset: ".08" },
{ stopColor: "#F59E0B", offset: ".837" },
],
};
export function Gradient({ color = "slate", ...props }) {
return (
<radialGradient cx={0} cy={0} r={1} gradientUnits="userSpaceOnUse" {...props}>
{gradients[color].map((stop, stopIndex) => (
<stop key={stopIndex} {...stop} />
))}
</radialGradient>
);
}
export function LightMode({ className, ...props }) {
return <g className={clsx("dark:hidden", className)} {...props} />;
}
export function DarkMode({ className, ...props }) {
return <g className={clsx("hidden dark:inline", className)} {...props} />;
}
@@ -1,22 +0,0 @@
import Footer from "./Footer";
import Header from "./Header";
import MetaInformation from "./MetaInformation";
interface LayoutProps {
children: React.ReactNode;
title: string;
description: string;
}
export default function Layout({ title, description, children }: LayoutProps) {
return (
<div className="flex h-screen flex-col justify-between">
<MetaInformation title={title} description={description} />
<Header />
<main className="max-w-8xl relative mx-auto mb-auto flex flex-col justify-center sm:px-2 lg:px-8 xl:px-12">
{children}
</main>
<Footer />
</div>
);
}
@@ -1,37 +0,0 @@
import Footer from "./Footer";
import Header from "./Header";
import Layout from "./Layout";
import MetaInformation from "./MetaInformation";
import { Prose } from "./Prose";
interface Props {
meta: {
title: string;
description: string;
};
children: JSX.Element;
}
export default function LayoutMdx({ meta, children }: Props) {
return (
<div className="flex h-screen flex-col justify-between">
<MetaInformation title={meta.title} description={meta.description} />
<Header />
<main className="min-w-0 max-w-2xl flex-auto px-4 lg:max-w-none lg:pr-0 lg:pl-8 xl:px-16">
<article className="mx-auto my-16 max-w-3xl px-2">
{meta.title && (
<header className="mb-9 space-y-1">
{meta.title && (
<h1 className="font-display text-3xl tracking-tight text-slate-800 dark:text-gray-100">
{meta.title}
</h1>
)}
</header>
)}
<Prose className="">{children}</Prose>
</article>
</main>
<Footer />
</div>
);
}

Some files were not shown because too many files have changed in this diff Show More