Skip to content

Commit 7b9ae36

Browse files
louis030195github-actions[bot]tribhuwan-kumartribhuwan-kumarYashashwini2003
authored
stripe integration etc. (#909) #913 #894
* bulldozer mode * release-app - speaker id, linkedin agent v2 in preview, loom free temporarily * docs: add changelog for 0.16.0 * fix: clickable issue with status button on windows (#911) Co-authored-by: tribhuwan-kumar <[email protected]> * release-app fix windows status button cannot be clicked * docs: add changelog for 0.16.1 * [migration] Add UPDATE and DELETE triggers for FTS tables (#906) * feat: avoid double server running (#900) * feat: avoid double server running * chore: install `port_check` * #894 (#898) * fix * fix worker * fix no api key deepgram - and ui stuff * fix --------- Co-authored-by: GitHub Actions Bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: tribhuwan <[email protected]> Co-authored-by: tribhuwan-kumar <[email protected]> Co-authored-by: Yashashwini2003 <[email protected]> Co-authored-by: ologbonowiwi <[email protected]>
1 parent 5e2f8f7 commit 7b9ae36

File tree

26 files changed

+1073
-350
lines changed

26 files changed

+1073
-350
lines changed

.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,4 @@ onnxruntime-win-x64-gpu*/
4444
# JavaScript stuff
4545
node_modules/
4646

47-
# Cloudflare workers
48-
.dev.vars
4947

pipes/pipe-keyword-notification/pipe.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// import { pipe, ContentItem } from "@screenpipe/js";
2-
import { pipe, ContentItem } from "/Users/louisbeaumont/Documents/screen-pipe/screenpipe-js/main.ts";
1+
import { pipe, ContentItem } from "@screenpipe/js";
32

43
async function monitorScreenAndNotify(): Promise<void> {
54
console.log("starting screen monitor");

screenpipe-actions/ai-proxy/src/index.ts

+32-28
Original file line numberDiff line numberDiff line change
@@ -225,20 +225,10 @@ export default {
225225
}
226226
}
227227

228-
if (path === '/v1/transcribe' && request.method === 'POST') {
229-
const formData = await request.formData();
230-
const audioFile = formData.get('audio') as File;
231-
const languages = formData.get('languages')?.toString().split(',') || [];
232-
233-
if (!audioFile) {
234-
return new Response(JSON.stringify({ error: 'no audio file provided' }), {
235-
status: 400,
236-
headers: {
237-
...corsHeaders,
238-
'Content-Type': 'application/json',
239-
},
240-
});
241-
}
228+
if (path === '/v1/listen' && request.method === 'POST') {
229+
// Get the raw body instead of form data
230+
const audioBuffer = await request.arrayBuffer();
231+
const languages = request.headers.get('detect_language')?.split(',') || [];
242232

243233
try {
244234
const deepgramResponse = await fetch(
@@ -248,9 +238,9 @@ export default {
248238
method: 'POST',
249239
headers: {
250240
Authorization: `Token ${env.DEEPGRAM_API_KEY}`,
251-
'Content-Type': audioFile.type,
241+
'Content-Type': 'audio/wav', // Set correct content type
252242
},
253-
body: await audioFile.arrayBuffer(),
243+
body: audioBuffer,
254244
}
255245
);
256246

@@ -268,13 +258,19 @@ export default {
268258
});
269259
} catch (error) {
270260
console.error('Error in Deepgram request:', error);
271-
return new Response(JSON.stringify({ error: error.message }), {
272-
status: 500,
273-
headers: {
274-
...corsHeaders,
275-
'Content-Type': 'application/json',
276-
},
277-
});
261+
return new Response(
262+
JSON.stringify({
263+
error: error.message,
264+
details: error.stack,
265+
}),
266+
{
267+
status: 500,
268+
headers: {
269+
...corsHeaders,
270+
'Content-Type': 'application/json',
271+
},
272+
}
273+
);
278274
}
279275
}
280276

@@ -310,15 +306,18 @@ wrangler dev
310306
311307
312308
terminal 2
309+
HOST=https://ai-proxy.i-f9f.workers.dev
310+
HOST=http://localhost:8787
313311
314-
curl http://localhost:8787/test
312+
curl $host/test
315313
316-
curl -X POST http://localhost:8787/v1/transcribe \
317-
-F "audio=@./screenpipe-audio/test_data/poetic_kapil_gupta.wav" \
318-
-F "languages=en,fr"
319314
315+
curl -X POST $HOST/v1/listen \
316+
-H "Content-Type: audio/wav" \
317+
-H "detect_language: en" \
318+
--data-binary "@./screenpipe-audio/test_data/poetic_kapil_gupta.wav"
320319
321-
curl -X POST https://ai-proxy.i-f9f.workers.dev/v1/chat/completions \
320+
curl -X POST $HOST/v1/chat/completions \
322321
-H "Content-Type: application/json" \
323322
-H "Authorization: Bearer YOUR_API_KEY" \
324323
-d '{
@@ -337,4 +336,9 @@ curl -X POST https://ai-proxy.i-f9f.workers.dev/v1/chat/completions \
337336
}' | while read -r line; do
338337
echo "$line" | sed 's/^data: //g' | jq -r '.choices[0].delta.content // empty' 2>/dev/null
339338
done | tr -d '\n'
339+
340+
341+
deployment
342+
343+
wrangler deploy
340344
*/

screenpipe-app-tauri/bun.lockb

3.89 KB
Binary file not shown.

screenpipe-app-tauri/components/header.tsx

+1-6
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ import {
4848
} from "@/components/ui/tooltip";
4949
import { Calendar } from "lucide-react";
5050
import { useUser } from "@/lib/hooks/use-user";
51-
import { AuthButton } from "./auth";
5251

5352
export default function Header() {
5453
const [showInbox, setShowInbox] = useState(false);
@@ -154,7 +153,7 @@ export default function Header() {
154153
</div>
155154
<div className="flex space-x-4 absolute top-4 right-4">
156155
<HealthStatus className="mt-3 cursor-pointer" />
157-
156+
158157
<Button
159158
variant="ghost"
160159
size="icon"
@@ -179,10 +178,6 @@ export default function Header() {
179178
<DropdownMenuLabel>account</DropdownMenuLabel>
180179
<DropdownMenuSeparator />
181180
<DropdownMenuGroup>
182-
<DropdownMenuItem className="cursor-pointer p-0">
183-
<AuthButton />
184-
</DropdownMenuItem>
185-
<DropdownMenuSeparator />
186181
<DropdownMenuItem
187182
className="cursor-pointer p-0"
188183
onClick={(e) => {

screenpipe-app-tauri/components/pipe-store-markdown.tsx

+5-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ export function PipeStoreMarkdown({
3434

3535
return match ? (
3636
<div className="relative group">
37-
3837
<CodeBlock
3938
key={Math.random()}
4039
language={(match && match[1]) || ""}
@@ -44,13 +43,16 @@ export function PipeStoreMarkdown({
4443
</div>
4544
) : (
4645
<span className="relative group inline-block">
47-
<code className="py-0.5 px-1 rounded-sm font-mono text-sm text-zinc-100" {...props}>
46+
<code
47+
className="py-0.5 px-1 rounded-sm font-mono text-sm text-grey-900"
48+
{...props}
49+
>
4850
{content}
4951
</code>
5052
<Button
5153
size="icon"
5254
variant="ghost"
53-
className="absolute -right-8 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity h-6 w-6"
55+
className="absolute -right-3 -top-3 opacity-0 group-hover:opacity-100 transition-opacity h-6 w-6"
5456
onClick={() => copyToClipboard(content)}
5557
>
5658
{isCopied ? (

0 commit comments

Comments
 (0)