MetaList 0.6.0__tar.gz → 0.6.1__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.6.0/metalist.egg-info → metalist-0.6.1}/PKG-INFO +5 -1
- {metalist-0.6.0 → metalist-0.6.1}/README.md +4 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/client_state_service.py +3 -1
- {metalist-0.6.0 → metalist-0.6.1}/app/static/config/command_palette_tags.json +0 -4
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/client-state-migration.js +4 -2
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/command-palette-controller.js +1 -19
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/endpoint-registry.js +0 -11
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/ui-actions.js +0 -124
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/mode-context.js +0 -8
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/infinite-scroll-service.js +1 -26
- {metalist-0.6.0 → metalist-0.6.1}/app/version.py +1 -1
- {metalist-0.6.0 → metalist-0.6.1/metalist.egg-info}/PKG-INFO +5 -1
- {metalist-0.6.0 → metalist-0.6.1}/MANIFEST.in +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/deps.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/dev.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/middleware/auth.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/note_requests.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/request_auth.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/ai.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/auth.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/backups.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/files.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/notes.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/ontology.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/reminders.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/remote_images.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/routes/test.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/transactions.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/api/upload_limits.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/config.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/data_directory.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/backup_settings_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/engine.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/file_schema.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/file_session.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/files_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/link_titles_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/live_recovery.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/migrations.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/notes_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/ontology_rules_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/reminders_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/retire_sounds.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/schema.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/search_history_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/session.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/settings_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/tab_state_sql.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/db/version.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/encryption_audit.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/exception_boundaries.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/https_proxy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/main.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/commands.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/database.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/entities.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/enums.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/linked_list.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/list_operations.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/list_traversal.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/note_crud.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/models/utils.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/presentation/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/presentation/render/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/presentation/render/note_renderer.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/presentation/templates.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/authenticated_logging.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/encryption.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/http_headers.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/note_html.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/request_boundary.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/sensitive_cache.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/sensitive_logging.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/shell_execution.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/security/validation_errors.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/server_runtime.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/actions.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/cloud_privacy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/context.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/evidence_serialization.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/inference.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/investigation.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/model_policy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/ollama_inference.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/openai_cost_tracking.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/openai_inference.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/permissions.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/prompt_settings.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/prompts/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/prompts/final-response.md +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/prompts/system.md +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/prompts/tool-result.md +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/retrieval_settings.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/runtime.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/scope.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/skill_settings.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/skills/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/skills/scoped-investigation.md +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/tagging.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/tagging_run.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/token_estimation.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/tools.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/agent/trace.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/ai_chat.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/ai_chat_rendering.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/ai_chat_stream.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/auth.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/auth_cache_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/auth_service.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/backlink_index.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/backlinks.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/backup_service.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/backup_settings_service.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/bulk_operation.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/content_cache.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/content_formatting.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/diagnostics.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/embedded_references.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/encryption.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/exception_capture.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/file_registry.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/file_storage.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/footnote_layout.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/footnote_rendering.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/hierarchy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/html_export.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/html_unformatting.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/hydration_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/image_size_formatting.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/inline_image_occurrences.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/input_errors.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/integrity.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/latex_rendering.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/link_titles.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/login_rate_limit.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/maintenance_mode.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/managed_ollama_runtime.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/markdown_rendering.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_deletion_jobs.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_deletion_worker.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_rename_jobs.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_rename_worker.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_runtime_guard.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/namespace_switcher.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/note_fullscreen.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/note_image_tags.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/note_ordering.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/note_store.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/ollama_provider.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/ontology_rules_store.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/openai_credentials.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/password_note_fields.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/reference_presentation.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/reminders.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/remote_image_proxy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/request_recovery.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/resource_limits.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/root_sorting.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/runtime_generation.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/runtime_hardening.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/runtime_lock.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/search_history.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/search_history_storage.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/search_index.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/search_query.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/search_text.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/selected_text_tag.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/self_update.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/session_timeout_service.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/shell_session_service.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/snapshot.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/store.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/structured_note_renderers.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/sync.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/sync_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tab_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tag_case.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tag_ontology.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tag_rename.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tag_suggestions.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tag_term_matching.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/test_reset.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/tokens.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/undo_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/update_backups.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/view_cache.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/view_diff.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/view_state.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/services/windows_process_control.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/startup_environment.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/startup_js_sanity.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/startup_sanity.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/startup_sanity_config.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/css/floating-notes.css +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/css/forms.css +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/css/main.css +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/img/favicon.ico +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/locked.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/main.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/activity-tracker.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/agent-prompt-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/agent-retrieval-settings.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/ai-agent-debug-view.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/ai-chat-api.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/ai-chat-panel-controller.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/ai-chat-panel-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/ai-thinking-level-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/bulk-elapsed-clock.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/bulk-proposal-ui.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/cloud-privacy-policy.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/ai-chat/proposal-menu.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/api-client.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/api-failure-classification-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/application-state.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/async-result.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/auth.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/client-state-api.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/activation-auth-policy.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/backup-command-availability.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/click-activation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/note-layout-preferences.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/preferences-store.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/tag-config-loader.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/usage-store.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/config.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/connectivity-monitor.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/context-menu/context-menu-registry.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/context-menu/context-menu-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/context-menu/context-menu-target-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/context-menu/input-caret-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/disconnect-editing-state-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/dom-utils-fixed.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/dom-utils.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/editor-commands.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/editor-selection.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/editor-toolbar.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/elapsed-time.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/error-handler.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/error-overlay.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/expected-errors.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/location-flags.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/login-namespace-picker.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/maintenance.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/agent-prompt-editor-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/ai-agent-settings-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/alphabetize-root-notes-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/backup-restore-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/backup-result-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/backup-retention-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/backup-settings-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/base-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/confirmation-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/delete-namespace-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/delete-namespace-validation.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/help-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/namespace-loading-page.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/namespace-modals.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/namespace-ports-profile.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/namespace-rename-validation.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/note-layout-appearance-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/ontology-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/password-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/prioritize-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/random-password-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/reminder-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/reset-updated-at-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/search-suggestion-statistics-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/session-timeout-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/modals/version-info-modal.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/content-actions.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/history-actions.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/note-actions.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/search-actions.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/actions/selection-actions.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/context-menu-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/focus-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/inactivity-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/input-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/keyboard-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/mouse-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/events/search-events.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/mode-logger.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/mode-manager-controller.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/add-style-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/animated-scroll-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/backlinks-navigation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/backlinks-panel-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/clipboard-shortcut-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/collapse-affordance-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/collapse-editing-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/command-gate-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/context-menu-target-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/deselect-selection-state-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/differential-view-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/edit-session-collapse-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/edit-session-collapse-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/embedded-image-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/file-drop-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/file-image-preview-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/file-reference-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/filtered-refresh-selection-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/floating-note-dom.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/floating-note-layout.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/floating-note-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/footnote-navigation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/history-selection-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/history-shortcut-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/html-paste-sanitizer-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/image-context-menu-action-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/image-file-insert-choice-modal-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/link-context-menu-action-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/link-title-prefetch-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/markdown-render-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/mermaid-render-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-click-target-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-clipboard-write-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-collapse-animation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-context-menu-action-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-delete-shortcut-policy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-drag-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-fullscreen-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-reposition-animation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-split-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/note-timestamp-hover-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/password-clipboard-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/polling-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/reference-source-navigation-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/remote-image-proxy-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/remove-formatting-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/root-date-separator-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/root-sort-indicator-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/root-sort-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/scroll-anchor-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/scroll-restoration-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/scroll-to-top-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-contexts-overlay-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-debounce-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-input-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-interaction-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-redaction-reveal-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-suggestion-statistics-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-suggestion-window-labels-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-suggestion-windows-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-suggestions-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/search-syntax-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/selected-formatting-removal-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/selected-text-tag-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/shell-output-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tab-dom-cache-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tab-drag-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tab-duplication-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tab-state-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tag-bar-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tag-input-selection-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tag-proposal-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tag-suggestions-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/tag-syntax-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/todo-toggle-editing-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/untagged-view-indicator-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/mode-manager/services/view-mode-search-shortcut-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/note-html-sanitizer.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/password-generator.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/password-operation-response.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/password-policy.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/password-strength.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/reminder-store.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/reminder-surface-service.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/selection-markers.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/session-auth.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/tag-token.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/uuid.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/namespace-deleted.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/namespace-renamed.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/dompurify-3.4.13.LICENSE.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/dompurify-3.4.13.min.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/markdown-it-14.3.2.LICENSE.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/markdown-it-14.3.2.min.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/mermaid-11.16.1.LICENSE.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/mermaid-11.16.1.min.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/zxcvbn-4.4.2.LICENSE.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/js/vendor/zxcvbn-4.4.2.js +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/note-html-policy.json +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/static/video/login-startup.mp4 +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/base.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/index.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/locked.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/maintenance.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/namespace_deleted.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/namespace_renamed.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/templates/notes_list.html +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/upload_limits.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/add_selected_text_tag.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/alphabetize_root_notes.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/base.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/bulk_tag_proposals.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/collapse.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/copy_note.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/create_child.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/create_note.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/create_sibling.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/delete_subtree.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/delete_tag.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/expand.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/indent.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/lock.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/move.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/move_to_top.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/outdent.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/paste_child.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/paste_sibling.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/prefetch_link_titles.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/prioritize.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/redo.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/rename_tag.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/reset_updated_at.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/resize_image.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/run_shell.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/search_comment_autofill.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/search_context_tags.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/set_collapse_bulk.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/set_collapse_in_context.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/split_note.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/tag_proposals.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/toggle_reference_mode.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/toggle_todo_done.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/undo.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/unformat_content.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/update_content.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/usecases/view.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/utils/__init__.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/utils/encryption.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/app/utils/text_utils.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/convert-from-legacy.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/main.py +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/metalist.egg-info/SOURCES.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/metalist.egg-info/dependency_links.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/metalist.egg-info/entry_points.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/metalist.egg-info/requires.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/metalist.egg-info/top_level.txt +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/pyproject.toml +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/scripts/generate-lan-cert.sh +0 -0
- {metalist-0.6.0 → metalist-0.6.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metalist
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.1
|
|
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,10 @@ 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.6.1
|
|
52
|
+
|
|
53
|
+
- Removed the unused performance overlay, including its menu option and background state updates, fixing a fatal redundant-state error during note rearranging. Obsolete overlay preferences and command usage are discarded automatically.
|
|
54
|
+
|
|
51
55
|
## Changes in 0.6.0
|
|
52
56
|
|
|
53
57
|
- Open notes and their children in multiple live, read-only floating windows. Drag and resize them, keep them visible across searches and tabs, and follow links or copy passwords. Saved changes refresh every half second.
|
|
@@ -12,6 +12,10 @@ 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.6.1
|
|
16
|
+
|
|
17
|
+
- Removed the unused performance overlay, including its menu option and background state updates, fixing a fatal redundant-state error during note rearranging. Obsolete overlay preferences and command usage are discarded automatically.
|
|
18
|
+
|
|
15
19
|
## Changes in 0.6.0
|
|
16
20
|
|
|
17
21
|
- Open notes and their children in multiple live, read-only floating windows. Drag and resize them, keep them visible across searches and tabs, and follow links or copy passwords. Saved changes refresh every half second.
|
|
@@ -44,7 +44,6 @@ _ALLOWED_CLIENT_PREFERENCES = {
|
|
|
44
44
|
"pref.show_tab_ui": {"true", "false"},
|
|
45
45
|
"pref.show_search_results_count": {"true", "false"},
|
|
46
46
|
"pref.show_ai_chat": {"true", "false"},
|
|
47
|
-
"pref.show_perf_overlay": {"true", "false"},
|
|
48
47
|
"pref.animated_transitions": {"true", "false"},
|
|
49
48
|
"pref.reminder_surface_expanded": {"true", "false"},
|
|
50
49
|
"pref.note_layout.top_level_note_size": {"same", "larger", "largest"},
|
|
@@ -80,6 +79,7 @@ _ALLOWED_CLIENT_PREFERENCES = {
|
|
|
80
79
|
|
|
81
80
|
_OBSOLETE_CLIENT_PREFERENCES = frozenset(
|
|
82
81
|
{
|
|
82
|
+
"pref.show_perf_overlay",
|
|
83
83
|
"pref.reminder_default_popup_sound_enabled",
|
|
84
84
|
"pref.reminder_default_popup_sound_id",
|
|
85
85
|
"pref.reminder_default_ack_sound_enabled",
|
|
@@ -281,6 +281,8 @@ def _validate_usage_state(usage_state: dict[str, object]) -> dict[str, dict[str,
|
|
|
281
281
|
for endpoint_id, raw_record in usage_state.items():
|
|
282
282
|
if not isinstance(endpoint_id, str) or endpoint_id == "":
|
|
283
283
|
raise ClientStateValidationError("usage endpoint ids must be non-empty strings")
|
|
284
|
+
if endpoint_id in _OBSOLETE_CLIENT_PREFERENCES:
|
|
285
|
+
continue
|
|
284
286
|
if not isinstance(raw_record, dict):
|
|
285
287
|
raise ClientStateValidationError(f"Usage record for {endpoint_id} must be an object")
|
|
286
288
|
if "count" not in raw_record:
|
|
@@ -20,10 +20,6 @@
|
|
|
20
20
|
"id": "pref.show_ai_chat",
|
|
21
21
|
"tags": ["ai", "chat", "assistant", "ollama", "agent", "right", "panel", "view", "show", "hide", "toggle"]
|
|
22
22
|
},
|
|
23
|
-
{
|
|
24
|
-
"id": "pref.show_perf_overlay",
|
|
25
|
-
"tags": ["perf", "performance", "overlay", "debug", "metrics", "dev", "ui", "show", "hide", "toggle"]
|
|
26
|
-
},
|
|
27
23
|
{
|
|
28
24
|
"id": "pref.animated_transitions",
|
|
29
25
|
"tags": ["animated", "animations", "animation", "transitions", "motion", "movement", "ui", "show", "hide", "toggle", "enable", "disable"]
|
|
@@ -6,11 +6,11 @@ const LEGACY_CLIENT_PREFERENCE_KEYS = [
|
|
|
6
6
|
'pref.show_backlinks',
|
|
7
7
|
'pref.show_note_tags',
|
|
8
8
|
'pref.show_tab_ui',
|
|
9
|
-
'pref.show_perf_overlay',
|
|
10
9
|
'pref.theme',
|
|
11
10
|
];
|
|
12
11
|
const LEGACY_OBSOLETE_CLIENT_PREFERENCE_KEYS = [
|
|
13
12
|
'pref.show_rhs_panel',
|
|
13
|
+
'pref.show_perf_overlay',
|
|
14
14
|
];
|
|
15
15
|
|
|
16
16
|
|
|
@@ -37,6 +37,7 @@ function normalizePreferences(rawPreferences) {
|
|
|
37
37
|
if (typeof key !== 'string' || key.length === 0) {
|
|
38
38
|
throw new Error('Preference keys must be non-empty strings');
|
|
39
39
|
}
|
|
40
|
+
if (LEGACY_OBSOLETE_CLIENT_PREFERENCE_KEYS.includes(key)) continue;
|
|
40
41
|
if (typeof value !== 'string') {
|
|
41
42
|
throw new Error(`Preference ${key} must be a string`);
|
|
42
43
|
}
|
|
@@ -86,6 +87,7 @@ function normalizeUsageState(rawUsageState) {
|
|
|
86
87
|
if (typeof endpointId !== 'string' || endpointId.length === 0) {
|
|
87
88
|
throw new Error('Usage endpoint ids must be non-empty strings');
|
|
88
89
|
}
|
|
90
|
+
if (LEGACY_OBSOLETE_CLIENT_PREFERENCE_KEYS.includes(endpointId)) continue;
|
|
89
91
|
normalized[endpointId] = normalizeUsageRecord(endpointId, rawRecord);
|
|
90
92
|
}
|
|
91
93
|
return normalized;
|
|
@@ -245,8 +247,8 @@ export async function migrateLegacyClientState({
|
|
|
245
247
|
|
|
246
248
|
if (Object.keys(legacyUsageState).length > 0) {
|
|
247
249
|
await persistCommandPaletteUsageFn(mergedUsageState);
|
|
248
|
-
clearLegacyCommandPaletteUsage();
|
|
249
250
|
}
|
|
251
|
+
clearLegacyCommandPaletteUsage();
|
|
250
252
|
|
|
251
253
|
return {
|
|
252
254
|
preferences: mergedPreferences,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
removeAllTagSuggestionsFromCurrentContext,
|
|
7
7
|
} from '../ai-chat/proposal-menu.js';
|
|
8
8
|
import { ModeContextInstance as ModeContext } from '../mode-manager/mode-context.js';
|
|
9
|
-
import { actionRefreshAndMaybeSelect
|
|
9
|
+
import { actionRefreshAndMaybeSelect } from '../mode-manager/actions/ui-actions.js';
|
|
10
10
|
import {
|
|
11
11
|
actionDeselectNote,
|
|
12
12
|
actionSaveAndExitEditingWithoutRefreshing,
|
|
@@ -541,15 +541,6 @@ class CommandPaletteController {
|
|
|
541
541
|
}));
|
|
542
542
|
}
|
|
543
543
|
|
|
544
|
-
const showPerfOverlay = this._getBoolean('pref.show_perf_overlay', false);
|
|
545
|
-
document.body.classList.toggle('pref-show-perf-overlay', showPerfOverlay);
|
|
546
|
-
if (!showPerfOverlay) {
|
|
547
|
-
const perfOverlay = document.getElementById('perf-overlay');
|
|
548
|
-
if (perfOverlay) {
|
|
549
|
-
perfOverlay.remove();
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
|
|
553
544
|
const animatedTransitions = this._getBoolean('pref.animated_transitions', true);
|
|
554
545
|
document.body.classList.toggle('pref-animated-transitions', animatedTransitions);
|
|
555
546
|
|
|
@@ -1355,15 +1346,6 @@ class CommandPaletteController {
|
|
|
1355
1346
|
if (typeof value === 'boolean') {
|
|
1356
1347
|
await this._preferences.setRaw(prefKey, value ? 'true' : 'false');
|
|
1357
1348
|
this._applyPreferenceEffectsFromStorage();
|
|
1358
|
-
if (prefKey === 'pref.show_perf_overlay' && value) {
|
|
1359
|
-
const hadCache = showPerfOverlayFromCache();
|
|
1360
|
-
if (!hadCache) {
|
|
1361
|
-
await actionRefreshAndMaybeSelect({
|
|
1362
|
-
startedAt: performance.now(),
|
|
1363
|
-
context: 'pref.show_perf_overlay',
|
|
1364
|
-
});
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
1349
|
return;
|
|
1368
1350
|
}
|
|
1369
1351
|
if (typeof value === 'string') {
|
{metalist-0.6.0 → metalist-0.6.1}/app/static/js/modules/command-palette/endpoint-registry.js
RENAMED
|
@@ -103,7 +103,6 @@ export function buildCommandPaletteEndpoints(deps) {
|
|
|
103
103
|
showTabUi: false,
|
|
104
104
|
showSearchResultsCount: true,
|
|
105
105
|
showAiChat: false,
|
|
106
|
-
showPerfOverlay: false,
|
|
107
106
|
animatedTransitions: true,
|
|
108
107
|
theme: 'system',
|
|
109
108
|
};
|
|
@@ -165,16 +164,6 @@ export function buildCommandPaletteEndpoints(deps) {
|
|
|
165
164
|
defaultValue: defaults.showAiChat,
|
|
166
165
|
apply: (next) => applyPreference('pref.show_ai_chat', next),
|
|
167
166
|
},
|
|
168
|
-
{
|
|
169
|
-
id: 'pref.show_perf_overlay',
|
|
170
|
-
kind: 'boolean',
|
|
171
|
-
get label() {
|
|
172
|
-
return visibilityLabel(preferencesStore, 'pref.show_perf_overlay', defaults.showPerfOverlay, 'performance overlay');
|
|
173
|
-
},
|
|
174
|
-
persistenceKey: 'pref.show_perf_overlay',
|
|
175
|
-
defaultValue: defaults.showPerfOverlay,
|
|
176
|
-
apply: (next) => applyPreference('pref.show_perf_overlay', next),
|
|
177
|
-
},
|
|
178
167
|
{
|
|
179
168
|
id: 'pref.animated_transitions',
|
|
180
169
|
kind: 'boolean',
|
|
@@ -17,126 +17,9 @@ import { resetInfiniteScrollState } from '../services/infinite-scroll-service.js
|
|
|
17
17
|
|
|
18
18
|
const moduleState = ApplicationState.createFields('ui-actions', {
|
|
19
19
|
viewRequestInFlight: false,
|
|
20
|
-
lastPerfOverlayPayload: null,
|
|
21
20
|
});
|
|
22
21
|
|
|
23
22
|
|
|
24
|
-
function updatePerfOverlay(roundtripMs, renderMs, totalMs, totalNotes,
|
|
25
|
-
rootNotesKnown, rootNotesSeen, updatedNotes,
|
|
26
|
-
context, vdom_ops) {
|
|
27
|
-
moduleState.lastPerfOverlayPayload = {
|
|
28
|
-
roundtripMs,
|
|
29
|
-
renderMs,
|
|
30
|
-
totalMs,
|
|
31
|
-
totalNotes,
|
|
32
|
-
rootNotesKnown,
|
|
33
|
-
rootNotesSeen,
|
|
34
|
-
updatedNotes,
|
|
35
|
-
context,
|
|
36
|
-
vdom_ops,
|
|
37
|
-
};
|
|
38
|
-
const shouldShow = document.body.classList.contains('pref-show-perf-overlay');
|
|
39
|
-
let overlay = document.getElementById('perf-overlay');
|
|
40
|
-
if (!shouldShow) {
|
|
41
|
-
if (overlay) {
|
|
42
|
-
overlay.remove();
|
|
43
|
-
}
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!overlay) {
|
|
47
|
-
overlay = document.createElement('div');
|
|
48
|
-
overlay.id = 'perf-overlay';
|
|
49
|
-
overlay.style.position = 'fixed';
|
|
50
|
-
overlay.style.bottom = '8px';
|
|
51
|
-
overlay.style.right = '8px';
|
|
52
|
-
overlay.style.padding = '4px 8px';
|
|
53
|
-
overlay.style.borderRadius = '4px';
|
|
54
|
-
overlay.style.background = 'rgba(0, 0, 0, 0.7)';
|
|
55
|
-
overlay.style.color = '#fff';
|
|
56
|
-
overlay.style.fontSize = '12px';
|
|
57
|
-
overlay.style.fontFamily = 'monospace';
|
|
58
|
-
overlay.style.zIndex = '9999';
|
|
59
|
-
document.body.appendChild(overlay);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const roundtrip = Number(roundtripMs.toFixed(2));
|
|
63
|
-
const render = Number(renderMs.toFixed(2));
|
|
64
|
-
const total = Number(totalMs.toFixed(2));
|
|
65
|
-
const notesCount = Number.isInteger(totalNotes) && totalNotes >= 0 ? totalNotes : 0;
|
|
66
|
-
const rootsKnown = Number.isInteger(rootNotesKnown) && rootNotesKnown >= 0 ? rootNotesKnown : 0;
|
|
67
|
-
const rootsSeen = Number.isInteger(rootNotesSeen) && rootNotesSeen >= 0 ? rootNotesSeen : 0;
|
|
68
|
-
const updatedCount = Number.isInteger(updatedNotes) && updatedNotes >= 0 ? updatedNotes : 0;
|
|
69
|
-
|
|
70
|
-
const rowStyle = 'padding-top: 2px; padding-bottom: 2px;';
|
|
71
|
-
const labelStyle = 'padding: 0 14px 0 6px; white-space: nowrap;';
|
|
72
|
-
const valueStyle = 'text-align: right; min-width: 70px; padding: 0 14px;';
|
|
73
|
-
const dividerColor = 'rgba(255, 255, 255, 0.25)';
|
|
74
|
-
const labelCellBaseStyle = `${labelStyle} ${rowStyle} border-right: 1px solid ${dividerColor};`;
|
|
75
|
-
const valueCellBaseStyle = `${valueStyle} ${rowStyle};`;
|
|
76
|
-
const bottomBorderStyle = `border-bottom: 1px solid ${dividerColor};`;
|
|
77
|
-
|
|
78
|
-
overlay.innerHTML = `
|
|
79
|
-
<table style="border-collapse: collapse;">
|
|
80
|
-
<tbody>
|
|
81
|
-
<tr>
|
|
82
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">context</td>
|
|
83
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${context}</td>
|
|
84
|
-
</tr>
|
|
85
|
-
<tr>
|
|
86
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">all notes known</td>
|
|
87
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${notesCount}</td>
|
|
88
|
-
</tr>
|
|
89
|
-
<tr>
|
|
90
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">all notes updated</td>
|
|
91
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${updatedCount}</td>
|
|
92
|
-
</tr>
|
|
93
|
-
<tr>
|
|
94
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">root notes known</td>
|
|
95
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${rootsKnown}</td>
|
|
96
|
-
</tr>
|
|
97
|
-
<tr>
|
|
98
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">root notes seen</td>
|
|
99
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${rootsSeen}</td>
|
|
100
|
-
</tr>
|
|
101
|
-
<tr>
|
|
102
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">server trip</td>
|
|
103
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${roundtrip}ms</td>
|
|
104
|
-
</tr>
|
|
105
|
-
<tr>
|
|
106
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">client render</td>
|
|
107
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${render}ms</td>
|
|
108
|
-
</tr>
|
|
109
|
-
<tr>
|
|
110
|
-
<td style="${labelCellBaseStyle} ${bottomBorderStyle}">vdom ops</td>
|
|
111
|
-
<td style="${valueCellBaseStyle} ${bottomBorderStyle}">${vdom_ops}</td>
|
|
112
|
-
</tr>
|
|
113
|
-
<tr>
|
|
114
|
-
<td style="${labelCellBaseStyle}">total</td>
|
|
115
|
-
<td style="${valueCellBaseStyle}">${total}ms</td>
|
|
116
|
-
</tr>
|
|
117
|
-
</tbody>
|
|
118
|
-
</table>
|
|
119
|
-
`;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export function showPerfOverlayFromCache() {
|
|
123
|
-
if (!moduleState.lastPerfOverlayPayload) {
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
updatePerfOverlay(
|
|
127
|
-
moduleState.lastPerfOverlayPayload.roundtripMs,
|
|
128
|
-
moduleState.lastPerfOverlayPayload.renderMs,
|
|
129
|
-
moduleState.lastPerfOverlayPayload.totalMs,
|
|
130
|
-
moduleState.lastPerfOverlayPayload.totalNotes,
|
|
131
|
-
moduleState.lastPerfOverlayPayload.rootNotesKnown,
|
|
132
|
-
moduleState.lastPerfOverlayPayload.rootNotesSeen,
|
|
133
|
-
moduleState.lastPerfOverlayPayload.updatedNotes,
|
|
134
|
-
moduleState.lastPerfOverlayPayload.context,
|
|
135
|
-
moduleState.lastPerfOverlayPayload.vdom_ops
|
|
136
|
-
);
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
23
|
function updateSearchResultsCount(snapshot, tabId) {
|
|
141
24
|
if (!snapshot || typeof snapshot !== 'object') {
|
|
142
25
|
throw new Error('updateSearchResultsCount requires snapshot object');
|
|
@@ -270,8 +153,6 @@ export async function actionRefreshAndMaybeSelect(options) {
|
|
|
270
153
|
) {
|
|
271
154
|
ModeContext.setRootCountTotals(snapshot.rootCountTotal, snapshot.searchRootCountTotal, requestTabId);
|
|
272
155
|
}
|
|
273
|
-
const rootNotesKnown = ModeContext.knownRootCount;
|
|
274
|
-
const rootNotesSeen = ModeContext.seenRootCount;
|
|
275
156
|
const updatedNotesCount = snapshot.notes && typeof snapshot.notes === 'object'
|
|
276
157
|
? Object.keys(snapshot.notes).length
|
|
277
158
|
: 0;
|
|
@@ -366,8 +247,6 @@ export async function actionRefreshAndMaybeSelect(options) {
|
|
|
366
247
|
|
|
367
248
|
const renderEndedAt = performance.now();
|
|
368
249
|
const renderMs = renderEndedAt - renderStartedAt;
|
|
369
|
-
const metricsStartedAt = typeof options.startedAt === 'number' ? options.startedAt : requestStartedAt;
|
|
370
|
-
const totalMs = renderEndedAt - metricsStartedAt;
|
|
371
250
|
const context = options.context ? options.context : 'refresh';
|
|
372
251
|
|
|
373
252
|
const vdom_ops = Number.isInteger(diffResult.vdomOperations) ? diffResult.vdomOperations : 0;
|
|
@@ -388,9 +267,6 @@ export async function actionRefreshAndMaybeSelect(options) {
|
|
|
388
267
|
ms: Number(renderMs.toFixed(2))
|
|
389
268
|
});
|
|
390
269
|
}
|
|
391
|
-
const totalNotesCount = ModeContext.noteCount;
|
|
392
|
-
updatePerfOverlay(roundtripMs, renderMs, totalMs, totalNotesCount,
|
|
393
|
-
rootNotesKnown, rootNotesSeen, updatedNotesCount, context, vdom_ops);
|
|
394
270
|
|
|
395
271
|
await refreshBacklinksPanel({});
|
|
396
272
|
if (scrollToTopAfterRender) {
|
|
@@ -569,10 +569,6 @@ class ModeContext {
|
|
|
569
569
|
if (!stateValuesEqual(this._tabSeenRootIds[active], intersectedSeen)) this._tabSeenRootIds[active] = intersectedSeen;
|
|
570
570
|
if (!stateValuesEqual(this._tabRootOrder[active], order)) this._tabRootOrder[active] = order;
|
|
571
571
|
|
|
572
|
-
queueMicrotask(async () => {
|
|
573
|
-
const module = await import('./services/infinite-scroll-service.js');
|
|
574
|
-
module.refreshOverlayMetrics();
|
|
575
|
-
});
|
|
576
572
|
|
|
577
573
|
return this;
|
|
578
574
|
}
|
|
@@ -1030,10 +1026,6 @@ class ModeContext {
|
|
|
1030
1026
|
}
|
|
1031
1027
|
if (!stateValuesEqual(this._tabSeenRootIds[currentTabId], intersectedSeen)) this._tabSeenRootIds[currentTabId] = intersectedSeen;
|
|
1032
1028
|
|
|
1033
|
-
queueMicrotask(async () => {
|
|
1034
|
-
const module = await import('./services/infinite-scroll-service.js');
|
|
1035
|
-
module.refreshOverlayMetrics();
|
|
1036
|
-
});
|
|
1037
1029
|
}
|
|
1038
1030
|
|
|
1039
1031
|
resetRootTracking(options) {
|
|
@@ -88,7 +88,6 @@ function receivePollReset(resetFetchTime) {
|
|
|
88
88
|
const key = `${ModeContext.activeTabId}::${ModeContext.searchQuery}`;
|
|
89
89
|
moduleState.tabPollState[key] = next;
|
|
90
90
|
}
|
|
91
|
-
refreshOverlayMetrics();
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
export function resetInfiniteScrollState() {
|
|
@@ -150,8 +149,7 @@ async function handlePoll() {
|
|
|
150
149
|
}
|
|
151
150
|
}
|
|
152
151
|
|
|
153
|
-
|
|
154
|
-
if (changed) refreshOverlayMetrics();
|
|
152
|
+
ModeContext.markRootsAsSeen([...visible, ...past]);
|
|
155
153
|
|
|
156
154
|
const knownCount = ModeContext.knownRootCount;
|
|
157
155
|
if (knownCount === 0) return;
|
|
@@ -198,7 +196,6 @@ async function maybeFetchMore(state, previousKnownCount, nearEndFlag) {
|
|
|
198
196
|
if (currentKnown > previousKnownCount) {
|
|
199
197
|
if (state.lastKnownCount !== currentKnown) state.lastKnownCount = currentKnown;
|
|
200
198
|
if (state.noMoreRoots) state.noMoreRoots = false;
|
|
201
|
-
refreshOverlayMetrics();
|
|
202
199
|
} else if (nearEndFlag) {
|
|
203
200
|
const totalRoots = selectInfiniteScrollRootTotal({
|
|
204
201
|
searchQuery: (ModeContext.searchQuery || '').toString(),
|
|
@@ -218,25 +215,3 @@ async function maybeFetchMore(state, previousKnownCount, nearEndFlag) {
|
|
|
218
215
|
}
|
|
219
216
|
state.pendingFetch = false;
|
|
220
217
|
}
|
|
221
|
-
|
|
222
|
-
export function refreshOverlayMetrics() {
|
|
223
|
-
const overlay = document.getElementById('perf-overlay');
|
|
224
|
-
if (!overlay) {
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const rows = overlay.querySelectorAll('tbody tr');
|
|
229
|
-
for (const row of rows) {
|
|
230
|
-
const cells = row.querySelectorAll('td');
|
|
231
|
-
if (cells.length !== 2) {
|
|
232
|
-
continue;
|
|
233
|
-
}
|
|
234
|
-
const label = cells[0].textContent.trim().toLowerCase();
|
|
235
|
-
if (label === 'root notes known') {
|
|
236
|
-
cells[1].textContent = `${ModeContext.knownRootCount}`;
|
|
237
|
-
}
|
|
238
|
-
if (label === 'root notes seen') {
|
|
239
|
-
cells[1].textContent = `${ModeContext.seenRootCount}`;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metalist
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.1
|
|
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,10 @@ 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.6.1
|
|
52
|
+
|
|
53
|
+
- Removed the unused performance overlay, including its menu option and background state updates, fixing a fatal redundant-state error during note rearranging. Obsolete overlay preferences and command usage are discarded automatically.
|
|
54
|
+
|
|
51
55
|
## Changes in 0.6.0
|
|
52
56
|
|
|
53
57
|
- Open notes and their children in multiple live, read-only floating windows. Drag and resize them, keep them visible across searches and tabs, and follow links or copy passwords. Saved changes refresh every half second.
|
|
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
|