SCM Icon blinking

I get into an SCM icon blinking state

Looks like this is caused by this error message
git show :../../AppData/Roaming/Code - Insiders/User/settings.json
git show :../../AppData/Roaming/Code - Insiders/User/settings.json
fatal: '../../AppData/Roaming/Code - Insiders/User/settings.json' is outside repository

fatal: '../../AppData/Roaming/Code - Insiders/User/settings.json' is outside repository

Adding to March Milestone for discussion

The errors aren't correlated.
It's a matter of tweaking the debouncing of when to show the progress.

@jrieken's idea: debounce the stop of the progress, making sure it runs for at least X milliseconds, fixing the flashing.

I have pushed a change that (1) makes the activity bar progress shown sooner (new 150ms, old 200ms) and (2) show for at least 150ms

Now, everyone can suggest different and better numbers ;-)


[WIP] Mono: Add support for iOS

It seems to work fine with the (intermediate) container build that I get with https://github.com/godotengine/build-containers/pull/47 (without cross-compiling toolchain).
BTW, how does the AOT toolchain intervene in the build/packaging of the templates? Or is it something that should be bundled alongside the editor builds for all desktop platforms?

BTW, how does the AOT toolchain intervene in the build/packaging of the templates? Or is it something that should be bundled alongside the editor builds for all desktop platforms?

https://docs.godotengine.org/en/latest/development/compiling/compiling_with_mono.html#aot-cross-compilers
I just noticed the path mentioned there is wrong. It should be: GodotSharp/Tools/aot-compilers/<platform>-<arch> (platform as in what you pass to scons and arch must be the one Godot adds to features).
Example for iOS:
mkdir -p bin/GodotSharp/Tools/aot-compilers/iphone-arm64
cp /root/mono-installs/ios-arm64-release/aarch64-apple-darwin-mono-sgen bin/GodotSharp/Tools/aot-compilers/iphone-arm64

I don't remember if aarch64-apple-darwin-mono-sgen is the correct name of the executable though.

I pushed an update that should complete the packaging of iOS Mono builds with the cross-compiler that you provided, which I included directly in the build container (as /root/aot-compilers/iphone-arm64/aarch64-apple-darwin-mono-sgen).

Here's the output of those updated build scripts (some files still uploading): https://downloads.tuxfamily.org/godotengine/testing/3.2.2-mono_ios_build1/

Woops... I'm good for repacking:
GodotSharp/Tools/iphone-arm64/aarch64-apple-darwin-mono-sgen

I added the missing chmod +x for the AOT compiler(s), so this should now be good to go.
Let's see how it fares tomorrow with a 3.2.2-beta1 build.


Plugins won't work.

Before the last update everything worked fine. but now when i updated my server, and started it, the console went crazy. ton of errors and when i join the server, all the plugins don't work.
Here's the console:

When i delete the feast plugin the console doesn't go that crazy, but the plugins still don't work. any help?

This is not a issue regarding Rocket, please see https://rocket.foundation/viewtopic.php?f=44&p=1585#p1585


Improve stability of transport tests and collect more stats

@antonkharenko please check this cluster test
https://travis-ci.org/scalecube/scalecube/builds/185709294
Results :
Failed tests:
MembershipProtocolTest.testLongNetworkPartitionNoRecovery:322->assertNoSuspected:509 Expected no suspected, but actual: [<IP_ADDRESS>:4801] expected:<0> but was:<1>

@antonkharenko
https://travis-ci.org/scalecube/scalecube/builds/185711546
Results :
Failed tests:
MembershipProtocolTest.testLongNetworkPartitionNoRecovery:322->assertNoSuspected:509 Expected no suspected, but actual: [<IP_ADDRESS>:4801] expected:<0> but was:<1>


Cannot use Highstock

I think there is a problem here:
this.chart = new _Highcharts.Chart(this.$el, this.options);(VueHighcharts.vue line 56)
for that Highstock use stockChart instead of Chart.
With this, the output is pure highstock even if Highstock class is passed in.

thanks for your pr


Cannot See Notifications at Firebase Console

Describe the bug
Cannot See Notifications at Firebase Console
Installed packages
{
    "require": {
        "kreait/firebase-php": "^7.5"
    }
}

PHP version and extensions
composer               2.4.1    Composer package
composer-plugin-api    2.3.0    The Composer Plugin API
composer-runtime-api   2.2.2    The Composer Runtime API
ext-bz2                8.1.12   The bz2 PHP extension (actual version: 8.1.12-1ubuntu4)
ext-calendar           8.1.12   The calendar PHP extension (actual version: 8.1.12-1ubuntu4)
ext-ctype              8.1.12   The ctype PHP extension (actual version: 8.1.12-1ubuntu4)
ext-curl               8.1.12   The curl PHP extension (actual version: 8.1.12-1ubuntu4)
ext-date               8.1.12   The date PHP extension (actual version: 8.1.12-1ubuntu4)
ext-dom                20031129 The dom PHP extension
ext-exif               8.1.12   The exif PHP extension (actual version: 8.1.12-1ubuntu4)
ext-ffi                8.1.12   The FFI PHP extension (actual version: 8.1.12-1ubuntu4)
ext-fileinfo           8.1.12   The fileinfo PHP extension (actual version: 8.1.12-1ubuntu4)
ext-filter             8.1.12   The filter PHP extension (actual version: 8.1.12-1ubuntu4)
ext-ftp                8.1.12   The ftp PHP extension (actual version: 8.1.12-1ubuntu4)
ext-gd                 8.1.12   The gd PHP extension (actual version: 8.1.12-1ubuntu4)
ext-gettext            8.1.12   The gettext PHP extension (actual version: 8.1.12-1ubuntu4)
ext-hash               8.1.12   The hash PHP extension (actual version: 8.1.12-1ubuntu4)
ext-iconv              8.1.12   The iconv PHP extension (actual version: 8.1.12-1ubuntu4)
ext-json               8.1.12   The json PHP extension (actual version: 8.1.12-1ubuntu4)
ext-libxml             8.1.12   The libxml PHP extension (actual version: 8.1.12-1ubuntu4)
ext-mbstring           8.1.12   The mbstring PHP extension (actual version: 8.1.12-1ubuntu4)
ext-mysqli             8.1.12   The mysqli PHP extension (actual version: 8.1.12-1ubuntu4)
ext-mysqlnd            0        The mysqlnd PHP extension (actual version: mysqlnd 8.1.12-1ubuntu4)
ext-openssl            8.1.12   The openssl PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pcntl              8.1.12   The pcntl PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pcre               8.1.12   The pcre PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pdo                8.1.12   The PDO PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pdo_mysql          8.1.12   The pdo_mysql PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pdo_pgsql          8.1.12   The pdo_pgsql PHP extension (actual version: 8.1.12-1ubuntu4)
ext-pgsql              8.1.12   The pgsql PHP extension (actual version: 8.1.12-1ubuntu4)
ext-phar               8.1.12   The Phar PHP extension (actual version: 8.1.12-1ubuntu4)
ext-posix              8.1.12   The posix PHP extension (actual version: 8.1.12-1ubuntu4)
ext-readline           8.1.12   The readline PHP extension (actual version: 8.1.12-1ubuntu4)
ext-reflection         8.1.12   The Reflection PHP extension (actual version: 8.1.12-1ubuntu4)
ext-session            8.1.12   The session PHP extension (actual version: 8.1.12-1ubuntu4)
ext-shmop              8.1.12   The shmop PHP extension (actual version: 8.1.12-1ubuntu4)
ext-simplexml          8.1.12   The SimpleXML PHP extension (actual version: 8.1.12-1ubuntu4)
ext-soap               8.1.12   The soap PHP extension (actual version: 8.1.12-1ubuntu4)
ext-sockets            8.1.12   The sockets PHP extension (actual version: 8.1.12-1ubuntu4)
ext-sodium             8.1.12   The sodium PHP extension (actual version: 8.1.12-1ubuntu4)
ext-spl                8.1.12   The SPL PHP extension (actual version: 8.1.12-1ubuntu4)
ext-sysvmsg            8.1.12   The sysvmsg PHP extension (actual version: 8.1.12-1ubuntu4)
ext-sysvsem            8.1.12   The sysvsem PHP extension (actual version: 8.1.12-1ubuntu4)
ext-sysvshm            8.1.12   The sysvshm PHP extension (actual version: 8.1.12-1ubuntu4)
ext-tokenizer          8.1.12   The tokenizer PHP extension (actual version: 8.1.12-1ubuntu4)
ext-xml                8.1.12   The xml PHP extension (actual version: 8.1.12-1ubuntu4)
ext-xmlreader          8.1.12   The xmlreader PHP extension (actual version: 8.1.12-1ubuntu4)
ext-xmlwriter          8.1.12   The xmlwriter PHP extension (actual version: 8.1.12-1ubuntu4)
ext-xsl                8.1.12   The xsl PHP extension (actual version: 8.1.12-1ubuntu4)
ext-zend-opcache       8.1.12   The Zend OPcache PHP extension (actual version: 8.1.12-1ubuntu4)
ext-zip                1.19.5   The zip PHP extension
ext-zlib               8.1.12   The zlib PHP extension (actual version: 8.1.12-1ubuntu4)
lib-bz2                1.0.8    The bz2 library
lib-curl               7.88.1   The curl library
lib-curl-libssh        0.10.4   curl libssh version
lib-curl-openssl       3.0.8    curl OpenSSL version (3.0.8)
lib-curl-zlib          1.2.13   curl zlib version
lib-date-timelib       2021.17  date timelib version
lib-date-zoneinfo      0        zoneinfo ("Olson") database for date
lib-fileinfo-libmagic  540      fileinfo libmagic version
lib-gd                 2.3.3    The gd library
lib-iconv              2.37     The iconv library
lib-libsodium          1.0.18   The libsodium library
lib-libxml             2.9.14   libxml library version
lib-libxslt            1.1.35   The libxslt library
lib-libxslt-libxml     2.9.14   libxml version libxslt is compiled against
lib-mbstring-libmbfl   1.3.2    mbstring libmbfl version
lib-mbstring-oniguruma 6.9.8    mbstring oniguruma version
lib-openssl            3.0.8    OpenSSL 3.0.8 7 Feb 2023
lib-pcre               10.42    The pcre library
lib-pcre-unicode       14.0.0   PCRE Unicode version support
lib-pdo_pgsql-libpq    15.2     libpq for pdo_pgsql
lib-zip-libzip         1.7.3    The zip-libzip library
lib-zlib               1.2.13   The zlib library
php                    8.1.12   The PHP interpreter
php-64bit              8.1.12   The PHP interpreter, 64bit
php-ipv6               8.1.12   The PHP interpreter, with IPv6 support

Steps to reproduce the issue.
use Kreait\Firebase\Factory;
use Kreait\Firebase\Messaging\CloudMessage;

