Merge branch 'dev' into jajaja

# Conflicts:
#	package.json
#	yarn.lock
This commit is contained in:
Mike Cao 2025-03-31 23:31:09 -05:00
commit c71e9b5707
11 changed files with 126 additions and 30 deletions

View file

@ -27,19 +27,19 @@ export function SessionActivity({
return (
<div className={styles.timeline}>
{data.map(({ eventId, createdAt, urlPath, eventName, visitId }) => {
{data.map(({ id, createdAt, urlPath, eventName, visitId }) => {
const showHeader = !lastDay || !isSameDay(new Date(lastDay), new Date(createdAt));
lastDay = createdAt;
return (
<Fragment key={eventId}>
<Fragment key={id}>
{showHeader && (
<div className={styles.header}>{formatTimezoneDate(createdAt, 'PPPP')}</div>
)}
<div key={eventId} className={styles.row}>
<div className={styles.row}>
<div className={styles.time}>
<StatusLight color={`#${visitId?.substring(0, 6)}`}>
{formatTimezoneDate(createdAt, 'h:mm:ss aaa')}
{formatTimezoneDate(createdAt, 'pp')}
</StatusLight>
</div>
<Icon>{eventName ? <Icons.Bolt /> : <Icons.Eye />}</Icon>

View file

@ -1,7 +1,7 @@
import { parseRequest } from '@/lib/request';
import { json } from '@/lib/response';
export async function GET(request: Request) {
export async function POST(request: Request) {
const { auth, error } = await parseRequest(request);
if (error) {

View file

@ -34,11 +34,6 @@ const schema = z.object({
export async function POST(request: Request) {
try {
// Bot check
if (!process.env.DISABLE_BOT_CHECK && isbot(request.headers.get('user-agent'))) {
return json({ beep: 'boop' });
}
const { body, error } = await parseRequest(request, schema, { skipAuth: true });
if (error) {
@ -86,6 +81,11 @@ export async function POST(request: Request) {
const { ip, userAgent, device, browser, os, country, subdivision1, subdivision2, city } =
await getClientInfo(request, payload);
// Bot check
if (!process.env.DISABLE_BOT_CHECK && isbot(userAgent)) {
return json({ beep: 'boop' });
}
// IP block
if (hasBlockedIp(ip)) {
return forbidden();