nodebb-plugin-facebook-post 1.0.39 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/library.js +8 -3
  2. package/package.json +1 -1
package/library.js CHANGED
@@ -102,16 +102,21 @@ function decodeHtmlEntities(str) {
102
102
  .replace(/&#(\d+);/g, (_, dec) => String.fromCharCode(Number(dec)));
103
103
  }
104
104
 
105
+ function stripImageQueryString(url) {
106
+ // Remove query string and fragment after image extension
107
+ return url.replace(/(\.(?:png|jpe?g|gif|webp))[\?#].*/i, '$1');
108
+ }
109
+
105
110
  function extractImageUrlsFromContent(rawContent) {
106
111
  const urls = new Set();
107
112
  if (!rawContent) return [];
108
113
 
109
114
  const mdImg = /!\[[^\]]*]\(([^)\s]+)(?:\s+"[^"]*")?\)/g;
110
115
  let m;
111
- while ((m = mdImg.exec(rawContent)) !== null) urls.add(m[1]);
116
+ while ((m = mdImg.exec(rawContent)) !== null) urls.add(stripImageQueryString(m[1]));
112
117
 
113
118
  const htmlImg = /<img[^>]+src=["']([^"']+)["'][^>]*>/gi;
114
- while ((m = htmlImg.exec(rawContent)) !== null) urls.add(m[1]);
119
+ while ((m = htmlImg.exec(rawContent)) !== null) urls.add(stripImageQueryString(m[1]));
115
120
 
116
121
  // Fallback: bare image URLs
117
122
  const bare = /(https?:\/\/[^\s<>"']+\.(?:png|jpe?g|gif|webp))(?:\?[^\s<>"']*)?/gi;
@@ -350,7 +355,7 @@ async function postToInstagram(ctx) {
350
355
  const form = new URLSearchParams();
351
356
  form.append('media_type', 'CAROUSEL');
352
357
  form.append('caption', caption);
353
- form.append('children', JSON.stringify(childIds));
358
+ form.append('children', childIds.join(','));
354
359
  form.append('access_token', token);
355
360
 
356
361
  const carouselResp = await axios.post(`${baseUrl}/media`, form, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-facebook-post",
3
- "version": "1.0.39",
3
+ "version": "1.0.40",
4
4
  "description": "Auto-post new NodeBB topics to a fixed Facebook Page (text + NodeBB uploads + place id).",
5
5
  "main": "library.js",
6
6
  "dependencies": {