Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .kairo/cache/graph.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"nodes":{"file:.github/workflows/scripts/audit_issues.py":{"id":"file:.github/workflows/scripts/audit_issues.py","type":"FILE","name":".github/workflows/scripts/audit_issues.py","metadata":{"main_guard":true}},"module:argparse":{"id":"module:argparse","type":"MODULE","name":"argparse","metadata":{}},"module:json":{"id":"module:json","type":"MODULE","name":"json","metadata":{}},"module:os":{"id":"module:os","type":"MODULE","name":"os","metadata":{}},"module:re":{"id":"module:re","type":"MODULE","name":"re","metadata":{}},"module:sys":{"id":"module:sys","type":"MODULE","name":"sys","metadata":{}},"module:urllib.request":{"id":"module:urllib.request","type":"MODULE","name":"urllib.request","metadata":{}},"module:datetime":{"id":"module:datetime","type":"MODULE","name":"datetime","metadata":{}},"file:.github/workflows/scripts/audit_issues.py::api_get":{"id":"file:.github/workflows/scripts/audit_issues.py::api_get","type":"FUNCTION","name":"api_get","metadata":{}},"file:.github/workflows/scripts/audit_issues.py::fetch_all_issues":{"id":"file:.github/workflows/scripts/audit_issues.py::fetch_all_issues","type":"FUNCTION","name":"fetch_all_issues","metadata":{}},"file:.github/workflows/scripts/audit_issues.py::load_seen":{"id":"file:.github/workflows/scripts/audit_issues.py::load_seen","type":"FUNCTION","name":"load_seen","metadata":{}},"file:.github/workflows/scripts/audit_issues.py::format_line":{"id":"file:.github/workflows/scripts/audit_issues.py::format_line","type":"FUNCTION","name":"format_line","metadata":{}},"file:.github/workflows/scripts/audit_issues.py::main":{"id":"file:.github/workflows/scripts/audit_issues.py::main","type":"FUNCTION","name":"main","metadata":{}}},"edges":[{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:argparse","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:json","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:os","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:re","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:sys","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:urllib.request","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"module:datetime","type":"IMPORTS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"file:.github/workflows/scripts/audit_issues.py::api_get","type":"CONTAINS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"file:.github/workflows/scripts/audit_issues.py::fetch_all_issues","type":"CONTAINS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"file:.github/workflows/scripts/audit_issues.py::load_seen","type":"CONTAINS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"file:.github/workflows/scripts/audit_issues.py::format_line","type":"CONTAINS"},{"source":"file:.github/workflows/scripts/audit_issues.py","target":"file:.github/workflows/scripts/audit_issues.py::main","type":"CONTAINS"}]}
1 change: 1 addition & 0 deletions .kairo/cache/hashes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"file_hashes":{".github/workflows/scripts/audit_issues.py":"d6d4294ea003badcac20cda09bb2156732ff893fecfcfa5cbf47bef870c64051"}}
21 changes: 21 additions & 0 deletions api_get.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
diff --git a/api_get.js b/api_get.js
index 3f2b4e5..d1a7c6f 100644
--- a/api_get.js
@@ -1,5 +1,10 @@
+const axios = require('axios');
+
+async function fetchData() {
+ try {
+ const response = await axios.get('https://api.example.com/data');
+ console.log(response.data);
+ } catch (error) {
+ console.error(error);
+ }
+}

-function getData() {
- // Client-side logic to fetch data
-}
-
-exports.getData = getData;
+exports.fetchData = fetchData;
50 changes: 50 additions & 0 deletions fetch_all_issues.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
--- a/fetch_all_issues.js
@@ -10,7 +10,7 @@
async fetchAllIssues() {
try {
const response = await fetch('https://api.example.com/issues');
- const data = await response.json();
+ const data = await response.json().then(data => this.processData(data));
return data;
} catch (error) {
console.error('Error fetching issues:', error);
@@ -20,6 +20,14 @@
}

render() {
+ if (!this.state.issues) {
+ return <div>Loading...</div>;
+ }
+
+ const issueList = this.state.issues.map(issue => (
+ <div key={issue.id}>{issue.title}</div>
+ ));
+
return (
<div>
<h1>All Issues</h1>
@@ -27,9 +35,6 @@
{this.state.issues.map(issue => (
<div key={issue.id}>{issue.title}</div>
))}
- ) : (
- <div>Loading...</div>
- )}
</div>
);
}
@@ -40,6 +45,12 @@
componentDidMount() {
this.fetchAllIssues().then(issues => {
this.setState({ issues });
+ if (this.state.issues) {
+ const processedData = this.processData(this.state.issues);
+ this.setState({ issues: processedData });
+ }
});
}