require_once __DIR__ . '/vendor/autoload.php';

$factory = (new Factory)->withServiceAccount(
    __DIR__ . '/credentials.json'
);

$messaging = $factory->createMessaging();

$topic = 'a-topic';

$message = CloudMessage::fromArray([
    'topic' => $topic,
    'notification' => [
        'title' => 'Test Title',
        'body' => 'Test Notification'
    ],
]);

$response = $messaging->send($message);

Error message/Stack trace
Array
(
    [name] => projects/fixed-4/messages/1321140667518049765
)

Additional information
I got response from code below but i can not see notification at my firebase console panel.

The Firebase Console only shows the messages sent from the Firebase console. Messages sent from Admin SDKs (including the official Admin SDKs) are not displayed there. That's something I personally would like as well, but it's not possible.
Perhaps you could make a feature request with Firebase directly to add that feature, but until they do, unfortunately there's nothing I can do :/

Hello, thank you for quick response. Is there any way to get notification information like delivered device count?

Yes, the sendMulticast() and sendAll() methods return an instance of Kreait\Firebase\Messaging\MulticastSendReport, you can read about it in the documentation: https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html#send-messages-to-multiple-devices-multicast

Thank you


If no unit is specified, defaults to bytes (B)

It would be useful to explain the units that can be specified here, or at least an example suggesting that "102400MB" is what it might look like with units specified.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 913a9562-cc87-8935-b842-ed6d072b3c1b
Version Independent ID: 88419164-baee-4723-7453-bdb340d5ea74
Content: az sql elastic-pool
Content Source: src/azure-cli/azure/cli/command_modules/sql/_help.py
Service: sql-database
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Thank you @AndyP2 for your suggestion. @yungezz Can you take look?

az sql is owned by sql service team.


Node modules not imported in Vercel build after upgrading to v2

What version of Remix are you using?
v2.0-pre
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce

Deploy Remix template on Vercel: https://github.com/vercel/vercel/tree/main/examples/remix
Upgrade to v2: npx upgrade-remix pre and remove the vercel/remix dependency.
Build now fails on Vercel, even though it works perfectly in a local env.

Expected Behavior
Possible to migrate to Remix v2 on Vercel as per https://remix.run/docs/en/main/pages/v2
Actual Behavior
Node modules are not imported:
✘ [ERROR] Could not resolve "node:crypto"
--
12:47:50.104 |
12:47:50.104 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:15:21:
12:47:50.104 | 15 │ var crypto = require('node:crypto');
12:47:50.104 | ╵                      ~~~~~~~~~~~~~
12:47:50.104 |
12:47:50.105 | The package "node:crypto" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.105 |
12:47:50.105 | ✘ [ERROR] Could not resolve "node:fs"
12:47:50.105 |
12:47:50.105 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:16:22:
12:47:50.105 | 16 │ var node_fs = require('node:fs');
12:47:50.105 | ╵                       ~~~~~~~~~
12:47:50.105 |
12:47:50.105 | The package "node:fs" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.105 |
12:47:50.105 | ✘ [ERROR] Could not resolve "node:path"
12:47:50.105 |
12:47:50.105 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:17:19:
12:47:50.105 | 17 │ var path = require('node:path');
12:47:50.106 | ╵                    ~~~~~~~~~~~
12:47:50.106 |
12:47:50.106 | The package "node:path" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.106 |
12:47:50.106 | ✘ [ERROR] Could not resolve "node:stream"
12:47:50.106 |
12:47:50.106 | node_modules/@remix-run/node/dist/stream.js:15:26:
12:47:50.106 | 15 │ var node_stream = require('node:stream');
12:47:50.106 | ╵                           ~~~~~~~~~~~~~
12:47:50.106 |
12:47:50.106 | The package "node:stream" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.106 |
12:47:50.106 | ✘ [ERROR] Could not resolve "node:crypto"
12:47:50.107 |
12:47:50.107 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:15:21:
12:47:50.107 | 15 │ var crypto = require('node:crypto');
12:47:50.107 | ╵                      ~~~~~~~~~~~~~
12:47:50.107 |
12:47:50.107 | The package "node:crypto" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.107 |
12:47:50.107 | ✘ [ERROR] Could not resolve "node:fs"
12:47:50.107 |
12:47:50.107 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:16:22:
12:47:50.107 | 16 │ var node_fs = require('node:fs');
12:47:50.107 | ╵                       ~~~~~~~~~
12:47:50.107 |
12:47:50.107 | The package "node:fs" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.108 |
12:47:50.108 | ✘ [ERROR] Could not resolve "node:fs/promises"
12:47:50.108 |
12:47:50.108 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:17:23:
12:47:50.108 | 17 │ var promises = require('node:fs/promises');
12:47:50.108 | ╵                        ~~~~~~~~~~~~~~~~~~
12:47:50.108 |
12:47:50.108 | The package "node:fs/promises" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.108 |
12:47:50.108 | ✘ [ERROR] Could not resolve "node:os"
12:47:50.108 |
12:47:50.108 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:18:22:
12:47:50.108 | 18 │ var node_os = require('node:os');
12:47:50.108 | ╵                       ~~~~~~~~~
12:47:50.108 |
12:47:50.108 | The package "node:os" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.109 |
12:47:50.109 | ✘ [ERROR] Could not resolve "node:path"
12:47:50.109 |
12:47:50.109 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:19:19:
12:47:50.109 | 19 │ var path = require('node:path');
12:47:50.109 | ╵                    ~~~~~~~~~~~
12:47:50.109 |
12:47:50.109 | The package "node:path" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.109 |
12:47:50.109 | ✘ [ERROR] Could not resolve "node:stream"
12:47:50.109 |
12:47:50.110 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:20:26:
12:47:50.110 | 20 │ var node_stream = require('node:stream');
12:47:50.110 | ╵                           ~~~~~~~~~~~~~
12:47:50.110 |
12:47:50.110 | The package "node:stream" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.110 |
12:47:50.110 | ✘ [ERROR] Could not resolve "node:util"
12:47:50.110 |
12:47:50.110 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:21:24:
12:47:50.111 | 21 │ var node_util = require('node:util');
12:47:50.111 | ╵                         ~~~~~~~~~~~
12:47:50.111 |
12:47:50.111 | The package "node:util" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
12:47:50.111 |
12:47:50.111 |
12:47:50.111 | Build failed with 11 errors:
12:47:50.111 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:15:21: ERROR: Could not resolve "node:crypto"
12:47:50.111 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:16:22: ERROR: Could not resolve "node:fs"
12:47:50.112 | node_modules/@remix-run/node/dist/sessions/fileStorage.js:17:19: ERROR: Could not resolve "node:path"
12:47:50.112 | node_modules/@remix-run/node/dist/stream.js:15:26: ERROR: Could not resolve "node:stream"
12:47:50.112 | node_modules/@remix-run/node/dist/upload/fileUploadHandler.js:15:21: ERROR: Could not resolve "node:crypto"
12:47:50.112 | ...
12:47:50.113 | Error
12:47:50.113 | at Object.onCompileFailure (/vercel/path0/node_modules/@remix-run/dev/dist/cli/commands.js:195:13)
12:47:50.113 | at Object.compile (/vercel/path0/node_modules/@remix-run/dev/dist/compiler/remixCompiler.js:45:134)
12:47:50.113 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
12:47:50.113 | at async Object.build (/vercel/path0/node_modules/@remix-run/dev/dist/compiler/build.js:33:3)
12:47:50.113 | at async Object.build (/vercel/path0/node_modules/@remix-run/dev/dist/cli/commands.js:190:3)
12:47:50.114 | at async Object.run (/vercel/path0/node_modules/@remix-run/dev/dist/cli/run.js:456:7)
12:47:50.134 | error Command failed with exit code 1.
12:47:50.135 | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
12:47:50.160 | Error: Command "yarn run build" exited with 1

I'm not super familiar with Vercel's underlying architecture, but this seems like a server polyfill issue.  In Remix v2, nothing is polyfilled by default so you need to manually specify node polyfills if your app requires them: https://remix.run/docs/en/main/pages/v2#servernodebuiltinspolyfill.
Can you see if adding the proper polyfills resolves your issue?

We've tried with the following in remix.config. No luck.
  serverNodeBuiltinsPolyfill: {
    modules: {
      crypto: true,
      stream: true,
      fs: true,
      path: true,
      "fs/promises": true,
      os: true,
      util: true,
    }
  },

Vercel maintains a fork of the Remix compiler that modifies the internals to work with per-route splitting of the server bundle. In essence, their fork includes this PR. But that means that often times their fork lags behind Remix's compiler when a new version is just released or about to be released.
Not sure if this is related to that, but I could imagine a case where their fork doesn't yet support the polyfill options that our compiler supports. Or could be anything else in the v2 prerelease that isn't yet merged into their fork.

We just shipped support for Remix v2 when deploying to Vercel. Can you all who were having issues here please try again and let us know if it's working for you now? Thanks!

We just shipped support for Remix v2 when deploying to Vercel. Can you all who were having issues here please try again and let us know if it's working for you now? Thanks!

Just tried and worked for me - thank you!


Prepare ?p=<id> and ?author=<id> for ActivityPub

This way we could replace the permalink with the ID of a post or an author, to work agains the Username and Permalink issue.

Maybe fixes the caching issues in WordPress!?!

@mattwiebe @akirk @jeherve @mediaformat @Menrath Is that the way to go? What do you think about using the example.org/?p=<ID> instead of example.org/permalink/ as ID?

I think that would be a good idea, if I remember rightly, we discussed this very thing on a call about a year ago!  :)
Can you link to any discussion about the mentioned "to work agains the Username and Permalink issue". I am not completely sure, if I have the right issue in mind.
A suggestion:  what about replacing author with activitypub_actor, along with a clear comment on how the relationship currently works. This would give us more flexibility for certain features in the future.
So do you think get_id return the proposed structure and get_url should still return the permalink? Or should we use that structure for both?

Can you link to any discussion about the mentioned "to work agains the Username and Permalink issue". I am not completely sure, if I have the right issue in mind.

I am not sure if there is a discussion exactly about that, but in the end it is the same discussion that speaks against the permalink. People want to change names and if the pretty URL is also the ID, we always need to send a Move activity if a user want to change usernames.

A suggestion: what about replacing author with activitypub_actor, along with a clear comment on how the relationship currently works. This would give us more flexibility for certain features in the future.

The nice thing about using ?author= is, that all core WordPress functions (is_author for example) still work and we do not have to change too much code.

So do you think get_id return the proposed structure and get_url should still return the permalink? Or should we use that structure for both?

get_id should return example.org/?p=1 and get_url should return the pretty permaling example.org/pretty/permalink.

It makes sense to me at first, since it follows the existing "ugly permalinks" defaults from Core itself. I'm not familiar with the issues it solves though, so I'll let others weigh in on that :)

