@striae-org/striae 6.1.4 → 6.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -113,11 +113,11 @@ export const SidebarContainer: React.FC<SidebarContainerProps> = (props) => {
113
113
  Security Policy
114
114
  </Link>
115
115
  <Link
116
- to="https://community.striae.org"
116
+ to="https://account.striae.org/p/login/dRmcMZ3HC5vVfFZ4St4wM00"
117
117
  target="_blank"
118
118
  rel="noopener noreferrer"
119
119
  className={styles.footerModalLink}>
120
- Striae Community
120
+ Manage Membership
121
121
  </Link>
122
122
  </div>
123
123
 
package/app/root.tsx CHANGED
@@ -64,6 +64,7 @@ export function Layout({ children }: { children: React.ReactNode }) {
64
64
  <head>
65
65
  <meta charSet="utf-8" />
66
66
  <meta name="viewport" content="width=device-width, initial-scale=1" />
67
+ <meta name="robots" content="noindex, nofollow" />
67
68
  <style dangerouslySetInnerHTML={{ __html: themeStyles }} />
68
69
  <Links />
69
70
  </head>
@@ -729,7 +729,7 @@ export const Striae = ({ user }: StriaePage) => {
729
729
  supportLevel: notes.supportLevel || 'Inconclusive',
730
730
  includeConfirmation: notes.includeConfirmation ?? false,
731
731
  boxAnnotations: notes.boxAnnotations || [],
732
- updatedAt: notes.updatedAt || new Date().toISOString()
732
+ updatedAt: notes.updatedAt || ''
733
733
  });
734
734
  } else {
735
735
  setAnnotationData(null);
@@ -794,6 +794,7 @@ export const Striae = ({ user }: StriaePage) => {
794
794
  const now = new Date().toISOString();
795
795
  const dataWithEarliestTimestamp: AnnotationData = {
796
796
  ...data,
797
+ updatedAt: now,
797
798
  earliestAnnotationTimestamp: resolveEarliestAnnotationTimestamp(
798
799
  data.earliestAnnotationTimestamp,
799
800
  annotationData?.earliestAnnotationTimestamp,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@striae-org/striae",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": false,
5
5
  "description": "Striae is a specialized, cloud-native platform designed to streamline forensic firearms identification by providing an intuitive environment for digital comparison image annotation, authenticated confirmations, and automated report generation.",
6
6
  "license": "Apache-2.0",
@@ -33,8 +33,6 @@
33
33
  "files": [
34
34
  "app/",
35
35
  "!app/config",
36
- "!app/routes/auth/login.tsx",
37
- "!app/routes/auth/login.module.css",
38
36
  "react-router.config.ts",
39
37
  "load-context.ts",
40
38
  "scripts/",
@@ -123,16 +121,15 @@
123
121
  "eslint-plugin-import": "^2.32.0",
124
122
  "eslint-plugin-jsx-a11y": "^6.10.2",
125
123
  "eslint-plugin-react": "^7.37.5",
126
- "eslint-plugin-react-hooks": "^7.1.0",
124
+ "eslint-plugin-react-hooks": "^7.1.1",
127
125
  "firebase-admin": "^13.8.0",
128
126
  "modern-normalize": "^3.0.1",
129
- "typescript": "^5.9.3",
130
- "vite": "^7.3.2",
131
- "vite-tsconfig-paths": "^6.1.1",
127
+ "typescript": "^6.0.3",
128
+ "vite": "^8.0.8",
132
129
  "wrangler": "^4.83.0"
133
130
  },
134
131
  "overrides": {
135
- "@tootallnate/once": "3.0.1"
132
+ "@tootallnate/once": "3.0.1"
136
133
  },
137
134
  "engines": {
138
135
  "node": ">=20.19.0"
package/public/_headers CHANGED
@@ -1,12 +1,22 @@
1
1
  /*.css
2
2
  Cache-Control: public, max-age=31536000, immutable
3
3
  /*.js
4
- Cache-Control: public, max-age=31536000, immutable
4
+ Cache-Control: public, max-age=31536000, immutable
5
5
  /*.svg
6
6
  Cache-Control: public, max-age=31536000, immutable
7
7
  /*.jpg
8
8
  Cache-Control: public, max-age=31536000, immutable
9
+ /*.jpeg
10
+ Cache-Control: public, max-age=31536000, immutable
9
11
  /*.png
10
12
  Cache-Control: public, max-age=31536000, immutable
13
+ /*.woff2
14
+ Cache-Control: public, max-age=31536000, immutable
15
+ /*.woff
16
+ Cache-Control: public, max-age=31536000, immutable
11
17
  /*
12
18
  Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
19
+ X-Robots-Tag: noindex, nofollow
20
+ X-Content-Type-Options: nosniff
21
+ X-Frame-Options: DENY
22
+ Referrer-Policy: strict-origin-when-cross-origin
@@ -0,0 +1,2 @@
1
+ User-agent: *
2
+ Disallow: /
@@ -63,23 +63,6 @@ copy_example_configs() {
63
63
  echo -e "${GREEN} ✅ app: copied $copied_config_files config file(s) from config-example${NC}"
64
64
  fi
65
65
 
66
- # Copy auth route template files
67
- echo -e "${YELLOW} Copying auth route template files...${NC}"
68
-
69
- if [ -f "app/routes/auth/login.example.tsx" ] && { [ "$update_env" = "true" ] || [ ! -f "app/routes/auth/login.tsx" ]; }; then
70
- cp app/routes/auth/login.example.tsx app/routes/auth/login.tsx
71
- echo -e "${GREEN} ✅ auth: login.tsx created from example${NC}"
72
- elif [ -f "app/routes/auth/login.tsx" ]; then
73
- echo -e "${YELLOW} ⚠️ auth: login.tsx already exists, skipping copy${NC}"
74
- fi
75
-
76
- if [ -f "app/routes/auth/login.module.example.css" ] && { [ "$update_env" = "true" ] || [ ! -f "app/routes/auth/login.module.css" ]; }; then
77
- cp app/routes/auth/login.module.example.css app/routes/auth/login.module.css
78
- echo -e "${GREEN} ✅ auth: login.module.css created from example${NC}"
79
- elif [ -f "app/routes/auth/login.module.css" ]; then
80
- echo -e "${YELLOW} ⚠️ auth: login.module.css already exists, skipping copy${NC}"
81
- fi
82
-
83
66
  # Navigate to each worker directory and copy the example file
84
67
  echo -e "${YELLOW} Copying worker configuration files...${NC}"
85
68
 
package/vite.config.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { reactRouter } from "@react-router/dev/vite";
2
2
  import { cloudflareDevProxy } from "@react-router/dev/vite/cloudflare";
3
3
  import { defineConfig } from "vite";
4
- import tsconfigPaths from "vite-tsconfig-paths";
5
4
 
6
5
  export default defineConfig({
7
6
  server: {
@@ -11,9 +10,11 @@ export default defineConfig({
11
10
  chunkSizeWarningLimit: 500,
12
11
  minify: true,
13
12
  },
13
+ resolve: {
14
+ tsconfigPaths: true,
15
+ },
14
16
  plugins: [
15
17
  cloudflareDevProxy(),
16
18
  reactRouter(),
17
- tsconfigPaths(),
18
19
  ],
19
20
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-worker",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "deploy": "wrangler deploy",
@@ -7,7 +7,7 @@
7
7
  "name": "AUDIT_WORKER_NAME",
8
8
  "account_id": "ACCOUNT_ID",
9
9
  "main": "src/audit-worker.ts",
10
- "compatibility_date": "2026-04-17",
10
+ "compatibility_date": "2026-04-19",
11
11
  "compatibility_flags": [
12
12
  "nodejs_compat"
13
13
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "data-worker",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "deploy": "wrangler deploy",
@@ -5,7 +5,7 @@
5
5
  "name": "DATA_WORKER_NAME",
6
6
  "account_id": "ACCOUNT_ID",
7
7
  "main": "src/data-worker.ts",
8
- "compatibility_date": "2026-04-17",
8
+ "compatibility_date": "2026-04-19",
9
9
  "compatibility_flags": [
10
10
  "nodejs_compat"
11
11
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "image-worker",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "deploy": "wrangler deploy",
@@ -2,7 +2,7 @@
2
2
  "name": "IMAGES_WORKER_NAME",
3
3
  "account_id": "ACCOUNT_ID",
4
4
  "main": "src/image-worker.ts",
5
- "compatibility_date": "2026-04-17",
5
+ "compatibility_date": "2026-04-19",
6
6
  "compatibility_flags": [
7
7
  "nodejs_compat"
8
8
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdf-worker",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "generate:assets": "node scripts/generate-assets.js",
@@ -2,7 +2,7 @@
2
2
  "name": "PDF_WORKER_NAME",
3
3
  "account_id": "ACCOUNT_ID",
4
4
  "main": "src/pdf-worker.ts",
5
- "compatibility_date": "2026-04-17",
5
+ "compatibility_date": "2026-04-19",
6
6
  "compatibility_flags": [
7
7
  "nodejs_compat"
8
8
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "user-worker",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "deploy": "wrangler deploy",
@@ -2,7 +2,7 @@
2
2
  "name": "USER_WORKER_NAME",
3
3
  "account_id": "ACCOUNT_ID",
4
4
  "main": "src/user-worker.ts",
5
- "compatibility_date": "2026-04-17",
5
+ "compatibility_date": "2026-04-19",
6
6
  "compatibility_flags": [
7
7
  "nodejs_compat"
8
8
  ],
@@ -1,6 +1,6 @@
1
1
  #:schema node_modules/wrangler/config-schema.json
2
2
  name = "PAGES_PROJECT_NAME"
3
- compatibility_date = "2026-04-17"
3
+ compatibility_date = "2026-04-19"
4
4
  compatibility_flags = ["nodejs_compat"]
5
5
  pages_build_output_dir = "./build/client"
6
6