Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
831 commits
Select commit Hold shift + click to select a range
4728e63
Complete translate
fastrick Jun 7, 2025
9a8742b
feat: update parser for Tasks
Quorafind Jun 8, 2025
ee770f5
Merge pull request #258 from fastrick/brazilian-translate
Quorafind Jun 8, 2025
c6ff1af
Update
fastrick Jun 7, 2025
a220896
Complete translate
fastrick Jun 7, 2025
89ca609
chore: migrate to new task type
Quorafind Jun 8, 2025
f879d71
chore: main type migrations
Quorafind Jun 8, 2025
e085369
chore: other types migrations
Quorafind Jun 8, 2025
38f8267
refactor: update task parser
Quorafind Jun 8, 2025
31ee62b
refactor: update project and context configuuration
Quorafind Jun 8, 2025
b66ae10
refactor: update project and context configuuration
Quorafind Jun 8, 2025
5dc670e
fix: parser issue
Quorafind Jun 8, 2025
a508a98
feat: support folder structure project
Quorafind Jun 8, 2025
6b0d84f
feat: support ics
Quorafind Jun 9, 2025
89287b0
fix: ics manager issue
Quorafind Jun 9, 2025
c1ce4e0
chore: update test
Quorafind Jun 9, 2025
52d87f0
chore: update test
Quorafind Jun 9, 2025
22d7fd6
improve: better performance for large events
Quorafind Jun 9, 2025
a514fe8
chore: remove unsed file
Quorafind Jun 9, 2025
0051ce4
feat: support complete someting
Quorafind Jun 9, 2025
dd6a16f
fix: test issue
Quorafind Jun 9, 2025
1b8879b
chore: update docs
Quorafind Jun 9, 2025
5396afb
chore: update workflow test
Quorafind Jun 9, 2025
669be93
feat: support better workflow
Quorafind Jun 10, 2025
4ec9f0a
feat: better workflow management
Quorafind Jun 11, 2025
afd27d1
feat: better workflow management
Quorafind Jun 11, 2025
ab5174e
fix: move to next stage issue
Quorafind Jun 11, 2025
2ebec3c
feat: support better controller
Quorafind Jun 11, 2025
109ac54
fix: cannot complete current substage
Quorafind Jun 11, 2025
4ec2d76
feat: support better workflow
Quorafind Jun 11, 2025
f84ecce
improve: batter handle when there is no workflow
Quorafind Jun 13, 2025
11422f9
chore: update icon in Task Genius
Quorafind Jun 16, 2025
382ee56
refactor: update ics parser performance
Quorafind Jun 16, 2025
37db900
fix: handle better daily habit created day
Quorafind Jun 16, 2025
8ad69e4
feat: support hide weekends in both forecast or events view
Quorafind Jun 16, 2025
34238ce
chore: remove unused fitles
Quorafind Jun 16, 2025
4d29fb9
styles: update style of settingtab
Quorafind Jun 16, 2025
c4b5cf7
styles: refresh setting page style
Quorafind Jun 16, 2025
334c268
feat: better settings tab of management
Quorafind Jun 16, 2025
557f9a6
chore: update version
Quorafind Jun 16, 2025
e000262
chore: update workflow
Quorafind Jun 16, 2025
e383f4b
Merge branch 'master' into feat/9-0-0
Quorafind Jun 16, 2025
489f7d8
chore: update workflow
Quorafind Jun 16, 2025
399f176
[release-beta] feat: support ics and so on
Quorafind Jun 16, 2025
810b804
fix: beta-release workflow branch config
Quorafind Jun 16, 2025
91a5229
feat: update workflow config [release-beta]
Quorafind Jun 16, 2025
d91474d
chore: remove unused comment in workflow
Quorafind Jun 16, 2025
179b921
chore: update readme
Quorafind Jun 16, 2025
a6ae42f
chore: bump version [release-beta]
Quorafind Jun 16, 2025
de951e6
feat: support capture idea to daily note
Quorafind Jun 16, 2025
2fc1a28
chore: update discord icon
Quorafind Jun 16, 2025
bfbc840
chore: update workflow [release-beta]
Quorafind Jun 16, 2025
593f556
fix: cannot update metadata of task when using inline editor in forec…
Quorafind Jun 16, 2025
9b127ed
chore: update workflow
Quorafind Jun 16, 2025
cd0b4a7
chore: bump version [release-beta]
Quorafind Jun 16, 2025
a335b6f
chore: bump version [release-beta]
Quorafind Jun 16, 2025
444b222
chore: bump version [release-beta]
Quorafind Jun 16, 2025
ac9f467
chore: release [release-beta]
Quorafind Jun 16, 2025
398e012
chore: update workflow
Quorafind Jun 17, 2025
6ac712d
revert: remove unused system from taskparsing service
Quorafind Jun 17, 2025
31be512
imporve: support configure project related settings in the project se…
Quorafind Jun 17, 2025
c5b1885
chore: update test
Quorafind Jun 17, 2025
7dde713
fix: task not inherited from project data
Quorafind Jun 17, 2025
591c649
chore: bump beta version [release-beta]
Quorafind Jun 17, 2025
b262a6b
chore: release beta version [release-beta]
Quorafind Jun 17, 2025
e242f28
fix: cannot parse dataview key correctly
Quorafind Jun 17, 2025
15e886a
chore: release beta version [release-beta]
Quorafind Jun 17, 2025
463304e
chore: update readme
Quorafind Jun 17, 2025
bdea43c
chore: add icons that designed by @jsmorabito
Quorafind Jun 17, 2025
987aab1
chore: bump beta version [release-beta]
Quorafind Jun 17, 2025
833b258
chore: update workflow
Quorafind Jun 17, 2025
f96b3e5
feat: support basic file index
Quorafind Jun 17, 2025
8618c49
feat: support file task
Quorafind Jun 17, 2025
6b118e5
improve: update config for files
Quorafind Jun 17, 2025
3e17b0f
improve: prevent inheriting metadata from project
Quorafind Jun 17, 2025
c509b7b
chore: bump beta version [release-beta]
Quorafind Jun 17, 2025
8f99154
chore: bump beta version [release-beta]
Quorafind Jun 17, 2025
b0b58ed
chore: update workflow
Quorafind Jun 18, 2025
42f624c
chore: update settings
Quorafind Jun 18, 2025
eff74f2
feat: support canvas indexer
Quorafind Jun 18, 2025
b6d4c50
chore: remove unused files
Quorafind Jun 18, 2025
0094088
feat: support canvas indexer
Quorafind Jun 18, 2025
7294753
chore: remove unused files
Quorafind Jun 18, 2025
efb84a0
feat: support timeline sidebar
Quorafind Jun 18, 2025
72bfbd9
chore: fix conflict
Quorafind Jun 18, 2025
4aed1b2
feat: suppor preview quick capture target
Quorafind Jun 18, 2025
d02eade
fix: not hide completed task in sidebar view of task genius
Quorafind Jun 18, 2025
94338a9
chore: fix conflit
Quorafind Jun 18, 2025
aab44e8
chore: fix conflit
Quorafind Jun 18, 2025
81bc9c8
chore: update settings
Quorafind Jun 18, 2025
5c7be92
feat: support timeline sidebar
Quorafind Jun 18, 2025
bd8fdb5
chore: fix conflict
Quorafind Jun 18, 2025
212c327
feat: suppor preview quick capture target
Quorafind Jun 18, 2025
e1c978e
fix: not hide completed task in sidebar view of task genius
Quorafind Jun 18, 2025
80bf0a5
chore: fix conflit
Quorafind Jun 18, 2025
c095100
chore: fix conflit
Quorafind Jun 18, 2025
544dcdf
chore: update index
Quorafind Jun 18, 2025
6ae1ab1
chore: update index
Quorafind Jun 18, 2025
533d8a1
chore: hide ics badge event in timeline
Quorafind Jun 18, 2025
c3eb48d
chore: bump beta version [release-beta]
Quorafind Jun 18, 2025
abb3dff
chore: update index
Quorafind Jun 18, 2025
faf14d5
chore: update index
Quorafind Jun 18, 2025
87cb9c7
chore: hide ics badge event in timeline
Quorafind Jun 18, 2025
a350255
chore: bump beta version [release-beta]
Quorafind Jun 18, 2025
f8c1cc5
chore: fix conflit
Quorafind Jun 18, 2025
476cd5e
Merge branch 'feat/file-index' into feat/timeline-sidebar
Quorafind Jun 18, 2025
fc679ac
Merge pull request #288 from Quorafind/feat/timeline-sidebar
Quorafind Jun 18, 2025
4d3e44a
chore: bump beta version [release-beta]
Quorafind Jun 18, 2025
bf3f18d
chore: bump beta version [release-beta]
Quorafind Jun 18, 2025
217ef7b
chore: update workflow
Quorafind Jun 18, 2025
eb3504e
chore: fix conflict
Quorafind Jun 18, 2025
ac9107a
chore: update translations
Quorafind Jun 18, 2025
364772c
chore: update translations
Quorafind Jun 18, 2025
3500fc2
chore: remove language file for size of bundle
Quorafind Jun 18, 2025
a97aa50
chore: bump beta version [release-beta]
Quorafind Jun 18, 2025
7466df7
feat: matrix
Quorafind Jun 18, 2025
f451477
Merge pull request #291 from Quorafind/feat/matrix
Quorafind Jun 18, 2025
14c39a2
Merge pull request #286 from Quorafind/feat/file-index
Quorafind Jun 18, 2025
210703d
feat: basic martix supported
Quorafind Jun 19, 2025
43cfa68
fix: wrong behavior of move card to other matrix
Quorafind Jun 19, 2025
df4671e
Merge pull request #263 from Quorafind/feat/9-0-0
Quorafind Jun 19, 2025
fd5e1c3
chore: fix wrong behavior
Quorafind Jun 19, 2025
5328de0
chore: bump version
Quorafind Jun 19, 2025
6387a7b
chore bump version
Quorafind Jun 19, 2025
6376936
styles: update matrix styles
Quorafind Jun 19, 2025
d4c2261
fix: sort options are not working in martix
Quorafind Jun 19, 2025
5e7f28e
chore: update docs
Quorafind Jun 19, 2025
0cd3288
fix: wrong metadata issue with 9.0.0
Quorafind Jun 19, 2025
aaca4af
chore: bump version
Quorafind Jun 19, 2025
3e1393a
fix: respect settings of quadrant
Quorafind Jun 19, 2025
d323815
fix: wrong render of content in quadrant card
Quorafind Jun 19, 2025
96fd09e
fix: click on delete filter button should not close popover ref
Quorafind Jun 19, 2025
a71f26e
chore: update tasks
Quorafind Jun 19, 2025
6cfb4eb
fix: cannot parse CJK tags correctly
Quorafind Jun 19, 2025
f73824e
improve: resolve CJK tags issue
Quorafind Jun 19, 2025
24941ce
chore: bump version
Quorafind Jun 19, 2025
608081a
chore: bump version
Quorafind Jun 19, 2025
7c135e4
fix: fix incorrectly fetch tag from content when using new feature
Quorafind Jun 19, 2025
10530fd
fix: should not remove tag from wikilinks
Quorafind Jun 19, 2025
f842fa4
chore: bump version
Quorafind Jun 19, 2025
9e96f8f
fix: cannot save and load filter correctly
Quorafind Jun 19, 2025
a1740fd
feat: global filter for all views
Quorafind Jun 19, 2025
cd8f979
fix: should not influence view filter when use view's default filter
Quorafind Jun 19, 2025
7b4e01c
fix: should not parser projects file when disabled enhanced project f…
Quorafind Jun 19, 2025
b347d86
chore: bump version
Quorafind Jun 19, 2025
6b212af
chore: update styles
Quorafind Jun 19, 2025
78a5598
chore bump version
Quorafind Jun 19, 2025
2e86cec
fix: should not fetch project data
Quorafind Jun 19, 2025
8348b1e
refactor: update project performance
Quorafind Jun 19, 2025
c269b90
chore: update worker issue
Quorafind Jun 19, 2025
be715b2
chore: update worker issue
Quorafind Jun 19, 2025
470123b
Merge branch 'master' into feat/project-performance
Quorafind Jun 19, 2025
08decf6
revert: revert gantt component
Quorafind Jun 23, 2025
592865c
improve: update project data management
Quorafind Jun 23, 2025
99e3874
chore: bump version
Quorafind Jun 23, 2025
67ccbfa
Merge pull request #309 from Quorafind/feat/project-index
Quorafind Jun 23, 2025
ec6c42c
revert: remove gantt visualization manager component
Quorafind Jun 23, 2025
790d814
Merge pull request #310 from Quorafind/feat/project-index
Quorafind Jun 23, 2025
a479aa7
chore: styles
Quorafind Jun 24, 2025
859150d
fix: cannot customize project prefix correctly
Quorafind Jun 24, 2025
dc50a75
fix: auto assign issues
Quorafind Jun 24, 2025
a77b555
chore: update description for task status
Quorafind Jun 24, 2025
d613d42
feat: support default view mode of task genius view
Quorafind Jun 24, 2025
b64c83c
feat: support files filter
Quorafind Jun 24, 2025
868d04d
feat: support full files filter
Quorafind Jun 24, 2025
7cf9f3a
fix: edge cases for tags parser
Quorafind Jun 24, 2025
d300eac
chore: bump version
Quorafind Jun 24, 2025
fe6358f
Merge pull request #318 from Quorafind/fix/project-issues
Quorafind Jun 24, 2025
e774021
feat: support full fields from tasks/dataview plugin
Quorafind Jun 24, 2025
cbf9c6a
feat: update feilds for tasks and also dataview
Quorafind Jun 25, 2025
e2c1ed7
fix: not showing cancelled date correctly
Quorafind Jun 25, 2025
911b961
feat: support onCompletion features
Quorafind Jun 26, 2025
17384d5
feat: support onCompletion features
Quorafind Jun 26, 2025
44fd8a4
feat: update on completions style
Quorafind Jun 27, 2025
82cdea7
feat: full support for bases view
Quorafind Jun 27, 2025
140baa7
fix: get data method
Quorafind Jun 27, 2025
48b87ec
fix: cannot update data
Quorafind Jun 27, 2025
e3f187f
chore: update bases api to 1.9.3
Quorafind Jun 27, 2025
8bf064c
fix: tree view in projects' view should not show multi instance of ch…
Quorafind Jun 30, 2025
08e0877
feat: update on completion features
Quorafind Jun 30, 2025
5c8be72
fix: completion issues
Quorafind Jul 1, 2025
aa51565
fix: cannot save onCompletion data
Quorafind Jul 1, 2025
370d216
fix: save completion data
Quorafind Jul 1, 2025
e70acc5
fix: cannot trigger oncompletion correctly
Quorafind Jul 2, 2025
fe1bbc3
fix: some tests issues
Quorafind Jul 2, 2025
275b70e
feat: support dnd for columns in Kanban
Quorafind Jul 3, 2025
0167262
feat: support webcal
Quorafind Jul 3, 2025
934fdd5
fix: cannot parse heading correctly
Quorafind Jul 3, 2025
69b27ac
feat: support natural language date
Quorafind Jul 3, 2025
b15d457
feat: support time parsing service
Quorafind Jul 4, 2025
8d47d46
feat: support multi line capture
Quorafind Jul 4, 2025
d484308
fix: move task issue
Quorafind Jul 4, 2025
a8df0ff
fix: move executor issue
Quorafind Jul 4, 2025
64ee9bf
feat: update for test
Quorafind Jul 5, 2025
6b423da
fix: test error issues
Quorafind Jul 7, 2025
4e6904f
chore: release 9.1.0-beta [release-beta]
Quorafind Jul 7, 2025
9008931
fix: duplicate executor not working correctly
Quorafind Jul 8, 2025
9615176
chore: release [release-beta]
Quorafind Jul 8, 2025
c976a64
chore: resolve conflict
Quorafind Jul 9, 2025
a8bf07e
chore: resolve conflict
Quorafind Jul 9, 2025
b723b1d
chore: resolve conflict
Quorafind Jul 9, 2025
3fac9a4
chore: resolve conflict
Quorafind Jul 9, 2025
2e0b7eb
feat: update issues
Quorafind Jul 10, 2025
53b5fb1
fix: wrong insertion position of date mark when there is context mark
Quorafind Jul 10, 2025
47e1292
chore: release [beta-release]
Quorafind Jul 10, 2025
fb1c12c
fix: duplicate task in timeline view
Quorafind Jul 11, 2025
e33b91c
feat: support collapsible for input box in timeline sidebar
Quorafind Jul 11, 2025
6ee8855
chore: release [release-beta]
Quorafind Jul 11, 2025
9c65479
chore: bump version [release-beta]
Quorafind Jul 13, 2025
a56d520
fix: not showing task genius icons for checkbox correctly
Quorafind Jul 14, 2025
42e8544
chore: bump version [release-beta]
Quorafind Jul 14, 2025
e0ce9c3
fix: not showing forecast view correctly
Quorafind Jul 14, 2025
3bd99e3
chore: bump version [release-beta]
Quorafind Jul 14, 2025
7adb6ab
fix: should cycle checkbox when click on checkbox
Quorafind Jul 15, 2025
b3f0640
chore: bump version [release-beta]
Quorafind Jul 15, 2025
ba18f86
feat: inherit tags or metadata from frontmatter
Quorafind Jul 15, 2025
483e733
fix: tags parsing issue in frontmatter
Quorafind Jul 15, 2025
dfa35a8
feat: support inherit from frontmatter
Quorafind Jul 15, 2025
91c8206
chore: remove claude json
Quorafind Jul 15, 2025
537ece2
fix: quick capture path issue
Quorafind Jul 15, 2025
f11f1ee
fix: metadata inherited settings not passed to the taskworker
Quorafind Jul 16, 2025
b2d93b1
improve: update performance
Quorafind Jul 16, 2025
60c44b2
improve: update performance
Quorafind Jul 16, 2025
eaa5d29
fix: better performance
Quorafind Jul 16, 2025
45e60e7
feat: support minimal capture
Quorafind Jul 16, 2025
14cb254
feat: update minimal capture
Quorafind Jul 17, 2025
3ef7a3f
chore: fix some test suite
Quorafind Jul 18, 2025
667d692
fix: css issue with create task
Quorafind Jul 18, 2025
9b3a09b
chore: bump version [release-beta]
Quorafind Jul 18, 2025
2df0136
Merge pull request #338 from Quorafind/feat/new-ical
Quorafind Jul 18, 2025
34dcc4e
chore: bump version
Quorafind Jul 18, 2025
5c4f402
chore: bump version
Quorafind Jul 18, 2025
8e2f953
fix(view): improve view switching to focus existing leaves and sync s…
Quorafind Jul 21, 2025
1c172f1
chore: bump version
Quorafind Jul 21, 2025
919b531
refactor(commands): reorganize quick capture command structure
Quorafind Jul 21, 2025
1bd9517
chore: bump version to 9.1.2 and fix duplicate translation
Quorafind Jul 21, 2025
f28108b
docs: streamline README with cleaner formatting and concise content
Quorafind Jul 21, 2025
639325a
feat(task-editing): prevent view refresh during active task editing
Quorafind Jul 21, 2025
8e62b64
fix(task-view): sync originalMarkdown when updating task content
Quorafind Jul 22, 2025
866aceb
fix(filters): properly filter tasks with tgProject in inbox view
Quorafind Jul 22, 2025
0e87703
style(calendar): optimize mini calendar layout for more compact design
Quorafind Jul 22, 2025
dac525e
fix(forecast): correct task categorization relative to selected date
Quorafind Jul 22, 2025
e21f259
chore: bump version to 9.1.4
Quorafind Jul 22, 2025
5361590
chore: bump version to 9.1.3
Quorafind Jul 22, 2025
42a654a
chore(translation): update zh-cn/zh-tw translations
Quorafind Jul 22, 2025
ddb977c
feat(onboarding): add user onboarding system with guided setup
Quorafind Jul 22, 2025
dbe79c0
feat(onboarding): migrate to leaf view and add smart detection
Quorafind Jul 22, 2025
3ed7f17
chore: bump version to 9.1.4
Quorafind Jul 22, 2025
1bf838a
chore: release version 9.1.5
Quorafind Jul 22, 2025
c488be3
refactor(parser): implement unified parsing system
Quorafind Jul 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
202 changes: 202 additions & 0 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
# .github/workflows/beta-release.yml

