{"action":"closed","issue":{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/issues/285","labels_url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/issues/285/labels{/name}","comments_url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/issues/285/comments","events_url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/issues/285/events","html_url":"https://github.com/OpenUserJs/OpenUserJS.org/issues/285","id":39042895,"number":285,"title":"Decide the fate of custom site/project prefixing in the UserScript metadata block","user":{"login":"Martii","id":114709,"avatar_url":"https://avatars.githubusercontent.com/u/114709?v=3","gravatar_id":"","url":"https://api.github.com/users/Martii","html_url":"https://github.com/Martii","followers_url":"https://api.github.com/users/Martii/followers","following_url":"https://api.github.com/users/Martii/following{/other_user}","gists_url":"https://api.github.com/users/Martii/gists{/gist_id}","starred_url":"https://api.github.com/users/Martii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martii/subscriptions","organizations_url":"https://api.github.com/users/Martii/orgs","repos_url":"https://api.github.com/users/Martii/repos","events_url":"https://api.github.com/users/Martii/events{/privacy}","received_events_url":"https://api.github.com/users/Martii/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/labels/CODE","name":"CODE","color":"006b75"},{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/labels/DB","name":"DB","color":"006b75"},{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/labels/DOC","name":"DOC","color":"006b75"},{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/labels/migration","name":"migration","color":"610b5e"},{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/labels/UI","name":"UI","color":"006b75"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/milestones/13","html_url":"https://github.com/OpenUserJs/OpenUserJS.org/milestones/%23285","labels_url":"https://api.github.com/repos/OpenUserJs/OpenUserJS.org/milestones/13/labels","id":1226323,"number":13,"title":"#285","description":"Metadata related stuff for #285","creator":{"login":"Martii","id":114709,"avatar_url":"https://avatars.githubusercontent.com/u/114709?v=3","gravatar_id":"","url":"https://api.github.com/users/Martii","html_url":"https://github.com/Martii","followers_url":"https://api.github.com/users/Martii/followers","following_url":"https://api.github.com/users/Martii/following{/other_user}","gists_url":"https://api.github.com/users/Martii/gists{/gist_id}","starred_url":"https://api.github.com/users/Martii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martii/subscriptions","organizations_url":"https://api.github.com/users/Martii/orgs","repos_url":"https://api.github.com/users/Martii/repos","events_url":"https://api.github.com/users/Martii/events{/privacy}","received_events_url":"https://api.github.com/users/Martii/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":18,"state":"open","created_at":"2015-07-26T16:33:03Z","updated_at":"2015-08-27T21:17:00Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2014-07-29T22:31:06Z","updated_at":"2015-08-27T21:17:00Z","closed_at":"2015-08-27T21:17:00Z","body":"In relation to greasemonkey/greasemonkey#1963 I see 3 possibilities so far over the past few days to address an impending conflict with everyones project.\r\n\r\n``` javascript\r\n// ==UserScript==\r\n// @run-at             document-end\r\n// @namespace          http://localhost.localdomain\r\n// @name               RFC 2606§3 - @license and @licence (recovered) Unit Test\r\n// @name:de-DE         RFC 2606§3 - @license und @licence (wiederhergestellt) Komponententest\r\n// @name:fr            RFC 2606§3 - @license et @licence (récupéré) Test unitaire\r\n// @description        Tests out non-unique keys\r\n// @description:de-DE  Tests, nicht eindeutige Schlüssel\r\n// @description:fr     Tests de clefs non unique\r\n// @copyright          2007+, Marti Martz (http://userscripts.org/users/37004)\r\n// @license            GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html\r\n// @version            0.0.0\r\n// @include            http://www.example.com/*\r\n// ==/UserScript==\r\n\r\n// ==OpenUserJS==\r\n// @author Marti\r\n// @collaborator jerone\r\n// @collaborator sizzle\r\n// @collaborator Zren\r\n// @hash 131a5eddc53f4018d6b5ee76d8543cb3cb4e50fa\r\n// @somefutureidea somevalue\r\n// ==/OpenUserJS==\r\n```\r\n* Has the disadvantage that any user.js engine may not read it. **EDIT**: ...but at the same time resolves any external conflicts and is in the spirit of optional collaboration instead of mutual collaboration.\r\n* OUJS could store the **raw formatted metadata blocks text** instead of the single metadata block Object... and a migration routine put in place or applied. **EDIT**: We should do at least the latter part of this anyways for greasemonkey/greasemonkey#1963 support no matter what site/project prefixing we support. I highly recommend the former as well but depends on how we finalize the stored Object or not.\r\n\r\nor\r\n\r\n``` javascript\r\n// ==UserScript==\r\n// @run-at             document-end\r\n// @namespace          http://localhost.localdomain\r\n// @name               RFC 2606§3 - @license and @licence (recovered) Unit Test\r\n// @name:de-DE         RFC 2606§3 - @license und @licence (wiederhergestellt) Komponententest\r\n// @name:fr            RFC 2606§3 - @license et @licence (récupéré) Test unitaire\r\n// @description        Tests out non-unique keys\r\n// @description:de-DE  Tests, nicht eindeutige Schlüssel\r\n// @description:fr     Tests de clefs non unique\r\n// @copyright          2007+, Marti Martz (http://userscripts.org/users/37004)\r\n// @license            GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html\r\n// @version            0.0.0\r\n// @include            http://www.example.com/*\r\n// @oujs.author Marti\r\n// @oujs.collaborator jerone\r\n// @oujs.collaborator sizzle\r\n// @oujs.collaborator Zren\r\n// @oujs.hash 131a5eddc53f4018d6b5ee76d8543cb3cb4e50fa\r\n// @oujs.somefutureidea somevalue\r\n// ==/UserScript==\r\n```\r\n* Using some other character. Since the damage is done with the dash operator may as well continue with destruction. Not backwards compatible. We also might run into this situation again if one of the user.js engines support the character we already do.\r\n\r\nor\r\n\r\n``` javascript\r\n// ==UserScript==\r\n// @run-at             document-end\r\n// @namespace          http://localhost.localdomain\r\n// @name               RFC 2606§3 - @license and @licence (recovered) Unit Test\r\n// @name:de-DE         RFC 2606§3 - @license und @licence (wiederhergestellt) Komponententest\r\n// @name:fr            RFC 2606§3 - @license et @licence (récupéré) Test unitaire\r\n// @description        Tests out non-unique keys\r\n// @description:de-DE  Tests, nicht eindeutige Schlüssel\r\n// @description:fr     Tests de clefs non unique\r\n// @copyright          2007+, Marti Martz (http://userscripts.org/users/37004)\r\n// @license            GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html\r\n// @version            0.0.0\r\n// @include            http://www.example.com/*\r\n// @oujs:author: Marti\r\n// @oujs:collaborator: jerone\r\n// @oujs:collaborator: sizzle\r\n// @oujs:collaborator: Zren\r\n// @oujs:hash: 131a5eddc53f4018d6b5ee76d8543cb3cb4e50fa\r\n// @oujs:somefutureidea: somevalue\r\n// ==/UserScript==\r\n```\r\n\r\nThis entails extra coding to maintain the `:` because we won't always know if a key is a site prefix or a locale... so must pad using an extra `:`. Padding will need to be maintained.\r\n\r\nEveryone, especially the maintainers at @arantius @johan @gera2ld @derjanb @OpenUserJs/admin @OpenUserJs/owners @OpenUserJs/backend @OpenUserJs/frontend and @JasonBarnabe, is welcome to participate in this team effort meta discussion as usual.\r\n\r\nPlease let me know if any other ideas are better, worse, ineffective, etc. :)\r\n\r\nRefs:\r\n* #208\r\n* #226\r\n* #284\r\n* greasemonkey/greasemonkey#1963\r\n* greasemonkey/greasemonkey#1944\r\n* greasemonkey/greasemonkey#1861\r\n* https://github.com/Ventero/greasemonkey/commit/41c0f273ae7da2c169e4582363483d5184408463#commitcomment-7166075 and forward\r\n* JasonBarnabe/greasyfork#215\r\n"}}