Skip to content

Commit ac43b1f

Browse files
committed
Merge remote-tracking branch 'origin/main' into add_virus_toal_scan
:q
2 parents e292931 + e922c0c commit ac43b1f

53 files changed

Lines changed: 4295 additions & 3901 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/validator.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414
with:
1515
skip_after_successful_duplicate: 'true'
1616
paths: '["plugins/*.json"]'
17-
test:
17+
18+
validate_plugin_manifest:
1819
needs: skip_check_job
1920
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
2021
runs-on: ubuntu-latest
@@ -28,6 +29,6 @@ jobs:
2829
run: |
2930
pip install -r ./ci/envs/requirements-validator.txt
3031
31-
- name: Test with pytest
32+
- name: Validate plugin manifest file
3233
run: |
3334
pytest ./ci/src/validator.py

ci/src/validator.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
# -*-coding: utf-8 -*-
22
import json
3+
import os
34
import uuid
5+
from pathlib import Path
46

5-
from _utils import (check_url, clean, get_new_plugin_submission_ids, get_plugin_file_paths, get_plugin_filenames,
6-
icon_path, id_name, language_list, language_name, plugin_reader, github_download_url_regex,
7-
url_download, necessary_fields, optional_fields, _raise_on_duplicate_keys, plugin_name)
7+
from _utils import (_raise_on_duplicate_keys, base_dir, check_url, clean, get_new_plugin_submission_ids,
8+
get_plugin_file_paths, get_plugin_filenames, github_download_url_regex, icon_path, id_name,
9+
language_list, language_name, necessary_fields, optional_fields, plugin_dir, plugin_name,
10+
plugin_reader, url_download)
11+
from pytest import fail
812

913
plugin_infos = plugin_reader()
1014

@@ -81,3 +85,34 @@ def test_no_duplicate_fields():
8185
json.load(f, object_pairs_hook=_raise_on_duplicate_keys)
8286
except ValueError as e:
8387
assert False, f"Plugin file {file_path} has {e}"
88+
89+
90+
def test_plugins_in_correct_location():
91+
plugins_path = Path(plugin_dir)
92+
93+
for root, _dirs, files in os.walk(base_dir):
94+
root_path = Path(root)
95+
96+
# Skip the official plugins directory and anything inside it
97+
if root_path == plugins_path or plugins_path in root_path.parents:
98+
continue
99+
100+
for file in files:
101+
if not file.endswith(".json"):
102+
continue
103+
104+
path_without_extension = Path(file).stem
105+
if "-" not in path_without_extension:
106+
continue
107+
108+
_, uuid_part = path_without_extension.split("-", 1)
109+
110+
try:
111+
_ = uuid.UUID(uuid_part, version=4)
112+
except ValueError:
113+
continue
114+
115+
fail(
116+
f"{str(root_path / file)} appears to be a plugin file and is not in the ./plugins directory. "
117+
"Please move it into ./plugins"
118+
)

etags.json

Lines changed: 323 additions & 311 deletions
Large diffs are not rendered by default.

plugins.json

Lines changed: 3634 additions & 3461 deletions
Large diffs are not rendered by default.

plugins/Alias Flow-a0e12ab7-7f1e-4192-b37b-81e1d4ff8358.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
"UrlDownload": "https://github.com/logitstudio/Flow.Launcher.Plugin.AliasFlow/releases/download/v2.0.2/Flow.Launcher.Plugin.AliasFlow.zip",
1111
"IcoPath": "https://cdn.jsdelivr.net/gh/logitstudio/Flow.Launcher.Plugin.AliasFlow@main/src/icon.png",
1212
"DateAdded": "2026-01-15T09:19:00Z",
13-
"LatestReleaseDate": "2026-01-15T09:16:26Z"
13+
"LatestReleaseDate": null
1414
}

plugins/AnyVideo Downloader-70CED0AC-3D9D-4255-AD0B-D9A37862E879.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
"Name": "AnyVideo Downloader",
44
"Description": "Plugin for downloading videos from YouTube, Facebook, Twitter, Instagram, and many other websites.",
55
"Author": "z1nc0r3",
6-
"Version": "2.3.1",
6+
"Version": "2.4.0",
77
"Language": "python",
88
"Website": "https://github.com/z1nc0r3/AnyVideo-Downloader-Flow-Plugin",
9-
"UrlDownload": "https://github.com/z1nc0r3/AnyVideo-Downloader-Flow-Plugin/releases/download/v2.3.1/Flow.Launcher.Plugin.AnyVideo.Downloader.zip",
9+
"UrlDownload": "https://github.com/z1nc0r3/AnyVideo-Downloader-Flow-Plugin/releases/download/v2.4.0/Flow.Launcher.Plugin.AnyVideo.Downloader.zip",
1010
"UrlSourceCode": "https://github.com/z1nc0r3/AnyVideo-Downloader-Flow-Plugin/tree/main",
1111
"IcoPath": "https://cdn.jsdelivr.net/gh/z1nc0r3/AnyVideo-Downloader-Flow-Plugin@main/Images/app.png",
1212
"Tested": true,
1313
"DateAdded": "2024-07-30T07:46:00Z",
14-
"LatestReleaseDate": "2026-02-05T20:55:43Z"
14+
"LatestReleaseDate": "2026-03-15T14:23:41Z"
1515
}