name: "Automatic Beta Release on PR Commit"

on:
pull_request:
# Trigger on PR creation or when new commits are pushed
types: [opened, synchronize]
# IMPORTANT: Change 'main' to your default branch if it's different (e.g., 'master')
branches:
- master
push:
# Only trigger on push to specific branches (more secure)
branches:
- master
- "feat/**"
- "release/**"

env:
PLUGIN_NAME: obsidian-task-genius

# Grant permissions for the action to create a release
permissions:
contents: write
pull-requests: read

jobs:
build-and-release-beta:
if: |
contains(github.event.head_commit.message, '[release-beta]') && (
(github.event_name == 'push' && github.actor == github.repository_owner) ||
(github.event_name == 'pull_request' && github.event.pull_request.author_association == 'OWNER')
)
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@v4
with:
fetch-depth: 0

# Check if any recent commits contain [release-beta] tag
- name: "Check for release-beta tag in commits"
id: check_release_tag
run: |
SHOULD_RELEASE="false"

# Security check: only allow releases from the main repository
REPO_OWNER="${{ github.repository_owner }}"
REPO_NAME="${{ github.repository }}"
echo "Repository: $REPO_NAME, Owner: $REPO_OWNER"

# Add your expected repository info here for extra security
# EXPECTED_REPO="your-username/your-repo-name"
# if [ "$REPO_NAME" != "$EXPECTED_REPO" ]; then
# echo "Release not allowed from repository: $REPO_NAME"
# echo "SHOULD_RELEASE=false" >> $GITHUB_OUTPUT
# exit 0
# fi

