mirror of
https://github.com/callumalpass/tasknotes.git
synced 2026-07-22 12:50:26 +00:00
release 3.18.2
This commit is contained in:
parent
89f27650c5
commit
4447491207
6 changed files with 288 additions and 209 deletions
45
copy-files.mjs
Normal file
45
copy-files.mjs
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
import { copyFile, mkdir, access, constants } from 'fs/promises';
|
||||
import { join, resolve } from 'path';
|
||||
|
||||
// Default copy destination - can be overridden with OBSIDIAN_PLUGIN_PATH environment variable
|
||||
const defaultPath = '/mnt/c/Users/Admin/Documents/testvault/test/.obsidian/plugins/tasknotes';
|
||||
const copyPath = process.env.OBSIDIAN_PLUGIN_PATH || defaultPath;
|
||||
|
||||
// Files to copy after build
|
||||
const files = ['main.js', 'styles.css', 'manifest.json'];
|
||||
|
||||
async function copyFiles() {
|
||||
try {
|
||||
// Resolve the destination path
|
||||
const destPath = resolve(copyPath);
|
||||
|
||||
// Create the directory if it doesn't exist
|
||||
|
||||
|
||||
// Check each file exists before copying
|
||||
const copyPromises = files.map(async (file) => {
|
||||
try {
|
||||
await access(file, constants.F_OK);
|
||||
const destFile = join(destPath, file);
|
||||
await copyFile(file, destFile);
|
||||
console.log(`✅ Copied ${file}`);
|
||||
} catch (err) {
|
||||
if (err.code === 'ENOENT') {
|
||||
console.warn(`⚠️ Warning: ${file} not found, skipping`);
|
||||
} else {
|
||||
throw new Error(`Failed to copy ${file}: ${err.message}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
await Promise.all(copyPromises);
|
||||
console.log(`✅ Files copied to: ${destPath}`);
|
||||
} catch (error) {
|
||||
console.error('❌ Failed to copy files:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
copyFiles();
|
||||
|
|
@ -6,6 +6,10 @@ Welcome to the TaskNotes release notes. Here you can find detailed information a
|
|||
|
||||
### Version 3.x (Current)
|
||||
|
||||
- [3.18.2](releases/3.18.2.md)
|
||||
- [3.18.1](releases/3.18.1.md)
|
||||
- [3.18.0](releases/3.18.0.md)
|
||||
- [3.17.1](releases/3.17.1.md)
|
||||
- [3.17.0](releases/3.17.0.md)
|
||||
- [3.16.4](releases/3.16.4.md)
|
||||
- [3.16.3](releases/3.16.3.md)
|
||||
|
|
|
|||
46
docs/releases/3.18.2.md
Normal file
46
docs/releases/3.18.2.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# TaskNotes 3.18.2
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
### Timeblock Date Shift Issue (#368)
|
||||
|
||||
Fixed timeblocks appearing one day earlier than expected by implementing the UTC Anchor pattern throughout the timeblocking feature. The previous implementation used problematic millisecond-based date iteration that caused timezone-dependent date shift bugs.
|
||||
|
||||
Timeblocks now appear on the correct calendar day regardless of user timezone or DST transitions.
|
||||
|
||||
*Thanks to @zolotyh-dk for reporting this issue with detailed screenshots and system information.*
|
||||
|
||||
### Performance Issues with Task Views
|
||||
|
||||
Eliminated typing lag that occurred when Task, Agenda, and Kanban views were open in large vaults. The plugin was triggering unnecessary view updates during text editing.
|
||||
|
||||
## New Features
|
||||
|
||||
### Enhanced Filename Template Variables (#370)
|
||||
|
||||
Added new timestamp variables for filename templates to support ISO 8601 formats and Google Keep compatibility:
|
||||
|
||||
- `{milliseconds}`, `{ms}` - 3-digit milliseconds (000-999)
|
||||
- `{timezone}`, `{utcOffset}` - UTC offset in ±HH:MM format
|
||||
- `{timezoneShort}`, `{utcOffsetShort}` - UTC offset in ±HHMM format
|
||||
|
||||
*Thanks to @mnipritom for requesting these variables*.
|
||||
|
||||
### Boolean Property Identification
|
||||
|
||||
Enhanced property-based task identification to handle boolean values correctly. Tasks can now be identified using boolean properties in frontmatter.
|
||||
|
||||
*A big thanks to @renatomen for contributing the boolean property identification implementation, documentation, and test coverage*
|
||||
|
||||
### Boolean Status Field Support (#108)
|
||||
|
||||
Added automatic boolean conversion for status values to support Obsidian's checkbox property format. The status field now handles boolean true/false values:
|
||||
|
||||
- String "true" → boolean true (in frontmatter)
|
||||
- String "false" → boolean false (in frontmatter)
|
||||
- Boolean true → string "true" (when read back)
|
||||
- Boolean false → string "false" (when read back)
|
||||
- Other status values remain unchanged as strings
|
||||
|
||||
*Thanks to @arminta7 for reporting the checkbox property compatibility issue and @imed-ghomari for contributing to the discussion on status field handling.*
|
||||
*And thanks again to @renatomen--the boolean property identification fix inspired this change!*
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "tasknotes",
|
||||
"name": "TaskNotes",
|
||||
"version": "3.18.1",
|
||||
"version": "3.18.2",
|
||||
"minAppVersion": "1.0.0",
|
||||
"description": "Note-based task management with calendar, pomodoro and time-tracking integration.",
|
||||
"author": "Callum Alpass",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "tasknotes",
|
||||
"version": "3.18.1",
|
||||
"version": "3.18.2",
|
||||
"description": "Note-based task management with calendar, pomodoro and time-tracking integration.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue