fix(RP): unload properly
This commit is contained in:
parent
c3ec96926d
commit
a3b9edf4f3
1 changed files with 28 additions and 23 deletions
|
|
@ -13,7 +13,8 @@ enum ActivityTypes {
|
||||||
COMPETING = 5
|
COMPETING = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
const AssetManager = findByProps("getAssetIds");
|
const assetManager = findByProps("getAssetIds");
|
||||||
|
|
||||||
const pluginStartSince = Date.now();
|
const pluginStartSince = Date.now();
|
||||||
|
|
||||||
const storage = plugin.storage as typeof plugin.storage & {
|
const storage = plugin.storage as typeof plugin.storage & {
|
||||||
|
|
@ -49,33 +50,37 @@ function createDefaultSelection(): Activity {
|
||||||
async function sendRequest(activity: Activity | null): Promise<{ [K in keyof Activity]: any } & Record<string, any>> {
|
async function sendRequest(activity: Activity | null): Promise<{ [K in keyof Activity]: any } & Record<string, any>> {
|
||||||
if (typeof activity !== "object") throw new Error("Invalid activity");
|
if (typeof activity !== "object") throw new Error("Invalid activity");
|
||||||
|
|
||||||
const timestampEnabled = activity?.timestamps?._enabled;
|
if (activity) {
|
||||||
activity = cloneAndFilter(activity);
|
const timestampEnabled = activity?.timestamps?._enabled;
|
||||||
|
activity = cloneAndFilter(activity);
|
||||||
|
|
||||||
if (timestampEnabled) {
|
if (timestampEnabled) {
|
||||||
activity.timestamps.start ||= pluginStartSince;
|
activity.timestamps.start ||= pluginStartSince;
|
||||||
} else {
|
} else {
|
||||||
delete activity.timestamps;
|
delete activity.timestamps;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (activity?.assets) {
|
if (activity.assets) {
|
||||||
const args = [activity.application_id, [activity.assets.large_image, activity.assets.small_image]];
|
const args = [activity.application_id, [activity.assets.large_image, activity.assets.small_image]];
|
||||||
|
|
||||||
let assetIds = AssetManager.getAssetIds(...args);
|
let assetIds = assetManager.getAssetIds(...args);
|
||||||
if (!assetIds.length) assetIds = await AssetManager.fetchAssetIds(...args);
|
if (!assetIds.length) assetIds = await assetManager.fetchAssetIds(...args);
|
||||||
|
|
||||||
activity.assets.large_image = assetIds[0];
|
activity.assets.large_image = assetIds[0];
|
||||||
activity.assets.small_image = assetIds[1];
|
activity.assets.small_image = assetIds[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (activity?.buttons?.length) {
|
if (activity.buttons?.length) {
|
||||||
activity.buttons = activity.buttons.filter(x => x.label && x.url);
|
activity.buttons = activity.buttons.filter(x => x.label && x.url);
|
||||||
activity.buttons.length
|
activity.buttons.length
|
||||||
? Object.assign(activity, {
|
? Object.assign(activity, {
|
||||||
metadata: { button_urls: activity.buttons.map(x => x.url) },
|
metadata: { button_urls: activity.buttons.map(x => x.url) },
|
||||||
buttons: activity.buttons.map(x => x.label)
|
buttons: activity.buttons.map(x => x.label)
|
||||||
})
|
})
|
||||||
: delete activity.buttons;
|
: delete activity.buttons;
|
||||||
|
} else {
|
||||||
|
delete activity.buttons;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FluxDispatcher.dispatch({
|
FluxDispatcher.dispatch({
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue