MetaList 0.7.4__tar.gz → 0.7.6__tar.gz
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.
- {metalist-0.7.4 → metalist-0.7.6}/PKG-INFO +6 -1
- {metalist-0.7.4 → metalist-0.7.6}/README.md +5 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/main.py +13 -0
- metalist-0.7.6/app/security/http_error_diagnostics.py +19 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/content_formatting.py +5 -7
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/api-client.js +2 -1
- metalist-0.7.6/app/static/js/modules/api-error-diagnostics.js +16 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-syntax-service.js +59 -1
- {metalist-0.7.4 → metalist-0.7.6}/app/version.py +1 -1
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/PKG-INFO +6 -1
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/SOURCES.txt +2 -0
- {metalist-0.7.4 → metalist-0.7.6}/pyproject.toml +2 -0
- {metalist-0.7.4 → metalist-0.7.6}/MANIFEST.in +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/deps.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/dev.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/middleware/auth.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/note_requests.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/request_auth.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/ai.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/app_updates.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/auth.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/backups.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/files.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/notes.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/ontology.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/reminders.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/remote_images.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/routes/test.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/transactions.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/api/upload_limits.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/config.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/data_directory.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/backup_settings_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/engine.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/file_schema.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/file_session.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/files_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/link_titles_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/live_recovery.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/migrations.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/notes_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/ontology_rules_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/reminders_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/retire_sounds.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/schema.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/search_history_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/session.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/settings_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/tab_state_sql.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/db/version.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/encryption_audit.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/exception_boundaries.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/https_proxy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/commands.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/database.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/entities.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/enums.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/linked_list.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/list_operations.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/list_traversal.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/note_crud.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/models/utils.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/network_settings.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/presentation/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/presentation/render/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/presentation/render/note_renderer.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/presentation/templates.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/authenticated_logging.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/encryption.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/http_headers.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/note_html.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/request_boundary.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/request_hosts.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/sensitive_cache.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/sensitive_logging.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/shell_execution.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/security/validation_errors.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/server_runtime.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/actions.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/cloud_privacy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/context.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/evidence_serialization.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/help_catalog.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/history.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/inference.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/investigation.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/judging.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/menu_actions.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/model_policy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/openai_cost_tracking.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/openai_inference.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/permissions.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompt_settings.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompts/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompts/final-response.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompts/help-response.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompts/system.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/prompts/tool-result.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/retrieval_settings.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/runtime.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/scope.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skill_settings.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-ai.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-data.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-formatting.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-menus.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-notes.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-privacy.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-references.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-reminders.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-search.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/help-tags.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/skills/scoped-investigation.md +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/structured_inference.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/tagging.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/tagging_run.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/token_estimation.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/tools.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/agent/trace.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/ai_chat.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/ai_chat_rendering.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/ai_chat_stream.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/app_update_worker.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/app_updates.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/auth.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/auth_cache_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/auth_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/backlink_index.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/backlinks.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/backup_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/backup_settings_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/bulk_operation.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/client_state_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/content_cache.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/diagnostics.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/embedded_references.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/encryption.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/exception_capture.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/file_registry.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/file_storage.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/footnote_layout.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/footnote_rendering.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/hierarchy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/html_export.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/html_unformatting.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/hydration_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/image_size_formatting.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/inline_image_occurrences.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/input_errors.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/integrity.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/latex_rendering.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/link_titles.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/login_rate_limit.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/maintenance_mode.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/markdown_rendering.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_deletion_jobs.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_deletion_worker.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_rename_jobs.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_rename_worker.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_runtime_guard.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/namespace_switcher.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/note_fullscreen.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/note_image_tags.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/note_ordering.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/note_store.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/ontology_rules_store.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/openai_credentials.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/password_note_fields.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/reference_presentation.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/reminders.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/remote_image_proxy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/request_recovery.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/resource_limits.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/root_sorting.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/runtime_generation.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/runtime_hardening.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/runtime_lock.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/search_history.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/search_history_storage.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/search_index.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/search_query.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/search_text.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/selected_text_tag.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/self_update.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/session_timeout_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/shell_session_service.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/snapshot.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/store.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/structured_note_renderers.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/sync.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/sync_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tab_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tag_case.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tag_ontology.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tag_rename.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tag_suggestions.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tag_term_matching.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/test_reset.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/tokens.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/undo_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/update_backups.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/update_installer.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/update_preflight.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/view_cache.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/view_diff.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/view_state.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/services/windows_process_control.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/startup_environment.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/startup_js_sanity.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/startup_sanity.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/startup_sanity_config.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/config/agent-menu-actions.json +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/config/command_palette_tags.json +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/css/floating-notes.css +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/css/forms.css +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/css/main.css +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/img/favicon.ico +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/locked.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/main.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/activity-tracker.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/agent-menu-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/agent-prompt-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/agent-retrieval-settings.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/ai-agent-debug-view.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/ai-chat-api.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/ai-chat-panel-controller.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/ai-chat-panel-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/ai-thinking-level-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/bulk-elapsed-clock.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/bulk-proposal-ui.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/cloud-privacy-policy.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/ai-chat/proposal-menu.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/api-failure-classification-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/app-update-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/application-state.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/async-result.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/auth.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/client-state-api.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/client-state-migration.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/activation-auth-policy.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/backup-command-availability.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/click-activation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/command-palette-controller.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/endpoint-registry.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/note-layout-preferences.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/preferences-store.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/tag-config-loader.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/command-palette/usage-store.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/config.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/connectivity-monitor.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/context-menu/context-menu-registry.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/context-menu/context-menu-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/context-menu/context-menu-target-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/context-menu/input-caret-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/disconnect-editing-state-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/dom-utils-fixed.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/dom-utils.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/editor-commands.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/editor-selection.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/editor-toolbar.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/elapsed-time.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/error-handler.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/error-overlay.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/expected-errors.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/location-flags.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/login-namespace-picker.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/maintenance.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/agent-prompt-editor-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/ai-agent-settings-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/alphabetize-root-notes-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/backup-restore-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/backup-result-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/backup-retention-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/backup-settings-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/base-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/confirmation-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/delete-namespace-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/delete-namespace-validation.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/help-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/namespace-loading-page.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/namespace-modals.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/namespace-ports-profile.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/namespace-rename-validation.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/note-layout-appearance-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/ontology-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/password-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/prioritize-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/random-password-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/reminder-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/reset-updated-at-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/search-suggestion-statistics-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/session-timeout-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/modals/version-info-modal.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/content-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/history-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/note-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/search-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/selection-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/actions/ui-actions.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/context-menu-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/focus-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/inactivity-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/input-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/keyboard-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/mouse-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/events/search-events.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/mode-context.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/mode-logger.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/mode-manager-controller.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/add-style-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/animated-scroll-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/backlinks-navigation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/backlinks-panel-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/clipboard-shortcut-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/collapse-affordance-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/collapse-editing-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/command-gate-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/context-menu-target-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/deselect-selection-state-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/differential-view-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/edit-session-collapse-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/edit-session-collapse-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/embedded-image-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/file-drop-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/file-image-preview-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/file-reference-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/filtered-refresh-selection-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/floating-note-dom.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/floating-note-layout.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/floating-note-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/footnote-navigation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/history-selection-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/history-shortcut-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/html-paste-sanitizer-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/image-context-menu-action-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/image-file-insert-choice-modal-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/infinite-scroll-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/link-context-menu-action-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/link-title-prefetch-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/markdown-render-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/mermaid-render-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-click-target-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-clipboard-write-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-collapse-animation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-context-menu-action-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-delete-shortcut-policy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-drag-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-fullscreen-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-reposition-animation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-split-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/note-timestamp-hover-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/password-clipboard-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/polling-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/reference-source-navigation-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/remote-image-proxy-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/remove-formatting-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/root-date-separator-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/root-sort-indicator-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/root-sort-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/scroll-anchor-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/scroll-restoration-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/scroll-to-top-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-contexts-overlay-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-debounce-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-input-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-interaction-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-redaction-reveal-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-suggestion-statistics-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-suggestion-window-labels-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-suggestion-windows-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-suggestions-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/search-syntax-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/selected-formatting-removal-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/selected-text-tag-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/shell-output-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tab-dom-cache-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tab-drag-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tab-duplication-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tab-state-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-bar-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-input-selection-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-proposal-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-suggestions-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/todo-toggle-editing-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/untagged-view-indicator-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/view-mode-search-shortcut-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/note-html-sanitizer.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/password-generator.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/password-operation-response.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/password-policy.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/password-strength.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/reminder-store.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/reminder-surface-service.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/selection-markers.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/session-auth.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/tag-token.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/uuid.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/namespace-deleted.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/namespace-renamed.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/dompurify-3.4.13.LICENSE.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/dompurify-3.4.13.min.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/markdown-it-14.3.2.LICENSE.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/markdown-it-14.3.2.min.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/mermaid-11.16.1.LICENSE.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/mermaid-11.16.1.min.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/zxcvbn-4.4.2.LICENSE.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/js/vendor/zxcvbn-4.4.2.js +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/note-html-policy.json +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/static/video/login-startup.mp4 +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/base.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/index.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/locked.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/maintenance.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/namespace_deleted.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/namespace_renamed.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/templates/notes_list.html +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/upload_limits.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/add_selected_text_tag.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/alphabetize_root_notes.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/base.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/bulk_tag_proposals.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/collapse.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/copy_note.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/create_child.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/create_note.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/create_sibling.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/delete_subtree.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/delete_tag.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/expand.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/indent.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/lock.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/move.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/move_to_top.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/outdent.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/paste_child.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/paste_sibling.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/prefetch_link_titles.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/prioritize.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/redo.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/rename_tag.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/reset_updated_at.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/resize_image.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/run_shell.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/search_comment_autofill.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/search_context_tags.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/set_collapse_bulk.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/set_collapse_in_context.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/split_note.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/tag_proposals.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/toggle_reference_mode.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/toggle_todo_done.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/undo.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/unformat_content.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/update_content.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/usecases/view.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/utils/__init__.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/utils/encryption.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/app/utils/text_utils.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/convert-from-legacy.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/main.py +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/dependency_links.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/entry_points.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/requires.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/metalist.egg-info/top_level.txt +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/scripts/generate-lan-cert.sh +0 -0
- {metalist-0.7.4 → metalist-0.7.6}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metalist
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.6
|
|
4
4
|
Summary: A minimalist single-user note-taking app with SSR, fast in-memory tree operations, and efficient sync.
|
|
5
5
|
Project-URL: Homepage, https://github.com/evolvingstuff/metalist
|
|
6
6
|
Project-URL: Repository, https://github.com/evolvingstuff/metalist
|
|
@@ -48,6 +48,11 @@ A minimalist single-user note-taking app focused on server-side rendering (SSR),
|
|
|
48
48
|
- Multi-tab search contexts with server-persisted scroll/search state (survives browser restarts)
|
|
49
49
|
- Manual namespace backups/restores to a user-selected backup folder with retention controls
|
|
50
50
|
|
|
51
|
+
## Changes in 0.7.5
|
|
52
|
+
|
|
53
|
+
- Unexpected API 500 errors now show the exception class and MetaList source line in the browser, without exposing note contents, exception messages, or local filesystem paths.
|
|
54
|
+
- A local release command validates the exact cross-platform CI matrix, publishes only its tested artifacts, then verifies the public PyPI package in a clean installation.
|
|
55
|
+
|
|
51
56
|
## Changes in 0.7.4
|
|
52
57
|
|
|
53
58
|
- Updates use a private, checksum-verified uv release on Windows, macOS, and Linux. The updater does not execute a user-installed uv, and it revalidates both the cached official archive and extracted executable before each use.
|
|
@@ -12,6 +12,11 @@ A minimalist single-user note-taking app focused on server-side rendering (SSR),
|
|
|
12
12
|
- Multi-tab search contexts with server-persisted scroll/search state (survives browser restarts)
|
|
13
13
|
- Manual namespace backups/restores to a user-selected backup folder with retention controls
|
|
14
14
|
|
|
15
|
+
## Changes in 0.7.5
|
|
16
|
+
|
|
17
|
+
- Unexpected API 500 errors now show the exception class and MetaList source line in the browser, without exposing note contents, exception messages, or local filesystem paths.
|
|
18
|
+
- A local release command validates the exact cross-platform CI matrix, publishes only its tested artifacts, then verifies the public PyPI package in a clean installation.
|
|
19
|
+
|
|
15
20
|
## Changes in 0.7.4
|
|
16
21
|
|
|
17
22
|
- Updates use a private, checksum-verified uv release on Windows, macOS, and Linux. The updater does not execute a user-installed uv, and it revalidates both the cached official archive and extracted executable before each use.
|
|
@@ -38,6 +38,7 @@ from app.services.search_history import search_history_store
|
|
|
38
38
|
from app.services.runtime_hardening import apply_runtime_hardening
|
|
39
39
|
from app.security.encryption import set_encryption_required
|
|
40
40
|
from app.security.http_headers import apply_security_headers
|
|
41
|
+
from app.security.http_error_diagnostics import describe_server_exception
|
|
41
42
|
from app.security.request_boundary import RequestBoundaryMiddleware
|
|
42
43
|
from app.security.request_boundary import resolve_allowed_request_hosts
|
|
43
44
|
from app.security.validation_errors import summarize_validation_errors
|
|
@@ -149,6 +150,18 @@ async def request_validation_error(request: Request, exc: RequestValidationError
|
|
|
149
150
|
async def handle_ontology_parse_error(request: Request, exc: OntologyParseError):
|
|
150
151
|
return JSONResponse(status_code=400, content={"detail": str(exc)})
|
|
151
152
|
|
|
153
|
+
|
|
154
|
+
@app.exception_handler(Exception)
|
|
155
|
+
async def handle_unexpected_server_error(request: Request, exc: Exception):
|
|
156
|
+
return JSONResponse(
|
|
157
|
+
status_code=500,
|
|
158
|
+
content={
|
|
159
|
+
"detail": "Internal server error",
|
|
160
|
+
"diagnostic": describe_server_exception(exc),
|
|
161
|
+
},
|
|
162
|
+
headers={"Cache-Control": "no-store, private", "X-Content-Type-Options": "nosniff"},
|
|
163
|
+
)
|
|
164
|
+
|
|
152
165
|
_startup_timing_enabled = True
|
|
153
166
|
|
|
154
167
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Small, data-free diagnostics for unexpected HTTP failures."""
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
import traceback
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
_APP_DIRECTORY = Path(__file__).resolve().parents[1]
|
|
8
|
+
_REPOSITORY_DIRECTORY = _APP_DIRECTORY.parent
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def describe_server_exception(error: Exception) -> dict[str, str]:
|
|
12
|
+
"""Expose the exception class and last application frame, never its message."""
|
|
13
|
+
location = "external"
|
|
14
|
+
for frame in reversed(traceback.extract_tb(error.__traceback__)):
|
|
15
|
+
path = Path(frame.filename).resolve()
|
|
16
|
+
if path.is_relative_to(_APP_DIRECTORY):
|
|
17
|
+
location = f"{path.relative_to(_REPOSITORY_DIRECTORY).as_posix()}:{frame.lineno}"
|
|
18
|
+
break
|
|
19
|
+
return {"errorType": type(error).__name__, "codeLocation": location}
|
|
@@ -328,7 +328,7 @@ def remove_formatting_scope_delimiters(
|
|
|
328
328
|
def _is_removable_formatting_tag(token: str) -> bool:
|
|
329
329
|
if not isinstance(token, str):
|
|
330
330
|
raise TypeError(f"token must be a string, got {type(token)}")
|
|
331
|
-
if not token.startswith("@"):
|
|
331
|
+
if not token.startswith("@") or token == "@":
|
|
332
332
|
return False
|
|
333
333
|
tag_name = _canonical_meta_tag_name(token[1:].casefold())
|
|
334
334
|
if tag_name in _REMOVABLE_FORMATTING_TAGS:
|
|
@@ -822,7 +822,7 @@ def _add_implied_meta_tags(*, tags: str, config: MetaTagConfig) -> MetaTagConfig
|
|
|
822
822
|
implied_terms = ontology.infer_implication_only(base_tags=source_terms)
|
|
823
823
|
implied_meta_tags: Set[str] = set()
|
|
824
824
|
for term in implied_terms:
|
|
825
|
-
if not term.startswith("@"):
|
|
825
|
+
if not term.startswith("@") or term == "@":
|
|
826
826
|
continue
|
|
827
827
|
tag_name = _canonical_meta_tag_name(term[1:].casefold())
|
|
828
828
|
if _is_formatting_meta_tag_name(tag_name):
|
|
@@ -1230,7 +1230,7 @@ def _parse_meta_tags(tags: str) -> MetaTagConfig:
|
|
|
1230
1230
|
for token in tokens:
|
|
1231
1231
|
base, wrapper = _unwrap_tag_token(token)
|
|
1232
1232
|
if wrapper is None:
|
|
1233
|
-
if not base.startswith("@"):
|
|
1233
|
+
if not base.startswith("@") or base == "@":
|
|
1234
1234
|
continue
|
|
1235
1235
|
tag_name = _canonical_meta_tag_name(base[1:].casefold())
|
|
1236
1236
|
if not _is_formatting_meta_tag_name(tag_name):
|
|
@@ -1248,7 +1248,7 @@ def _parse_meta_tags(tags: str) -> MetaTagConfig:
|
|
|
1248
1248
|
key = (opener, depth)
|
|
1249
1249
|
wrappers_to_consume.add(key)
|
|
1250
1250
|
for inner in inner_tokens:
|
|
1251
|
-
if not inner.startswith("@"):
|
|
1251
|
+
if not inner.startswith("@") or inner == "@":
|
|
1252
1252
|
continue
|
|
1253
1253
|
tag_name = _canonical_meta_tag_name(inner[1:].casefold())
|
|
1254
1254
|
if not _is_formatting_meta_tag_name(tag_name):
|
|
@@ -1257,9 +1257,7 @@ def _parse_meta_tags(tags: str) -> MetaTagConfig:
|
|
|
1257
1257
|
if key in scoped_renderers:
|
|
1258
1258
|
existing = scoped_renderers[key]
|
|
1259
1259
|
if existing is not None and existing != tag_name:
|
|
1260
|
-
|
|
1261
|
-
f"Wrapper {key} has conflicting scoped renderers: {existing} vs {tag_name}"
|
|
1262
|
-
)
|
|
1260
|
+
continue
|
|
1263
1261
|
scoped_renderers[key] = tag_name
|
|
1264
1262
|
continue
|
|
1265
1263
|
if key not in scoped:
|
|
@@ -7,6 +7,7 @@ import { computeScrollAnchor } from './mode-manager/services/scroll-anchor-servi
|
|
|
7
7
|
import { CommandGate } from './mode-manager/services/command-gate-service.js';
|
|
8
8
|
import { buildSessionHeaders } from './session-auth.js';
|
|
9
9
|
import { sanitizeNoteHtmlForStorage } from './note-html-sanitizer.js';
|
|
10
|
+
import { describeApiFailure } from './api-error-diagnostics.js';
|
|
10
11
|
|
|
11
12
|
function buildAuthHeaders(includeContentType) {
|
|
12
13
|
return buildSessionHeaders(includeContentType);
|
|
@@ -125,7 +126,7 @@ export const NotesAPI = {
|
|
|
125
126
|
if (!response.ok) {
|
|
126
127
|
// Use centralized error handling
|
|
127
128
|
ErrorHandler.handleApiError(null, response);
|
|
128
|
-
throw new HttpRequestError(
|
|
129
|
+
throw new HttpRequestError(await describeApiFailure(response));
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
const data = await response.json();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const ERROR_TYPE = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
2
|
+
const CODE_LOCATION = /^(?:app(?:\/[A-Za-z_][A-Za-z0-9_]*)+\.py:\d+|external)$/;
|
|
3
|
+
|
|
4
|
+
export async function describeApiFailure(response) {
|
|
5
|
+
const base = `API call failed: ${response.status} ${response.statusText}`;
|
|
6
|
+
if (response.status < 500 || !response.headers.get('content-type')?.includes('application/json')) {
|
|
7
|
+
return base;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const body = await response.json();
|
|
11
|
+
const diagnostic = body?.diagnostic;
|
|
12
|
+
if (!ERROR_TYPE.test(diagnostic?.errorType) || !CODE_LOCATION.test(diagnostic?.codeLocation)) {
|
|
13
|
+
return base;
|
|
14
|
+
}
|
|
15
|
+
return `${base} (${diagnostic.errorType} at ${diagnostic.codeLocation})`;
|
|
16
|
+
}
|
{metalist-0.7.4 → metalist-0.7.6}/app/static/js/modules/mode-manager/services/tag-syntax-service.js
RENAMED
|
@@ -28,6 +28,28 @@ const TAG_WRAPPER_PAIRS = new Map([
|
|
|
28
28
|
['(', ')'],
|
|
29
29
|
]);
|
|
30
30
|
const TAG_WRAPPER_CHARS = new Set(['[', ']', '{', '}', '(', ')']);
|
|
31
|
+
const SCOPED_RENDERER_TAGS = new Set(['@markdown', '@latex', '@json', '@csv', '@shell']);
|
|
32
|
+
const KNOWN_META_TAGS = new Set([
|
|
33
|
+
'@footnote', '@monospace', '@heading', '@red', '@green', '@blue', '@grey',
|
|
34
|
+
'@highlighter', '@bold', '@italic', '@strikethrough', '@serif', '@copyable',
|
|
35
|
+
'@list-bulleted', '@list-numbered', '@username', '@password', '@email',
|
|
36
|
+
'@todo', '@done', '@markdown', '@llm', '@latex', '@shell', '@json', '@csv',
|
|
37
|
+
]);
|
|
38
|
+
|
|
39
|
+
function isSupportedMetaTag(term) {
|
|
40
|
+
if (typeof term !== 'string') {
|
|
41
|
+
throw new Error('isSupportedMetaTag requires string');
|
|
42
|
+
}
|
|
43
|
+
if (!term.startsWith('@')) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
const folded = term.toLowerCase();
|
|
47
|
+
if (KNOWN_META_TAGS.has(folded)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return /^@size=(?:\d+(?:\.\d*)?|\.\d+)$/.test(folded)
|
|
51
|
+
&& /[1-9]/.test(folded.slice('@size='.length));
|
|
52
|
+
}
|
|
31
53
|
|
|
32
54
|
function isAsciiPrintable(char) {
|
|
33
55
|
if (typeof char !== 'string' || char.length === 0) {
|
|
@@ -515,8 +537,10 @@ export function analyzeTagBarInput(rawInput) {
|
|
|
515
537
|
|
|
516
538
|
const sanitizedSegments = [];
|
|
517
539
|
const normalizedSegments = [];
|
|
540
|
+
let globalRenderer = null;
|
|
518
541
|
for (const segment of segments) {
|
|
519
542
|
normalizedSegments.push(segment.text);
|
|
543
|
+
let sanitizedToken = segment.text;
|
|
520
544
|
if (segment.type === 'token') {
|
|
521
545
|
const wrapperInfo = analyzeUnclosedWrapperTokenInfo(segment.text);
|
|
522
546
|
if (wrapperInfo) {
|
|
@@ -530,8 +554,42 @@ export function analyzeTagBarInput(rawInput) {
|
|
|
530
554
|
hasReservedOrTag = true;
|
|
531
555
|
continue;
|
|
532
556
|
}
|
|
557
|
+
if (closedWrapperInfo) {
|
|
558
|
+
let scopedRenderer = null;
|
|
559
|
+
const retainedTerms = tagTerms.filter((term) => {
|
|
560
|
+
if (!isSupportedMetaTag(term)) {
|
|
561
|
+
return false;
|
|
562
|
+
}
|
|
563
|
+
const renderer = term.toLowerCase();
|
|
564
|
+
if (!SCOPED_RENDERER_TAGS.has(renderer)) {
|
|
565
|
+
return true;
|
|
566
|
+
}
|
|
567
|
+
if (scopedRenderer !== null && scopedRenderer !== renderer) {
|
|
568
|
+
return false;
|
|
569
|
+
}
|
|
570
|
+
scopedRenderer = renderer;
|
|
571
|
+
return true;
|
|
572
|
+
});
|
|
573
|
+
if (retainedTerms.length === 0) {
|
|
574
|
+
continue;
|
|
575
|
+
}
|
|
576
|
+
const opener = segment.text[0];
|
|
577
|
+
const prefix = opener.repeat(closedWrapperInfo.depth);
|
|
578
|
+
const suffix = TAG_WRAPPER_PAIRS.get(opener).repeat(closedWrapperInfo.depth);
|
|
579
|
+
sanitizedToken = `${prefix}${retainedTerms.join(' ')}${suffix}`;
|
|
580
|
+
} else if (!isSupportedMetaTag(segment.text)) {
|
|
581
|
+
continue;
|
|
582
|
+
} else {
|
|
583
|
+
const renderer = segment.text.toLowerCase();
|
|
584
|
+
if (SCOPED_RENDERER_TAGS.has(renderer)) {
|
|
585
|
+
if (globalRenderer !== null && globalRenderer !== renderer) {
|
|
586
|
+
continue;
|
|
587
|
+
}
|
|
588
|
+
globalRenderer = renderer;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
533
591
|
}
|
|
534
|
-
sanitizedSegments.push(
|
|
592
|
+
sanitizedSegments.push(sanitizedToken);
|
|
535
593
|
}
|
|
536
594
|
|
|
537
595
|
const sanitizedText = sanitizedSegments.join(' ').trim();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metalist
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.6
|
|
4
4
|
Summary: A minimalist single-user note-taking app with SSR, fast in-memory tree operations, and efficient sync.
|
|
5
5
|
Project-URL: Homepage, https://github.com/evolvingstuff/metalist
|
|
6
6
|
Project-URL: Repository, https://github.com/evolvingstuff/metalist
|
|
@@ -48,6 +48,11 @@ A minimalist single-user note-taking app focused on server-side rendering (SSR),
|
|
|
48
48
|
- Multi-tab search contexts with server-persisted scroll/search state (survives browser restarts)
|
|
49
49
|
- Manual namespace backups/restores to a user-selected backup folder with retention controls
|
|
50
50
|
|
|
51
|
+
## Changes in 0.7.5
|
|
52
|
+
|
|
53
|
+
- Unexpected API 500 errors now show the exception class and MetaList source line in the browser, without exposing note contents, exception messages, or local filesystem paths.
|
|
54
|
+
- A local release command validates the exact cross-platform CI matrix, publishes only its tested artifacts, then verifies the public PyPI package in a clean installation.
|
|
55
|
+
|
|
51
56
|
## Changes in 0.7.4
|
|
52
57
|
|
|
53
58
|
- Updates use a private, checksum-verified uv release on Windows, macOS, and Linux. The updater does not execute a user-installed uv, and it revalidates both the cached official archive and extracted executable before each use.
|
|
@@ -70,6 +70,7 @@ app/presentation/render/__init__.py
|
|
|
70
70
|
app/presentation/render/note_renderer.py
|
|
71
71
|
app/security/authenticated_logging.py
|
|
72
72
|
app/security/encryption.py
|
|
73
|
+
app/security/http_error_diagnostics.py
|
|
73
74
|
app/security/http_headers.py
|
|
74
75
|
app/security/note_html.py
|
|
75
76
|
app/security/request_boundary.py
|
|
@@ -224,6 +225,7 @@ app/static/js/namespace-deleted.js
|
|
|
224
225
|
app/static/js/namespace-renamed.js
|
|
225
226
|
app/static/js/modules/activity-tracker.js
|
|
226
227
|
app/static/js/modules/api-client.js
|
|
228
|
+
app/static/js/modules/api-error-diagnostics.js
|
|
227
229
|
app/static/js/modules/api-failure-classification-service.js
|
|
228
230
|
app/static/js/modules/app-update-service.js
|
|
229
231
|
app/static/js/modules/application-state.js
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|