@akirk the problem with the REST endpoint is, that the ID has to return the ActivityPub JSON when requested with the correct Accept header!

Makes sense not to use it then! I just wanted to add it as an option so that we know it was considered.

This is very welcome!
Using ?p=<id> for ActivityPub id makes the system more robust, allowing site admins to change permalink structute and site editors/authors to change post slugs without breaking existing federated interactions.

The only downside of this that I can see is that you will no longer to be able to paste the pretty permalink URL into eg a Mastodon search and get the result.
But it's overall more robust and does have the possibility of bypassing some caching layers, have there been any tests along those lines? Are we looking to address caching plugins, or Cloudflare, or?

@mattwiebe

The only downside of this that I can see is that you will no longer to be able to paste the pretty permalink URL into eg a Mastodon search and get the result.

This will still be possible! I do not want to disable the Content-Negotiation, so people will still be able to search for permalinks and ?p= links!

But it's overall more robust and does have the possibility of bypassing some caching layers, have there been any tests along those lines? Are we looking to address caching plugins, or Cloudflare, or?

Exactly! If a caching system would not be able to support Content-Negotiation, the user can simply disable the cache for ?p=*! Then the user well indeed no longer be able to search for the URL in Mastodon, but it would at least work!

This is definitely sounding like a good way to go. What if any are the downsides for existing sites having all of their IDs updated in this way?

@mattwiebe I thought about storing a date, when the plugin updates to this version, to only change the ID for posts that are newer than that date. does that make sense?

Interesting point: https://mastodon.social/@by_caballero/113152023836926387

Just a heads up that I came across a site that is linking to ?author=<id> already, but being blocked by a plugin https://robertkingett.com/?author=1

I can't believe that "hiding the username" is still one of the biggest security measures!!!

I am a big friend of re-using as much as possible from what's already provided by WordPress, mostly to not produce dead links when deactivating the plugin!

@mediaformat I checked the site and there is nearly everything blocked! The shields thingy also blocks the rest api and other endpoints, so the plugin wouldn't work anyways!

FYI: Has been referenced by us externally: https://code.event-federation.eu/Event-Federation/wordpress-activitypub/issues/5

@Menrath so that it can't be overwritten by childs?

@Menrath so that it can't be overwritten by childs?

I really didn't want to be nitpicky. If should have felt weird seeing us discussing things "behind your back", I'll apologize!  The only reason certain issues over there exist because we are absolutely not sure whether it is worth bothering your time, we just used them as a public notepad of what we were thinking about. Anyway, my idea was to make it as easy as possible for potential new contributors and to also to make the code a resource that might be useful for learning things about ActivityPub. In the end when taking edge cases into account, we may not have thought of, this could also be counter productive. To put it in a nutshell: @pfefferle You are doing a great job in governing this project! I wish you a nice day :)

No need to apologize! I am happy about all discussions and proposals that happen around the plugin, regardless where they happen :)
I think it is a valid request! I like the idea of preventing implementers for breaking things.
I agree with:

id
published
updated

I am not sure about:

url

thanks @Menrath

@Menrath I tested profiles and posts with misskey, mastodon, nodebb and friendi.ca and everything worked fine so far!
No issues with query params so far!

@mattwiebe @akirk @jeherve @mediaformat @Menrath I would love to get this merged! Does anyone have any concerns or has anyone had positive/negative effects when testing?

I didn't test this but I am unsure how this should work.
For posts, it makes sense: As I understand the code you want to maintain the old full URL until the last post when migrating and from then on the URL with the post id.
But for authors, you're changing the ActivityPub id and maintaining it for old followers. So doest this mean that for Mastodon instances they will appear as two separate authors?

Oh, I realise because of aliases in Webfinger this should "just work."

@akirk

But for authors, you're changing the ActivityPub id and maintaining it for old followers. So doest this mean that for Mastodon instances they will appear as two separate authors?

I check if the user has followers, if so I do not change anything, if not it uses the "new" id: https://github.com/Automattic/wordpress-activitypub/pull/894/files#diff-e2183e3284e3a7161c943a36d71aa3b1becf63ffe7ed41afa0b16d4c16944f2eR368 and https://github.com/Automattic/wordpress-activitypub/pull/894/files#diff-1d75cd772f6ce6eec7428f320fbc02e1829fbf3e96194d74c451beb246fc50e7R116


Can't locate module 'fs', 'tls', 'net'. Subsequent failure to extend default webpack config.

Describe the bug
Attempting to create a story for a component that uses NPM modules that require 'tls', 'fs' and 'net'.
Receive error [note: do not receive this during usual build]:
ERROR in ./node_modules/forever-agent/index.js
Module not found: Error: Can't resolve 'tls' in 'C:\Program Files\Splunk\etc\apps\aaam-reportextractor-ui\appserver\static\re_react\node_modules\forever-agent'
 @ ./node_modules/forever-agent/index.js 7:10-24
 @ ./node_modules/request/request.js
 @ ./node_modules/request/index.js
 @ ./src/re_App.js
 @ ./src/re_App.stories.js
 @ ./src sync \.stories\.js$
 @ ./.storybook/config.js
 @ multi<EMAIL_ADDRESS><EMAIL_ADDRESS>./.storybook/config.js (webpack)-hot-middleware/client.js?reload=true

Subsequently attempt to resolve by extending default webpack config as per https://github.com/request/request/issues/1529. As such add the following webpack.config.js file to my .stories folder which is in root directory:
module.exports = {
  node: {
    console: 'mock',
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }
};

Receive error:
ERROR in ./src/components/lightBox/docSettings/images/check.svg 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
> <?xml version="1.0" encoding="utf-8"?>
| <svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path fill="rgb(237, 237, 237)" d="M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z"/></svg>
 @ ./src/components/lightBox/docSettings/re_DocSettings.css (./node_modules/react-scripts/node_modules/css-loader??ref--6-1!./node_modules/postcss-loader/src??postcss!./src/components/lightBox/docSettings/re_DocSettings.css) 7:3963-3992
 @ ./src/components/lightBox/docSettings/re_DocSettings.css
 @ ./src/components/lightBox/docSettings/re_DocSettings.js
 @ ./src/components/lightBox/re_LightBox.js
 @ ./src/components/lightBox/re_LightBox.stories.js
 @ ./src sync \.stories\.js$
 @ ./.storybook/config.js
 @ multi<EMAIL_ADDRESS><EMAIL_ADDRESS>./.storybook/config.js (webpack)-hot-middleware/client.js?reload=true

Looks like the Storybook webpack config is being overwritten rather than extended. Subsequently think that I must be doing the webpack.config extension incorrectly, so consult docs. Copy paste the example found at https://storybook.js.org/docs/configurations/custom-webpack-config/
const path = require('path');

module.exports = {
  module: {
    rules: [
      {
        test: /\.scss$/,
        loaders: ['style-loader', 'css-loader', 'sass-loader'],
        include: path.resolve(__dirname, '../'),
      },
    ],
  },
};