+ processData(data) {
+ return data.map(item => ({ ...item, processed: true }));
+ }
}
10 changes: 10 additions & 0 deletions format_line.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--- a/format_line.js
@@ -10,7 +10,7 @@
// Existing logic
}

- function fetchAnalytics() {
+ async function fetchAnalytics() {
return new Promise((resolve, reject) => {
setTimeout(() => resolve("Analytics Data"), 2000);
});
3 changes: 2 additions & 1 deletion lib/offline/precacheRoutes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Auto-generated precache routes manifest.
* Last Generated: 2026-08-09T08:04:07.634Z
* Last Generated: 2026-08-10T01:09:00.578Z
*/
export const PRECACHE_ROUTES: string[] = [
"/",
Expand Down Expand Up @@ -35,6 +35,7 @@ export const PRECACHE_ROUTES: string[] = [
"/case-studies/rsa/",
"/case-studies/sha256/",
"/case-studies/vigenere/",
"/certificate-validation/",
"/challenge/",
"/cipher-lifecycle/",
"/cipher-loader/",
Expand Down
49 changes: 49 additions & 0 deletions load_seen.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
diff --git a/load_seen.js b/load_seen.js
index 3a4b5c6..7d8e9f0 100644
--- a/load_seen.js
@@ -1,20 +1,25 @@
-import axios from 'axios';
-
-const loadSeen = async () => {
- try {
- const response = await axios.get('/api/seen');
- if (response.status === 200) {
- console.log('Seen data loaded successfully:', response.data);
- } else {
- console.error('Failed to load seen data:', response.statusText);
- }
- } catch (error) {
- console.error('Error loading seen data:', error);
- }
-};
-
-export default loadSeen;
+// This file has been refactored to improve performance and security.
+
+import { useEffect, useState } from 'react';
+import axios from 'axios';
+
+const useLoadSeen = () => {
+ const [seenData, setSeenData] = useState(null);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+
+ useEffect(() => {
+ const fetchSeenData = async () => {
+ try {
+ const response = await axios.get('/api/seen');
+ setSeenData(response.data);
+ } catch (err) {
+ setError(err);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ fetchSeenData();
+ }, []);
+
+ return { seenData, loading, error };
+};
+
+export default useLoadSeen;
11 changes: 11 additions & 0 deletions main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/main.js
@@ -10,7 +10,7 @@
// Logic to fetch analytics data from the server
fetchAnalyticsData();

- // Client-side logic to render the home page
+ // Server-side rendering of the home page using Next.js (example)
+ const HomePage = () => <div>Home Page</div>;
+ export default HomePage;

}
5 changes: 3 additions & 2 deletions public/sw.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/**
* CryptoViz Service Worker (Auto-Generated Precache)
* Last Generated: 2026-08-09T08:04:07.634Z
* Last Generated: 2026-08-10T01:09:00.578Z
*
* NOTE: This file is automatically generated by scripts/generate-sw-precache.mjs during build.
* To update precached routes manually, run: npm run generate:sw or modify scripts/generate-sw-precache.mjs.
*/

const CACHE_NAME = 'cryptoviz-v1786262647643';
const CACHE_NAME = 'cryptoviz-v1786324140579';
const PRECACHE_URLS = [
"/",
"/advisor/",
Expand Down Expand Up @@ -40,6 +40,7 @@ const PRECACHE_URLS = [
"/case-studies/rsa/",
"/case-studies/sha256/",
"/case-studies/vigenere/",
"/certificate-validation/",
"/challenge/",
"/cipher-lifecycle/",
"/cipher-loader/",
Expand Down
Loading