Compare commits

...
Sign in to create a new pull request.

17 commits

Author SHA1 Message Date
Enno Gelhaus
177f7dcb50
feat: remove blockAllMedia option from Sentry replay integration 2025-11-26 16:15:40 +01:00
Enno Gelhaus
f09336dde4
Merge branch 'main' into sentry-masking 2025-11-26 16:10:36 +01:00
Enno Gelhaus
345c3b6237
Merge branch 'main' into sentry-masking 2025-11-26 12:28:03 +01:00
Enno Gelhaus
64b755048a
Merge branch 'main' into sentry-masking 2025-10-01 21:28:08 +02:00
Enno Gelhaus
71bfc6893e
Merge branch 'main' into sentry-masking 2025-10-01 21:15:44 +02:00
Enno Gelhaus
bd4f5a11e8 change/select customer 2025-08-01 13:13:39 +02:00
Enno Gelhaus
d9990892dc revert/tsconfig.json change 2025-08-01 13:10:36 +02:00
Enno Gelhaus
0292965366 fix/select customer 2025-08-01 13:06:12 +02:00
Enno Gelhaus
de44231051 Merge branch 'sentry-masking' of https://github.com/gitroomhq/postiz-app into sentry-masking 2025-08-01 13:03:20 +02:00
Enno Gelhaus
833c41688c fix/sentry masking 2025-08-01 13:02:51 +02:00
Enno Gelhaus
78e4771c17
Merge branch 'main' into sentry-masking 2025-08-01 12:01:21 +02:00
Enno Gelhaus
8e98566657 remove/extra div's 2025-08-01 11:54:23 +02:00
Enno Gelhaus
88ec4b9363 fix/sentry mask DOM 2025-08-01 11:41:48 +02:00
Enno Gelhaus
8964779e5f
Update libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-01 11:39:10 +02:00
Enno Gelhaus
8b442c0ac2
Update libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-01 11:39:04 +02:00
Enno Gelhaus
fdb293725a
Update apps/frontend/src/components/analytics/stars.table.component.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-01 11:38:57 +02:00
Enno Gelhaus
db3488aeb8 feat/sentry masking 2025-08-01 11:36:21 +02:00
14 changed files with 25 additions and 19 deletions

View file