plugins/App Audio Manager-997C1625F44C4AF09C0E495F35E2712A.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
"Name": "App Audio Manager",
44
"Description": "Control the volume and mute state of individual applications directly from Flow Launcher",
55
"Author": "DavidGBrett",
6-
"Version": "1.0.0",
6+
"Version": "1.1.1",
77
"Language": "csharp",
88
"Website": "https://github.com/DavidGBrett/Flow.Launcher.Plugin.AppAudioManager",
9-
"UrlDownload": "https://github.com/DavidGBrett/Flow.Launcher.Plugin.AppAudioManager/releases/download/v1.0.0/Flow.Launcher.Plugin.AppAudioManager-v1.0.0.zip",
9+
"UrlDownload": "https://github.com/DavidGBrett/Flow.Launcher.Plugin.AppAudioManager/releases/download/v1.1.1/Flow.Launcher.Plugin.AppAudioManager-v1.1.1.zip",
1010
"UrlSourceCode": "https://github.com/DavidGBrett/Flow.Launcher.Plugin.AppAudioManager/tree/main",
1111
"IcoPath": "https://cdn.jsdelivr.net/gh/DavidGBrett/Flow.Launcher.Plugin.AppAudioManager@main/Flow.Launcher.Plugin.AppAudioManager/Assets/PluginIcon.png",
12-
"LatestReleaseDate": "2026-01-16T18:10:53Z",
12+
"LatestReleaseDate": "2026-03-16T11:59:26Z",
1313
"DateAdded": "2026-01-23T06:42:00Z"
1414
}

plugins/Benjosss Symbols-e4a91f4c2be9434e8f76982cb3a4c1df.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
"Name": "Benjosss Symbols",
44
"Description": "Copy useful symbols for your notes",
55
"Author": "Benjosss",
6-
"Version": "1.2.0",
6+
"Version": "1.3.0",
77
"Language": "python",
88
"Website": "https://github.com/Benjosss/Flow.Launcher.Plugin.Symbols.git",
9-
"UrlDownload": "https://github.com/Benjosss/Flow.Launcher.Plugin.Symbols/releases/download/v1.2.0/Flow.Launcher.Plugin.Symbols.zip",
9+
"UrlDownload": "https://github.com/Benjosss/Flow.Launcher.Plugin.Symbols/releases/download/v1.3.0/Flow.Launcher.Plugin.Symbols.zip",
1010
"UrlSourceCode": "https://github.com/Benjosss/Flow.Launcher.Plugin.Symbols",
1111
"IcoPath": "https://cdn.jsdelivr.net/gh/Benjosss/Flow.Launcher.Plugin.Symbols@main/icon.png",
12-
"LatestReleaseDate": "2025-12-23T09:48:58Z",
12+
"LatestReleaseDate": "2026-03-04T18:43:28Z",
1313
"Tested": true,
1414
"DateAdded": "2025-11-29T01:52:55Z"
1515
}

plugins/Browser Bookmarks-0ECADE17459B49F587BF81DC3A125110.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
"Name": "Browser Bookmarks",
44
"Description": "Search your browser bookmarks",
55
"Author": "qianlifeng, Ioannis G.",
6-
"Version": "2.1.0",
6+
"Version": "2.1.2",
77
"Language": "csharp",
88
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
99
"IcoPath": "https://cdn.jsdelivr.net/gh/Flow-Launcher/Flow.Launcher@master/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/bookmark.png",
10-
"UrlDownload": "https://github.com/Flow-Launcher/Flow.Launcher.Plugin.BrowserBookmark/releases/download/v2.1.0/Flow.Launcher.Plugin.BrowserBookmark.zip",
10+
"UrlDownload": "https://github.com/Flow-Launcher/Flow.Launcher.Plugin.BrowserBookmark/releases/download/v2.1.2/Flow.Launcher.Plugin.BrowserBookmark.zip",
1111
"UrlSourceCode": "https://github.com/Flow-Launcher/Flow.Launcher.Plugin.BrowserBookmark",
1212
"DateAdded": "2023-09-27T02:43:06Z",
13-
"LatestReleaseDate": "2026-02-24T11:53:23Z"
13+
"LatestReleaseDate": "2026-05-10T11:19:44Z"
1414
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"ID": "2032fd77-87f3-47fa-91ab-a67982ba1253",
3+
"Name": "Browser History V2",
4+
"Description": "Search your internet browsing history across multiple browsers",
5+
"Author": "Fahim Ahmed",
6+
"Version": "1.6.8",
7+
"Language": "python",
8+
"Website": "https://github.com/fahim-ahmed05/browser-history-v2",
9+
"UrlDownload": "https://github.com/fahim-ahmed05/browser-history-v2/releases/download/v1.6.8/browser-history-v2.zip",
10+
"UrlSourceCode": "https://github.com/fahim-ahmed05/browser-history-v2/tree/main",
11+
"IcoPath": "https://cdn.jsdelivr.net/gh/fahim-ahmed05/browser-history-v2@main/icon.png",
12+
"LatestReleaseDate": "2026-04-25T13:20:03Z",
13+
"Tested": true,
14+
"DateAdded": "2026-04-24T13:48:07Z"
15+
}

0 commit comments

Comments
 (0)