if [ "${{ github.event_name }}" = "pull_request" ]; then
echo "Checking PR commits for [release-beta] tag..."
# Check the latest commit in the PR
LATEST_COMMIT_MSG=$(git log -1 --pretty=format:"%s")
echo "Latest commit message: $LATEST_COMMIT_MSG"

if echo "$LATEST_COMMIT_MSG" | grep -q "\[release-beta\]"; then
echo "Found [release-beta] tag in latest commit"
SHOULD_RELEASE="true"
fi

# Check user permissions (more restrictive)
USER_ASSOCIATION="${{ github.event.pull_request.author_association }}"
PR_AUTHOR="${{ github.event.pull_request.user.login }}"
echo "PR author: $PR_AUTHOR, Association: $USER_ASSOCIATION"

# Only allow OWNER and COLLABORATOR to trigger releases
if [ "$USER_ASSOCIATION" != "OWNER" ] && [ "$USER_ASSOCIATION" != "COLLABORATOR" ]; then
echo "User association '$USER_ASSOCIATION' is not authorized for releases"
SHOULD_RELEASE="false"
fi

# Additional check: only allow specific users (optional - uncomment and customize)
# ALLOWED_USERS="Quorafind,other-username"
# if ! echo "$ALLOWED_USERS" | grep -q "$PR_AUTHOR"; then
# echo "User '$PR_AUTHOR' is not in allowed users list"
# SHOULD_RELEASE="false"
# fi