Hit the same error again.
So, my issues appears twofold:
(1) Issue with imports of 'fs', 'tls' and 'net'
(2) Inability to properly extend Storybook default webpack.
Additional context
My package.json:
{
  "name": "re_react",
  "version": "3.0.0",
  "private": true,
  "dependencies": {
    "autosize": "^4.0.2",
    "axios": "^0.18.0",
    "file-saver": "^1.3.8",
    "meteor-later": "^1.2.0",
    "moment": "^2.22.2",
    "node-forge": "^0.7.5",
    "pretty-checkbox": "^3.0.3",
    "prop-types": "^15.6.2",
    "react": "^16.8.2",
    "react-color": "^2.14.1",
    "react-cookie": "^3.0.8",
    "react-cron-builder": "~1.0.3",
    "react-dom": "^16.8.2",
    "react-fittext": "^1.0.0",
    "react-grid-layout": "^0.16.6",
    "react-input-range": "^1.3.0",
    "react-modal": "^3.5.1",
    "react-redux": "^6.0.0",
    "react-router-dom": "^4.3.1",
    "react-scripts": "2.1.5",
    "react-select": "^2.4.1",
    "reactcss": "^1.2.3",
    "redux": "^4.0.1",
    "redux-logger": "^3.0.6",
    "request": "^2.88.0",
    "universal-cookie": "^3.0.7",
    "uuid": "^3.3.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build-simple": "react-scripts build",
    "build": "react-scripts build && mv -f ./build/static/js/main.*.js ./build/static/js/re_main.js && mv -f ./build/static/js/runtime*.js ./build/static/js/re_runtime.js && mv -f ./build/static/js/*.*.chunk.js ./build/static/js/re_chunk.js && mv -f ./build/static/css/main.*.css ./build/static/css/reportExtractor.css",
    "build-move": "react-scripts build && mv -f ./build/static/js/main.*.js ../js/reportExtractor.js && mv -f ./build/static/css/main.*.css ../css/reportExtractor.css && rm -rf ../media && mv -f ./build/static/media ../",
    "build-windows": "react-scripts build && move /Y build\\static\\js\\main.*.js build\\static\\js\\re_main.js && move build\\static\\js\\runtime*.js build\\static\\js\\re_runtime.js && move build\\static\\js\\*.chunk.js build\\static\\js\\re_chunk.js && move /Y build\\static\\css\\main.*.css build\\static\\css\\reportExtractor.css",
    "build-windows-move": "react-scripts build && move /Y build\\static\\js\\main.*.js ..\\js\\reportExtractor.js && move /Y build\\static\\css\\main.*.css ..\\css\\reportExtractor.css && rmdir ..\\media /S /Q && move /Y .\\build\\static\\media ..\\",
    "storybook": "start-storybook -p 9009 -s public -c .storybook",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "build-storybook": "build-storybook -s public"
  },
  "homepage": ".",
  "devDependencies": {
    "@babel/core": "^7.3.4",
    "@sambego/storybook-state": "^1.3.2",
    "@storybook/addon-actions": "^4.1.13",
    "@storybook/addon-links": "^4.1.13",
    "@storybook/addon-storyshots": "^4.1.13",
    "@storybook/addons": "^4.1.13",
    "@storybook/react": "^4.1.13",
    "babel-loader": "^8.0.5",
    "babel-plugin-macros": "^2.5.0",
    "core-js": "^2.6.4",
    "css-loader": "^2.1.0",
    "eslint-plugin-react": "^7.11.1",
    "install": "^0.10.4",
    "node-sass": "^4.11.0",
    "react-image-resizer": "^1.3.0",
    "react-test-renderer": "^16.8.2",
    "require-context.macro": "^1.0.4",
    "sass-loader": "^7.1.0",
    "string-replace-loader": "^2.1.1",
    "style-loader": "^0.23.1",
    "svg-sprite-loader": "^4.1.3"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

i ran into this issue also it has to do with you loading up node/server library with storybook.  what i had to do was mock them.
let's say you have .storybook dir like this:
.storybook
fsMock.js
netMock.js
tlsMock.js
webpack.config.js
fsMock.js:
module.exports = {
readFileSync: () => 'mocked file',
// other things in fs that you are using
}
netMock.js:
module.exports = {
netFunc: () => 'mocked file',
// other things in net that you are using
}
tlsMock.js:
module.exports = {
tlsFunc: () => 'mocked file',
// other things in tls that you are using
}
webpack.config.js:
const path = require('path');
module.exports = (storybookBaseConfig, configType) => {
storybookBaseConfig.resolve.alias = {
...storybookBaseConfig.resolve.alias,
'fs': path.resolve(__dirname, 'fsMock.js'),
'net': path.resolve(__dirname, 'netMock.js'),
'tls': path.resolve(__dirname, 'tlsMock.js')
};
return storybookBaseConfig;
};


Elm errors for perfect valid Elm code?

I use the latest stable Lighttable  on OS X  and it shows Elm errors for no reason. The code is valid. I can even open it in the page. It does not make any sense. I created a screencast to show the case

Hi !

You need to write module, not package in the module header.
The type annotation for greet is wrong (it says great).
.. so no the code isn't perfect valid elm code.

which version of elm-light are you using btw ?
cheers
-magnus

The latest stable, both Atom (1.5.3) and elm-light (0.3.4).

I think Cmd+Enter captures output from elm-repl instead of Elm linter.  elm-repl doesn't understand type annotations.

Ah didn't pay attention.

Correct. Eval is only a thin wrapper around elm-repl
And yeah, evaluation type annotations isn't supported by elm-repl
The first error you get is because of using package rather than the correct keyword module

So I don't really think there is anything wrong with elm-light in this case. You might argue that it could have told you that evaluating type annotations isn't supported, but that would be a separate issue if you think that would be important.
tx for the detailed explanation though! Very few bothers to provide that much context when reporting issues.


Convert kebab attrs to camel props

html`<div custom-prop/>`
===
html`<div customProp/>`

cls(el).superClass = true

Does not belong here.


Broken on mobile

There is a strange font breakage on mobile as the font is spaced wrong and numbers are broken

@kzhe2059 can you check if your problem is fixed with version 0.5.0

I had the same issue. It's working correctly now. Thanks!


Set "Direct" instead "(none)" for last_non_direct_default_channel_grouping

I customized my package significantly, but "(none)" was displayed instead of "Direct" for last_non_direct_default_channel_grouping on my end.
The solution I implemented was to update stg_ga4__sessions_traffic_sources_last_non_direct_daily.sql. I changed:
coalesce(last_non_direct_source.session_default_channel_grouping, '(none)') as last_non_direct_default_channel_grouping
To:
coalesce(last_non_direct_source.session_default_channel_grouping, 'Direct') as last_non_direct_default_channel_grouping.

Great catch! I'll update that now.


error detection

hi,
what is wrong on this? (apologies for my english...)
win server 2012
PS C:\consip> node -v
v0.12.1
PS C:\consip> npm list dblite
C:\consip
└──<EMAIL_ADDRESS>PS C:\consip> sqlite3
SQLite version <IP_ADDRESS> 2015-02-25 13:29:11
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .ex
PS C:\consip> type .\testErr.js
var dblite = require('dblite'),
consipDB = dblite('consip.db');
consipDB.query(
"select * ffrom utenti where nome=?",["pp"],
function(err1, rows) {
console.log(err1,rows)
}
);
PS C:\consip> node .\testErr.js
null []

ffrom instead of from, that's why it's a good practice to write SQL commands CAPITALIZED, it helps finding errors
SELECT * FROM utenti WHERE nome=?
Please note on windows there's some asynchronous error notification. In your case it looks actually that errors are not triggered at all.

thanks for the quick response..
the problem is that the error is not detected (err1=null)

like I've said, there are problems in Windows with the error handling. There is already a bug report regarding this, please be sure your SQL strings are valid for the time being. these are all errors that should never land in productions anyway.
This is a known issue, I'll close this as duplicated. Apologies for any inconvenient.

ok, sorry and thanks again..


trying to set the full-screen mode on the RPM template

Hi
I want to set the WebGL export on the full-screen mode I changed the

and
 <canvas id="unity-canvas" width=auto height=auto"></canvas>
in the index.html and I changed the
    canvas.style.width = "100$";     canvas.style.height = "100%";
in the UnitySetup.js
but it didn't work please guide me.

I found it, just remove this tag from the index template of RPM


Standby Internal Error

I use etcd 0.4.6 and create a cluster with three nodes, after some time I found there is just one node can work, when visit other two nodes, you will get Standby Internal Error

/cc @yichengq

@AdoHe For 0.4, it does auto removal of dead members.
You could invalidate this by set infinite long removal delay: https://github.com/coreos/etcd/blob/release-0.4/Documentation/api.md#set-cluster-config

@yichengq I will upgrade to the latest version. Thanks anyway :)


getBufferAsync() throws a string instead of an Error

Expected Behavior
    Jimp.read(v)
      .then(lenna => lenna.resize(2000, Jimp.AUTO).getBufferAsync(`png`))
      .catch(e => {
        console.log(`type of e`, typeof e);
        throw e;
      })

Should log object
Current Behavior
logs string

Failure Information (for bugs)

Steps to Reproduce
Here is a minimal reproducible example
import Jimp from "jimp";

Jimp.read(`response.png`)
  .then(lenna => lenna.resize(2000, Jimp.AUTO).getBufferAsync(`png`))
  .catch(e => {
    console.log(`type of e should be object`, typeof e);
    console.log(`e should be an instance of Error`, e instanceof Error);
  });

Context

Jimp Version: 0.16.1
Operating System: windows 10
Node version: 16.13.1

I am reporting this error because this broke my error catching express middleware.

Before the fix
Fixing by doing
      .catch(e => {
        console.log(`type of e`, typeof e);
        throw new Error(e);
      })

After the fix

Hope to see this fixed soon 👍

bump

'png' written like this isn't a MIME type !
Replace  .getBufferAsync(`png`) with  .getBufferAsync(Jimp.MIME_PNG) instead

@intradeus @noahdeering can you please read. the issue states that the function is throwing a string not an error

bump

If anyone wants to submit a PR for this issue the fix should be easy. Willing to help merge and release!

@hipstersmoothie #1138


Can't uninstall cask for atom

I installed atom yesterday, v 1.7.3. It since then updated to 1.7.4 and not I can't uninstall it:
$ brew cask rm atom
Error: atom is not installed

$ brew cask list
atom				 …

What can I do to resolve this? brew doctor does not ouptut anything related to atom, neither does brew cask doctor. I am on Mac OSX 10.11.5.

It's brew cask uninstall atom (--force) or brew cask zap atom for a full cleanup


[RFC] extensible routing in Tide

This is the PR version of #271 to carry over the discussing in the PR format which allows better ways to have discussions around individual elements of the PR.
Rendered

Following https://github.com/rustasync/tide/issues/271#issuecomment-498955912, I may just try writing a PR using that instead, although I'm curious as to whether it provides the routing behavior that Nemo157 is asking for, i.e. it should behave similarly to https://github.com/rustasync/tide/issues/271#issuecomment-498923411 sans the last bullet point -- /{foo}*/{bar} should work.

If we serve routing as middleware, other middleware cannot see the routing result as it should be run before routing. We need to either special-case routing, or not provide the result to middleware.
I see routing as Fn(&Request) -> Option<(Endpoint, Params)> (+ Sync). With this signature, we can think of a trait responsible for routing:
trait Router {
    /// Perform routing of given request.
    ///
    /// If there is no match, this method returns `None`.
    fn route(&'a self, request: &Request) -> Option<(&'a DynEndpoint, Params)>;
}

If we serve routing as middleware, other middleware cannot see the routing result as it should be run before routing. We need to either special-case routing, or not provide the result to middleware.

That is what I've been thinking too. If you can change the endpoint via middleware what is the right response for continuing processing?
I was playing around with making the Endpoint effectively editable by the middleware. The question then you have answer is what happens if you change the routing in middleware - do you start all the middleware again, do you continue on with the chain, or do you go directly to the endpoint immediately.
With routing in the middleware (doing internal redirects) you likely have to say 'if we change the "path" we have to rerun everything' as we have no way of determining where we are in terms of performing all the middleware processing. If routing is accessible to internal redirects we can at least determine that behaviour. Arguably you can do the same with middleware by putting that determination into the middleware implementation e.g. through the Next struct implementation trait you could specify more than the run function that would do the alternatives:

forward changes the endpoint and then calls run internally,
redirect that changes the endpoint and starts the routing again.

However it is a lot more complex and I wonder what advantage that provides with a pure middleware implementation - you might be better off just implementing your own routing in your endpoint and having a 'catch all' (/*) route to get everything to your custom routing implementation anyway.

I'll try and sketch out how I see routing as middleware working later today. The basics are that a router is a middleware that is configured with other middleware, it somehow looks at the current path and determines which of those other middleware to invoke next (maybe after modifying the current context to put parameters it has parsed out of the path).
One of the upsides of this sort of setup is it means you aren't limited to putting middleware at the top-level of the application, if you want to do a top-level router that just checks if the initial path segment is /api and then runs the request through a whole series of API specific middleware before it hits the actual API router, then you don't need to have those middleware applied during non-API requests.

/{foo}*/{bar}  is too complicated. {foo}* should be at the end of the pattern.

@fundon

What won't be resolved through this RFC. While these may come up in passing because of determining the above questions it shouldn't be the focus of the discussion:

What the best default implementation is. I.e. this shouldn't become a discussion of the final precedence rules, or what the 'default' should look like.

This is purely about whether it's worth supporting more extensible/user-replaceable routing, and what the best way to achieve that is. The actual rules for how the router(/default router if it is fully replaceable) should parse a path aren't really relevant.

Sorry if I haven't made my comments fully related to the issue at hand, as I'm still unsure about whether extensible/replaceable routing should be an included feature pursuant to what Tide is intended to be. I'm largely toying around with how routing might change if we are to follow what a webserver ought to do (as mentioned in the earlier issue with 404 not found resources/405 invalid methods/default options/etc), and if there is a case for custom, plugable routing that users or organizations might prefer over the default.
I've been playing around with actix-web 1.0 lately and while they don't have extensible routing, their default routing already makes a lot of sense for all but the most uncommon cases I can imagine. I'll say again that if I had to decide, I'd probably settle on having good default routing -- the codebase would remain relatively simple and easy to pick up.
That said, if a good design can be made for it, then I'm for considering it. Though as mentioned before, the router is currently closely integrated with Tide so I imagine it may get somewhat difficult or complicated.

Finally got around to throwing together a full (synchronous) sketch of integrating routers as normal middleware. This was just the first example I could get going so some of the naming is a bit off, but all the basics are there and working.
Start by running it and scrolling down to main to see how the app is defined, in this case App itself is just a normal middleware as well, it is basically a serial applicator for other middleware to chain them together. Then the two routers are sort of like "fan-out" middleware, they take the current request and if it matches one of their routes call out to the associated middleware for that route after updating the context. The currently routed path is kept track of on the context (and for a router that parsed fields out while routing those could also be placed on the context somewhere), and the remaining path for the prefix router is left on the request for any sub-router to match.
If the routers don't match then they act like other middleware and just call the next middleware in the chain, so you can add custom 404 handling by just chaining on a middleware to do that.
You can see what I mention about being able to add route specific middleware under the /api path, this has a middleware to set the content-type. In a more realistic application you might instead have a middleware that handles the Accept header here, while static paths will not need that, and server-side rendered HTML might have middleware relating to the rendering framework.

Finally got around to throwing together a full (synchronous) sketch of integrating routers as normal middleware. This was just the first example I could get going so some of the naming is a bit off, but all the basics are there and working.

Conceptually I do like this. I think it allows greater power/flexibility while still allowing a way for good defaults to be applied with a simpler setup.
It also actually addresses one of the other questions I had as well - how to apply middleware to only portions of the application (I was prompted about this by looking through the Java Servlet spec and noting that their middleware, aka filters, are applied against a path match). Otherwise the onus  is on the middleware to validate that it should be doing anything depending on the path.
The advantage I see here is that it does allow for greater flexibility for those that need it as well being able to provide sane setup for simpler use cases. I think with a good builder to set up the application we could then provide a default routing middleware at the head of the middleware chain to do the routing as it currently is.
Two things I liked but weren't entirely obvious:

As you pointed out you can have custom error handling for the different routing paths - e.g. you return json body for the error on the API and just a standard 404 otherwise.
You can still apply middleware to all paths (which is currently the same in the existing middleware now I realised it) - by calling the next first within the middleware implementation and then dealing with the response. I was worried the split of routing would affect this but it doesn't.

One question I did have - Is this going to be a greater problem in terms of determining at startup that configuration is wrong? Particularly around having a default routing implementation that kicks in via a builder somewhere?
I'm not sure having the nested App makes total sense either - just from a naming convention as such. i.e. it might make more sense to have something like MiddlewareExecutor that is part of the App and so you can nest a new one of those. But that is part of the roughness of the sketch!
Lastly I wonder how the handling should work if no successful routing is performed. e.g. if you remove the error handling at the moment it panics (trying to execute a next which doesn't exist). i.e. does it make sense to have a catch all '404' that is always present if you get to the end of the chain and there is nothing next to call (and can this be done if the work is actually handled by the middleware itself)

It seems that there isn't any strong objection to extensible routing. With extensible routing, having a sensible default router would be sufficient. @Nemo157's sketch looks nice for me, maybe it could be the starting point? I do think we need to check how much boilerplate it requires, though.

It seems that there isn't any strong objection to extensible routing. With extensible routing, having a sensible default router would be sufficient. @Nemo157's sketch looks nice for me, maybe it could be the starting point? I do think we need to check how much boilerplate it requires, though.

Yeah that is what I'm currently looking at (but has mostly been a thought experiment so far... I've fiddled with the code just a little) - the work involved in integrating it and particularly how we can handle default routing. The main problem I'm seeing is that if routing is just middleware (even when using a builder) how do we determine that we need to add default routing. I guess there are two possible options here:

We leave the at methods and continue to use those - but when first called it'll add in the default routing middleware. If we don't use a builder then the problem is determining where to stick the default router in the middleware chain. With a builder we can resolve that at the end.
The second option is to leave in the default routing as non middleware, but make it optional. Therefore you can still do routing as middleware or use the default routing. From @Nemo157 's sketch this actually would tie in with making App middleware as well - as it can then perform the routing at any point within the chain as required and the at functions are then just the configuration options for the routing.

Looking through the current implementation option 2 is more or less currently possible already (bar it doesn't currently implement Middleware) - routing as such is already optional. The one problem (even currently) is that you can actually set it up so there is no routing at all and it produces no warnings (other than 'function is never used' warnings by the compiler if you have handling functions that aren't referenced), but I'm not sure we can actually determine that anyway.

I've just updated this with feedback and comments around this - note that some of the changes also were a reflection of a discussion with @yoshuawuyts which was happening while github was down (I don't know if you want to extrapolate on that more @yoshuawuyts?). The gist of that discussion was around effectively how can we provide routing in Tide such that it can be used in a great variety of use cases some of which we don't really know at this point  - such use cases could include aws lambda backends, cloudflare, browsers through service workers.
Hence the desirability to provide flexibility in routing.
The other half was when looking into routing as middleware I realised that it is already possible currently - there is no evaluation that there is any route before calling into middleware so you don't have to define any rules for routing and then can do all the routing in middleware. The main part you can't do here is have middleware change the routing endpoint - it has to handle it all currently.

@gameldar yeah dang, the review I did for this RFC got eaten by GitHub as it was going down.
My Tl;Dr: is that it feels like this RFC touches on some excellent points about what we may want from a routing, but I feel it unnecessarily ties itself to a particular to a specific direction.
There are several tradeoffs listed, and open questions at the end which seems necessary to be answered before we could confidently say that having swappable routers is indeed the right approach.
I'd love to see the two points separated, and have this RFC focused on the challenges in routing we currently face. If we could crystallize what behavior we want from a routing solution would be an excellent outcome to me, and we could then leave open the discussion of which exact direction to take for a later RFC.

My Tl;Dr: is that it feels like this RFC touches on some excellent points about what we may want from a routing, but I feel it unnecessarily ties itself to a particular to a specific direction.
There are several tradeoffs listed, and open questions at the end which seems necessary to be answered before we could confidently say that having swappable routers is indeed the right approach.

Ah I took the opposite thought from our discussions (it was 1AM my time when we finished... so I'm arguing that is the cause!) - that effectively "we don't know what the future routing needs will be so we should make it replaceable so we future proof for those different requirements". Hence the changes I made in the last update. However, the other approach is to cross that bridge when we come to it.

I'd love to see the two points separated, and have this RFC focused on the challenges in routing we currently face. If we could crystallize what behavior we want from a routing solution would be an excellent outcome to me, and we could then leave open the discussion of which exact direction to take for a later RFC.

This was effectively what I was saying we'd discuss later because we need to solve that question either way - but I can see your point. I'd actually argue doing the reverse though - shelving this RFC (for now) and starting a new one to answer that question. The 'what are the problems with the existing routing' question actually has implementable bits for the now as well - and is less about 'what we might not know' for the future.
Arguably we have at least vaguely answered the question 'should Tide have extensible routing' with a 'yes most likely' without necessarily committing to 'this is the way forward'. If we consider that is enough then I'd be tempted to at least table that as a decision in some form (e.g. I'll update the RFC and we can merge that) but leave it open to a future RFC to look at the implementation when it is needed. I'm not sure 100% of the value of doing that at this point however - as I mentioned this kind of RFC has been hard to know where to fit it as it isn't so much about a technical implementation as a 'high level design' goal so of thing.

Is it possible to have routing checked at compile time? Or there is an option to have it optionally not checked instead? I do think static type checking is a good use case for routing.

Is it possible to have routing checked at compile time? Or there is an option to have it optionally not checked instead? I do think static type checking is a good use case for routing.

Aaron addressed this in the discussion around the original idea for Tide: https://internals.rust-lang.org/t/routing-and-extraction-in-tide-a-first-sketch/8587/2
Essentially it boils down to a trade off between complexity in the code base and for users of the API too (e.g. using macros that hide the implementation details) - where failing on initial startup can provide better failure messages and can be verified with a simple test.

Discussion around this has reached its conclusion - which is to not make changes at present until we find a need for it. I'll close this RFC as the history will still be here if we need to come back to it.


[Svelte 5] Checkbox indeterminate state not updating

In Svelte 5, the following example from the docs doesn’t work: https://svelte.carbondesignsystem.com/components/Checkbox#indeterminate.
<Checkbox labelText="Label text" indeterminate />

The initial indeterminate icon is frozen regardless of the current checked value.
While looking into this, I also discovered that indeterminate can’t be set as a HTML attribute, but should be set dynamically in JavaScript (source: MDN).
The problem could be fixed by removing the indeterminate HTML attribute and setting the value dynamically:
onMount(() => {
  if (ref && indeterminate) {
    ref.indeterminate = true;
  }
});

Fixed in v0.86.0


New Player Joins, Crashes Server

Quests Version: 3.6.4-b697
Paper Spigot Version: 1.13.2-R0.1-SNAPSHOT
Server suddenly crashed after a new player joined, here is console readout from that crash:
https://pastebin.com/jKasT92s
Appears to be a problem with Quests that caused the crash, not sure what any of this information means though as I'm not a code wizard by any means. Thanks & goodluck!

Would you mind posting this player's data file with Pastebin? Should be at /plugins/Quests/data/3b6e04de-1c61-4902-9dbc-7aacb1d0830c.yml
If you could also tell me what date that file was created, I'd appreciate it. My initial guess is that the player is not actually new and their old data file is so outdated that it could not be properly read by recent versions of Quests.

Here is /plugins/Quests/data/3b6e04de-1c61-4902-9dbc-7aacb1d0830c.yml's file:
https://pastebin.com/ykcdNg6q
The file appears to have been created today. The players ip and username/uuid have never joined the server before. Also here's the crash report:
https://pastebin.com/R6mpMyWk
Thanks for the help Pika, appreciate it

If the file was created "today", then my guess is wrong. It was a possibility for Quests to still have data on the player if your server's "firstseen" data was ever reset (since Quests doesn't rely on it).
Looking at your crash report, this appears to be an issue with PaperSpigot, despite the fact that the Quests error appeared first. In the report, there's no mention of Quests other than it being installed on the server. If Quests were the cause, it should've been present in the stack trace.
I'll add some checks which should make this more obvious should it happen again, but that said, definitely report this to the PaperSpigot team if it happens a second time.

