Merge branch 'release/4.0.1'
This commit is contained in:
@@ -2,13 +2,13 @@ Chatwoot is looking forward to working with security researchers worldwide to ke
|
|||||||
|
|
||||||
## Reporting a Vulnerability
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
We use [huntr.dev](https://huntr.dev/) for security issues that affect our project. If you believe you have found a vulnerability, please disclose it via this [form](https://huntr.dev/bounties/disclose). This will enable us to review the vulnerability, fix it promptly, and reward you for your efforts.
|
We use Github to track the security issues that affect our project. If you believe you have found a vulnerability, please disclose it via this [form](https://github.com/chatwoot/chatwoot/security/advisories/new). This will enable us to review the vulnerability, fix it promptly, and reward you for your efforts.
|
||||||
|
|
||||||
If you have any questions about the process, contact security@chatwoot.com.
|
If you have any questions about the process, contact security@chatwoot.com.
|
||||||
|
|
||||||
Please try your best to describe a clear and realistic impact for your report, and please don't open any public issues on GitHub or social media; we're doing our best to respond through Huntr as quickly as possible.
|
Please try your best to describe a clear and realistic impact for your report, and please don't open any public issues on GitHub or social media; we're doing our best to respond through Github as quickly as possible.
|
||||||
|
|
||||||
> Note: Please use the email for questions related to the process. Disclosures should be done via [huntr.dev](https://huntr.dev/)
|
> Note: Please use the email for questions related to the process. Disclosures should be done via [Github](https://github.com/chatwoot/chatwoot/security/advisories/new)
|
||||||
## Supported versions
|
## Supported versions
|
||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
@@ -48,7 +48,7 @@ We consider the following out of scope, though there may be exceptions.
|
|||||||
- Brute force attacks
|
- Brute force attacks
|
||||||
- DNSSEC
|
- DNSSEC
|
||||||
|
|
||||||
If you are unsure about the scope, please create a [report](https://huntr.dev/repos/chatwoot/chatwoot/).
|
If you are unsure about the scope, please create a [report](https://github.com/chatwoot/chatwoot/security/advisories/new).
|
||||||
|
|
||||||
|
|
||||||
## Thanks
|
## Thanks
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ const varaintBaseMap = {
|
|||||||
[MESSAGE_VARIANTS.AGENT]: 'bg-n-solid-blue text-n-slate-12',
|
[MESSAGE_VARIANTS.AGENT]: 'bg-n-solid-blue text-n-slate-12',
|
||||||
[MESSAGE_VARIANTS.PRIVATE]:
|
[MESSAGE_VARIANTS.PRIVATE]:
|
||||||
'bg-n-solid-amber text-n-amber-12 [&_.prosemirror-mention-node]:font-semibold',
|
'bg-n-solid-amber text-n-amber-12 [&_.prosemirror-mention-node]:font-semibold',
|
||||||
[MESSAGE_VARIANTS.USER]: 'bg-n-gray-3 text-n-slate-12',
|
[MESSAGE_VARIANTS.USER]: 'bg-n-slate-4 text-n-slate-12',
|
||||||
[MESSAGE_VARIANTS.ACTIVITY]: 'bg-n-alpha-1 text-n-slate-11 text-sm',
|
[MESSAGE_VARIANTS.ACTIVITY]: 'bg-n-alpha-1 text-n-slate-11 text-sm',
|
||||||
[MESSAGE_VARIANTS.BOT]: 'bg-n-solid-iris text-n-slate-12',
|
[MESSAGE_VARIANTS.BOT]: 'bg-n-solid-iris text-n-slate-12',
|
||||||
[MESSAGE_VARIANTS.TEMPLATE]: 'bg-n-solid-iris text-n-slate-12',
|
[MESSAGE_VARIANTS.TEMPLATE]: 'bg-n-solid-iris text-n-slate-12',
|
||||||
[MESSAGE_VARIANTS.ERROR]: 'bg-n-ruby-4 text-n-ruby-12',
|
[MESSAGE_VARIANTS.ERROR]: 'bg-n-ruby-4 text-n-ruby-12',
|
||||||
[MESSAGE_VARIANTS.EMAIL]: 'bg-n-gray-3 w-full',
|
[MESSAGE_VARIANTS.EMAIL]: 'w-full',
|
||||||
[MESSAGE_VARIANTS.UNSUPPORTED]:
|
[MESSAGE_VARIANTS.UNSUPPORTED]:
|
||||||
'bg-n-solid-amber/70 border border-dashed border-n-amber-12 text-n-amber-12',
|
'bg-n-solid-amber/70 border border-dashed border-n-amber-12 text-n-amber-12',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ const showMeta = computed(() => {
|
|||||||
<template>
|
<template>
|
||||||
<section
|
<section
|
||||||
v-show="showMeta"
|
v-show="showMeta"
|
||||||
class="space-y-1 rtl:pl-9 ltr:pr-9 border-b border-n-strong text-sm break-words"
|
class="space-y-1 rtl:pl-9 ltr:pr-9 text-sm break-words"
|
||||||
:class="hasError ? 'text-n-ruby-11' : 'text-n-slate-11'"
|
:class="hasError ? 'text-n-ruby-11' : 'text-n-slate-11'"
|
||||||
>
|
>
|
||||||
<template v-if="showMeta">
|
<template v-if="showMeta">
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ onMounted(() => {
|
|||||||
const isOutgoing = computed(() => {
|
const isOutgoing = computed(() => {
|
||||||
return messageType.value === MESSAGE_TYPES.OUTGOING;
|
return messageType.value === MESSAGE_TYPES.OUTGOING;
|
||||||
});
|
});
|
||||||
|
const isIncoming = computed(() => !isOutgoing.value);
|
||||||
|
|
||||||
const fullHTML = computed(() => {
|
const fullHTML = computed(() => {
|
||||||
return contentAttributes?.value?.email?.htmlContent?.full ?? content.value;
|
return contentAttributes?.value?.email?.htmlContent?.full ?? content.value;
|
||||||
@@ -48,8 +49,21 @@ const textToShow = computed(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<BaseBubble class="w-full" data-bubble-name="email">
|
<BaseBubble
|
||||||
<EmailMeta class="p-3" />
|
class="w-full"
|
||||||
|
:class="{
|
||||||
|
'bg-n-slate-4': isIncoming,
|
||||||
|
'bg-n-solid-blue': isOutgoing,
|
||||||
|
}"
|
||||||
|
data-bubble-name="email"
|
||||||
|
>
|
||||||
|
<EmailMeta
|
||||||
|
class="p-3"
|
||||||
|
:class="{
|
||||||
|
'border-b border-n-strong': isIncoming,
|
||||||
|
'border-b border-n-slate-8/20': isOutgoing,
|
||||||
|
}"
|
||||||
|
/>
|
||||||
<section ref="contentContainer" class="p-3">
|
<section ref="contentContainer" class="p-3">
|
||||||
<div
|
<div
|
||||||
:class="{
|
:class="{
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ onMounted(() => {
|
|||||||
@mousedown="handleMouseDown"
|
@mousedown="handleMouseDown"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="relative max-h-full overflow-auto bg-n-alpha-3 backdrop-blur-[100px] shadow-md modal-container rtl:text-right skip-context-menu"
|
class="relative max-h-full overflow-auto bg-n-alpha-3 shadow-md modal-container rtl:text-right skip-context-menu"
|
||||||
:class="{
|
:class="{
|
||||||
'rounded-xl w-[37.5rem]': !fullWidth,
|
'rounded-xl w-[37.5rem]': !fullWidth,
|
||||||
'items-center rounded-none flex h-full justify-center w-full':
|
'items-center rounded-none flex h-full justify-center w-full':
|
||||||
|
|||||||
@@ -99,15 +99,11 @@ const onClickTabChange = index => {
|
|||||||
:attribute-model="attributeModel"
|
:attribute-model="attributeModel"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<woot-modal
|
<AddAttribute
|
||||||
v-if="showAddPopup"
|
v-if="showAddPopup"
|
||||||
v-model:show="showAddPopup"
|
v-model:show="showAddPopup"
|
||||||
:on-close="hideAddPopup"
|
:on-close="hideAddPopup"
|
||||||
>
|
:selected-attribute-model-tab="selectedTabIndex"
|
||||||
<AddAttribute
|
/>
|
||||||
:on-close="hideAddPopup"
|
|
||||||
:selected-attribute-model-tab="selectedTabIndex"
|
|
||||||
/>
|
|
||||||
</woot-modal>
|
|
||||||
</SettingsLayout>
|
</SettingsLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
shared: &shared
|
shared: &shared
|
||||||
version: '4.0.0'
|
version: '4.0.1'
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *shared
|
<<: *shared
|
||||||
|
|||||||
@@ -8,27 +8,27 @@ internal_check_new_versions_job:
|
|||||||
class: 'Internal::CheckNewVersionsJob'
|
class: 'Internal::CheckNewVersionsJob'
|
||||||
queue: scheduled_jobs
|
queue: scheduled_jobs
|
||||||
# # executed At every 5th minute..
|
# # executed At every 5th minute..
|
||||||
# trigger_scheduled_items_job:
|
trigger_scheduled_items_job:
|
||||||
# cron: '*/5 * * * *'
|
cron: '*/5 * * * *'
|
||||||
# class: 'TriggerScheduledItemsJob'
|
class: 'TriggerScheduledItemsJob'
|
||||||
# queue: scheduled_jobs
|
queue: scheduled_jobs
|
||||||
|
|
||||||
# # executed At every minute..
|
# executed At every minute..
|
||||||
# trigger_imap_email_inboxes_job:
|
trigger_imap_email_inboxes_job:
|
||||||
# cron: '*/1 * * * *'
|
cron: '*/1 * * * *'
|
||||||
# class: 'Inboxes::FetchImapEmailInboxesJob'
|
class: 'Inboxes::FetchImapEmailInboxesJob'
|
||||||
# queue: scheduled_jobs
|
queue: scheduled_jobs
|
||||||
|
|
||||||
# # executed daily at 2230 UTC
|
# executed daily at 2230 UTC
|
||||||
# # which is our lowest traffic time
|
# which is our lowest traffic time
|
||||||
# remove_stale_contact_inboxes_job.rb:
|
remove_stale_contact_inboxes_job.rb:
|
||||||
# cron: '30 22 * * *'
|
cron: '30 22 * * *'
|
||||||
# class: 'Internal::RemoveStaleContactInboxesJob'
|
class: 'Internal::RemoveStaleContactInboxesJob'
|
||||||
# queue: scheduled_jobs
|
queue: scheduled_jobs
|
||||||
|
|
||||||
# # executed daily at 2230 UTC
|
# executed daily at 2230 UTC
|
||||||
# # which is our lowest traffic time
|
# which is our lowest traffic time
|
||||||
# remove_stale_redis_keys_job.rb:
|
remove_stale_redis_keys_job.rb:
|
||||||
# cron: '30 22 * * *'
|
cron: '30 22 * * *'
|
||||||
# class: 'Internal::RemoveStaleRedisKeysJob'
|
class: 'Internal::RemoveStaleRedisKeysJob'
|
||||||
# queue: scheduled_jobs
|
queue: scheduled_jobs
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@chatwoot/chatwoot",
|
"name": "@chatwoot/chatwoot",
|
||||||
"version": "4.0.0",
|
"version": "4.0.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"eslint": "eslint app/**/*.{js,vue}",
|
"eslint": "eslint app/**/*.{js,vue}",
|
||||||
|
|||||||
Reference in New Issue
Block a user