fix: add credentials to fetch calls for authenticated API requests
Fix "Failed to load on projects" error by including credentials in all fetch calls to /api/* endpoints. The session cookie must be sent with requests for requireAuth middleware to authenticate users. Changes: - projects.js: Add credentials: 'include' to all 6 API fetch calls (loadProjects, saveProject, deleteProject, loadDeletedProjects, restoreProject, permanentDeleteProject) - sessions-landing.js: Add credentials to 3 API fetch calls (loadSessionsAndProjects, moveSessionToProject, context menu suggestions) Resolves issue where projects page showed "Failed to load projects" error on https://www.rommark.dev/claude Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -119,7 +119,9 @@ async function loadProjects() {
|
||||
try {
|
||||
projectsGrid.innerHTML = '<div class="loading">Loading projects...</div>';
|
||||
|
||||
const response = await fetch('/api/projects');
|
||||
const response = await fetch('/api/projects', {
|
||||
credentials: 'include'
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
@@ -157,6 +159,7 @@ async function saveProject(projectData) {
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
credentials: 'include',
|
||||
body: JSON.stringify(projectData)
|
||||
});
|
||||
|
||||
@@ -199,7 +202,8 @@ async function deleteProject(projectId) {
|
||||
|
||||
try {
|
||||
const response = await fetch(`/api/projects/${projectId}`, {
|
||||
method: 'DELETE'
|
||||
method: 'DELETE',
|
||||
credentials: 'include'
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
@@ -222,7 +226,9 @@ async function deleteProject(projectId) {
|
||||
*/
|
||||
async function loadDeletedProjects() {
|
||||
try {
|
||||
const response = await fetch('/api/projects?includeDeleted=true');
|
||||
const response = await fetch('/api/projects?includeDeleted=true', {
|
||||
credentials: 'include'
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
@@ -242,7 +248,8 @@ async function loadDeletedProjects() {
|
||||
async function restoreProject(projectId) {
|
||||
try {
|
||||
const response = await fetch(`/api/projects/${projectId}/restore`, {
|
||||
method: 'POST'
|
||||
method: 'POST',
|
||||
credentials: 'include'
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
@@ -270,7 +277,8 @@ async function permanentDeleteProject(projectId) {
|
||||
|
||||
try {
|
||||
const response = await fetch(`/api/projects/${projectId}/permanent`, {
|
||||
method: 'DELETE'
|
||||
method: 'DELETE',
|
||||
credentials: 'include'
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
|
||||
Reference in New Issue
Block a user