Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: version 3.12 #46

Open
wants to merge 374 commits into
base: staging
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
374 commits
Select commit Hold shift + click to select a range
3edc636
fix: Instagram outgoing attachments (#9863)
muhsin-k Aug 1, 2024
17a6df1
chore: Security advisory fix for rexml (#9872)
sojan-official Aug 1, 2024
829bb84
feat: Generate SSO URL in Chatwoot, move Captain to primary tab (#9871)
sojan-official Aug 2, 2024
8696a4c
chore: Use installation config URL for captain app URL (#9874)
pranavrajs Aug 2, 2024
6166ccb
fix: Fix broken SSO login after vuelidate changes (#9877)
scmmishra Aug 2, 2024
b4b3083
feat: Eslint rules (#9839)
iamsivin Aug 5, 2024
e0b67bb
feat: Rewrite `keyboardEventListener` mixin to a composable (#9831)
iamsivin Aug 5, 2024
28d4432
feat: Dynamically show `Shift` key in shortcut modal for `QWERTZ` lay…
iamsivin Aug 6, 2024
736f16b
fix: Fix issues with new conversation form (#9891)
pranavrajs Aug 6, 2024
59b9c55
fix: Keydown handler in `useKeyboardEvent` composable not registering…
iamsivin Aug 6, 2024
91b713f
fix: Use appropriate logos for integrations in the dark mode (#9881)
nestordavalos Aug 6, 2024
cb4ad28
chore: Auto resolution job for captain (#9898)
sojan-official Aug 6, 2024
e330c2f
feat: Update the design for teams (#9899)
pranavrajs Aug 7, 2024
e393bcf
fix: Update the logic to handle attachments in a conversation (#9784)
scmmishra Aug 7, 2024
aea68f1
feat: Update the design of the audit logs page (#9901)
pranavrajs Aug 7, 2024
c344f2b
fix: Handle the case where message has no attachments (#9902)
pranavrajs Aug 7, 2024
56e93d1
feat: Replace the use of `mentionSelectionKeyboard` mixin to a compos…
iamsivin Aug 7, 2024
b03a839
fix: TypeError: Cannot read properties of null (reading 'user_id') (#…
iamsivin Aug 7, 2024
89acbd8
feat: Replace the use of `keyboardEventListener` mixin to a composabl…
iamsivin Aug 7, 2024
646cfb9
fix: Snooze conversation not working in Inbox view (#9875)
iamsivin Aug 7, 2024
80a90d9
feat: Update the design for canned responses (#9903)
pranavrajs Aug 7, 2024
ae938b2
fix: Disable the password section is the admin has disabled user prof…
pranavrajs Aug 7, 2024
74bbbd2
feat: Replace the use of `keyboardEventListener` mixin to a composabl…
iamsivin Aug 8, 2024
40bd79f
feat: Add issue status in linear issue search item (#9598)
muhsin-k Aug 8, 2024
d1d1398
feat: Rewrite `customAttributeMixin` to validation helper (#9916)
iamsivin Aug 9, 2024
3558878
feat: Replace the use of `macroMixin` with a composable (#9912)
iamsivin Aug 9, 2024
d5f34bf
feat: Replace `conversation/teamMixin` within the components (#9923)
iamsivin Aug 11, 2024
4a63d1d
feat: Update the design for label management page (#9932)
pranavrajs Aug 12, 2024
6196a6d
fix: last_activity_at is nil when conv is created (#9934)
scmmishra Aug 12, 2024
dcefd58
Bump version to v3.11.1
pranavrajs Aug 12, 2024
ffc0183
Merge branch 'hotfix/3.11.1'
pranavrajs Aug 12, 2024
6e12ba0
fix: last_activity_at is nil when conv is created (#9934)
scmmishra Aug 12, 2024
0b0e266
Bump version to v3.11.1
pranavrajs Aug 12, 2024
96d6067
chore(deps): Update browserlistdb (#9933)
scmmishra Aug 12, 2024
452096f
feat: Replace `rtlMixin` to a composable (#9924)
iamsivin Aug 12, 2024
4c6572c
feat: Rewrite `conversation/labelMixin` to a composable (#9936)
iamsivin Aug 12, 2024
b1da3dc
feat: Replace `attributeMixin` within the component (#9919)
iamsivin Aug 12, 2024
66db9a0
feat: Rewrite `accountMixin` to a composable (#9914)
iamsivin Aug 12, 2024
c26490e
chore: Replace messageMixing with useMessage composable [CW-3475] (#9…
fayazara Aug 13, 2024
b33d59d
feat: Rewrite `conversations` mixin to a helper (#9931)
iamsivin Aug 13, 2024
7ff939e
fix: TypeError cannot read properties of undefined (reading 'id') (#9…
iamsivin Aug 13, 2024
7d64660
fix: TypeError: t.messages.at is not a function (#9950)
iamsivin Aug 13, 2024
b998f04
feat: Update the design for user management page (#9948)
pranavrajs Aug 13, 2024
207933e
fix: TypeError cannot read properties of undefined (reading '$el') (#…
iamsivin Aug 14, 2024
dd8abe9
feat: Rewrite `configMixin` to a composable (#9921)
iamsivin Aug 14, 2024
06a3623
fix: Instagram audio rendering issues (#9957)
muhsin-k Aug 14, 2024
4310a54
fix: Chat list tab styles (#9960)
scmmishra Aug 14, 2024
f381015
feat: Redesign onboarding screen (#9939)
fayazara Aug 16, 2024
bb78639
chore: Update translations (#9946)
chatwoot-bot Aug 16, 2024
855b9c8
chore: [Snyk] Fix for 1 vulnerabilities (#9966)
sojan-official Aug 17, 2024
0190b6c
Merge branch 'master' into develop
sojan-official Aug 19, 2024
d3daccc
Bump version to 3.12.0
sojan-official Aug 19, 2024
d70ba8f
Merge branch 'release/3.12.0'
sojan-official Aug 19, 2024
292435e
Merge branch 'release/3.12.0' into develop
sojan-official Aug 19, 2024
8473e72
chore: [Snyk] Fix for 1 vulnerabilities (#9971)
sojan-official Aug 20, 2024
bb947ca
chore: Remove closing comment on issues/PRs (#9964)
vishnu-narayanan Aug 20, 2024
e9e515c
chore(deps): bump elliptic from 6.5.4 to 6.5.7 (#9975)
dependabot[bot] Aug 20, 2024
a92d7fd
chore: Update translations (#9976)
chatwoot-bot Aug 20, 2024
04b67eb
chore(deps): bump fugit from 1.9.0 to 1.11.1 (#9981)
dependabot[bot] Aug 21, 2024
77b718c
fix: Remove user.permissions, resolve it from accounts (#9990)
pranavrajs Aug 21, 2024
44227de
feat: Update the design for macros design page (#9999)
pranavrajs Aug 21, 2024
6571baf
fix: Delete attachments when removing them from Instagram in real-tim…
muhsin-k Aug 21, 2024
429d281
fix: Handle OpenAI API errors (#9560)
muhsin-k Aug 22, 2024
c63a6ed
feat: Rewrite `agentMixin` to a helper (#9940)
iamsivin Aug 22, 2024
d19a9c3
feat: Rewrite `aiMixin` to a composable (#9955)
iamsivin Aug 22, 2024
eb6de74
fix: OpenAPI label suggestion response payload (#10008)
muhsin-k Aug 22, 2024
4aa4e25
feat: Update the design for automation (#10002)
pranavrajs Aug 22, 2024
776579b
feat: enable disposable email check for account creation (#9989)
scmmishra Aug 22, 2024
dadd572
refactor: `useKeyboardEvents` composable (#9959)
scmmishra Aug 22, 2024
c80de24
fix: TypeError Unhandled Promise Rejection: null is not an object `(e…
iamsivin Aug 22, 2024
7c2353c
chore: Repalce Hook Mixin with useHook composable [CW-3454] (#9994)
fayazara Aug 22, 2024
a48f98d
revert: "chore: Replace messageMixing with useMessage composable [CW-…
scmmishra Aug 22, 2024
abc511d
fix: inconsistent OpenAI cache interface (#10009)
scmmishra Aug 22, 2024
41c5e7d
chore(deps): bump rexml from 3.3.4 to 3.3.6 (#10013)
dependabot[bot] Aug 23, 2024
b61ad6e
feat: Add APIs to manage custom roles in Chatwoot (#9995)
sojan-official Aug 23, 2024
53d6886
chore: Hide linear linked issues error toast messages (#10020)
muhsin-k Aug 23, 2024
3489783
feat: add domain blocklist feature (#10016)
scmmishra Aug 26, 2024
7f8d718
feat: Rewrite command bar mixin to a composable (#10015)
iamsivin Aug 26, 2024
32c2504
feat: Rewrite `reportMixin` to a composable (#10029)
iamsivin Aug 27, 2024
f82ec3b
chore: Repalce message formatter mixin with useMessageFormatter [CW-3…
fayazara Aug 27, 2024
bc64200
feat: Rewrite `automations/methodsMixin` to a composable (#9956)
iamsivin Aug 27, 2024
fe56708
chore: Replace filtersMixin with useFilter composable [CW-3466] (#10036)
fayazara Aug 27, 2024
3b5f5b4
chore: Replace campaign mixin with composable [CW-3463] (#9987)
fayazara Aug 27, 2024
31e7663
feat: Update the design for the Inbox management console (#10043)
pranavrajs Aug 29, 2024
098825c
fix: default return in blocked domains (#10046)
scmmishra Aug 29, 2024
6dda1e8
feat: Added support for copying and pasting images in article editor …
muhsin-k Aug 29, 2024
3a47b7e
feat(design): Update the design for the custom attribute console (#10…
pranavrajs Aug 29, 2024
f087461
feat: Update the design for the webhook management page (#10050)
pranavrajs Aug 29, 2024
3a0e680
chore: [Snyk] Fix for 1 vulnerabilities (#10038)
sojan-official Aug 30, 2024
a3732c8
feat: Adds support for selecting emojis using the keyboard (#10055)
iamsivin Sep 4, 2024
8a2f652
fix: TypeError cannot read properties of undefined (reading 'click') …
iamsivin Sep 4, 2024
d6fd3ce
chore: Fix flaky permissions test (#10074)
sojan-official Sep 4, 2024
e99e6a8
chore: [Snyk] Security upgrade omniauth-google-oauth2 from 1.1.2 to 1…
sojan-official Sep 4, 2024
db0e654
chore: [Snyk] Security upgrade meta_request from 0.8.2 to 0.8.3 (#10061)
sojan-official Sep 5, 2024
528b984
feat: Extend `upload` API end point to support external images (#10062)
muhsin-k Sep 5, 2024
05dece8
fix: Editor controls not working after newline `(Shift+Enter)` (#10079)
iamsivin Sep 6, 2024
185a122
fix: Contact filter attribute groups (#10080)
muhsin-k Sep 6, 2024
bb74c62
chore: Bump up character limit for email channel (#10082)
sojan-official Sep 7, 2024
2c17c95
feat: Add the ability to paste images to editor (#10072)
muhsin-k Sep 11, 2024
a76cd76
chore: Replace darkmode mixin with useDarkMode composable [CW-3474] (…
fayazara Sep 11, 2024
aa4edaa
feat: Display emoji names and improve search (#10104)
iamsivin Sep 13, 2024
aaab2ac
fix: Cannot open conversation from contact sidebar. (#10102)
iamsivin Sep 13, 2024
ab86f62
chore: Update GPT Model (#10111)
sojan-official Sep 16, 2024
4b779db
chore(deps): bump dset from 3.1.2 to 3.1.4 (#10097)
dependabot[bot] Sep 16, 2024
add6403
chore(deps): bump express from 4.19.2 to 4.20.0 (#10093)
dependabot[bot] Sep 16, 2024
8d8ec23
chore: [Snyk] Security upgrade rspec-rails from 6.1.4 to 6.1.5 (#10066)
sojan-official Sep 16, 2024
73d448a
fix: Remove feature flag for insert article into editor (#10114)
pranavrajs Sep 16, 2024
b9ff164
fix: Remove draft articles from the help center search (#10116)
pranavrajs Sep 16, 2024
05b8486
fix: `message_type` inconsistency across message end points (#10108)
muhsin-k Sep 16, 2024
5d52e4e
revert: "fix: `message_type` inconsistency across message end points"…
muhsin-k Sep 16, 2024
4677004
fix: `message_type` in widget conversation create end point (#10120)
muhsin-k Sep 16, 2024
fba73c7
chore: Fix issue with deleting interactive messages (#10123)
sojan-official Sep 17, 2024
58e7862
chore: Custom Roles to manage permissions [ UI ] (#9865)
sojan-official Sep 17, 2024
377fb5c
Bump version to 3.13.0
sojan-official Sep 17, 2024
fd01a50
Merge branch 'release/3.13.0'
sojan-official Sep 17, 2024
c0d5b24
Merge branch 'release/3.13.0' into develop
sojan-official Sep 17, 2024
f15a4f8
chore(deps): bump google-protobuf from 3.25.3 to 3.25.5 (#10133)
dependabot[bot] Sep 19, 2024
f0d00b6
chore: Update translations (#10124)
chatwoot-bot Sep 19, 2024
e68dac8
chore(deps): bump puma from 6.4.2 to 6.4.3 (#10137)
dependabot[bot] Sep 23, 2024
b524cee
feat: Auto-populate the telephone code based on the browser timezone …
pranavrajs Sep 24, 2024
d79d9e8
fix: Include uncategorized articles in the all article section to all…
pranavrajs Sep 24, 2024
d107d0a
fix: Twilio channel attachment issues (#10167)
sojan-official Sep 26, 2024
4a7a042
feat: Provision captain accounts automatically (#10168)
sojan-official Sep 27, 2024
f4f2d67
fix: Show error messages from response (#10173)
iamsivin Sep 27, 2024
a0dddae
feat: let users re auth legacy google inboxes (#10179)
scmmishra Sep 30, 2024
e0bf2bd
fix: Lograge issue on non api pages (#10193)
sojan-official Oct 1, 2024
42f6621
feat: Vite + vue 3 💚 (#10047)
scmmishra Oct 2, 2024
fce4d5e
feat: Show re-auth flag only for legacy Gmail and OAuth channels (#10…
scmmishra Oct 2, 2024
a3b6022
feat: Upgrade vite to 5.4.8 to fix dependabot/186 (#10196)
pranavrajs Oct 2, 2024
b52950b
fix: Update event name for reports filter (#10199)
scmmishra Oct 2, 2024
0491ffc
fix: signup form broken in production (#10206)
scmmishra Oct 3, 2024
edc1fe2
fix: eslint issues on CC & BCC email head [CW-3586] (#10203)
scmmishra Oct 3, 2024
b8d0252
feat: remove usage of `.sync` and define explicitly `emits` (#10209)
scmmishra Oct 3, 2024
c51a458
style: apply fixes for eslint issues [cw-3590] (#10210)
scmmishra Oct 3, 2024
578dce8
fix: suggestions not triggering directly (#10211)
scmmishra Oct 3, 2024
f14edd5
fix: initOnEvents not removed [CW-3594] (#10200)
scmmishra Oct 3, 2024
fdc3e37
fix: gh actions for vite build (#10212)
vishnu-narayanan Oct 3, 2024
701135d
fix: vitest resolution in vite.config [CW-3587] (#10204)
scmmishra Oct 3, 2024
b326259
fix: vue 3 followup fixes (#10213)
scmmishra Oct 3, 2024
5eac957
fix: Update translation payload for audit logs (#10217)
scmmishra Oct 4, 2024
bbb8e57
fix: Update the styles for the datepicker in custom snooze modal (#10…
scmmishra Oct 4, 2024
6d053e5
chore: Move line attachment creation to a single db commit (#10194)
sojan-official Oct 4, 2024
0f26351
fix: Update card labels button with a new one to fix the CSS issue (#…
pranavrajs Oct 4, 2024
83100b8
feat: support vite build for docker based installations (#10225)
vishnu-narayanan Oct 4, 2024
bd88bfb
fix: emits for FormSelect and PhoneInput component (#10226)
scmmishra Oct 4, 2024
8c54d7f
feat: support vite build for linux installations(cwctl) (#10231)
vishnu-narayanan Oct 4, 2024
88a16b8
fix: submit pre chat triggering native submit event (#10224)
scmmishra Oct 4, 2024
9338bc1
fix: emit events across the app (#10227)
scmmishra Oct 4, 2024
5b22af6
fix: Update input event bindings to use blur events (#10216)
scmmishra Oct 4, 2024
55bf05d
fix: Use arrow function to bind methods to class (#10215)
scmmishra Oct 4, 2024
d2eda8b
fix: Update inconsistent behaviour of create and edit automation rule…
scmmishra Oct 4, 2024
e6e0f7d
fix: Add missing 'one' translations for time units in agent-reports (…
vishnu-narayanan Oct 4, 2024
490fc4e
fix: Remove the usage of asyncComponent in emoji picker (#10232)
scmmishra Oct 4, 2024
d0bf66f
feat: Update widget builder to support dark mode (#10230)
iamsivin Oct 4, 2024
b7aea99
fix: Add webhook string to the zh_CN to fix missing webhook feature (…
pranavrajs Oct 5, 2024
095aaf3
fix: Issues with drag and drop attachments to the editor (#10235)
iamsivin Oct 5, 2024
0677d87
fix: Update the reply box to handle play, pause callbacks from WaveSu…
pranavrajs Oct 5, 2024
ee02923
chore: fix circleci on vite build (#10214)
vishnu-narayanan Oct 7, 2024
ea787fe
chore(deps): bump dset from 3.1.3 to 3.1.4 (#10239)
dependabot[bot] Oct 7, 2024
97d4ce6
chore(deps): bump braces from 3.0.2 to 3.0.3 (#10238)
dependabot[bot] Oct 7, 2024
a8c12ff
chore: update interpolation syntax for i18n files (#10198)
scmmishra Oct 7, 2024
3a78192
fix: Resolve accountId from the route, initialize route-sync before t…
scmmishra Oct 8, 2024
42eca69
fix: Import for vue-letter (#10246)
scmmishra Oct 8, 2024
aa5fa0c
feat: Use CJS build for SDK (#10247)
scmmishra Oct 9, 2024
f18ed01
feat: use of imap login as default if present (#10249)
scmmishra Oct 9, 2024
b49eaa5
fix: Search linear issues (#10253)
muhsin-k Oct 10, 2024
8505aa4
fix: Use native a tag for https URL in the sidebar (#10254)
pranavrajs Oct 10, 2024
220a947
feat: Add histoire for component playground (#10256)
pranavrajs Oct 10, 2024
a2f32f7
feat: Add telegram user name in contact details (#10259)
muhsin-k Oct 10, 2024
4c7a539
feat: use `iife` build for sdk (#10255)
scmmishra Oct 10, 2024
01cc46b
fix: Cannot read properties of undefined (reading '$touch') (#10264)
iamsivin Oct 11, 2024
16c6ef0
feat: Add the update design for the button component (#10257)
iamsivin Oct 11, 2024
1fc06f8
feat: Add the design for the new Input component (#10258)
iamsivin Oct 11, 2024
2d5afef
feat: Update the design for text area component (#10260)
iamsivin Oct 11, 2024
ed9dc6d
feat: Add the design for the new tab component (#10261)
iamsivin Oct 11, 2024
1e9959b
feat: Update the design for the dropdown menu component (#10265)
iamsivin Oct 11, 2024
694302b
feat: Add the new Article card component (#10269)
iamsivin Oct 11, 2024
6986d34
feat: Add the new Category card component (#10271)
iamsivin Oct 11, 2024
593270d
feat: Add the locale card component (#10270)
iamsivin Oct 11, 2024
e0ef007
fix: Fix Sentry issues from Vite migration (#10262)
scmmishra Oct 14, 2024
dec637a
feat: Add new pagination component (#10263)
iamsivin Oct 15, 2024
3a0fd9b
feat: Add support for new colors (#10287)
scmmishra Oct 15, 2024
392e58b
fix: Use pnpm in make setup command (#10289)
arunim2405 Oct 15, 2024
62f4f12
feat: Add new breadcrumb component (#10268)
iamsivin Oct 15, 2024
f136442
feat: Add the new Dialog component (#10266)
iamsivin Oct 15, 2024
7be1eca
feat: Add new ComboBox component (#10267)
iamsivin Oct 15, 2024
44be3c9
feat: Add Help Center layout with portal switcher component (#10272)
iamsivin Oct 15, 2024
5fd389e
feat: Add the new design for article page (#10273)
iamsivin Oct 15, 2024
431d533
feat: Add new Avatar component (#10280)
iamsivin Oct 15, 2024
0082c6a
feat: Add new Inline Input component (#10281)
iamsivin Oct 15, 2024
32a9d5b
feat: Add a base layout component for the empty states (#10276)
iamsivin Oct 15, 2024
6d6dc0c
feat: Add the new design for the portal category page (#10274)
iamsivin Oct 15, 2024
a04f818
feat: Add new Locale page (#10275)
iamsivin Oct 16, 2024
544fe2b
chore(deps): bump actiontext from 7.0.8.4 to 7.0.8.5 (#10293)
dependabot[bot] Oct 16, 2024
e2db5b8
chore(deps): bump actionmailer from 7.0.8.4 to 7.0.8.5 (#10294)
dependabot[bot] Oct 16, 2024
6a383dc
chore: increment cwctl version (#10299)
vishnu-narayanan Oct 16, 2024
902a9aa
feat: Add the new design for edit article page (#10285)
iamsivin Oct 16, 2024
306a6c6
feat: Add the new portal settings page (#10282)
iamsivin Oct 16, 2024
35b21c1
feat: Add Spinner to new components (#10303)
pranavrajs Oct 17, 2024
6d40986
fix: cwctl upgrade in ubuntu 24.04 (#10305)
vishnu-narayanan Oct 17, 2024
fe2d91e
Bump version to 3.14.0
sojan-official Oct 17, 2024
604c592
Merge branch 'release/3.14.0'
sojan-official Oct 17, 2024
c796832
Merge branch 'release/3.14.0' into develop
sojan-official Oct 17, 2024
a37d447
feat: Add portal empty state (#10277)
iamsivin Oct 17, 2024
dff5701
feat: Add article empty state component (#10278)
iamsivin Oct 18, 2024
4e64097
fix: solid colors (#10321)
scmmishra Oct 18, 2024
3fe771d
fix: Modal in the context menu disappears unless hovered (#10333)
iamsivin Oct 22, 2024
35a1dcc
feat: switch docker dev from webpack to vite (#10322)
vishnu-narayanan Oct 22, 2024
2a832f8
fix: parsing of `@` in i18n values (#10334)
scmmishra Oct 22, 2024
c8657c5
fix: parsing of `@` in i18n values (#10334)
scmmishra Oct 22, 2024
5133f4e
Bump version to 3.14.1
vishnu-narayanan Oct 22, 2024
622f29a
Merge branch 'hotfix/3.14.1'
vishnu-narayanan Oct 22, 2024
c49f5ed
Merge branch 'hotfix/3.14.1' into develop
vishnu-narayanan Oct 22, 2024
601a0f8
fix: ip-lookup database lazy loading for all environments (#8052)
mazenkhalil Oct 23, 2024
6d3ecfe
feat: Add new sidebar for Chatwoot V4 (#10291)
scmmishra Oct 24, 2024
a3855a8
feat(v4): Update the help center portal design (#10296)
iamsivin Oct 24, 2024
73b6e2c
fix: Agents list in bulk action is not loading (#10347)
iamsivin Oct 24, 2024
80c9434
feat(v4): Auto-navigate to first menu item on group menu open(#10350)
scmmishra Oct 25, 2024
6df2d76
feat: new colors (#10352)
scmmishra Oct 28, 2024
7ba6c1d
fix: Fix the issues with the new sidebar (#10348)
scmmishra Oct 29, 2024
c6c36b1
chore(deps): bump rexml from 3.3.6 to 3.3.9 (#10361)
dependabot[bot] Oct 29, 2024
035a037
fix: Use addEventListener instead of onmessage to listen to chatwoot-…
scmmishra Oct 29, 2024
f73798a
feat(v4): Help center portal redesign improvements (#10349)
iamsivin Oct 29, 2024
0689f59
feat: Update button component (#10362)
iamsivin Oct 29, 2024
55dfd7d
fix: pnpm in vite docker (#10344)
vishnu-narayanan Oct 29, 2024
aa57431
fix: Dropdown menu issues (#10364)
iamsivin Oct 29, 2024
87719a8
chore: fix pnpm path in rails and memory issue during vite build (#10…
vishnu-narayanan Oct 29, 2024
6da6a80
chore: force pnpm install in vite docker (#10367)
vishnu-narayanan Oct 29, 2024
2d35fa1
feat: Update colors (#10365)
scmmishra Oct 30, 2024
6e6c5a2
refactor: use css only last item detection (#10363)
scmmishra Oct 31, 2024
579efd9
feat(v4): Update the campaigns page design (#10371)
iamsivin Oct 31, 2024
8cdbdaa
fix: Process attachments as regular attachments if the text/plain or …
pranavrajs Nov 4, 2024
54740e3
fix: Update the translation for the text used in `isTyping` method (#…
KokeroO Nov 5, 2024
db32737
feat(v4): Add new conversation card component (#10392)
iamsivin Nov 8, 2024
7a45144
chore: Set rack-timeout to log at ERROR level (#10400)
vishnu-narayanan Nov 11, 2024
97d7b9d
feat(ee): Setup @chatwoot/captain NPM library (#10389)
scmmishra Nov 12, 2024
7dc0eba
fix: Remove duplicate `/` character on the proxy route (#10404)
pranavrajs Nov 12, 2024
ac729cf
feat: update debounce duration for article editor (#10410)
scmmishra Nov 13, 2024
4cfa7e4
feat: Remove incoming messages metrics from the agent reports (#10415)
iamsivin Nov 14, 2024
933ae8a
fix: Email attachments created with empty filename (#10420)
sojan-official Nov 15, 2024
8773929
fix: Fix line sticker URL to prevent certain images from failing to d…
MingShyanWei Nov 15, 2024
54afed9
feat: add judoscaler gem for heroku autoscaling (#10419)
vishnu-narayanan Nov 18, 2024
aaa328b
feat: Add dropdown component (#10358)
scmmishra Nov 19, 2024
c2e2954
fix: Remove the warnings generated from the Sidebar component (#10437)
scmmishra Nov 19, 2024
b680fa4
fix: Country code missing when typing in phone input. (#10439)
iamsivin Nov 19, 2024
7d9800d
Bump version to 3.15.0
sojan-official Nov 19, 2024
959d2c0
Merge branch 'release/3.15.0'
sojan-official Nov 19, 2024
656ff91
Merge remote-tracking branch 'chatwoot/master' into master-staging
jderecho Nov 21, 2024
8cf36b3
rerun spec and lint
jderecho Nov 21, 2024
bf1c624
fix parquet
jderecho Nov 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
235 changes: 106 additions & 129 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,96 @@
# Ruby CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
#
version: 2
version: 2.1
orbs:
node: circleci/[email protected]

defaults: &defaults
working_directory: ~/build
docker:
# specify the version you desire here
- image: cimg/ruby:3.2.4-browsers

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
- image: cimg/postgres:15.3
- image: cimg/redis:6.2.6
machine:
image: ubuntu-2204:2024.05.1
resource_class: large
environment:
- RAILS_LOG_TO_STDOUT: false
- COVERAGE: true
- LOG_LEVEL: warn
RAILS_LOG_TO_STDOUT: false
COVERAGE: true
LOG_LEVEL: warn
parallelism: 4
resource_class: large

jobs:
build:
<<: *defaults
steps:
- checkout
- node/install:
node-version: '20.12'
- node/install-pnpm
- node/install-packages:
pkg-manager: pnpm
override-ci-command: pnpm i
- run: node --version
- run: pnpm --version

- run:
name: Configure Bundler
name: Install System Dependencies
command: |
echo 'export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")' >> $BASH_ENV
source $BASH_ENV
gem install bundler
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
libpq-dev \
redis-server \
postgresql \
build-essential \
git \
curl \
libssl-dev \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
openjdk-11-jdk \
jq \
software-properties-common \
ca-certificates \
imagemagick \
libxml2-dev \
libxslt1-dev \
file \
g++ \
gcc \
autoconf \
gnupg2 \
patch \
ruby-dev \
liblzma-dev \
libgmp-dev \
libncurses5-dev \
libffi-dev \
libgdbm6 \
libgdbm-dev \
libvips

- run:
name: Which bundler?
command: bundle -v

- run:
name: Swap node versions
name: Install RVM and Ruby 3.3.3
command: |
set +e
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm install v20
echo 'export NVM_DIR="$HOME/.nvm"' >> $BASH_ENV
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV

# Run bundler
# Load installed gems from cache if possible, bundle install then save cache
# Multiple caches are used to increase the chance of a cache hit

- restore_cache:
keys:
- chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-v20220524-{{ checksum "Gemfile.lock" }}

- run: bundle install --frozen --path ~/.bundle
- save_cache:
paths:
- ~/.bundle
key: chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-v20220524-{{ checksum "Gemfile.lock" }}

# Only necessary if app uses webpacker or yarn in some other way
- restore_cache:
keys:
- chatwoot-yarn-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
- chatwoot-yarn-
sudo apt-get install -y gpg
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
echo 'source ~/.rvm/scripts/rvm' >> $BASH_ENV
source ~/.rvm/scripts/rvm
rvm install "3.3.3"
rvm use 3.3.3 --default
gem install bundler

- run:
name: yarn
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn

# Store yarn / webpacker cache
- save_cache:
key: chatwoot-yarn-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
name: Install Application Dependencies
command: |
source ~/.rvm/scripts/rvm
bundle install
# pnpm install

- run:
name: Download cc-test-reporter
command: |
mkdir -p ~/tmp
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ~/tmp/cc-test-reporter
chmod +x ~/tmp/cc-test-reporter
- persist_to_workspace:
root: ~/tmp
paths:
- cc-test-reporter

# verify swagger specification
# Swagger verification
- run:
name: Verify swagger API specification
command: |
Expand All @@ -104,103 +103,81 @@ jobs:
curl -L https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.0.jar > ~/tmp/openapi-generator-cli-6.3.0.jar
java -jar ~/tmp/openapi-generator-cli-6.3.0.jar validate -i swagger/swagger.json

# we remove the FRONTED_URL from the .env before running the tests
- run:
name: Database Setup and Configure Environment Variables
command: |
pg_pass=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 15 ; echo '')
sed -i "s/REPLACE_WITH_PASSWORD/${pg_pass}/g" ${PWD}/.circleci/setup_chatwoot.sql
chmod 644 ${PWD}/.circleci/setup_chatwoot.sql
mv ${PWD}/.circleci/setup_chatwoot.sql /tmp/
sudo -i -u postgres psql -f /tmp/setup_chatwoot.sql
cp .env.example .env
sed -i '/^FRONTEND_URL/d' .env
sed -i -e '/REDIS_URL/ s/=.*/=redis:\/\/localhost:6379/' .env
sed -i -e '/POSTGRES_HOST/ s/=.*/=localhost/' .env
sed -i -e '/POSTGRES_USERNAME/ s/=.*/=chatwoot/' .env
sed -i -e "/POSTGRES_PASSWORD/ s/=.*/=$pg_pass/" .env
echo -en "\nINSTALLATION_ENV=circleci" >> ".env"

# Database setup
- run: bundle exec rake db:create
- run: bundle exec rake db:schema:load
- run:
name: Run DB migrations
command: bundle exec rails db:chatwoot_prepare

# Bundle audit
- run:
name: Bundle audit
command: bundle exec bundle audit update && bundle exec bundle audit check -v

# Rubocop linting
- run:
name: Rubocop
command: bundle exec rubocop

# - run:
# name: Brakeman
# command: bundle exec brakeman

# ESLint linting
- run:
name: eslint
command: yarn run eslint
command: pnpm run eslint

# Run frontend tests
- run:
name: Run frontend tests
command: |
mkdir -p ~/tmp/test-results/frontend_specs
mkdir -p ~/build/coverage/frontend
~/tmp/cc-test-reporter before-build
TESTFILES=$(circleci tests glob **/specs/*.spec.js | circleci tests split --split-by=timings)
yarn test:coverage --profile 10 \
--out ~/tmp/test-results/yarn.xml \
-- ${TESTFILES}
pnpm run test:coverage

- run:
name: Code Climate Test Coverage
name: Code Climate Test Coverage (Frontend)
command: |
~/tmp/cc-test-reporter format-coverage -t lcov -o "coverage/codeclimate.frontend_$CIRCLE_NODE_INDEX.json"
~/tmp/cc-test-reporter format-coverage -t lcov -o "~/build/coverage/frontend/codeclimate.frontend_$CIRCLE_NODE_INDEX.json"

# Run rails tests
# Run backend tests
- run:
name: Run backend tests
command: |
mkdir -p ~/tmp/test-results/rspec
mkdir -p ~/tmp/test-artifacts
mkdir -p coverage
mkdir -p ~/build/coverage/backend
~/tmp/cc-test-reporter before-build
TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
bundle exec rspec --format progress \
--format RspecJunitFormatter \
--out ~/tmp/test-results/rspec.xml \
-- ${TESTFILES}
no_output_timeout: 30m

- run:
name: Code Climate Test Coverage
name: Code Climate Test Coverage (Backend)
command: |
~/tmp/cc-test-reporter format-coverage -t simplecov -o "coverage/codeclimate.$CIRCLE_NODE_INDEX.json"
~/tmp/cc-test-reporter format-coverage -t simplecov -o "~/build/coverage/backend/codeclimate.$CIRCLE_NODE_INDEX.json"

- persist_to_workspace:
root: coverage
paths:
- codeclimate.*.json
# collect reports
- store_test_results:
path: ~/tmp/test-results
- store_artifacts:
path: ~/tmp/test-artifacts
- store_artifacts:
path: log

upload-coverage:
working_directory: ~/build
docker:
# specify the version you desire here
- image: circleci/ruby:3.0.2-node-browsers
environment:
- CC_TEST_REPORTER_ID: caf26a895e937974a90860cfadfded20891cfd1373a5aaafb3f67406ab9d433f
steps:
- attach_workspace:
at: ~/build
- run:
name: Download cc-test-reporter
name: List coverage directory contents
command: |
mkdir -p ~/tmp
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ~/tmp/cc-test-reporter
chmod +x ~/tmp/cc-test-reporter
ls -R ~/build/coverage

- persist_to_workspace:
root: ~/tmp
root: ~/build
paths:
- cc-test-reporter
- run:
name: Upload coverage results to Code Climate
command: |
~/tmp/cc-test-reporter sum-coverage --output - codeclimate.*.json | ~/tmp/cc-test-reporter upload-coverage --debug --input -

workflows:
version: 2

commit:
jobs:
- build
- upload-coverage:
requires:
- build
- coverage
11 changes: 11 additions & 0 deletions .circleci/setup_chatwoot.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CREATE USER chatwoot CREATEDB;
ALTER USER chatwoot PASSWORD 'REPLACE_WITH_PASSWORD';
ALTER ROLE chatwoot SUPERUSER;

UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
DROP DATABASE template1;
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';

\c template1;
VACUUM FREEZE;
3 changes: 2 additions & 1 deletion .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ checks:
threshold: 50
exclude_patterns:
- 'spec/'
- '**/specs/'
- '**/specs/**/**'
- '**/spec/**/**'
- 'db/*'
- 'bin/**/*'
- 'db/**/*'
Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ services:
args:
VARIANT: "ubuntu-22.04"
NODE_VERSION: "20.9.0"
RUBY_VERSION: "3.2.4"
RUBY_VERSION: "3.3.3"
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
USER_UID: "1000"
USER_GID: "1000"
Expand All @@ -25,7 +25,7 @@ services:
args:
VARIANT: "ubuntu-22.04"
NODE_VERSION: "20.9.0"
RUBY_VERSION: "3.2.4"
RUBY_VERSION: "3.3.3"
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
USER_UID: "1000"
USER_GID: "1000"
Expand Down
14 changes: 8 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Learn about the various environment variables at
# https://www.chatwoot.com/docs/self-hosted/configuration/environment-variables/#rails-production-variables

# Used to verify the integrity of signed cookies. so ensure a secure value is set
# SECRET_KEY_BASE should be alphanumeric. Avoid special characters or symbols.
# Use `rake secret` to generate this variable
SECRET_KEY_BASE=replace_with_lengthy_secure_hex

# Replace with the URL you are planning to use for your app
Expand Down Expand Up @@ -80,6 +85,8 @@ SMTP_OPENSSL_VERIFY_MODE=peer
# Comment out the following environment variables if required by your SMTP server
# SMTP_TLS=
# SMTP_SSL=
# SMTP_OPEN_TIMEOUT
# SMTP_READ_TIMEOUT

# Mail Incoming
# This is the domain set for the reply emails when conversation continuity is enabled
Expand Down Expand Up @@ -184,12 +191,6 @@ ANDROID_SHA256_CERT_FINGERPRINT=AC:73:8E:DE:EB:56:EA:CC:10:87:02:A7:65:37:7B:38:
# SENTRY_DSN=


# MICROSOFT CLARITY
# MS_CLARITY_TOKEN=xxxxxxxxx

# GOOGLE_TAG_MANAGER
# GOOGLE_TAG = GTM-XXXXXXX

## Scout
## https://scoutapm.com/docs/ruby/configuration
# SCOUT_KEY=YOURKEY
Expand Down Expand Up @@ -256,3 +257,4 @@ AZURE_APP_SECRET=
# Set to true if you want to remove stale contact inboxes
# contact_inboxes with no conversation older than 90 days will be removed
# REMOVE_STALE_CONTACT_INBOX_JOB_STATUS=false

Loading
Loading