elif [ "${{ github.event_name }}" = "push" ]; then
echo "Checking push commit for [release-beta] tag..."
COMMIT_MSG="${{ github.event.head_commit.message }}"
PUSH_AUTHOR="${{ github.event.head_commit.author.username }}"
echo "Commit message: $COMMIT_MSG"
echo "Push author: $PUSH_AUTHOR"

if echo "$COMMIT_MSG" | grep -q "\[release-beta\]"; then
echo "Found [release-beta] tag in push commit"

# Check if pusher is authorized (optional - uncomment and customize)
# ALLOWED_PUSH_USERS="Quorafind,other-username"
# if ! echo "$ALLOWED_PUSH_USERS" | grep -q "$PUSH_AUTHOR"; then
# echo "User '$PUSH_AUTHOR' is not authorized to trigger releases via push"
# SHOULD_RELEASE="false"
# else
# SHOULD_RELEASE="true"
# fi

SHOULD_RELEASE="true"
fi
fi

echo "SHOULD_RELEASE=$SHOULD_RELEASE" >> $GITHUB_OUTPUT
echo "Should release: $SHOULD_RELEASE"

- name: "Use Node.js 22"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
uses: actions/setup-node@v4
with:
node-version: 22

- name: "Install pnpm"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
uses: pnpm/action-setup@v4
with:
version: 9