Use http://ci.ac3-servers.eu/job/Quests/700/ once available


SIGINT not sent when hitting Stop button on MacOSX

VSCode version info
版本: 1.47.3
提交: 91899dcef7b8110878ea59626991a18c8a6a1b3e
日期: 2020-07-23T13:08:29.692Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.5.0

I have a nodejs test code called main.js trying to listen to sigint event like this:
setTimeout(() => {
    console.log("xxxx")
}, 5000);

process.on("SIGINT", ()=>{
    console.log("SIGINT")
})

and set launch.json like this:
{
"version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "启动程序",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}/main.js"
        }
    ]
}

When I launch this process, and press Stop button within 5 sec, SIGINT signal will not be received. Terminal logs Process exited with code null instead of Waiting debugger for disconnecting

@connor4312 does js-debug support the terminate request?

I suppose so, just as the offical document says

Thanks for the issue, this duplicates https://github.com/microsoft/vscode-js-debug/issues/630. We use SIGKILL (and actually, so did node-debug2) rather than SIGINT/TERM at the moment.
/duplicate

@zgz682000 "the official document" (which I wrote after adding the terminate feature to DAP and implementing it for node-debug) describes the expected behavior of a debug extension that supports the optional terminate feature in a fully conforming way.
Whether a debug extension is "fully conforming" cannot be deduced from the existence of the document. Only if the debug extension opts into the feature and implements it like the doc says, we know for sure - that's the reason why I asked...


