<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Techy Things &#187; frank</title>
	<atom:link href="https://tech.yipp.ca/author/frank/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.yipp.ca</link>
	<description>Just another Yipp.ca Blogs site</description>
	<lastBuildDate>Thu, 01 May 2025 18:06:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Compiling node-canvas with Node 20 fails with ‘v8::AccessorSignature’ has not been declared</title>
		<link>https://tech.yipp.ca/node-js/compiling-node-canvas-node-20-fails-v8accessorsignature-declared/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compiling-node-canvas-node-20-fails-v8accessorsignature-declared</link>
		<comments>https://tech.yipp.ca/node-js/compiling-node-canvas-node-20-fails-v8accessorsignature-declared/#comments</comments>
		<pubDate>Thu, 01 May 2025 18:06:28 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[node.js]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4543</guid>
		<description><![CDATA[<p>/home/frank/.cache/node-gyp/20.19.0/include/node/v8-persistent-handle.h:498:14: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent&#60;v8::Object&#62; [0]’ [-Warray-bounds]   498 &#124;   this-&#62;val_ = New(isolate, internal::ValueHelper::ValueAsSlot(*other));       &#124;   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o   CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o   CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o   CXX(target)&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/node-js/compiling-node-canvas-node-20-fails-v8accessorsignature-declared/">Compiling node-canvas with Node 20 fails with ‘v8::AccessorSignature’ has not been declared</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<pre>/home/frank/.cache/node-gyp/20.19.0/include/node/v8-persistent-handle.h:498:14: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent&lt;v8::Object&gt; [0]’ [-Warray-bounds]
  498 |   this-&gt;val_ = New(isolate, internal::ValueHelper::ValueAsSlot(*other));
      |   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o
  CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o
  CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o
  CXX(target) Release/obj.target/canvas/src/bmp/BMPParser.o
  CXX(target) Release/obj.target/canvas/src/Backends.o
  CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/Canvas.cc:21:
../src/Util.h: In function ‘void SetProtoAccessor(v8::Local&lt;v8::ObjectTemplate&gt;, v8::Local&lt;v8::String&gt;, Nan::GetterCallback, Nan::SetterCallback, v8::Local&lt;v8::FunctionTemplate&gt;)’:
../src/Util.h:25:21: error: ‘v8::AccessorSignature’ has not been declared
   25 |                 v8::AccessorSignature::New(v8::Isolate::GetCurrent(), ctor)
      |                     ^~~~~~~~~~~~~~~~~
make: *** [canvas.target.mk:159: Release/obj.target/canvas/src/Canvas.o] Error 1
make: Leaving directory '/home/frank/dev/health-planner/server/node_modules/node-canvas/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.&lt;anonymous&gt; (/home/frank/.nvm/versions/node/v20.19.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 6.1.0-32-amd64
gyp ERR! command "/home/frank/.nvm/versions/node/v20.19.0/bin/node" "/home/frank/.nvm/versions/node/v20.19.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/frank/dev/health-planner/server/node_modules/node-canvas
</pre>
<h3>Solution #1</h3>
<p>Revert to Node 18</p>
<h3>Solution #2</h3>
<p>I'm̀ still looking for one</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/node-js/compiling-node-canvas-node-20-fails-v8accessorsignature-declared/">Compiling node-canvas with Node 20 fails with ‘v8::AccessorSignature’ has not been declared</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/node-js/compiling-node-canvas-node-20-fails-v8accessorsignature-declared/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>node-canvas on Windows fails with Warning: Missing input files: C:\GTK\bin\libpangowin32-1.0-0.dll etc</title>
		<link>https://tech.yipp.ca/node-js/node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc</link>
		<comments>https://tech.yipp.ca/node-js/node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc/#comments</comments>
		<pubDate>Mon, 21 Apr 2025 03:29:31 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[node.js]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4537</guid>
		<description><![CDATA[<p>gyp info spawn args '-Dmodule_root_dir=C:\\dev\\health-planner\\server\\node_modules\\node-canvas', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'C:\\dev\\health-planner\\server\\node_modules\\node-canvas\\build', gyp info spawn args&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/node-js/node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc/">node-canvas on Windows fails with Warning: Missing input files: C:\GTK\bin\libpangowin32-1.0-0.dll etc</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<pre>gyp info spawn args '-Dmodule_root_dir=C:\\dev\\health-planner\\server\\node_modules\\node-canvas',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\\dev\\health-planner\\server\\node_modules\\node-canvas\\build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
Warning: Missing input files:
C:\GTK\bin\libpangowin32-1.0-0.dll
C:\GTK\bin\libgmodule-2.0-0.dll
C:\GTK\bin\libgthread-2.0-0.dll
C:\GTK\bin\libcairo-2.dll
C:\GTK\bin\libpangoft2-1.0-0.dll
C:\GTK\bin\libpango-1.0-0.dll
C:\GTK\bin\zlib1.dll
C:\GTK\bin\libpangocairo-1.0-0.dll
C:\GTK\bin\libglib-2.0-0.dll
C:\GTK\bin\libgobject-2.0-0.dll
C:\GTK\bin\libfontconfig-1.dll
C:\GTK\bin\libexpat-1.dll
C:\GTK\bin\libfreetype-6.dll
C:\GTK\bin\libpng14-14.dll
C:\GTK\bin\libintl-8.dll
</pre>
<p>Solution #1</p>
<p>Go on Linux, it doesnt have this problem.</p>
<p>Solution #2</p>
<p>Use canvas npm instead of node-canvas. This one works better.</p>
<p>Solution #3</p>
<p>Install GTK</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/node-js/node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc/">node-canvas on Windows fails with Warning: Missing input files: C:\GTK\bin\libpangowin32-1.0-0.dll etc</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/node-js/node-canvas-windows-fails-warning-missing-input-files-cgtkbinlibpangowin32-1-0-0-dll-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</title>
		<link>https://tech.yipp.ca/debian/4532/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=4532</link>
		<comments>https://tech.yipp.ca/debian/4532/#comments</comments>
		<pubDate>Thu, 06 Mar 2025 20:35:07 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4532</guid>
		<description><![CDATA[<p>Problem frank@angel:~$ sudo mount -a The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Falling back to read-only mount because the NTFS partition is in an&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/4532/">The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Problem</h2>
<pre>frank@angel:~$ sudo mount -a
The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
Could not mount read-write, trying read-only
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.</pre>
<h2>Solution</h2>
<pre>frank@angel:~$ sudo ntfsfix /dev/sdb2
Mounting volume... The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb2 was processed successfully.</pre>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/4532/">The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/debian/4532/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vous n’avez pas les droits suffisants pour accéder à cette page</title>
		<link>https://tech.yipp.ca/wordpress/vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page</link>
		<comments>https://tech.yipp.ca/wordpress/vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page/#comments</comments>
		<pubDate>Mon, 17 Feb 2025 20:51:39 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4527</guid>
		<description><![CDATA[<p>This can happen after changing the wp_ prefix in the wp-config.php and in the database table names. This can be useful when you want mulitple WordPress instance in a single database. However some options need&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/wordpress/vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page/">Vous n’avez pas les droits suffisants pour accéder à cette page</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This can happen after changing the <strong>wp_</strong> prefix in the wp-config.php and in the database table names. This can be useful when you want mulitple WordPress instance in a single database.</p>
<p>However some options need to be adjusted in some of the database entries:</p>
<ul>
<li>&lt;prefix&gt;usermeta :
<ul>
<li>wp_capabilites =&gt; &lt;prefix&gt;capabilities</li>
<li>wp_user_level =&gt; &lt;prefix&gt;user_level</li>
</ul>
</li>
<li>&lt;prefix&gt;_option :
<ul>
<li><code>wp_user_roles</code> =&gt; &lt;prefix&gt;user_roles\</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<h3>Reference</h3>
<p>https://blog.juansorroche.com/wordpress-vous-n-avez-pas-les-droits-suffisants-pour-acceder-a-cette-page</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/wordpress/vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page/">Vous n’avez pas les droits suffisants pour accéder à cette page</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/wordpress/vous-navez-pas-les-droits-suffisants-pour-acceder-cette-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TS2322: Type &#039;{ wait: false; }&#039; is not assignable to type &#039;ReactOptions&#039;.</title>
		<link>https://tech.yipp.ca/reactjs/ts2322-type-wait-false-assignable-type-reactoptions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ts2322-type-wait-false-assignable-type-reactoptions</link>
		<comments>https://tech.yipp.ca/reactjs/ts2322-type-wait-false-assignable-type-reactoptions/#comments</comments>
		<pubDate>Thu, 06 Feb 2025 22:45:32 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[reactjs]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4513</guid>
		<description><![CDATA[<p>&#160; This can happen when upgrading i18next from version "19.9.2" to  "22.5.1". The wait option that got removed was : export interface ReactOptions { /** * Set to true if you like to wait for loaded in&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/ts2322-type-wait-false-assignable-type-reactoptions/">TS2322: Type '{ wait: false; }' is not assignable to type 'ReactOptions'.</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://tech.yipp.ca/files/2025/02/i18n-react-wait-false.png"><img class="alignnone size-full wp-image-4514" src="http://tech.yipp.ca/files/2025/02/i18n-react-wait-false.png" alt="i18n react wait false" width="1045" height="472" /></a></p>
<p>&nbsp;</p>
<p>This can happen when upgrading <a href="https://www.npmjs.com/package/i18next" target="_blank">i18next </a>from version "19.9.2" to  "22.5.1".</p>
<p>The wait option that got removed was :</p>
<pre>export interface ReactOptions {
  /**
   * Set to true if you like to wait for loaded in every translated hoc
   * @default false
   */
<strong>  wait?: boolean;

</strong></pre>
<div>It was removed in this commit with no useful commit message:</div>
<div><a href="http://tech.yipp.ca/files/2025/02/i18next-removal-of-wait-option.png"><img class="alignnone size-full wp-image-4519" src="http://tech.yipp.ca/files/2025/02/i18next-removal-of-wait-option.png" alt="i18next removal of wait option" width="1009" height="754" /></a></div>
<div></div>
<div>In 118next-react we can see it was replaced by useSuspense :</div>
<div><a href="http://tech.yipp.ca/files/2025/02/i18n-react-wait-deprecated-useSuspense.png"><img class="alignnone size-full wp-image-4516" src="http://tech.yipp.ca/files/2025/02/i18n-react-wait-deprecated-useSuspense.png" alt="i18n-react wait deprecated useSuspense" width="1396" height="688" /></a></div>
<div></div>
<p>And what is useSuspense used for ? Let's check the documentation</p>
<p><a href="http://tech.yipp.ca/files/2025/02/useSuspence.png"><img class="alignnone size-full wp-image-4518" src="http://tech.yipp.ca/files/2025/02/useSuspence.png" alt="useSuspence" width="687" height="145" /></a></p>
<p>&nbsp;</p>
<p>Wow very useful, thank you !</p>
<p>Actually Suspense is a React feature. It was first added for server-side lazy rendering but is also available on client-side frontends. It's used for lazy loading components. If you don't know what it is you are probably not using it. Then the default is fine since this parameter might not even affect your project.</p>
<p>As a side note in plugin options declaration that have default values, it's best not to declare option's parameters to the default value for two reasons:</p>
<ol>
<li>It's more readable if the default options are not included. Your config then lists only non-default values and you can grasp more easily how the config differs from other peoples project. In general default values are chosen carefully and should be changed only when having a good reason to.</li>
<li>It's more maintainable. When the option is removed by the plugin/module maintainer and replaced or renamed, your config adapts automatically. This case is an example. If the coder had not written the useless `wait: false` which is anyway the default value, it would not have broke during upgrade.</li>
</ol>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/ts2322-type-wait-false-assignable-type-reactoptions/">TS2322: Type '{ wait: false; }' is not assignable to type 'ReactOptions'.</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/reactjs/ts2322-type-wait-false-assignable-type-reactoptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LVGL_Music.cpp:323:20: error: &#039;lv_obj_get_style_opa_recursive&#039; was not declared in this scope; did you mean &#039;lv_obj_get_style_img_recolor&#039;?</title>
		<link>https://tech.yipp.ca/esp32/lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor</link>
		<comments>https://tech.yipp.ca/esp32/lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor/#comments</comments>
		<pubDate>Mon, 20 Jan 2025 03:24:26 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[esp32]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4507</guid>
		<description><![CDATA[<p>/home/frank/dev/LCD_1.46_LVGL_Arduino/LVGL_Music.cpp: In function 'void spectrum_draw_event_cb(lv_event_t*)': /home/frank/dev/LCD_1.46_LVGL_Arduino/LVGL_Music.cpp:323:20: error: 'lv_obj_get_style_opa_recursive' was not declared in this scope; did you mean 'lv_obj_get_style_img_recolor'? 323 &#124; lv_opa_t opa = lv_obj_get_style_opa_recursive(obj, LV_PART_MAIN); &#124; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ &#124; lv_obj_get_style_img_recolor Multiple libraries were found for&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/esp32/lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor/">LVGL_Music.cpp:323:20: error: 'lv_obj_get_style_opa_recursive' was not declared in this scope; did you mean 'lv_obj_get_style_img_recolor'?</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>/home/frank/dev/LCD_1.46_LVGL_Arduino/LVGL_Music.cpp: In function 'void spectrum_draw_event_cb(lv_event_t*)':<br />
/home/frank/dev/LCD_1.46_LVGL_Arduino/LVGL_Music.cpp:323:20: error: 'lv_obj_get_style_opa_recursive' was not declared in this scope; did you mean 'lv_obj_get_style_img_recolor'?<br />
323 | lv_opa_t opa = lv_obj_get_style_opa_recursive(obj, LV_PART_MAIN);<br />
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
| lv_obj_get_style_img_recolor<br />
Multiple libraries were found for "SD.h"<br />
Used: /home/frank/.arduino15/packages/esp32/hardware/esp32/3.1.1/libraries/SD<br />
Not used: /home/frank/.arduino15/libraries/SD<br />
exit status 1</p>
<p>Compilation error: 'lv_obj_get_style_opa_recursive' was not declared in this scope; did you mean 'lv_obj_get_style_img_recolor'?</p>
<h2>Solution</h2>
<p>LVGL was version <strong>8.3.8</strong><br />
Need to upgrade to at least <strong>8.3.10</strong></p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/esp32/lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor/">LVGL_Music.cpp:323:20: error: 'lv_obj_get_style_opa_recursive' was not declared in this scope; did you mean 'lv_obj_get_style_img_recolor'?</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/esp32/lvgl_music-cpp32320-error-lv_obj_get_style_opa_recursive-declared-scope-mean-lv_obj_get_style_img_recolor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The four causes for &quot;No connection could be made because the target machine actively refused it&quot; in mariaDB or mySQL</title>
		<link>https://tech.yipp.ca/mariadb/four-causes-connection-made-target-machine-actively-refused-mariadb-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=four-causes-connection-made-target-machine-actively-refused-mariadb-mysql</link>
		<comments>https://tech.yipp.ca/mariadb/four-causes-connection-made-target-machine-actively-refused-mariadb-mysql/#comments</comments>
		<pubDate>Sat, 14 Sep 2024 19:36:05 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[mariadb]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4373</guid>
		<description><![CDATA[<p>The scenario is you trying to connect to mysql on another remote server IP. The machine is refusing to even connect you. Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No connection could be made because&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/mariadb/four-causes-connection-made-target-machine-actively-refused-mariadb-mysql/">The four causes for "No connection could be made because the target machine actively refused it" in mariaDB or mySQL</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The scenario is you trying to connect to mysql on another remote server IP. The machine is refusing to even connect you.</p>
<p>Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. in U:\Webpages\yipp.ca\app\src\db.inc.php:28 Stack trace: #0 U:\Webpages\yipp.ca\app\src\db.inc.php(28): PDO-&gt;__construct('mysql:host=37.2...', 'yipp', 'hPKcxOvXnwvPX5R...') #1 U:\Webpages\yipp.ca\app\src\db.inc.php(38): getDB() #2 U:\Webpages\yipp.ca\app\src\routes.php(27): require_once('U:\\Webpages\\yip...') #3 U:\Webpages\yipp.ca\app\public_html\index.php(28): require('U:\\Webpages\\yip...') #4 {main} thrown in U:\Webpages\yipp.ca\app\src\db.inc.php on line 28</p>
<p>Check the causes &amp; solutions below.</p>
<h3>Reason #1</h3>
<p>mariaDB or mySQL is not listening on the public IP but only on localhost.</p>
<p>Put the public IP of the server in /etc/mysql/mariadb.conf.d/50-server.cnf at the line "bind-address".<br />
For example if your server IP is 123.123.123.123:</p>
<pre>(...)
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 123.123.123.13</pre>
<p>Some people like putting 0.0.0.0 there which will require less editing and downtime if your IP changes or you migrate to another server/IP.</p>
<h3>Reason #2</h3>
<p>You are connecting to the wrong server IP. Your server IP might have changed. Or if using the hostname, make sure the hostname resolves to the right IP. Try pinging it to see the IP it resolves to.</p>
<h3>Reason #3</h3>
<p>The SQL user you are trying to reach doesn't have permission to login from your client IP.<br />
Usually mySQL or mariaDB will block any connection from a remote IP for a user unless the user@yourip is whitelisted.<br />
This whitelisting is done directly in the users table in SQL.</p>
<h3>Reason #4</h3>
<p>iptables or other firewall are actively blocking the connection. Disable temporarily the firewall to test if this is the case. Note that there could be multiple reasons at once. Before trying this, make sure reasons 1 to 3 are not happening.</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/mariadb/four-causes-connection-made-target-machine-actively-refused-mariadb-mysql/">The four causes for "No connection could be made because the target machine actively refused it" in mariaDB or mySQL</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/mariadb/four-causes-connection-made-target-machine-actively-refused-mariadb-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize ERROR #98123 WEBPACK</title>
		<link>https://tech.yipp.ca/reactjs/you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize</link>
		<comments>https://tech.yipp.ca/reactjs/you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize/#comments</comments>
		<pubDate>Fri, 13 Sep 2024 19:33:49 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[reactjs]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4490</guid>
		<description><![CDATA[<p>ERROR #98123 WEBPACK Generating development JavaScript bundle failed You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer File: .cache\app.js Solution Add --no-experimental-fetch like such   You can&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize/">You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize ERROR #98123 WEBPACK</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>ERROR #98123 WEBPACK</p>
<p>Generating development JavaScript bundle failed</p>
<p>You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... })<br />
before using SourceMapConsumer</p>
<p>File: .cache\app.js</p>
<p><a href="http://tech.yipp.ca/files/2024/09/source-fetch-error-Screenshot-2024-09-13-151340.png"><img class="alignnone size-full wp-image-4492" src="http://tech.yipp.ca/files/2024/09/source-fetch-error-Screenshot-2024-09-13-151340.png" alt="source fetch error Screenshot 2024-09-13 151340" width="1345" height="369" /></a></p>
<h3>Solution</h3>
<p>Add</p>
<pre>--no-experimental-fetch</pre>
<p>like such</p>
<div> <a href="http://tech.yipp.ca/files/2024/09/source-fetch-solution-Screenshot-2024-09-13-151340.png"><img class="alignnone size-full wp-image-4493" src="http://tech.yipp.ca/files/2024/09/source-fetch-solution-Screenshot-2024-09-13-151340.png" alt="source fetch solution Screenshot 2024-09-13 151340" width="949" height="288" /></a></div>
<p>You can try to add it in package.json but this may fail sometimes if your command expect optional arguments. The full proof way is to add it to .env in the directory as package.json to add it as an environment variable like above.</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize/">You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize ERROR #98123 WEBPACK</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/reactjs/you-must-provide-the-url-of-libmappings-wasm-by-calling-sourcemapconsumer-initialize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TS2786: &#039;VictoryAxis&#039; cannot be used as a JSX component</title>
		<link>https://tech.yipp.ca/reactjs/ts2786-victoryaxis-used-jsx-component/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ts2786-victoryaxis-used-jsx-component</link>
		<comments>https://tech.yipp.ca/reactjs/ts2786-victoryaxis-used-jsx-component/#comments</comments>
		<pubDate>Fri, 05 Jul 2024 23:09:51 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[reactjs]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4463</guid>
		<description><![CDATA[<p>TS2786: 'VictoryAxis' cannot be used as a JSX component Current versions used, along with node v18. "@types/react-dom": "^18.2.7",   "@types/react": "18.0.2", This can occur when switching from node 16 or lower to node 18&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/ts2786-victoryaxis-used-jsx-component/">TS2786: 'VictoryAxis' cannot be used as a JSX component</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>TS2786: 'VictoryAxis' cannot be used as a JSX component</p>
<p>Current versions used, along with node v18.</p>
<div>
<pre>  "@types/react-dom": "^18.2.7",
  "@types/react": "18.0.2",</pre>
</div>
<p>This can occur when switching from node 16 or lower to node 18 or more.</p>
<p>This is similar to this unanswered question https://github.com/FormidableLabs/victory/discussions/2632</p>
<h3>Solution #1</h3>
<p>&nbsp;</p>
<h3>Solution #2</h3>
<pre>npm install --save-dev @types/react@latest
npm install --save-dev @types/react-dom@latest

or</pre>
<pre>yarn add --dev @types/react@latest
yarn add --dev @types/react-dom@latest</pre>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/reactjs/ts2786-victoryaxis-used-jsx-component/">TS2786: 'VictoryAxis' cannot be used as a JSX component</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/reactjs/ts2786-victoryaxis-used-jsx-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uncaught TypeError: axios.create is not a function</title>
		<link>https://tech.yipp.ca/apisauce/uncaught-typeerror-axios-create-function/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=uncaught-typeerror-axios-create-function</link>
		<comments>https://tech.yipp.ca/apisauce/uncaught-typeerror-axios-create-function/#comments</comments>
		<pubDate>Sun, 05 May 2024 17:46:34 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[apisauce]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4450</guid>
		<description><![CDATA[<p>Uncaught TypeError: axios.create is not a function at create (apisauce.js:1:1)</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/apisauce/uncaught-typeerror-axios-create-function/">Uncaught TypeError: axios.create is not a function</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Uncaught TypeError: axios.create is not a function<br />
at create (apisauce.js:1:1)</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/apisauce/uncaught-typeerror-axios-create-function/">Uncaught TypeError: axios.create is not a function</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/apisauce/uncaught-typeerror-axios-create-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
