From 93d1587f619b71ffd88fa427a03cb3d7e18de9e3 Mon Sep 17 00:00:00 2001 From: Matheus Clemente Date: Sun, 7 Jul 2024 15:56:41 -0300 Subject: [PATCH 01/15] Update for V12 (#22) --- module.json | 5 ++-- src/libwrapper_shim.js | 61 ------------------------------------------ src/socketlib.js | 40 ++++++++------------------- 3 files changed, 13 insertions(+), 93 deletions(-) delete mode 100644 src/libwrapper_shim.js diff --git a/module.json b/module.json index 34ed93a..180344f 100644 --- a/module.json +++ b/module.json @@ -4,8 +4,8 @@ "description": "A library for easier handling of foundry sockets", "version": "1.0.13", "compatibility": { - "minimum": "10", - "verified": "11" + "minimum": "11", + "verified": "12" }, "library": true, "authors": [ @@ -17,7 +17,6 @@ } ], "esmodules": [ - "src/libwrapper_shim.js", "src/socketlib.js" ], "url": "https://github.com/manuelVo/foundryvtt-socketlib", diff --git a/src/libwrapper_shim.js b/src/libwrapper_shim.js deleted file mode 100644 index dc76133..0000000 --- a/src/libwrapper_shim.js +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-License-Identifier: MIT -// Copyright © 2021 fvtt-lib-wrapper Rui Pinheiro - -'use strict'; - -// A shim for the libWrapper library -export let libWrapper = undefined; - -Hooks.once('init', () => { - // Check if the real module is already loaded - if so, use it - if(globalThis.libWrapper && !(globalThis.libWrapper.is_fallback ?? true)) { - libWrapper = globalThis.libWrapper; - return; - } - - // Fallback implementation - libWrapper = class { - static get is_fallback() { return true }; - - static register(module, target, fn, type="MIXED", {chain=undefined}={}) { - const is_setter = target.endsWith('#set'); - target = !is_setter ? target : target.slice(0, -4); - const split = target.split('.'); - const fn_name = split.pop(); - const root_nm = split.splice(0,1)[0]; - const _eval = eval; // The browser doesn't expose all global variables (e.g. 'Game') inside globalThis, but it does to an eval. We copy it to a variable to have it run in global scope. - const obj = split.reduce((x,y)=>x[y], globalThis[root_nm] ?? _eval(root_nm)); - - let iObj = obj; - let descriptor = null; - while(iObj) { - descriptor = Object.getOwnPropertyDescriptor(iObj, fn_name); - if(descriptor) break; - iObj = Object.getPrototypeOf(iObj); - } - if(!descriptor || descriptor?.configurable === false) throw `libWrapper Shim: '${target}' does not exist, could not be found, or has a non-configurable descriptor.`; - - let original = null; - const wrapper = (chain ?? type != 'OVERRIDE') ? function() { return fn.call(this, original.bind(this), ...arguments); } : function() { return fn.apply(this, arguments); }; - - if(!is_setter) { - if(descriptor.value) { - original = descriptor.value; - descriptor.value = wrapper; - } - else { - original = descriptor.get; - descriptor.get = wrapper; - } - } - else { - if(!descriptor.set) throw `libWrapper Shim: '${target}' does not have a setter`; - original = descriptor.set; - descriptor.set = wrapper; - } - - descriptor.configurable = true; - Object.defineProperty(obj, fn_name, descriptor); - } - } -}); diff --git a/src/socketlib.js b/src/socketlib.js index 2f85645..73fbcdb 100644 --- a/src/socketlib.js +++ b/src/socketlib.js @@ -1,4 +1,3 @@ -import {libWrapper} from "./libwrapper_shim.js"; import * as errors from "./errors.js"; const RECIPIENT_TYPES = { @@ -18,9 +17,10 @@ const MESSAGE_TYPES = { Hooks.once("init", () => { window.socketlib = new Socketlib(); - libWrapper.register("socketlib", "Users.prototype.constructor._handleUserActivity", handleUserActivity); Hooks.callAll("socketlib.ready"); -}, "WRAPPER"); +}); + +Hooks.on("userConnected", handleUserActivity); class Socketlib { constructor() { @@ -90,7 +90,7 @@ class SocketlibSocket { return this._executeLocal(func, ...args); } else { - if (!game.users.find(isActiveGM)) { + if (!game.users.activeGM) { throw new errors.SocketlibNoGMConnectedError(`Could not execute handler '${name}' (${func.name}) as GM, because no GM is connected.`); } return this._sendRequest(name, args, RECIPIENT_TYPES.ONE_GM); @@ -162,7 +162,7 @@ class SocketlibSocket { _sendRequest(handlerName, args, recipient) { const message = {handlerName, args, recipient}; - message.id = randomID(); + message.id = foundry.utils.randomID(); message.type = MESSAGE_TYPES.REQUEST; const promise = new Promise((resolve, reject) => this.pendingRequests.set(message.id, {handlerName, resolve, reject, recipient})); game.socket.emit(this.socketName, message); @@ -224,7 +224,7 @@ class SocketlibSocket { else { switch (recipient) { case RECIPIENT_TYPES.ONE_GM: - if (!isResponsibleGM()) + if (!game.users.activeGM?.isSelf) return; break; case RECIPIENT_TYPES.ALL_GMS: @@ -303,42 +303,25 @@ class SocketlibSocket { } } -function isResponsibleGM() { - if (!game.user.isGM) - return false; - const connectedGMs = game.users.filter(isActiveGM); - return !connectedGMs.some(other => other.id < game.user.id); -} - -function isActiveGM(user) { - return user.active && user.isGM; -} - -function handleUserActivity(wrapper, userId, activityData={}) { - const user = game.users.get(userId); - const wasActive = user.active; - const result = wrapper(userId, activityData); - - // If user disconnected - if (!user.active && wasActive) { +function handleUserActivity(user, active) { + if (!active) { const modules = Array.from(socketlib.modules.values()); if (socketlib.system) modules.concat(socketlib.system); - const GMConnected = Boolean(game.users.find(isActiveGM)); // Reject all promises that are still waiting for a response from this player for (const socket of modules) { const failedRequests = Array.from(socket.pendingRequests.entries()).filter(([id, request]) => { const recipient = request.recipient; const handlerName = request.handlerName; if (recipient === RECIPIENT_TYPES.ONE_GM) { - if (!GMConnected) { + if (!game.users.activeGM) { request.reject(new errors.SocketlibNoGMConnectedError(`Could not execute handler '${handlerName}' as GM, because all GMs disconnected while the execution was being dispatched.`)); return true; } } else if (recipient instanceof Array) { - if (recipient.includes(userId)) { - request.reject(new errors.SocketlibInvalidUserError(`User '${game.users.get(userId).name}' (${userId}) disconnected while handler '${handlerName}' was being dispatched.`)); + if (recipient.includes(user.id)) { + request.reject(new errors.SocketlibInvalidUserError(`User '${user.name}' (${user.id}) disconnected while handler '${handlerName}' was being dispatched.`)); return true; } } @@ -349,5 +332,4 @@ function handleUserActivity(wrapper, userId, activityData={}) { } } } - return result; } From 800e7de26340d8eafa13f1a96296b73af3f5c669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Sun, 7 Jul 2024 21:13:07 +0200 Subject: [PATCH 02/15] Release v1.1.0 --- CHANGELOG.md | 5 +++++ module.json | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48604d4..51ef923 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.1.0 +### Compatibility +- Updated for compatibilty with Foundry 12 (thanks Clemente!) + + ## 1.0.13 ### Compatibility - Verified compatibility with Foundry 11 diff --git a/module.json b/module.json index 180344f..ff6f878 100644 --- a/module.json +++ b/module.json @@ -2,7 +2,7 @@ "id": "socketlib", "title": "socketlib", "description": "A library for easier handling of foundry sockets", - "version": "1.0.13", + "version": "1.1.0", "compatibility": { "minimum": "11", "verified": "12" @@ -20,7 +20,7 @@ "src/socketlib.js" ], "url": "https://github.com/manuelVo/foundryvtt-socketlib", - "download": "https://github.com/manuelVo/foundryvtt-socketlib/archive/v1.0.13.zip", + "download": "https://github.com/manuelVo/foundryvtt-socketlib/archive/v1.1.0.zip", "manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-socketlib/master/module.json", "readme": "https://github.com/manuelVo/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/manuelVo/foundryvtt-socketlib/blob/master/CHANGELOG.md", From 5c995983f06c05771ad400a52588aa7f38a22c69 Mon Sep 17 00:00:00 2001 From: Farling Date: Thu, 20 Mar 2025 14:32:54 +0000 Subject: [PATCH 03/15] Update links to new location --- module.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/module.json b/module.json index ff6f878..a3c15c6 100644 --- a/module.json +++ b/module.json @@ -19,10 +19,10 @@ "esmodules": [ "src/socketlib.js" ], - "url": "https://github.com/manuelVo/foundryvtt-socketlib", - "download": "https://github.com/manuelVo/foundryvtt-socketlib/archive/v1.1.0.zip", - "manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-socketlib/master/module.json", - "readme": "https://github.com/manuelVo/foundryvtt-socketlib/blob/master/README.md", - "changelog": "https://github.com/manuelVo/foundryvtt-socketlib/blob/master/CHANGELOG.md", - "bugs": "https://github.com/manuelVo/foundryvtt-socketlib/issues" + "url": "https://github.com/farling42/foundryvtt-socketlib", + "download": "https://github.com/farling42/foundryvtt-socketlib/archive/v1.1.0.zip", + "manifest": "https://raw.githubusercontent.com/farling42/foundryvtt-socketlib/master/module.json", + "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", + "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", + "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" } From a28ca6cc6d32e9a9ecf76720bf2c78c41b57abe4 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 15:55:13 +0000 Subject: [PATCH 04/15] Add new maintainer + add github action file --- .github/workflows/main.yml | 139 +++++++++++++++++++++++++++++++++++++ module.json | 10 ++- 2 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..2551544 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,139 @@ +# GitHub Actions workflow for creating a new FoundryVTT module release. +# +# Useful References: +# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# - https://docs.github.com/en/actions/learn-github-actions/contexts +# - https://docs.github.com/en/actions/learn-github-actions/environment-variables +# +# Troubleshooting Checklist: +# - Is the module's manifest file valid JSON? +# You can test your manifest file using https://jsonlint.com/. +# +# - Does the module's manifest have all the required keys? +# See https://foundryvtt.com/article/module-development/#manifest for more +# information. +# +# - Are all the proper files and directories being included in the release's +# module archive ("module.zip")? +# Check that the correct files are being passed to the `zip` command run +# in the "Create Module Archive" step below. +# +# - Is the release tag the proper format? +# See the comments for the "Extract Version From Tag" step below. +# +# - Is a GitHub release being published? +# This workflow will only run when a release is published, not when a +# release is updated. Furthermore, note that while a GitHub release will +# (by default) create a repository tag, a repository tag will not create +# or publish a GitHub release. +# +# - Has the module's entry on FoundryVTT's module administration site +# (https://foundryvtt.com/admin) been updated? +# +name: Create Module Files For GitHub Release + + +env: + # The URL used for the module's "Project URL" link on FoundryVTT's website. + project_url: "https://github.com/${{github.repository}}" + + # A URL that will always point to the latest manifest. + # FoundryVTT uses this URL to check whether the current module version that + # is installed is the latest version. This URL should NOT change, + # otherwise FoundryVTT won't be able to perform this check. + latest_manifest_url: "https://github.com/${{github.repository}}/releases/latest/download/module.json" + + # The URL to the module archive associated with the module release being + # processed by this workflow. + release_module_url: "https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip" + + +on: + # Only run this workflow when a release is published. + # To modify this workflow when other events occur, see: + # - https://docs.github.com/en/actions/using-workflows/triggering-a-workflow + # - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows + # - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on + # + # Note that some steps may depend on context variables that are only + # available for release events, so if you add other events, you may need to + # alter other parts of this workflow. + release: + types: [published] + + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + + # Extract version embedded in the tag. + # This step expects the tag to be one of the following formats: + # - "v.." (e.g., "v1.2.3") + # - ".." (e.g., "1.2.3") + # + # The version will be used by later steps to fill in the value for the + # "version" key required for a valid module manifest. + - name: Extract Version From Tag + id: get_version + uses: battila7/get-version-action@v2 + + + # Modify "module.json" with values specific to the release. + # Since the values for the "version" and "url" keys aren't known ahead of + # time, the manifest file in the repository is updated with these values. + # + # While this does modify the manifest file in-place, the changes are not + # commited to the repository, and only exist in the action's filesystem. + - name: Modify Module Manifest With Release-Specific Values + id: sub_manifest_link_version + uses: cschleiden/replace-tokens@v1 + with: + files: 'module.json' + env: + VERSION: ${{steps.get_version.outputs.version-without-v}} + URL: ${{ env.project_url }} + MANIFEST: ${{ env.latest_manifest_url }} + DOWNLOAD: ${{ env.release_module_url }} + + + # Create a "module.zip" archive containing all the module's required files. + # If you have other directories or files that will need to be added to + # your packaged module, add them here. + - name: Create Module Archive + run: | + # Note that `zip` will only emit warnings when a file or directory + # doesn't exist, it will not fail. + zip \ + `# Options` \ + --recurse-paths \ + `# The name of the output file` \ + ./module.zip \ + `# The files that will be included.` \ + module.json \ + CHANGELOG.md \ + README.md \ + src/ + # Don't forget to add a backslash at the end of the line for any + # additional files or directories! + + + # Update the GitHub release with the manifest and module archive files. + - name: Update Release With Files + id: create_version_release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + name: ${{ github.event.release.name }} + draft: ${{ github.event.release.unpublished }} + prerelease: ${{ github.event.release.prerelease }} + token: ${{ secrets.GITHUB_TOKEN }} + artifacts: './module.json, ./module.zip' + tag: ${{ github.event.release.tag_name }} + body: ${{ github.event.release.body }} diff --git a/module.json b/module.json index a3c15c6..4eeb8a8 100644 --- a/module.json +++ b/module.json @@ -9,7 +9,15 @@ }, "library": true, "authors": [ - { + { + "name": "Farling", + "url": "https://github.com/farling42", + "email": "foundryvtt@amusingtime.uk", + "discord": "farling", + "ko-fi": "farling", + "patreon": "amusingtime" + }, + { "name": "Manuel Vögele", "email": "develop@manuel-voegele.de", "discord": "Stäbchenfisch#5107", From 6b2deb03927995bde350cb70ea9ede79cc43bc3e Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:00:21 +0000 Subject: [PATCH 05/15] Fix module.json for release action --- module.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module.json b/module.json index 4eeb8a8..e0a4eff 100644 --- a/module.json +++ b/module.json @@ -2,7 +2,7 @@ "id": "socketlib", "title": "socketlib", "description": "A library for easier handling of foundry sockets", - "version": "1.1.0", + "version": "#{VERSION}#", "compatibility": { "minimum": "11", "verified": "12" @@ -27,9 +27,9 @@ "esmodules": [ "src/socketlib.js" ], - "url": "https://github.com/farling42/foundryvtt-socketlib", - "download": "https://github.com/farling42/foundryvtt-socketlib/archive/v1.1.0.zip", - "manifest": "https://raw.githubusercontent.com/farling42/foundryvtt-socketlib/master/module.json", + "url": "#{URL}#", + "download": "#{DOWNLOAD}#", + "manifest": "#{MANIFEST}#", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From 0fa4b527049d8413d0c9b98146daeb4a09016cb5 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:03:02 +0000 Subject: [PATCH 06/15] Add LICENSE file to zip --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2551544..3010038 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -117,6 +117,7 @@ jobs: ./module.zip \ `# The files that will be included.` \ module.json \ + LICENSE \ CHANGELOG.md \ README.md \ src/ From fe527cd944b555e9fc20578cf54b23af85d07239 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:09:54 +0000 Subject: [PATCH 07/15] Ignore lock file and create new release --- .gitignore | 1 + CHANGELOG.md | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3fd0af6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +socketlib.lock diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ef923..db1363d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,10 @@ +## 1.1.1 +- Update module.json for new location and maintainer. + ## 1.1.0 ### Compatibility - Updated for compatibilty with Foundry 12 (thanks Clemente!) - ## 1.0.13 ### Compatibility - Verified compatibility with Foundry 11 From 238f7f057a15fb738b5408a869b9e48e19cb7d32 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:14:23 +0000 Subject: [PATCH 08/15] Manual setting of manifest to allow all users to move to new location --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index e0a4eff..0467b73 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "#{MANIFEST}#", + "manifest": "https://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From ecbd26a89de44dfd6c4e1492bdf4c517be4aef02 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:17:52 +0000 Subject: [PATCH 09/15] Previous fix didn't make any difference, so reverting --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index 0467b73..e0a4eff 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "https://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", + "manifest": "#{MANIFEST}#", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From 2fd1060ea88cb04dd95fd134bd1c25e0bdbe3265 Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 20 Mar 2025 16:19:56 +0000 Subject: [PATCH 10/15] Update tags in README --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 15160d9..03fe807 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/staebchenfisch) +[![ko-fi](https://img.shields.io/badge/Ko--Fi-farling-success)](https://ko-fi.com/farling) +[![patreon](https://img.shields.io/badge/Patreon-amusingtime-success)](https://patreon.com/amusingtime) +![GitHub License](https://img.shields.io/github/license/farling42/foundryvtt-socketlib) +![Latest Release Download Count](https://img.shields.io/github/downloads/farling42/foundryvtt-socketlib/latest/module.zip) +![Forge installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Ffoundryvtt-socketlib) # socketlib A library for simplifying working with foundries sockets. This module does not have any user facing features. You only need to install it if one of the modules you use lists it as a dependency. From 559a45cdef11d8aced24ab734cd5074f5028761c Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 27 Mar 2025 21:47:48 +0000 Subject: [PATCH 11/15] Mark as verified on 13.338 --- CHANGELOG.md | 4 ++++ module.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db1363d..afd568f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.2 +### Compatibility +- Updated for compatibility with Foundry 13 (338). + ## 1.1.1 - Update module.json for new location and maintainer. diff --git a/module.json b/module.json index e0a4eff..adb0cb7 100644 --- a/module.json +++ b/module.json @@ -5,7 +5,7 @@ "version": "#{VERSION}#", "compatibility": { "minimum": "11", - "verified": "12" + "verified": "13.338" }, "library": true, "authors": [ From d2f5edf38ee20e849e1db61a394fbf89997d071d Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 27 Mar 2025 21:52:49 +0000 Subject: [PATCH 12/15] Store hardcoded manifest link in module.json Older versions use an explicit pointer to module.json in the source tree rather than the version on each release. --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index adb0cb7..d16ff02 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "#{MANIFEST}#", + "manifest": "https://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From ce19c69086cc6ca258ff5f788be08fd4ab72360a Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 27 Mar 2025 21:55:18 +0000 Subject: [PATCH 13/15] Update module.json --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index d16ff02..994957e 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "https://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", + "manifest": "https://raw.githubusercontent.com/farling42/foundryvtt-socketlib/master/module.json", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From 970e99ff927feecfee0b23bfa53b0102530cfbba Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 27 Mar 2025 21:57:51 +0000 Subject: [PATCH 14/15] Update module.json --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index 994957e..a27d3fa 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "https://raw.githubusercontent.com/farling42/foundryvtt-socketlib/master/module.json", + "manifest": "hhttps://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues" From c17402a5511ab5c9a0f0f010a4c940f88f32a1bc Mon Sep 17 00:00:00 2001 From: farling42 Date: Thu, 27 Mar 2025 21:58:29 +0000 Subject: [PATCH 15/15] Update module.json --- module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.json b/module.json index a27d3fa..d16ff02 100644 --- a/module.json +++ b/module.json @@ -29,7 +29,7 @@ ], "url": "#{URL}#", "download": "#{DOWNLOAD}#", - "manifest": "hhttps://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", + "manifest": "https://github.com/farling42/foundryvtt-socketlib/releases/latest/download/module.json", "readme": "https://github.com/farling42/foundryvtt-socketlib/blob/master/README.md", "changelog": "https://github.com/farling42/foundryvtt-socketlib/blob/master/CHANGELOG.md", "bugs": "https://github.com/farling42/foundryvtt-socketlib/issues"