run.sh results in connection error

Can't run tests since new change this morning on osx or ubuntu. Tried different ipc paths on mac and no luck.
Here is the error:
(node:12341) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: CONNECTION ERROR: Couldn't connect to node on IPC.
(node:12341) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

the node script expects to get an arg for the geth.ipc path like this:
node ./test/index.js /tmp/ethereum_dev_mode/geth.ipc
if you don't provide one, the ipcpath will be the address of index.js, hence the error.

Sweet, that worked.

the run script will pass its first argument to node, so you can use that too.

Yeah
./run.sh /tmp/ethereum_dev_mode/geth.ipc

Worked for me.


Add ability to delete SMS message

@davidstoneham Hi, haven't yet gotten this to work on my end...
Does it work on yours?

I've currently got it running in a app at the moment and it hasn't had any problems. I'll start an empty react project and add it and just confirm i pushed up everything. Are you getting an error is it just not returning anything?

Ok just made a blank react native project (0.45) add my fork of the plugin and ran SmsAndroid.list and it correctly logged the messages to the console

@davidstoneham Hey, just tested it. Can we set it up such that it gives off an error if a message that someone wants to delete is missing? We could include that in the error saying the message doesn't exist. So that it says messages are deleted successfully only when a message is deleted.

@briankabiro that shouldn't be an issue. I'll take a look when I get a moment. I've also got code to silently send messages as well (without opening the sms app and waiting for the user to press the button) that i'll integrate as well in a different pull request. Will be nice to have an all-in-one react native sms plugin finally!

@davidstoneham Okay, this looks promising

@davidstoneham Any progress?

ok all done! The fail object will now equal SMS Not Found when you try to delete an sms that doesn't exist

@davidstoneham Okay, I'll check it out and get back to you


"Crevenicu" and "Rădulești" are listed in the drop-down menu

Description:
"Crevenicu" and "Rădulești" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Rădulești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Rădulești, TELEORMAN (Crevenicu)".


BiocManager::install("waldronlab/curatedMetagenomicAnalyses") failed

> BiocManager::install("waldronlab/curatedMetagenomicAnalyses")
Bioconductor version 3.12 (BiocManager 1.30.16), R 4.0.5 (2021-03-31)
Installing github package(s) 'waldronlab/curatedMetagenomicAnalyses'
Downloading GitHub repo waldronlab/curatedMetagenomicAnalyses@HEAD
Running `R CMD build`...
* checking for file ‘/tmp/Rtmpifo5W6/remotes2b43787ca6aa/waldronlab-curatedMetagenomicAnalyses-677f1be/DESCRIPTION’ ... OK
* preparing ‘curatedMetagenomicAnalyses’:
* checking DESCRIPTION meta-information ... OK
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘curatedMetagenomicAnalyses_0.4.0.tar.gz’
* installing *source* package ‘curatedMetagenomicAnalyses’ ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error: object ‘returnSamples’ is not exported by 'namespace:curatedMetagenomicData'
Execution halted
ERROR: lazy loading failed for package ‘curatedMetagenomicAnalyses’
* removing ‘/public/home/sample_lib/ckzhu/miniconda3/envs/R_4.0.0/lib/R/library/curatedMetagenomicAnalyses’
Warning message:
In i.p(...) :
  installation of package ‘/tmp/Rtmpifo5W6/file2b4327817dad/curatedMetagenomicAnalyses_0.4.0.tar.gz’ had non-zero exit status

You likely have an old version of curatedMetagenomicData, do BiocManager::install("curatedMetagenomicData") first and then try again.

I see you're using Bioconductor 3.12:

Bioconductor version 3.12 (BiocManager 1.30.16), R 4.0.5 (2021-03-31)

You'll also have to update to the current Bioconductor release version 3.14 to be able to use the current cMD and related analyses (see https://bioconductor.org/install/, this will also require upgrading your R version to 4.1).

Do BiocManager::install("waldronlab/curatedMetagenomicAnalyses", dependencies = TRUE) to install the dependencies too.

I've added a section on local installation without Docker to the README.md with the above command, in commit 745ed61517b7cf7abca2ff111d3af237c6e57f4d - it works for me, but feel free to re-open if you see some other problem.


Fix update-codegen to generate clients

We need this for using pkg/controller. When update-codegen was copied in
we seem to have left the paths pointing to knative/serving instead of
serving-operator.

/lgtm

/lgtm

/hold

/cancel hold

/hold cancel

Thx, Greg.


[SECURITY] server accept drives after logout

Current Behavior:
User can add new drives after logout with using previous token.
Expected Behavior:
Logout user shouldn't have possible to add new drive. His token should be invalidated.

I'm fairly certain that the bug is in this line https://github.com/CodeForPoznan/pah-fm/blob/6b77d678419cc59d59de332b0bee35ca40f20cbb/backend/fleet_management/models.py#L87
I'll check this later and see how this can be fixed.

We're not really logging anyone anywhere (in classical sense), our authentication model relies on JWT token which currently is not time based, which means that any login is permanent until next one occurs (which would replace token).
One solution that comes to mind is to replace JWT with its time-based version and set up some constant timeout, like, say 30 minutes.

But when I think about it - this solution might introduce cumbersome login from users' perspective. Here's an example:

user logs in, receives 30min token
gets on the road and looses internet connection (can't update his token in time)
arrives to destination, gets his internet access back but his verification token is already invalid so he can't submit a drive with current session

At this point his session is invalid and so the app can go in two ways:

web page redirects him back to login page where he inputs credentials
user navigates back to drives form, fills out details (some of which are saved?)
finally submits a drive

or...

web page accepts the submission but does not send immediately
instead a notification of some kind (popup?) appears which instructs the user to re log in in order to finalize the drive submission
user logs in again, gets new token, app synces drives in background

Both solutions feel seem annoying for someone who submits few drives a day in few hours gap.
Which, in turn suggests that maybe it would be good enough if the token was walid for 24 hours instead? This kinda hits both birds with one stone.
What do you think?

I haven't yet read RfC that defines JWT but as in codeforpoznan.pl_v3 we should have an access token and refresh token and store somewhere refresh tokens that would be still valid, but were revoked (codeforpoznan.pl_v3 stores that in dedicated DB table AFAIR).

Not relevant anymore (kinda overdue :P)


disk-io: don't monitor user disks on windows

This issue respects the following points:

[X] This is a bug, not a question or a setup/configuration issue.
[X] This issue is not already reported on Github (I've searched it).
[X] I use the latest release of the Monitoring Plugins (https://github.com/Linuxfabrik/monitoring-plugins/releases).
[X] I agree to follow Monitoring Plugins's Code of Conduct.

Which variant of the Monitoring Plugins do you use?

[ ] .rpm/.deb package from repo.linuxfabrik.ch
[ ] Compiled for Linux (.tar/.zip from download.linuxfabrik.ch)
[X] Compiled for Windows (from download.linuxfabrik.ch)
[ ] Source Code from GitHub

Bug description
I use disk-io-windows to monitor several Windows servers. Two of these servers are Windows Terminal Servers with user profile disks. Users therefore "take their data" with them when they log on to one of the terminal servers.

Unfortunately, disk-io-windows also logs these virtual disks and thus stores a lot of unnecessary performance data.
It would therefore be good if disk-io-windows did not monitor these disks or if this could at least be set.
Steps to reproduce - Plugin call
'C:\ProgramData\icinga2\usr\lib64\nagios\plugins\disk-io.exe' '--count' '5' '--critical' '90' '--ignore' 'sr0' '--ignore' 'loop0' '--ignore' 'loop1' '--ignore' 'loop2' '--ignore' 'loop3' '--ignore' 'loop4' '--ignore' 'loop5' '--ignore' 'loop6' '--ignore' 'loop7' '--ignore' 'loop8' '--ignore' 'loop9' '--ignore' 'zram0' '--warning' '80'
Steps to reproduce - Data

PhysicalDrive0: 1.1KiB/s read, 33.5KiB/s write (current)
Disk           ! RWmax/s ! R1/s   ! W1/s    ! R5/s   ! W5/s    !  WmiPrvSE.exe: 20.4GiB/69.6KiB (r/w)

2. svchost.exe: 1.8GiB/219.6MiB (r/w)

3. mcshield.exe: 1.5GiB/29.7MiB (r/w)

Environment
Windows Server 2022
Plugin Version
2023051201
Python version
No response
List of Python modules
No response
Additional Information
No response

I think psutil need to make changes first: https://github.com/giampaolo/psutil/issues/2306


use tensorflow2.0

if I use tensorflow>=2.0 ,the model that have trained  wether still useful?

"label_ids": [feature.label_ids]})

Actually if u use tf2.0, you may find many issues when running code because of the version

Do we have any solution on that? To use tf1.x we need to install lower version of CUDA, and to use lower ver CUDA, we have to use lower version of GPU driver...


feat(konnect): allow enabling konnect sync in ingress controller

What this PR does / why we need it:
Allows enabling Konnect sync mode in ingress controller by configuring all required environment variables in the controller's container.
It won't work as expected until KIC 2.9.0 is released.
Which issue this PR fixes
Fixes #740.
Special notes for your reviewer:
Can be tested with following values.yaml:
image:
  repository: kong
  tag: "3.1"

env:
  database: "off"

ingressController:
  enabled: true

  image:
    repository: kong/nightly-ingress-controller
    tag: "2023-02-15"
    effectiveSemver: "2.9.0"

  konnect:
    enabled: true
    runtimeGroupID: "523f592f-9828-48a2-ab2e-cf113276369d"

Requires having a konnect-client-tls secret created with TLS certificate generated by Konnect.
There's also a bonus I'd like to bring some attention to while adding this: a draft PR adding a golden test that I found useful while extending the helm chart.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] PR is based off the current tip of the main branch.
[x] Changes are documented under the "Unreleased" header in CHANGELOG.md
[x] New or modified sections of values.yaml are documented in the README.md
[x] Commits follow the Kong commit message guidelines

For Konnect stuff, do we have an actual "this is the designated demo runtime group, you can deploy with it but it can't actually be used for anything beyond demonstration" setup? Dunno if there's some way we can provide a generic value for Konnect or if we need a CHANGEME (similar to the Enterprise examples) somewhere.