@ -150,7 +150,7 @@ export const StarsTableComponent = () => {
[page, key, state]
);
return (
<div className="flex flex-1 flex-col gap-[15px] min-h-[426px]">
<div className="flex flex-1 flex-col gap-[15px] min-h-[426px]" data-sentry-mask>
<div className="text-textColor flex gap-[8px] items-center select-none">
<div
onClick={changePage('decrease')}
@ -199,13 +199,13 @@ export const StarsTableComponent = () => {
)}
</div>
</div>
<div className="flex-1 bg-secondary">
<div className="flex-1 bg-secondary" data-sentry-mask>
{stars?.stars?.length ? (
<table className={`table1`}>
<thead>
<tr>
<th>
<UpDown name="Repository" param="login" />
<UpDown name="Repository" param="login"/>
</th>
<th>
<UpDown name="Date" param="date" />

View file

@ -87,8 +87,8 @@ export const Autopost: FC = () => {
<div>{t('active', 'Active')}</div>
{data?.map((p: any) => (
<Fragment key={p.id}>
<div className="flex flex-col justify-center">{p.title}</div>
<div className="flex flex-col justify-center">{p.url}</div>
<div className="flex flex-col justify-center" data-sentry-mask>{p.title}</div>
<div className="flex flex-col justify-center" data-sentry-mask>{p.url}</div>
<div className="flex flex-col justify-center">
<div>
<Button onClick={addWebhook(p)}>

View file

@ -187,6 +187,7 @@ export const MenuGroupComponent: FC<
'data-tooltip-content': group.name,
}
: {})}
data-sentry-mask
>
{group.name}
</div>
@ -325,6 +326,7 @@ export const MenuComponent: FC<
'group-[.sidebar]:hidden flex-1 whitespace-nowrap text-ellipsis overflow-hidden cursor-move',
integration.disabled && 'opacity-50'
)}
data-sentry-mask
>
{integration.name}
</div>

View file

@ -18,7 +18,7 @@ export const SelectCustomer: FC<{
return null;
}
return (
<Select
<Select data-sentry-mask
hideErrors={true}
label=""
name="customer"
@ -33,7 +33,7 @@ export const SelectCustomer: FC<{
{uniqBy(integrations, (u) => u?.customer?.name)
.filter((f) => f.customer?.name)
.map((p) => (
<option key={p.customer?.id} value={p.customer?.id}>
<option key={p.customer?.id} value={p.customer?.id} data-sentry-mask>
{t('customer', 'Customer:')}
{p.customer?.name}
</option>

View file

@ -453,7 +453,7 @@ export const ManageModal: FC<AddEditModalProps> = (props) => {
<div>
<TopTitle title="" removeTitle={true} extraClass="h-[75px]">
<div className="flex flex-1 gap-[10px]">
<div>
<div data-sentry-mask>
{!dummy && (
<TagsComponent
name="tags"

View file

@ -29,7 +29,7 @@ export const PreviewWrapper = ({ children }: { children: ReactNode }) => {
showDevConsole={false}
>
<MantineWrapper>
<Toaster />
<Toaster/>
{children}
</MantineWrapper>
</CopilotKit>

View file

@ -58,7 +58,7 @@ export const PublicComponent = () => {
</a>
</div>
<div className="my-[16px] mt-[16px] bg-sixth border-fifth items-center border rounded-[4px] p-[24px] flex gap-[24px]">
<div className="flex items-center">
<div className="flex items-center" data-sentry-mask>
{reveal ? (
user.publicApi
) : (
@ -89,7 +89,7 @@ export const PublicComponent = () => {
)}
</div>
<div className="my-[16px] mt-[16px] bg-sixth border-fifth items-center border rounded-[4px] p-[24px] flex gap-[24px]">
<div className="flex items-center">
<div className="flex items-center" data-sentry-mask>
{reveal2 ? (
`${backendUrl}/mcp/` + user.publicApi
) : (

View file

@ -176,7 +176,7 @@ export const Sets: FC = () => {
<div>{t('delete', 'Delete')}</div>
{data?.map((p: any) => (
<Fragment key={p.id}>
<div className="flex flex-col justify-center">{p.name}</div>
<div className="flex flex-col justify-center" data-sentry-mask>{p.name}</div>
<div className="flex flex-col justify-center">
<div>
<Button onClick={addSet(p)}>{t('edit', 'Edit')}</Button>

View file

@ -87,7 +87,7 @@ export const SignaturesComponent: FC<{
{data?.map((p: any) => (
<Fragment key={p.id}>
<div className="relative flex-1 me-[20px] overflow-x-hidden">
<div className="absolute start-0 line-clamp-1 top-[50%] -translate-y-[50%] text-ellipsis">
<div className="absolute start-0 line-clamp-1 top-[50%] -translate-y-[50%] text-ellipsis" data-sentry-mask>
{p.content.slice(0, 15) + '...'}
</div>
</div>

View file

@ -175,7 +175,7 @@ export const TeamsComponent = () => {
<div className="flex flex-col gap-[16px]">
{(data || []).map((p) => (
<div key={p.user.id} className="flex items-center">
<div className="flex-1">
<div className="flex-1" data-sentry-mask>
{capitalize(p.user.email.split('@')[0]).split('.')[0]}
</div>
<div className="flex-1">

View file

@ -78,8 +78,8 @@ export const Webhooks: FC = () => {
<div>{t('delete', 'Delete')}</div>
{data?.map((p: any) => (
<Fragment key={p.id}>
<div className="flex flex-col justify-center">{p.name}</div>
<div className="flex flex-col justify-center">{p.url}</div>
<div className="flex flex-col justify-center" data-sentry-mask>{p.name}</div>
<div className="flex flex-col justify-center" data-sentry-mask>{p.url}</div>
<div className="flex flex-col justify-center">
<div>
<Button onClick={addWebhook(p)}>

View file

@ -8,8 +8,12 @@ export const initializeSentryClient = (environment: string, dsn: string) =>
Sentry.browserTracingIntegration(),
Sentry.browserProfilingIntegration(),
Sentry.replayIntegration({
maskAllText: true,
maskAllText: false,
maskAllInputs: true,
// Manual Masking
mask: ['.sentry-mask', '[data-sentry-mask]'],
unmask: ['.sentry-unmask', '[data-sentry-unmask]'],
}),
Sentry.feedbackIntegration({
// Disable the injection of the default widget

View file

@ -66,7 +66,7 @@ export const Toaster = () => {
</svg>
)}
</div>
<div className="flex-1 text-textColor">{toasterText}</div>
<div className="flex-1 text-textColor" data-sentry-mask>{toasterText}</div>
<svg
xmlns="http://www.w3.org/2000/svg"
width="60"

View file

@ -16,4 +16,4 @@
"path": "./tsconfig.lib.json"
}
]
}
}