Merge branch 'main' into UI-Meeting

This commit is contained in:
2024-06-07 17:37:19 +02:00
11 changed files with 71 additions and 55 deletions

View File

@@ -8,7 +8,7 @@ import { FaGear } from "react-icons/fa6";
import { FaCheck, FaTrash, FaStar, FaMicrophone } from "react-icons/fa";
import { MdError } from "react-icons/md";
import useTranscriptList from "../transcripts/useTranscriptList";
import { formatTime } from "../../lib/time";
import { formatTimeMs } from "../../lib/time";
import useApi from "../../lib/useApi";
import { useError } from "../../(errors)/errorContext";
import { FaEllipsisVertical } from "react-icons/fa6";
@@ -274,7 +274,7 @@ export default function TranscriptBrowser() {
<Text fontSize="small">
{new Date(item.created_at).toLocaleString("en-US")}
{"\u00A0"}-{"\u00A0"}
{formatTime(Math.floor(item.duration / 1000))}
{formatTimeMs(item.duration)}
</Text>
<ExpandableText noOfLines={5}>
{item.short_summary}

View File

@@ -50,7 +50,6 @@ export default function Player(props: PlayerProps) {
const _wavesurfer = WaveSurfer.create({
container: waveformRef.current,
peaks: [props.waveform.data],
height: "auto",
duration: Math.floor(props.mediaDuration / 1000),
media: props.media,
@@ -161,7 +160,7 @@ export default function Player(props: PlayerProps) {
const timeLabel = () => {
if (props.mediaDuration && Math.floor(props.mediaDuration / 1000) > 0)
return `${formatTime(currentTime)}/${formatTime(
Math.floor(props.mediaDuration / 1000),
Math.floor(props.mediaDuration / 1000)
)}`;
return "";
};

View File

@@ -1,4 +1,6 @@
// TODO format duraction in be ?
export const formatTimeMs = (milliseconds: number): string => {
return formatTime(Math.floor(milliseconds / 1000));
};
export const formatTime = (seconds: number): string => {
let hours = Math.floor(seconds / 3600);

View File

@@ -1,11 +1,11 @@
import { GetTranscript, GetTranscriptTopic } from "../api";
import { formatTime } from "./time";
import { formatTime, formatTimeMs } from "./time";
import { extractDomain } from "./utils";
export async function sendZulipMessage(
stream: string,
topic: string,
message: string,
message: string
) {
console.log("Sendiing zulip message", stream, topic);
try {
@@ -28,14 +28,14 @@ export const ZULIP_MSG_MAX_LENGTH = 10000;
export function getZulipMessage(
transcript: GetTranscript,
topics: GetTranscriptTopic[] | null,
includeTopics: boolean,
includeTopics: boolean
) {
const date = new Date(transcript.created_at);
// Get the timezone offset in minutes and convert it to hours and minutes
const timezoneOffset = -date.getTimezoneOffset();
const offsetHours = String(
Math.floor(Math.abs(timezoneOffset) / 60),
Math.floor(Math.abs(timezoneOffset) / 60)
).padStart(2, "0");
const offsetMinutes = String(Math.abs(timezoneOffset) % 60).padStart(2, "0");
const offsetSign = timezoneOffset >= 0 ? "+" : "-";
@@ -58,7 +58,7 @@ export function getZulipMessage(
**Date**: <time:${dateTimeString}>
**Link**: [${extractDomain(link)}](${link})
**Duration**: ${formatTime(transcript.duration)}
**Duration**: ${formatTimeMs(transcript.duration)}
`;
let topicText = "";

View File

@@ -4,18 +4,22 @@
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: "https://a6fb679d6e99e303bb2ea0e2d68bfe46@o1376440.ingest.sentry.io/4505634666577920",
const SENTRY_DSN = process.env.SENTRY_DSN;
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
if (SENTRY_DSN) {
Sentry.init({
dsn: SENTRY_DSN,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
replaysOnErrorSampleRate: 0.0,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
// This sets the sample rate to be 10%. You may want this to be 100% while
// in development and sample at a lower rate in production
replaysSessionSampleRate: 0.0,
});
replaysOnErrorSampleRate: 0.0,
// This sets the sample rate to be 10%. You may want this to be 100% while
// in development and sample at a lower rate in production
replaysSessionSampleRate: 0.0,
});
}

View File

@@ -5,12 +5,16 @@
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: "https://a6fb679d6e99e303bb2ea0e2d68bfe46@o1376440.ingest.sentry.io/4505634666577920",
const SENTRY_DSN = process.env.SENTRY_DSN;
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
if (SENTRY_DSN) {
Sentry.init({
dsn: SENTRY_DSN,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
});
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
});
}

View File

@@ -4,12 +4,16 @@
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: "https://a6fb679d6e99e303bb2ea0e2d68bfe46@o1376440.ingest.sentry.io/4505634666577920",
const SENTRY_DSN = process.env.SENTRY_DSN;
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
if (SENTRY_DSN) {
Sentry.init({
dsn: SENTRY_DSN,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
});
// Adjust this value in production, or use tracesSampler for greater control
tracesSampleRate: 0,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
});
}