Nah, we do not have such. You're right, I made it # CHANGEME style.


When using webdriverio helper configured for saucelab scenario name not passed to saucelab

In saucelab all test are named as Unnamed job instead of scenario name
http://c2n.me/3AW2fsa
its not very easy to find right test when there no name for it.
Is there a way to pass scenario name to saucelab ?

To do this its needed to pass name param to the desiredCapabilities of webdriver.io
I tried to do it in _before but despite in jsdoc its specified that test param is passed, its not passed, so i cant get a test name there.

Yes, unfortunately due to restrictions in mocha I didn't manage to run before/after hooks inside a test, so they do not have test name in it. I will think how this can be improved

To be honest I'm not sure how to make it work. Browser session is started before the actual test executed, and probably desired capabilities can't be updated during test execution.

I have the same problem trying to give meaningful names to sessions on browserstack.
The most promising approach was to create a custom helper and set the name in the _before() or _beforeSuite() hook.
this.helpers["WebDriverIO"].options.desiredCapabilities.name = "foo";
Unfortunately I couldn't find a solution to access the name of the suite/feature or the scenario. Also  be aware that this solution depends on the sorting in the configuration file, cause it needs to be run before the WebDriverIO Helper _before() / _beforeSuite() hook.
Maybe someone can improve on that.

https://github.com/Codeception/CodeceptJS/issues/190


Doesn't work on iPhone

Using the submit button won't submit the form. It's disabled even though all form items are valid.

Code to reproduce:
`

                                    <input type="text" data-minlength="1" class="form-control top-buffer-sm" placeholder="Your email" name="email" data-error=""></input>

                        <input id="sendForm" type="submit" value="Send"></input>

                </form>`

`form role="form" name="customer-form" method="post" id="customer-form" data-toggle="validator">

                                    <input type="text" data-minlength="1" class="form-control top-buffer-sm" placeholder="Your email" name="email"></input>

                        <input id="sendForm" type="submit" value="Send"></input>

                </form>`

Worked for me when I just tested it on my phone here:
http://jsbin.com/wilucokova
My guess is you might be running into a problem because your form is within a modal. You might want to try initializing the validator via JS whenever the modal is shown instead of using data-toggle="validator", like so:
$('#myModal').on('shown.bs.modal', function (e) { $('#customer-form').validator() })

just to be sure the form is in the DOM at init.

Appreciate the reply!
Was just picking through the code and comparing it to what you had and had an idea..
Turns out it was the damn z-index of the button. Changed it to z-index: 9999 and it worked.


HopSpotEventListener is called multiple times with multiple HotSpots

First, what a great library!
I'm adding multiple HotSpots so that the user can click anywhere in the TileView and a simple callout appears when the click is at a HotSpot.  However, the HotSpotEventListener associated with the Hotspot gets called multiple times (as many as there are HotSpots) and does slow down the responsiveness of the TileView.
This could be a mistake on my part.  Any suggestions?
Here's a code snippet.
Rect rect = new Rect(center[0]-width, center[1]-width,
    center[0]+width, center[1]+width);
HotSpot hotSpot = new HotSpot(rect);
hotSpot.setTag(current_point);

result.add(hotSpot);

...

TileView tileView = getTileView();
for (HotSpot hotSpot : result) {
    tileView.addHotSpot(hotSpot);
    tileView.addHotSpotEventListener(hotSpotEventListener);
}

...

private HotSpotEventListener hotSpotEventListener = new HotSpotEventListener() {
    @Override
    public void onHotSpotTap(HotSpot hotSpot, int x, int y) {
        TileView tileView = getTileView();

        EventMapPoint point = (EventMapPoint) hotSpot.getTag();
        SampleCallout callout = new SampleCallout( tileView.getContext(), point.name, "" );
        tileView.addCallout( callout, point.coordinates_pixel[0],
            point.coordinates_pixel[1], -0.5f, -1.0f );
        callout.transitionIn();

        // debug, this shows multiple times in LogCat due to one click
        Log.d(LOG_TAG, "onHotSpotTap " + x + " " + y + " " + point.name);
    }
};

Thanks in advance!

So looks like you're adding the same listener in each loop iteration:
for (HotSpot hotSpot : result) {
    ...
    tileView.addHotSpotEventListener(hotSpotEventListener);
}

You only need to add it once - it'll look at the position of the touch event and find if any hotspots were hit.

Thanks, it worked!    On a related topic, is there a way to remove all HotSpots?

Sorry, there's no public API for that.  You'll just need to save all your HotSpots as you're adding them, then iterate through the list and remove each

I suppose I could add a new method to the TileView class....food for thought
'''
public void removeAllHotSpots() {
hotSpotManager.clear();
}
'''

yes, if you don't mind hacking the core (hotSpotManager is private)


Release 1.5.1 (arm64 issues)

Hey, do you plan release of changes from dev branch anytime soon?
I'm working on amr64 CPU, and dropping PhantomJS in https://github.com/svg-sprite/svg-sprite/releases/tag/v2.0.0-beta1 which causes problems with installation helps alot.
Thanks!

For my use case (M1 MacBook) I was able to successfully switch to https://github.com/wesoledi/gulp-svg-sprite . It is a bit behind (currently uses 2.0.0-beta2 instead of the latest beta4, but was able to successfully build and install and generate my SVG sprites.

I would say that this will happen within the month


Use full names on Members tab

@keybase/react-hackers

Merge after CORE's #10019.

(The flow error is fixed by the protocol change that comes in via that PR.)

I've rebased to master and tried it, seems to be working!


Adding PyPI Trusted Publisher note about repository entry case-sensitivity

What's the problem this feature will solve?
I recently noticed that adding a GitHub-based Trusted Publisher for PyPI was case sensitive for the repository name. The same might be for the owner field, but I have not tested this.
I wondered if other people might run into the same without some kind of notice within the documentation here and here. It also might be that adding a note to PyPI itself for these fields could be helpful in avoiding this challenge (perhaps something like (case-sensitive) added to the text field default suggestion or the labeling nearby).
Describe the solution you'd like
I'd like to see a note and/or a somehow highlighted indication that the repository field for Trusted Publisher additions within PyPI are case-sensitive. The same might be included for the owner field if this holds true there as well.
Additional context
GitHub appears to automatically re-route or have some way to transcribing relationships to organizations and repository names which use capitalizations. For example, https://github.com/PyCQA/bandit links to the same place as https://github.com/pycqa/bandit. One can also use capitalizations (or not) where they wish and still be routed to the same location, for example https://github.com/python/cpython links to the same place as https://github.com/Python/CPython . Despite GitHub not being authoritative for PyPI's standards, this might be cause for confusion when it comes to PyPI integration with GitHub.

Thanks, it should be case-insensitive, https://github.com/pypi/warehouse/pull/14623 will fix this.

Thank you @di !


Add date to API call for a list of users

From Melissa Ratajeski:
I am an DMPTool Admin for the University of Pgh. I downloaded the list of institutions and plans count and a list of users but I was wondering if there was a way to get a file that has dates that could show the change of these counts overtime. We'd like to see if the plans and users have been trending up and if our promotional events have been successful in recruiting people. Would the only way to do this be to download these files each month?
https://dmptool.org/api/v1/users

Add created_at date (yyyy-mm-dd) to API call to get a list of users

added on 4 May 16


no matching manifest for linux/arm/v8 in the manifest list entries

Trying to run the docker compose script on a Raspberry Pi 4 and I get:
no matching manifest for linux/arm/v8 in the manifest list entries
Is a RPI compatible arm build available or in the works?

It should do... which tag are you using?

This is the .yaml as I have it now:
`version: '3.3'
services:
stirling-pdf:
image: frooodle/s-pdf
ports:
- '8080:4020'
volumes:
- /location/of/trainingData:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages
- /location/of/extraConfigs:/configs
environment:

APP_LOCALE: en_GB
  APP_HOME_NAME: PDF Suite

APP_HOME_DESCRIPTION: Your locally hosted one-stop-shop for all your PDF needs.
  APP_NAVBAR_NAME: PDF Suite

APP_ROOT_PATH: /
ALLOW_GOOGLE_VISABILITY: true`

The complete .yaml is like your example:
version: '3.3'
services:
s-pdf:
ports:
- '8080:8080'
image: frooodle/s-pdf

Just to be safe can you change the image to have
:latest

Just to be safe can you change the image to have :latest

done, but same result

version: '3.3'
services:
s-pdf:
ports:
- '8080:8080'
image: frooodle/s-pdf:latest

Looking at the available tags I do only see amd64 and arm64. My understanding is there should also be a linux/arm64/v8 tag

Oh you know what, the issue is probably that I'm running the standard 32-bit Raspberry Pi OS! I'll report back when I sort that out

Ahh I'll try make a 32 bit version as well... I'll let you know

Hey sorry for the false alarm, I can confirm I am indeed running 64-bit raspberry pi OS, so I suppose that isn't the issue.
I did also try manually pulling the arm64 image:
docker pull --platform=arm64 frooodle/s-pdf:latest
running:
'docker run -d -p 8080:8080 --name stirling-pdf frooodle/s-pdf'
error:
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/arm/v8) and no specific platform was requested 04369c2a59975ba42c682d5ec337516c6347808a5ddc6bd993ed675e5900b69c

https://github.com/iv-org/invidious/issues/3712
seen others with this issue.. doesnt make sense...
I seen it work fine with arm devices already

What docker version are you running and what is your full OS ?

What docker version are you running and what is your full OS ? This makes no sense since arm64 and arm/v8 are the same thing

I've been scratching my head about this too. I actually found the linked Invidious thread also. I am going to reinstall raspberry pi OS and report back later this afternoon. Signs are pointing to this being an issue on my end and not on your for now.

I have seen 2 others report the same issue on reddit... but several report it working...
there must be something on my side causing this in some form..... just not sure what
My best guess is something unique myside and yourside as well combined..

Let me know how it goes
I will grab my PI and try as well

Let me know how it goes I will grab my PI and try as well

I think the issue may be that the default installation of Raspbian is 32-bit but runs a 64-bit kernel somehow, so the normal tools that show which architecture you are running report 64-bit OS when I suppose it is not? Why that works is beyond my undestanding but there is a specific version of 64-bit Raspbian that has to be select using as submenu in the official Raspberry Pi Imager, under the "Raspberry Pi OS (other)" submenu. My guess is that this is my issue. This evening I will do a full reinstall with the correct version of the OS and try again. Thank you

Update:
The docker image now works fine as of installing 64-bit Raspbian. My apologies for wasting your time, took me too long to realize I was running the 32-bit OS. In my defense, most of the linux terminal commands you can run to check which architecture your system currently supports all reported 64-bit. Oh well.
Thanks for the tool and keep up the great work! Got this up on the RPI4 server now so anyone in the household can use it