- name: "Install dependencies"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
run: |
# Install jq for JSON parsing
sudo apt-get update && sudo apt-get install -y jq
pnpm install

- name: "Get version from package.json"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
id: get_version
run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV

- name: "Get commit messages since last release"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
id: get_commits
run: |
# Get all releases (including pre-releases) and find the most recent one
echo "Fetching all releases from GitHub API..."
LAST_RELEASE=$(curl -s "https://api.github.com/repos/${{ github.repository }}/releases?per_page=100" | jq -r '.[0].tag_name // empty' 2>/dev/null || echo "")

# If no release found via API, try to get the most recent tag with proper semantic version sorting
if [ -z "$LAST_RELEASE" ]; then
echo "No release found via API, looking for latest tag..."
# Get all tags and sort them properly using semantic versioning
LAST_RELEASE=$(git tag -l | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1 2>/dev/null || echo "")
fi

if [ -z "$LAST_RELEASE" ]; then
echo "No previous release or tag found, getting all commits from the beginning"
COMMIT_MESSAGES=$(git log --pretty=format:"- %s (%an) [%h](https://github.com/${{ github.repository }}/commit/%H)" --no-merges)
LAST_RELEASE="(initial)"
else
echo "Getting commits since last release: $LAST_RELEASE"
RELEASE_COMMIT=$(git rev-list -n 1 $LAST_RELEASE 2>/dev/null || git rev-list -n 1 HEAD~10)
COMMIT_MESSAGES=$(git log ${RELEASE_COMMIT}..HEAD --pretty=format:"- %s (%an) [%h](https://github.com/${{ github.repository }}/commit/%H)" --no-merges)
fi

