Skip to content

Releases: not0kkinex/oSlide2

v0.2.1-alpha

27 May 14:24

Choose a tag to compare

v0.2.1-alpha Pre-release
Pre-release

oSlide2 v0.2.1 β€” Release Notes

Toast Notification System

  • js/components/toast.js β€” 5 notification types: SUCCESS (green), ERROR (red), WARNING (yellow), INFO (blue), LOADING (blue + spin animation)
  • Auto-dismiss (3s) or persistent (LOADING)
  • Returns .dismiss() for manual control
  • Integrated into AI chat errors, file save success/errors, export operations
  • main.js IPC handlers wrapped with try/catch; error/success events sent to renderer
  • preload.js exposes onFileSaved / onFileError listeners
  • css/toast.css β€” slide-in-right animation, color-coded backgrounds

Performance Improvements

  • Diff-based thumbnail rendering (renderThumbs) β€” DOM operations only for added/removed slides; existing nodes reused. dataset.bg and dataset.thumb skip innerHTML updates when unchanged
  • CSS caching (renderSlide) β€” dataset.css skips style.cssText writes when unchanged
  • Content caching (renderSlide) β€” dataset.ck skips element re-render when content unchanged
  • Batch updates (canvas.js onUp) β€” multi-select drag calls single renderSlide() + renderThumbs() instead of per-element updEl() (N renders β†’ 1 render)
  • Element handles β€” only added to newly created elements, skipped on updates

Documentation

  • docs/ARCHITECTURE.md β€” state flow diagram, module dependency graphs, undo/redo flow, canvas coordinate system
  • docs/API.md β€” full IPC handler reference (with param/return types), config schema, .slidelab format, Element Schema and Type Definitions sections
  • docs/CONTRIBUTING.md β€” code style rules (no semicolons, JSDoc required), load order, security rules, PR process
  • docs/JSDoc-STYLE.md β€” JSDoc3 format templates, single-line/multi-line rules, typedef examples
  • docs/DEVELOPMENT.md β€” setup, project structure, build commands, known issues, debugging
  • JSDoc comments added to all 10 JS modules (state.js, actions.js, renderer.js, canvas.js, panels.js, ai.js, ai-ui.js, fileManager.js, export.js, main.js): @param, @returns, @throws, @async, @typedef CoreState

Security Fixes

  • main.js β€” validateConfig(): type/range checks for config values, catches corrupt configs
  • main.js β€” validateThemeColor(): enforces #RRGGBB format, rejects invalid colors, defaults to #ffffff
  • main.js β€” save-project-themes IPC handler validates colors before saving
  • homeTheme.js β€” _sanitizeColor() added, XSS prevention in renderThemes() innerHTML
  • renderMD() β€” href protocol whitelist only allows http:// and https://
  • Missing read-image IPC handler added to main.js (was defined in preload but handler was missing)

File System Fixes

  • open-file-dialog IPC handler now returns { data, filePath, fileName } (structured object instead of raw JSON)
  • homeProject.js openFileDialog β€” _projectName and _projectPath passed to editor
  • editor.js loadData β€” defensive theme object handling (defaults to 'default' if .name missing)
  • .slidelab rect elements corrected: fill (background), borderColor, borderWidth, borderRadius β€” old bg/color fields removed
  • .slidelab files added to .gitignore, removed from version control (git rm --cached)

Modularization & Maintenance

  • home.js split into homeTheme.js, homeSettings.js, homeProject.js; home.js reduced to 4-line orchestrator
  • All hardcoded hex colors migrated to CSS variables (19 variables in :root, managed via _setCSS())
  • theme.js β€” _setCSS() sets both light and dark mode CSS variables
  • ai.js β€” 4 separate system prompts consolidated into single SYSTEM_PROMPT constant
  • cloneObj() replaced with structuredClone()
  • editor.js split into ai-ui.js + export.js
  • AGENTS.md preserved, new docs/ folder created
  • Old LICENSE links removed from README
  • Version bumped 0.2.0 β†’ 0.2.1

v0.1.2-alpha

26 May 22:34

Choose a tag to compare

v0.1.2-alpha Pre-release
Pre-release

v0.2.0 (2026-05-27)

πŸš€ Features

  • Editor redesign β€” 5-group topbar, canvas ruler, zoom bar, AI FAB, status bar, panel tabs (Element/Slide/Animation), redesigned settings panel
  • Home screen redesign β€” sidebar navigation, topbar search, 4-column card grid, list view, empty state
  • Light mode β€” full light/dark theme support for both home and editor pages
  • Zoom β€” range 0.25–3, step 0.1, CSS transform scaling
  • Status bar β€” save status dot (red/green), slide count, element count
  • Project filename β€” displays actual project name in topbar
    πŸ”§ Improvements
  • Editor refactor β€” split editor.js into ai-ui.js and export.js for better maintainability
  • i18n updates β€” new home screen keys, version bumped in locale files
    πŸ›‘οΈ Security
  • renderMD() XSS fixed β€” href protocol whitelisted to http:// and https:// only
  • --allow-file-access-from-files flag removed β€” images go through IPC
  • structuredClone() replaces JSON.parse(JSON.stringify()) for safer cloning

v0.1.1-alpha

26 May 19:46

Choose a tag to compare

v0.1.1-alpha Pre-release
Pre-release

v0.1.1 β€” Bug Fixes & Polish

  • Fixed editor toolbar: removed non-functional icon buttons (align-element, distribute, match)
  • Updated app icon: black-to-yellow gradient, rounded corners, drop shadows
  • Cleaned up toolbar layout for better usability

v0.1.0

26 May 17:14

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

v0.1.0 β€” oSlide2

Electron-based slide/presentation app with zero framework dependencies.

Features

  • Slide editor: Rich text, images, shapes β€” add, edit, arrange
  • Multi-select: Shift+click to select multiple elements, align/distribute/match size
  • Animations: Slide transitions, per-element entrance/emphasis effects (fade, slide, zoom, bounce, pulse)
  • AI assistant: Slide generation and smart editing via Pollinations.ai API, JSON command support
  • Theme system: Project themes with customizable colors, fonts, animations; theme picker
  • Presentation mode: Fullscreen slideshow with pen/highlight annotation tools
  • i18n: Turkish & English localization
  • Snap guides: Visual alignment lines while dragging
  • Undo/Redo: Full history support
  • Favorites, export/import, auto-save, dev console
  • Build: Portable single-file EXE (self-signed)