based on other comments about this issue on reddit uname -m and neofetch and others all lie
try view the file
/bin/bash
It might say something like /bin/bash: ELF 32-bit LSB executable showing it is 32bit

Ahh I'll try make a 32 bit version as well... I'll let you know

Froodle, did you ever build the 32 bit version? I run an old raspberry pi 2 1.1 and it can only run 32 bit OSes. I use the old raspi as a printer server, it updates my IP to redirect a website and some more minor jobs. I thought it would be great to run stirling-pdf on the small raspi but the kali-distribution I use with docker shows the "docker: no matching manifest for linux/arm/v7 in the manifest list entries" error. So: is there a 32 bit version? Is it planned? Anyway, thanks for the great utility!

No 32 bit support sorry

Anthony, thanks for answering and thanks for the great project. I will find a different way to install it. Best wishes!


EnsemBL Gene Synonyms Are Not All Synonyms

Mark Williams has asked me about https://reactome.org/content/detail/R-HSA-909733 and how it's represented in our system. Curiously, if you use the synonymizer to look for R-HSA-909733 you get a gene: https://arax.ncats.io/?term=R-HSA-909733 , but if you search for REACT:R-HSA-909733 you get the pathway: https://arax.ncats.io/?term=REACT:R-HSA-909733

I contacted the Ensembl help desk to ask what the meaning of the different Ensembl xrefs are. This was their response:

Hi Erica
xref is shorthand for External Reference, which refers to mapping between
Ensembl genes and transcripts and those in other databases. Details of how we
infer these mappings are found here:
http://www.ensembl.org/info/genome/genebuild/xrefs.html
Transcript xrefs are mappings between the Ensembl cDNA sequences and the
protein isoform or RNA sequences in other databases. Gene xrefs are mappings
between Ensembl gene locus sequences and gene locus sequences in other
databases. Since Reactome is a database of protein pathways, the main mappings
are to the transcripts. GO terms are similarly mapped from the GO database to
the proteins, although many are inferred from homology.
All the best
Emily
Ensembl helpdesk


Usability of society search

To enhance the usability of the society search

hitting <Enter> after typing in the society search input should trigger the search,
if only one society is found, the user should be redirected to tis society's details page immediately.

first point is done

second point done in #330, closing


Strip backslashes in get_inputs

They don't seem to be needed so they will only confuse users: https://github.com/SirCmpwn/sway/issues/365#issuecomment-174241434

The slashes are added because the output format is JSON. swaymsg could decode the json rather than just printing it out.

Ok, one has to wonder why the hell slashes can be escaped in JSON.

json-c added a flag to disable escaping of slashes a while back: 316da8581819726597592be6d8ac787120c979bf
It could prove helpful here.

Yeah I saw that as well, but we will have to wait for a new json-c release before we can use it.
A quick hack would be to just remove the slash escaping from the json string printed by swaymsg.

See https://github.com/SirCmpwn/sway/pull/472 for details on why this was closed.


correction bug EleutherAI#1664

if you have for example an url in model_args : --model_args model=sn/mistral-7b-instruct-v0.2-LG,base_url=http://<IP_ADDRESS>:1234/v1
":" can't be in file name

May it be better to sanitize more characters not allowed in filenames?
Links to check
https://gist.github.com/doctaphred/d01d05291546186941e1b7ddc02034d3?permalink_comment_id=3958715#gistcomment-3958715
https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
Also specific package for sanitation may be used as futureproof solution, for example: https://pypi.org/project/pathvalidate/
(https://pathvalidate.readthedocs.io/en/latest/pages/examples/sanitize.html).


Obsolete 'isRegExp' and several non-mentioned well-known symbols in lib.es6.d.ts

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-well-known-symbols

isRegExp doesn't exist anymore
no mention for match, replace, search, species, split now

Forgot to mention that PRs are always welcomed:)

Not sure whether there's been a change in what you've mentioned, but I see match, replace, search, species, and split are currently still there.

If you look at Revision 29 from Dec. 6:

Symbols @@match, @@replace, @@search, @@split, replace the corresponding string property names in RegExp prototype

Eliminate @@isRegExpand Symbol.isRegExp.

@DanielRosenwasser i think you are looking at an old version of the spec. here is the latest draft:
http://wiki.ecmascript.org/lib/exe/fetch.php?id=harmony%3Aspecification_drafts&cache=cache&media=harmony:ecma-262_edition_6_04-03-15-releasecandidate4.pdf

I'm still seeing it:


Add information how to cancel posted sales invoice with a prepayment line

Please add information how to correct following situation:
Prepayment invoice is made.
Sales order is partially posted (let's say half the quantity).
Now this posted sales invoice is Cancelled but it does not cancel Prepayment deduction.
Please add instructions how to cancel a posted sales invoice with a prepayment line (the one with quantity -1).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2eaabeeb-dc70-6164-3a2d-62547fbb5d08
Version Independent ID: d469c2c9-49ea-6842-6a31-977dacca5a01
Content: How to Correct Prepayments - Business Central
Content Source: business-central/finance-how-to-correct-prepayments.md
Service: dynamics365-business-central
GitHub Login: @SorenGP
Microsoft Alias: sgroespe

Hello,
Thank you for your feedback! You are right that the prepayment invoice is not automatically reversed when the original sales order/invoice is cancelled. This is currently a manual process that users will have to remember to do. If you want to suggest this as a new capability, you can suggest it here: https://aka.ms/businesscentralideas
We'll make this a bit clearer in the next doc refresh.


DatabaseUtils: Replace methods that accept return type argument with generic return type

The current implementation requires the caller to specify the return type as an argument and explicitly cast the result. The replacement would use a generic return type instead, relying on the compiler to determine the correct return type and eliminate the need to the explicit type cast.

Upon further consideration, the revisions needed to resolve this issue as it was originally envisioned would be extensive at best, and potentially impossible. The main challenge is that the return type argument can be specified as null, which causes the indicated query to be executed as an update, returning an integer (count of records affected). This would be impossible to specify implicitly, as the API also includes the ability to execute a query that returns an integer value. It's likely that unwinding these two common use cases would result in either a considerable amount of duplicated code or convoluted implementation, neither of which are desirable.


[colmap] build failure

Host Environment

OS: Windows Server 2019 standard
Compiler:  Compiler Version 19.00.24215.1 for x86

To Reproduce
Steps to reproduce the behavior:
./vcpkg install colmap[cuda-redist]:x64-windows
Failure logs
-- Using HTTP(S)_PROXY in environment variables.

Additional context
Proxy settings are correct. Not using Fiddler. Remote server is working.

Hi @pik314
Thanks for posting this issue.
Could you please help provide the full log on your machine when you run ./vcpkg install colmap[cuda-redist]:x64-windows?
PS F:\latest\vcpkg> ./vcpkg install colmap[cuda-redist]:x64-windows --editable
Computing installation plan...
The following packages will be built and installed:
    colmap[core,cuda-redist]:x64-windows -> 3.6#1
Starting package 1/1: colmap:x64-windows
Building package colmap[core,cuda-redist]:x64-windows...
-- Downloading https://github.com/colmap/colmap/archive/3.6.tar.gz -> colmap-colmap-3.6.tar.gz...
-- Extracting source F:/latest/vcpkg/downloads/colmap-colmap-3.6.tar.gz
-- Applying patch fix-dependency-freeimage.patch
-- Using source at F:/latest/vcpkg/buildtrees/colmap/src/3.6-f2a7f88123
-- Found external ninja('1.10.2').
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Installing: F:/latest/vcpkg/packages/colmap_x64-windows/share/colmap/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package colmap[core,cuda-redist]:x64-windows... done
Installing package colmap[core,cuda-redist]:x64-windows...
Installing package colmap[core,cuda-redist]:x64-windows... done
Elapsed time for package colmap:x64-windows: 1.872 h

Total elapsed time: 1.872 h

Hi, Thank you for responding. Below is the full log of the command
.\vcpkg install colmap [cuda,tests]:x64-windows
in Windows server 2019 . I have replaced my user name on the machine with XXXXXX. Proxy settings are correctand I am not using Fiddler.
Thank you for looking into this.
========================================
vcpkg_install_colmap_error.txt

Closed by mistake. Sorry.

It seems the issue is with libjpeg-turbo. Below is the log of the install command for jpeg-turbo
vcpkg_install_jpeg-turbo.txt

[DEBUG] Downloading https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip
[DEBUG] Downloading https://fossies.org/windows/misc/nasm-2.15.05-win32.zip
Error: Failed to download from mirror set:
https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip: failed: status code 403
https://fossies.org/windows/misc/nasm-2.15.05-win32.zip: failed: status code 403

[DEBUG] C:\A\1\60\s\src\vcpkg\base\downloads.cpp(628)
[DEBUG] Exiting after 211836 us (166903 us)

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:251 (message):

Could you please help confirm if you have access to https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip or https://fossies.org/windows/misc/nasm-2.15.05-win32.zip?
If yes, please download it manually, and put this archive to C:/Projects/colmap/vcpkg/downloads folder. Then try to rebuild this.

This fixed this particular problem. Thank you! The first URL was blocked by the company firewall, but the second one wasn't and I was able to download the zip file. Atfer that the installation proceeded without problems.


Chris Roth Pull request post develop master merge.

Up to date on all fixes per my 1 on 1 with @clarakosi I still needed to merge the develop branch with master and push then make a pull request. Soooo "dishes are done man."

Git-Comments

[x] Utilizing Meaningful Commit Messages
[x] Committing Often: On Every Breakthrough or Feature Completion.
[x] Submitted a Pull Request with your First & Last Name in the title.

Comments

Congratulations, you have met expectations and are properly utilizing git version control.
 If you have not yet tried it
Using git from the command line with bash you can do the following:

git commit -m "Implemented Desktop Break-Points
> CSS Break-Points with mediaquery at 1024px max-width
> Tested in Chrome, Firefox
> Fluid transition between breakpoints."

Press Enter when you want a new line. When you see the `>` symbol this means that you have pressed Enter and there is a new line. Remember to close your quotes at the end of your message and press Enter to submit the command.


Downloaded the wrong testcase(#4 no fixed)

On the submissions page (such as https://atcoder.jp/contests/arc065/submissions/60483615 ）Still downloading incorrect test cases (see #4 for details)

By the way, Download all test cases button work success

Thank you, let me fix it.


bot expired.

when I booted it up, it said BOT EXPIRED.

Updated New version. Old Version Expired


Update language on search usage

This is a followup to PR #6780 that implements some discussed
language changes.

thanks for fixing this up.

helm docs are out of date. Please run "make docs"


Zstream trigger slack webhook url optional - 71

[Auto generated]
Number: [#71]

ci-jobs-trigger(XAd5C)[PR 71]: Closing issue for PR: Zstream trigger slack webhook url optional.
PR was closed.