Skip to content

Compatibility v13#48

Open
WebMaestroFr wants to merge 28 commits intomainfrom
2025-12-01-compendium-update
Open

Compatibility v13#48
WebMaestroFr wants to merge 28 commits intomainfrom
2025-12-01-compendium-update

Conversation

@WebMaestroFr
Copy link
Contributor

@WebMaestroFr WebMaestroFr commented Dec 2, 2025

⚠️ I merged #41 to main by mistake when creating this branch. The only thing I managed to revert was the git history somehow, but the changes are still on there.

@WebMaestroFr WebMaestroFr self-assigned this Dec 2, 2025
@WebMaestroFr WebMaestroFr linked an issue Dec 10, 2025 that may be closed by this pull request
@WebMaestroFr WebMaestroFr marked this pull request as ready for review December 19, 2025 08:09
Copy link

@zeel01 zeel01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good for the most part, but I think we need to clean up the console output. If something is really important for debugging we should prefer console.debug() as the verbose log level if nothing is going wrong. I was going to suggest we could use the log levels from https://foundryvtt.com/packages/_dev-mode but it seems to not have been updated past v9...

Comment on lines 12 to 19
async _prepareContext(options) {
console.warn("CompendiumBrowserApp._prepareContext", options);
const context = await super._prepareContext(options);
return context;
}

_onRender(context, options) {
console.warn("CompendiumBrowserApp._onRender", context, options);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these console warnings remain in the code?

export class CompendiumBrowserApp extends CompendiumBrowserAppBase {
constructor(book, options = {}) {
super(null, options);
console.warn("CompendiumBrowserApp.constructor", book, options);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning?

}

static async onMessage(data) {
console.warn("ForgeCompendiumBrowser.openBrowser", data);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning?

}

static openBrowser(book) {
console.warn("ForgeCompendiumBrowser.openBrowser", book);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning?

Copy link

@Eranziel Eranziel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A good start! Still needs some work, could be done in a follow-up PR.

  • Light mode CSS is borked.
    Image
    Image
  • Actor sheets don't render in a usable way.
    Image
  • Item sheets don't render in a usable way.
    Image
  • Journals don't render. (Vanilla journal show behind compendium browser window.)
    Image

Comment on lines 9 to 11
"compatibility": {
"minimum": "9",
"verified": "12"
"verified": "13"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: Given that we're moving to ApplicationV2, this will not work on older than v12. minimum should be updated to 12, and we'll need to test with v12 to ensure everything does work correctly there.

Also, since this next version will drop support for v9 - v11, we could update the manifest to drop the legacy fields (minimumCoreVersion, compatibleCoreVersion, etc...)


export class CompendiumBrowserApp extends Application {
let CompendiumBrowserAppBase;
if (foundry?.applications?.api?.ApplicationV2) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's worth putting ourselves through knots to maintain AppV1 compatibility here. I think we should just use AppV2 and set min compatibility to v12.

@zeel01 zeel01 requested a review from Eranziel February 19, 2026 05:21
@zeel01
Copy link

zeel01 commented Feb 19, 2026

  • Substantially refactored some portions of the code for entries. Partially because it needed cleaned up, but mainly because the process of refactoring it let me learn how it worked and update it for v13.
  • Light and dark mode are now both supported
  • Actor and Item sheets render correctly inside the app
  • Journal sheets render correctly inside the app
  • Imports now work
  • DNDB compendiums are correctly hidden from the sidebar

@zeel01
Copy link

zeel01 commented Feb 19, 2026

@qalucaspacheco1 QA notes:

  • Install dependencies: dlopen, vueport
  • Install package via import wizard: forge-compendium-browser.zip
  • The previous verified compatibility for this module was v11, so we primarily want to know if there are any regressions between the published version in v11 and this new version in v13.
  • The v11 version does work in v12 but has a few issues. This v13 version is not compatible with older versions of Foundry. I have not tested it on v14.
  • Neither of the dndb basic rules packs contain any scenes, you will need to import a dndb module that has scenes to test that part. I'm not sure how you can do that on QA unless you own a book with maps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Compendium Library to v13 / dnd5e v5 Compendium Browser Entries Empty for Imported Module Project dead? Ver 13 compat.

3 participants