feat: organize and archive legacy files to history directory
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Clean up base directory by moving completed work and legacy files to organized subdirectories within history/, improving project navigation and separating active files from historical artifacts. ## Archived Files: ### Development Scripts → history/development-scripts/ - debug_*.py (7 files) - Legacy debugging and development scripts - demo_issue_150.py - Issue demonstration script ### Migration Reports → history/migration-reports/ - AGENT_MIGRATION_REPORT.md - Completed agent migration work - ASSET_MODEL_MIGRATION.md - Completed asset model migration - KAIZEN_MIGRATION_GAMEPLAN.md - Completed kaizen framework migration - KAIZEN_UPDATE_REPORT.md - Completed kaizen update work - PHASE_3_COMPLETION_REPORT.md - Completed phase 3 work - PHASE_4_COMPLETION_REPORT.md - Completed phase 4 work ### Legacy Files → history/legacy-files/ - .env.tddai - Legacy TDD framework configuration - README.html - Generated file (superseded by README.md) - test_status.html - Generated test status file - install-*.sh (5 files) - Legacy individual install scripts ## Benefits: - **Cleaner Repository**: Base directory now focused on active development - **Better Organization**: Historical files properly categorized and preserved - **Improved Navigation**: Easier to find current vs. historical information - **Preserved History**: All work artifacts maintained for reference Repository now has 33 active files in base directory (reduced from 48) with complete historical preservation in organized subdirectories. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
10
history/legacy-files/.env.tddai
Normal file
10
history/legacy-files/.env.tddai
Normal file
@@ -0,0 +1,10 @@
|
||||
# TDDAi configuration for MarkiTect project
|
||||
# These environment variables override the default tddai configuration
|
||||
|
||||
# Workspace settings
|
||||
TDDAI_WORKSPACE_DIR=.markitect_workspace
|
||||
|
||||
# Git repository settings
|
||||
TDDAI_GITEA_URL=http://92.205.130.254:32166
|
||||
TDDAI_REPO_OWNER=coulomb
|
||||
TDDAI_REPO_NAME=markitect_project
|
||||
68
history/legacy-files/README.html
Normal file
68
history/legacy-files/README.html
Normal file
@@ -0,0 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>README</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif;
|
||||
line-height: 1.6;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
color: #333;
|
||||
|
||||
|
||||
}
|
||||
#markdown-content {
|
||||
margin: 0;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #2c3e50;
|
||||
|
||||
}
|
||||
pre {
|
||||
background-color: #f4f4f4;
|
||||
|
||||
padding: 15px;
|
||||
border-radius: 5px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
code {
|
||||
background-color: #f4f4f4;
|
||||
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
blockquote {
|
||||
border-left: 4px solid #ddd;
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="markdown-content"></div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script>
|
||||
// Embedded markdown payload
|
||||
const markdownContent = "MarkiTect - Advanced Markdown Engine\n\nYour Markdown, Redefined.\n\nMarkiTect transforms markdown from plain text into intelligent, structured data with performance optimization, schema validation, and relational querying capabilities. Stop treating documentation as text files\u2014start managing it as a database.\n\n**Key Features:**\n- **Lightning Performance**: 60-85% faster document processing through intelligent AST caching\n- **Schema Validation**: Enforce document structure and consistency\n- **Database Integration**: Query markdown content with SQL-like operations\n- **CLI Tools**: Complete command-line interface for automation and workflows\n\n## \ud83d\udcda Documentation\n\n**Quick Start:** [Getting Started](#getting-started) \u00b7 [Command Reference](docs/user-guides/cache-management.md)\n\n**Architecture:** [Caching System](docs/architecture/caching-system.md) \u00b7 [Performance Philosophy](docs/#performance-philosophy)\n\n**Development:** [TDD Workflow](docs/development/tdd-workflow.md) \u00b7 [Contributing](#contributing)\n\n**Project Status:** [Current Status](history/ProjectStatusDigest.md) \u00b7 [Roadmap](history/ROADMAP.md) \u00b7 [Next Actions](NEXT.md)\n";
|
||||
const frontMatter = {};
|
||||
|
||||
// Render markdown on page load
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
if (typeof marked !== 'undefined') {
|
||||
document.getElementById('markdown-content').innerHTML = marked.parse(markdownContent);
|
||||
} else {
|
||||
// Fallback if marked.js fails to load
|
||||
document.getElementById('markdown-content').innerHTML =
|
||||
'<pre>' + markdownContent.replace(/</g, '<').replace(/>/g, '>') + '</pre>';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
14
history/legacy-files/install-claude.sh
Normal file
14
history/legacy-files/install-claude.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install-claude.sh - install claude code
|
||||
#
|
||||
# USAGE
|
||||
# run "./install-claude.sh" to make sure dependencies are satisfied
|
||||
|
||||
|
||||
|
||||
# install claude code
|
||||
sudo npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# There is some insane trubble with curl and Ubunutu 24.04 so I use this approach as the 102nd I tried...
|
||||
|
||||
14
history/legacy-files/install-cursor.sh
Normal file
14
history/legacy-files/install-cursor.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install-cursor.sh - install cursor cli coding environment
|
||||
#
|
||||
# USAGE
|
||||
# run "./install-cursor.sh" to make sure dependencies are satisfied
|
||||
|
||||
|
||||
|
||||
# install cursor cli coding environment
|
||||
# curl https://cursor.com/install -fsS | bash # error with OpenSSL
|
||||
# wget -qO- https://cursor.com/install | bash # error with OpenSSL
|
||||
|
||||
|
||||
35
history/legacy-files/install-depends.sh
Normal file
35
history/legacy-files/install-depends.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install-depends.sh - apt install whatever needed to get going from wsl Ubuntu-24.04
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# run "sudo ./install-depends.sh" to make sure dependencies are satisfied
|
||||
|
||||
|
||||
# prepare
|
||||
apt clean
|
||||
apt update
|
||||
apt upgrade
|
||||
add-apt-repository universe
|
||||
|
||||
# basic tooling
|
||||
apt install vim
|
||||
apt install make
|
||||
apt install git
|
||||
|
||||
# some more convenience
|
||||
apt install tree
|
||||
|
||||
# python dev environment
|
||||
apt install python3-pip
|
||||
apt install python3-venv
|
||||
apt install python3-full
|
||||
apt install python3-pytest
|
||||
apt install build-essential
|
||||
|
||||
|
||||
# node dev environment
|
||||
apt install nodejs
|
||||
apt install npm
|
||||
|
||||
11
history/legacy-files/install-nvm.sh
Normal file
11
history/legacy-files/install-nvm.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install-nvm.sh - install current nvm for nodejs
|
||||
#
|
||||
# USAGE
|
||||
# run "./install-nvm.sh" to make sure dependencies are satisfied
|
||||
|
||||
# node/nvm environment
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
||||
nvm install --lts
|
||||
|
||||
74
history/legacy-files/install-pip.sh
Normal file
74
history/legacy-files/install-pip.sh
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# install-pip.sh - Install Python package dependencies for MarkiTect project
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# run "./install-pip.sh" after activating the virtual environment
|
||||
# or run "source .venv/bin/activate && ./install-pip.sh"
|
||||
#
|
||||
|
||||
set -e # Exit on any error
|
||||
|
||||
echo "🐍 MarkiTect Python Dependencies Installer"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Check if virtual environment is active
|
||||
if [ -z "$VIRTUAL_ENV" ]; then
|
||||
echo "⚠️ Virtual environment not detected"
|
||||
echo " Checking for .venv directory..."
|
||||
|
||||
if [ -d ".venv" ]; then
|
||||
echo "📁 Found .venv directory"
|
||||
echo " Activating virtual environment..."
|
||||
source .venv/bin/activate
|
||||
echo "✅ Virtual environment activated: $VIRTUAL_ENV"
|
||||
else
|
||||
echo "❌ No .venv directory found"
|
||||
echo " Please create a virtual environment first:"
|
||||
echo " python3 -m venv .venv"
|
||||
echo " source .venv/bin/activate"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✅ Virtual environment active: $VIRTUAL_ENV"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "📦 Installing project in development mode..."
|
||||
pip install -e .
|
||||
|
||||
echo ""
|
||||
echo "🧪 Installing testing dependencies..."
|
||||
pip install pytest pytest-cov
|
||||
|
||||
echo ""
|
||||
echo "🛠️ Installing development dependencies..."
|
||||
pip install black flake8 mypy
|
||||
|
||||
echo ""
|
||||
echo "🏗️ Installing build dependencies..."
|
||||
pip install build
|
||||
|
||||
echo ""
|
||||
echo "📋 Verifying installations..."
|
||||
echo " Python: $(python --version)"
|
||||
echo " pip: $(pip --version | cut -d' ' -f1-2)"
|
||||
echo " pytest: $(pytest --version | head -n1)"
|
||||
echo " black: $(black --version)"
|
||||
echo " flake8: $(flake8 --version | cut -d' ' -f1-2)"
|
||||
echo " mypy: $(mypy --version)"
|
||||
|
||||
echo ""
|
||||
echo "📚 Installed packages:"
|
||||
pip list --format=columns
|
||||
|
||||
echo ""
|
||||
echo "✅ Python dependencies installation complete!"
|
||||
echo ""
|
||||
echo "🎯 Next steps:"
|
||||
echo " - Run tests: make test"
|
||||
echo " - Run linting: make lint"
|
||||
echo " - Format code: make format"
|
||||
echo " - Build package: make build"
|
||||
303
history/legacy-files/test_status.html
Normal file
303
history/legacy-files/test_status.html
Normal file
@@ -0,0 +1,303 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Status Test</title>
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
}
|
||||
#markdown-content {
|
||||
min-height: 200px;
|
||||
}
|
||||
pre {
|
||||
background: #f6f8fa;
|
||||
padding: 1rem;
|
||||
border-radius: 6px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
code {
|
||||
background: #f6f8fa;
|
||||
padding: 0.2em 0.4em;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
pre code {
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
blockquote {
|
||||
border-left: 4px solid #dfe2e5;
|
||||
margin: 0;
|
||||
padding-left: 1rem;
|
||||
color: #6a737d;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<style>
|
||||
.markitect-floating-header {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 10px;
|
||||
z-index: 1000;
|
||||
backdrop-filter: blur(5px);
|
||||
}
|
||||
.markitect-section-editable {
|
||||
border: 1px dashed transparent;
|
||||
padding: 8px;
|
||||
margin: 4px 0;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.markitect-section-editable:hover {
|
||||
border-color: #007acc;
|
||||
background: rgba(0, 122, 204, 0.05);
|
||||
}
|
||||
.edit-mode textarea {
|
||||
width: 100%;
|
||||
min-height: 100px;
|
||||
font-family: monospace;
|
||||
border: 2px solid #007acc;
|
||||
border-radius: 4px;
|
||||
padding: 8px;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"
|
||||
onload="window.markitectMarkedLoaded = true"
|
||||
onerror="window.markitectMarkedError = true"></script>
|
||||
</head>
|
||||
<body class="markitect-edit-mode">
|
||||
|
||||
<div id="markitect-status" style="background: #e3f2fd; border-left: 4px solid #2196f3; padding: 12px; margin-bottom: 20px; font-family: monospace; font-size: 14px;">
|
||||
<div style="font-weight: bold; color: #1976d2;">📝 Markitect Edit Mode</div>
|
||||
<div id="status-message" style="margin-top: 8px;">Loading edit capabilities...</div>
|
||||
<div id="error-details" style="display: none; background: #ffebee; border: 1px solid #f44336; padding: 8px; margin-top: 8px; border-radius: 4px;">
|
||||
<div style="font-weight: bold; color: #c62828;">❌ Edit Mode Failed</div>
|
||||
<div id="error-text" style="margin-top: 4px; color: #666;"></div>
|
||||
<details style="margin-top: 8px;">
|
||||
<summary style="cursor: pointer; color: #1976d2;">🐛 Help us fix this issue</summary>
|
||||
<div style="margin-top: 8px; font-size: 12px; color: #666;">
|
||||
Please report this error with your browser info:
|
||||
<br>📋 Browser: <span id="browser-info"></span>
|
||||
<br>🔗 Create issue: <a href="https://github.com/anthropics/markitect/issues/new" target="_blank" style="color: #1976d2;">GitHub Issues</a>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
<div id="markdown-content"></div>
|
||||
|
||||
<script>
|
||||
const markdownContent = "# Status Test\n\nThis tests the **enhanced status reporting**.\n\n- You should see step-by-step status updates\n- If edit mode fails, you'll know exactly where\n- Content is always visible";
|
||||
|
||||
const MARKITECT_EDIT_MODE = true;
|
||||
const MARKITECT_EDITOR_CONFIG = {
|
||||
theme: 'github',
|
||||
keyboardShortcuts: true,
|
||||
autosave: true,
|
||||
sections: true
|
||||
};
|
||||
|
||||
// Error reporting utility
|
||||
function reportEditModeError(errorMsg, technicalDetails) {
|
||||
const statusDiv = document.getElementById('markitect-status');
|
||||
const errorDiv = document.getElementById('error-details');
|
||||
const errorText = document.getElementById('error-text');
|
||||
const statusMsg = document.getElementById('status-message');
|
||||
const browserInfo = document.getElementById('browser-info');
|
||||
|
||||
if (statusMsg) statusMsg.textContent = 'Edit mode unavailable - content displayed in read-only mode';
|
||||
if (errorDiv) errorDiv.style.display = 'block';
|
||||
if (errorText) errorText.textContent = errorMsg + (technicalDetails ? ' (' + technicalDetails + ')' : '');
|
||||
if (browserInfo) browserInfo.textContent = navigator.userAgent.split(' ').slice(-2).join(' ');
|
||||
}
|
||||
|
||||
// Status update utility
|
||||
function updateStatus(message, isError = false) {
|
||||
const statusMsg = document.getElementById('status-message');
|
||||
if (statusMsg) {
|
||||
statusMsg.textContent = message;
|
||||
statusMsg.style.color = isError ? '#c62828' : '#1976d2';
|
||||
}
|
||||
}
|
||||
|
||||
// Always render content first (graceful degradation)
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
updateStatus('Rendering content...');
|
||||
|
||||
const contentDiv = document.getElementById('markdown-content');
|
||||
|
||||
// Step 1: Ensure content is always displayed
|
||||
if (contentDiv) {
|
||||
if (typeof marked !== 'undefined') {
|
||||
try {
|
||||
contentDiv.innerHTML = marked.parse(markdownContent);
|
||||
updateStatus('Content rendered successfully ✓');
|
||||
console.log('✓ Markdown rendered successfully');
|
||||
} catch (error) {
|
||||
contentDiv.innerHTML = '<p>Error rendering markdown: ' + error.message + '</p>';
|
||||
updateStatus('Content rendered with errors', true);
|
||||
reportEditModeError("Markdown parsing failed", error.message);
|
||||
}
|
||||
} else {
|
||||
// Fallback: display raw markdown with basic formatting
|
||||
const fallbackHtml = markdownContent
|
||||
.replace(/^# (.*$)/gim, '<h1>$1</h1>')
|
||||
.replace(/^## (.*$)/gim, '<h2>$1</h2>')
|
||||
.replace(/^### (.*$)/gim, '<h3>$1</h3>')
|
||||
.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
|
||||
.replace(/\*(.*?)\*/g, '<em>$1</em>')
|
||||
.replace(/^- (.*$)/gim, '<li>$1</li>')
|
||||
.replace(/\n\n/g, '<br><br>')
|
||||
.replace(/\n/g, '<br>');
|
||||
contentDiv.innerHTML = '<div style="white-space: pre-wrap;">' + fallbackHtml + '</div>';
|
||||
updateStatus('Content rendered with fallback parser', true);
|
||||
reportEditModeError("CDN library failed to load", "Using basic fallback rendering");
|
||||
}
|
||||
}
|
||||
|
||||
// Step 2: Try to enhance with edit capabilities (if in edit mode)
|
||||
if (typeof MARKITECT_EDIT_MODE !== 'undefined' && MARKITECT_EDIT_MODE) {
|
||||
updateStatus("Initializing edit capabilities...");
|
||||
try {
|
||||
updateStatus("Loading editor class...");
|
||||
|
||||
class MarkitectEditor {
|
||||
constructor() {
|
||||
this.initializeEditor();
|
||||
this.setupKeyboardShortcuts();
|
||||
}
|
||||
|
||||
initializeEditor() {
|
||||
const header = document.createElement('div');
|
||||
header.className = 'markitect-floating-header';
|
||||
header.innerHTML = `
|
||||
<button onclick="markitectEditor.save()">Save</button>
|
||||
<button onclick="markitectEditor.togglePreview()">Toggle Preview</button>
|
||||
<span id="save-status">Ready</span>
|
||||
`;
|
||||
document.body.insertBefore(header, document.body.firstChild);
|
||||
|
||||
this.makeContentEditable();
|
||||
}
|
||||
|
||||
makeContentEditable() {
|
||||
const content = document.getElementById('markdown-content');
|
||||
if (content) {
|
||||
content.addEventListener('click', this.handleSectionClick.bind(this));
|
||||
this.markSections(content);
|
||||
}
|
||||
}
|
||||
|
||||
markSections(element) {
|
||||
const sections = element.querySelectorAll('h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol');
|
||||
sections.forEach((section, index) => {
|
||||
section.classList.add('markitect-section-editable');
|
||||
section.setAttribute('data-section', index);
|
||||
});
|
||||
}
|
||||
|
||||
handleSectionClick(event) {
|
||||
const section = event.target.closest('.markitect-section-editable');
|
||||
if (section && !section.querySelector('textarea')) {
|
||||
this.editSection(section);
|
||||
}
|
||||
}
|
||||
|
||||
editSection(section) {
|
||||
const originalContent = section.innerHTML;
|
||||
const textarea = document.createElement('textarea');
|
||||
textarea.value = this.htmlToMarkdown(originalContent);
|
||||
textarea.className = 'edit-mode';
|
||||
|
||||
textarea.addEventListener('blur', () => {
|
||||
section.innerHTML = marked.parse(textarea.value);
|
||||
this.markSections(section.parentElement);
|
||||
});
|
||||
|
||||
section.innerHTML = '';
|
||||
section.appendChild(textarea);
|
||||
textarea.focus();
|
||||
}
|
||||
|
||||
htmlToMarkdown(html) {
|
||||
// Simple HTML to Markdown conversion
|
||||
return html.replace(/<[^>]*>/g, '').trim();
|
||||
}
|
||||
|
||||
setupKeyboardShortcuts() {
|
||||
if (MARKITECT_EDITOR_CONFIG.keyboardShortcuts) {
|
||||
document.addEventListener('keydown', (event) => {
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
switch(event.key) {
|
||||
case 's':
|
||||
event.preventDefault();
|
||||
this.save();
|
||||
break;
|
||||
case 'e':
|
||||
event.preventDefault();
|
||||
this.togglePreview();
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
save() {
|
||||
document.getElementById('save-status').textContent = 'Saved!';
|
||||
setTimeout(() => {
|
||||
document.getElementById('save-status').textContent = 'Ready';
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
togglePreview() {
|
||||
console.log('Toggle preview mode');
|
||||
}
|
||||
}
|
||||
|
||||
let markitectEditor;
|
||||
updateStatus("Creating editor instance...");
|
||||
markitectEditor = new MarkitectEditor();
|
||||
updateStatus("✓ Edit mode active - click any section to edit");
|
||||
console.log("✓ Edit mode initialized successfully");
|
||||
} catch (error) {
|
||||
updateStatus("Edit mode failed to initialize", true);
|
||||
reportEditModeError("Edit mode initialization failed", error.message);
|
||||
console.error("Edit mode error:", error);
|
||||
}}
|
||||
}}
|
||||
});
|
||||
|
||||
// Handle CDN loading errors
|
||||
window.addEventListener('load', function() {
|
||||
if (window.markitectMarkedError) {
|
||||
reportEditModeError("CDN library failed to load", "Network or firewall blocking marked.js");
|
||||
}
|
||||
});
|
||||
|
||||
// Safety timeout for edit mode initialization
|
||||
setTimeout(function() {
|
||||
const statusMsg = document.getElementById("status-message");
|
||||
if (statusMsg && statusMsg.textContent.includes("Loading") || statusMsg.textContent.includes("Initializing")) {
|
||||
updateStatus("Edit mode initialization timeout", true);
|
||||
reportEditModeError("Edit mode took too long to initialize", "Possible JavaScript performance issue");
|
||||
}}
|
||||
}, 5000); // 5 second timeout
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user