if [ -z "$COMMIT_MESSAGES" ]; then
COMMIT_MESSAGES="- No new commits since last release"
fi
echo "COMMIT_MESSAGES<<EOF" >> $GITHUB_ENV
echo "$COMMIT_MESSAGES" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
echo "LAST_RELEASE=$LAST_RELEASE" >> $GITHUB_ENV

- name: "Build and package plugin"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
id: build
run: |
pnpm run build
mkdir ${{ env.PLUGIN_NAME }}
cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}/
zip -r ${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip ./${{ env.PLUGIN_NAME }}

- name: "Create Beta Pre-Release"
if: steps.check_release_tag.outputs.SHOULD_RELEASE == 'true'
uses: softprops/action-gh-release@v2
with:
body: |
${{ github.event_name == 'pull_request' && format('🚀 Automated beta release for PR #{0}', github.event.pull_request.number) || '🚀 Automated beta release' }}

## 📝 Changes since last release${{ env.LAST_RELEASE && format(' ({0})', env.LAST_RELEASE) || '' }}:

${{ env.COMMIT_MESSAGES }}

---

${{ github.event_name == 'pull_request' && github.event.pull_request.body || '' }}
prerelease: true
tag_name: "v${{ env.VERSION }}"
name: "Beta Release v${{ env.VERSION }}"
files: |
${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip
main.js
manifest.json
styles.css
118 changes: 61 additions & 57 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,74 @@ name: Release Obsidian plugin

on:
release:
types: [ created ]
types: [created]

env:
PLUGIN_NAME: obsidian-task-progress-bar
PLUGIN_NAME: obsidian-task-genius

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 16
- name: Build
id: build
run: |
npm install
npm run build
mkdir ${{ env.PLUGIN_NAME }}
cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}
zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
ls
echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)"
- name: Upload zip file
id: upload-zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ env.PLUGIN_NAME }}.zip
asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
asset_content_type: application/zip
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 22
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 9
- name: Build
id: build
run: |
pnpm install
pnpm run build
mkdir ${{ env.PLUGIN_NAME }}
cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}
zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
ls
echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)"
- name: Upload zip file
id: upload-zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ env.PLUGIN_NAME }}.zip
asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
asset_content_type: application/zip

- name: Upload main.js
id: upload-main
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./main.js
asset_name: main.js
asset_content_type: text/javascript
- name: Upload main.js
id: upload-main
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./main.js
asset_name: main.js
asset_content_type: text/javascript

- name: Upload manifest.json
id: upload-manifest
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./manifest.json
asset_name: manifest.json
asset_content_type: application/json
- name: Upload manifest.json
id: upload-manifest
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./manifest.json
asset_name: manifest.json
asset_content_type: application/json

- name: Upload styles.css
id: upload-css
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./styles.css
asset_name: styles.css
asset_content_type: text/css
- name: Upload styles.css
id: upload-css
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./styles.css
asset_name: styles.css
asset_content_type: text/css
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,24 @@ data.json

# Exclude macOS Finder (System Explorer) View States
.DS_Store

styles.css

package-lock.json

# cursorrules
.cursorrules

# env
.env

# translations
scripts
translation-templates
._data.json

styles.css

CLAUDE.md
.kiro
.claude
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/*.md
Loading