Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions .github/ISSUE_TEMPLATE/plugin-bug-report.md

This file was deleted.

89 changes: 89 additions & 0 deletions .github/ISSUE_TEMPLATE/plugin-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Plugin Bug Report
description: Create a report about a plugin to help us improve.
title: '[PLUGIN BUG]: <plugin-name>'
labels: ['Plugin Bug']

body:
- type: input
id: plugin-name
attributes:
label: Plugin Name
description: The name of the plugin experiencing the bug.
placeholder: e.g. colorscheme
validations:
required: true

- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: console-log
attributes:
label: Console Log
description: Goto settings -> advanced -> Dev Tools -> enable "Show dev console button" and reproduce the bug. Then copy and paste the console log here.

- type: textarea
id: reproduction-steps
attributes:
label: To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.

- type: input
id: os-version
attributes:
label: OS with Version
placeholder: e.g. Windows 11 / Android 13

- type: input
id: bombsquad-version
attributes:
label: BombSquad Version
placeholder: e.g. v1.7.60
validations:
required: true

- type: input
id: plugin-manager-version
attributes:
label: Plugin Manager Version
placeholder: e.g. v1.1.10
validations:
required: true

- type: input
id: plugin-version
attributes:
label: Plugin Version
placeholder: e.g. 2.0.1
validations:
required: true

- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Drag and drop screenshots here to help explain the problem.

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context about the problem here (logs, other plugins installed, etc).
15 changes: 9 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## Plugin Manager (dd-mm-yyyy)

### 1.1.7 (15-02-2026)

- Added function to fill form details for plugin bug report button
- Added a new plugin bug report yaml template

### 1.1.6 (26-01-2026)

- Fix UI scaling for more window
Expand Down Expand Up @@ -31,15 +36,15 @@
### 1.1.1 (09-02-2025)

- Added bomb spinner widget for loading animation.

### 1.1.0 (23-01-2025)

- Updated to bombsquad api 9.
- Updated to bombsquad api 9.

### 1.0.23 (13-01-2025)

- Fixed a bug which wasn't letting older versions run Plugin Manager.

### 1.0.22 (07-08-2024)

- Fixed a few Errors and UI Bugs.
Expand Down Expand Up @@ -193,13 +198,11 @@
- Added New Option in settings for Notifying new plugins.
- Added a Discord Button to join Bombsquad's Official Discord server.


### 0.1.6 (15-09-2022)

- Distinguish the settings button with a cyan color (previously was green) in plugin manager window.
- Clean up some internal code.


### 0.1.5 (08-09-2022)

- Plugin files that export classes besides plugin or game, now work.
Expand Down
6 changes: 6 additions & 0 deletions index.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"plugin_manager_url": "https://github.com/bombsquad-community/plugin-manager/{content_type}/{tag}/plugin_manager.py",
"versions": {
"1.1.7": {
"api_version": 9,
"commit_sha": "af881af",
"released_on": "15-02-2026",
"md5sum": "454cbacd47c813154f2f9cb0d2736067"
},
"1.1.6": {
"api_version": 9,
"commit_sha": "b0c463e",
Expand Down
48 changes: 37 additions & 11 deletions plugin_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# Modules used for overriding AllSettingsWindow
import logging

PLUGIN_MANAGER_VERSION = "1.1.6"
PLUGIN_MANAGER_VERSION = "1.1.7"
REPOSITORY_URL = "https://github.com/bombsquad-community/plugin-manager"
# Current tag can be changed to "staging" or any other branch in
# plugin manager repo for testing purpose.
Expand All @@ -35,8 +35,8 @@
_env = babase.env()
_app_api_version = babase.app.env.api_version

PLUGIN_ISSUE_TEMPLATE = "plugin-bug-report.md"
GITHUB_ISSUE_META = "{repository_url}/issues/new?template={issue_template}"
PLUGIN_ISSUE_TEMPLATE = "plugin-bug-report.yml"
GITHUB_PLUGIN_ISSUE_META = "{repository_url}/issues/new?template={issue_template}"
INDEX_META = "{repository_url}/{content_type}/{tag}/index.json"
CHANGELOG_META = "{repository_url}/{content_type}/{tag}/CHANGELOG.md"
HEADERS = {
Expand Down Expand Up @@ -1798,8 +1798,10 @@ async def update(self):


class MoreWindow:
def __init__(self, plugin, origin=None):
def __init__(self, plugin: Plugin, origin=None):
_add_popup(self)

self.plugin = plugin
# collect info
last_updated = None
for value in plugin.info['versions'].values():
Expand Down Expand Up @@ -1912,13 +1914,7 @@ def __init__(self, plugin, origin=None):
button_type='square',
color=(0.6, 0.53, 0.63),
label='',
on_activate_call=bui.CallPartial(
bui.open_url,
GITHUB_ISSUE_META.format(
repository_url=REPOSITORY_URL,
issue_template=PLUGIN_ISSUE_TEMPLATE
)
)
on_activate_call=self._open_bug_report_url
)
bui.imagewidget(
parent=self._root_widget,
Expand Down Expand Up @@ -1985,6 +1981,36 @@ def __init__(self, plugin, origin=None):
down_widget=source_button
)

def _open_bug_report_url(self):
import platform
import urllib.parse
import baenv

LOGS_LENGTH_LIMIT = 5000
_logs = ""
for entry in baenv._EnvGlobals.get().config.log_handler.get_cached().entries:
_logs += entry.message + "\n"

# reduce this more if it's too long
error_logs = f"""```py
{_logs[:LOGS_LENGTH_LIMIT]}
```"""

params = {
"title": "[PLUGIN BUG]: " + self.plugin.name,
"plugin-name": self.plugin.name,
"plugin-version": self.plugin.create_local().version if self.plugin.is_installed else 'Not Installed',
"plugin-manager-version": 'v' + PLUGIN_MANAGER_VERSION,
"bombsquad-version": 'v' + babase.app.env.engine_version + " (" + str(babase.app.env.engine_build_number) + ")",
"os-version": platform.platform() if platform else babase.app.env.platform.value + babase.app.env.os_version,
"console-log": error_logs
}
query_string = urllib.parse.urlencode(params, quote_via=urllib.parse.quote)
base_url = GITHUB_PLUGIN_ISSUE_META.format(
repository_url=REPOSITORY_URL, issue_template=PLUGIN_ISSUE_TEMPLATE)
final_url = f"{base_url}&{query_string}"
bui.open_url(final_url)

def _back(self) -> None:
_remove_popup(self)
bui.getsound('swish').play()
Expand Down