feat(daemon): add API auth

Hey!
This is simple implementation of adding auth to the API endpoints.
The apiKey can be set as:

query param /api/webhook?apikey=my-secret-key
as a header X-API-KEY.

If the apikey is set in the config file and it does not match it responds with 401 Unauthorized.
Could be improved with a micro framework like Express or Fastify or similar that implements middlewares, but this is simple enough for the current 2 endpoints of the project.
The global var secretApiKey in server.ts might not be the best solution, but it works and makes it available to the needed functions.
:white_check_mark: Tested and it works as intended
Fixes #306

diff --git a/src/cmd.ts b/src/cmd.ts
index 90a52b8..9f0d3ef 100755
--- a/src/cmd.ts
+++ b/src/cmd.ts
@@ -317,7 +317,7 @@ createCommandWithSharedOptions("daemon", "Start the cross-seed daemon")
 			});
 			await db.migrate.latest();
 			await doStartupValidation();
-			serve(options.port, options.host, options.apikey);
+			serve(options.port, options.host);
 			jobsLoop();
 		} catch (e) {
 			exitOnCrossSeedErrors(e);
diff --git a/src/constants.ts b/src/constants.ts
index 67c062d..755930d 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -6,6 +6,7 @@ export const PROGRAM_NAME = packageDotJson.name;
 export const PROGRAM_VERSION = packageDotJson.version;
 export const USER_AGENT = `CrossSeed/${PROGRAM_VERSION}`;

+export const APIKEY_REGEX = /^[a-z0-9]{20,32}$/i;
 export const EP_REGEX =
 	/^(?<title>.+?)[\s._](?<season>S\d+)?[_.\s]?(?<episode>E\d+(?:[-\s]?E?\d+)?)/i;
 export const SEASON_REGEX =
diff --git a/src/runtimeConfig.ts b/src/runtimeConfig.ts
index 4f6576d..84e3aa7 100644
--- a/src/runtimeConfig.ts
+++ b/src/runtimeConfig.ts
@@ -28,6 +28,7 @@ export interface RuntimeConfig {
 	notificationWebhookUrl: string;
 	torrents: string[];
 	port: number | false | null;
+	apikey: string;
 	searchCadence: number;
 	rssCadence: number;
 	snatchTimeout: number;
diff --git a/src/server.ts b/src/server.ts
index 24a30f5..348da53 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -10,8 +10,22 @@ import {
 	searchForLocalTorrentByCriteria,
 } from "./pipeline.js";
 import { indexNewTorrents, TorrentLocator } from "./torrent.js";
+import { APIKEY_REGEX } from "./constants.js";
+import { getRuntimeConfig } from "./runtimeConfig.js";
+import { CrossSeedError } from "./errors.js";

-let secretApiKey = "";
+/**
+ * validates that the apikey is 20-32 characters alphanumeric
+ * throws and exits if not
+ */
+export function validateApiKey() {
+	const { apikey } = getRuntimeConfig();
+	if (!APIKEY_REGEX.test(apikey)) {
+		throw new CrossSeedError(
+			'You need to set a valid "apikey:" value in your config or specify --apikey (20-32 character alphanumeric)'
+		);
+	}
+}

 function getData(req): Promise<string> {
 	return new Promise((resolve) => {
@@ -50,11 +64,7 @@ function parseData(data) {

 // isValidAPIKey check if api key is valid or not
 function isValidAPIKey(req: IncomingMessage): boolean {
-	// if no api key is set then always return true
-	if (secretApiKey === "") {
-		return true;
-	}
-
+	const { apikey } = getRuntimeConfig();
 	const parsedUrl = url.parse(req.url, true);

 	// get apikey from query /params?apikey=supersecretapikey
@@ -63,7 +73,7 @@ function isValidAPIKey(req: IncomingMessage): boolean {
 	// get apikey from header
 	const apiKeyHeader = req.headers["x-api-key"];

-	if (apiKeyQueryParam === secretApiKey || apiKeyHeader === secretApiKey) {
+	if (apiKeyQueryParam === apikey || apiKeyHeader === apikey) {
 		return true; // API key is valid.
 	}

@@ -221,8 +231,8 @@ async function handleRequest(
 		res.end("Methods allowed: POST");
 		return;
 	}
-
-	switch (req.url) {
+	//take the url before the parameters (?)
+	switch (req.url.split("?")[0]) {
 		case "/api/webhook": {
 			logger.verbose({
 				label: Label.SERVER,
@@ -246,15 +256,7 @@ async function handleRequest(
 	}
 }

-export function serve(
-	port: number,
-	host: string | undefined,
-	apiKey: string | undefined
-): void {
-	if (apiKey) {
-		secretApiKey = apiKey;
-	}
-
+export function serve(port: number, host: string | undefined): void {
 	if (port) {
 		const server = http.createServer(handleRequest);
 		server.listen(port, host);
diff --git a/src/startup.ts b/src/startup.ts
index 76cfb40..27665db 100644
--- a/src/startup.ts
+++ b/src/startup.ts
@@ -5,6 +5,7 @@ import { logger } from "./logger.js";
 import { getRuntimeConfig } from "./runtimeConfig.js";
 import { validateTorrentDir } from "./torrent.js";
 import { validateTorznabUrls } from "./torznab.js";
+import { validateApiKey } from "./server.js";

 function validateOptions() {
 	const {
@@ -43,6 +44,7 @@ export async function doStartupValidation(): Promise<void> {
 	const downloadClient = getClient();
 	await Promise.all<void>(
 		[
+			validateApiKey(),
 			validateTorznabUrls(),
 			downloadClient?.validateConfig(),
 			validateTorrentDir(),

This fixes a few bugs, mainly when using webhook?apikey= it wouldn't match the switch because the req.url included that parameter. It also removes the secretApiKey variable and uses getRunTimeConfig() to pull the value, validates the apikey being alphanumeric and between 20 and 32 characters at startup (as suggested by @mynameisbogdan and @bakerboy448), and brings some of the changes into line with the structure of the codebase.
One caveat that needs to be addressed is how we handle the introduction of auth because, with my diff, this will essentially break everyone's instance until they add the value to the config. Even if we decide to generate an apikey if one is absent, without the knowledge of the user their announce/webhook calls will be rejected.
This (erroring without an apikey defined) may be an inconvenience to many, but I think it is the best approach. The error from validateApiKey() states what the issue is and what needs to be defined.

thanks for making this PR - I remember our conversation a while back about it. I haven't read it yet but am hoping to get a chance in the next few days

I think it would make sense to store the API key in /config/apikey.txt or in the database (I'm leaning towards the database). That way we don't have to make the user generate it themselves, and we also won't need to go through the hassle of validating it.
I'm just a little bit unsure of how to expose it to the user - maybe a pair of commands
cross-seed api-key and cross-seed reset-api-key? Or we could just tell people to look at /config/apikey.txt I guess. I'm open to opinions there.
@zze0s, let me know if you would like to try to make those changes or if you would like me to take things over from here. Either way, this PR has served as a good kick in the pants to prioritize auth.

I think it would make sense to store the API key in /config/apikey.txt or in the database (I'm leaning towards the database). That way we don't have to make the user generate it themselves, and we also won't need to go through the hassle of validating it.
I'm just a little bit unsure of how to expose it to the user - maybe a pair of commands cross-seed api-key and cross-seed reset-api-key? Or we could just tell people to look at /config/apikey.txt I guess. I'm open to opinions there.

I think it would be best served from a security standpoint to store it in the db, but the downside is the frequency in which people, at least myself, may delete their cross-seed.db to reset things. It seems to be a common practice amongst many, and losing the apikey and having to reconfigure scripts/commands in this event may be somewhat cumbersome.
I don't really agree that storing it in plaintext is ideal....although the risk seems minimal.

the DB would have it in plaintext too. I think most other apps in the space also store API keys in plain text because they have to let you copy them from the UI.

Accurately perhaps scope creep, but add a db reset function that purges history but keeps the api key and other config?

Accurately perhaps scope creep, but add a db reset function that purges history but keeps the api key and other config?
We sort of have that in clear-cache but it probably doesn't delete enough stuff. we could stand to make clear-cache more aggressive for sure.

the DB would have it in plaintext too. I think most other apps in the space also store API keys in plain text because they have to let you copy them from the UI.

Of course, but it's not just blatantly in a text file, so a little bit more security by obscurity in my opinion.

thanks for making this PR - I remember our conversation a while back about it. I haven't read it yet but am hoping to get a chance in the next few days

Happy to do it! Yeah that was a while ago :smile:

I think it would make sense to store the API key in /config/apikey.txt or in the database (I'm leaning towards the database). That way we don't have to make the user generate it themselves, and we also won't need to go through the hassle of validating it.
I'm just a little bit unsure of how to expose it to the user - maybe a pair of commands cross-seed api-key and cross-seed reset-api-key? Or we could just tell people to look at /config/apikey.txt I guess. I'm open to opinions there.
@zze0s, let me know if you would like to try to make those changes or if you would like me to take things over from here. Either way, this PR has served as a good kick in the pants to prioritize auth.

Good to get your feedback on this! Me and zakkaryry discussed the PR and he came up with the proposed improvements.
The initial idea was to make it as simple as possible, but having it in the db would indeed be the better solution. If you have the time to take over then please do! Maintainers can edit the PR :+1:

ok, as of https://github.com/cross-seed/cross-seed/pull/518/commits/532a167c183ec5d166c1b40e6a737ef98127c7e3 I think everything's working properly. The config is --api-auth as a CLI argument, or apiAuth: boolean in the config file. We have a cross-seed api-key command and a cross-seed reset-api-key command as the configuration interface for the key itself.
I think for now I don't want to bump the major version so I'll leave the config template value as true which will turn it on for new users, but I'll fallback to false if undefined meaning it won't be a breaking change for existing users. Next time we bump the major version we can change the fallback value to require it for everyone.

ok, as of 532a167 I think everything's working properly. The config is --api-auth as a CLI argument, or apiAuth: boolean in the config file. We have a cross-seed api-key command and a cross-seed reset-api-key command as the configuration interface for the key itself.
I think for now I don't want to bump the major version so I'll leave the config template value as true which will turn it on for new users, but I'll fallback to false if undefined meaning it won't be a breaking change for existing users. Next time we bump the major version we can change the fallback value to require it for everyone.

Will try and do basic testing on migration and fresh setup today

ok, as of 532a167 I think everything's working properly. The config is --api-auth as a CLI argument, or apiAuth: boolean in the config file. We have a cross-seed api-key command and a cross-seed reset-api-key command as the configuration interface for the key itself.
I think for now I don't want to bump the major version so I'll leave the config template value as true which will turn it on for new users, but I'll fallback to false if undefined meaning it won't be a breaking change for existing users. Next time we bump the major version we can change the fallback value to require it for everyone.

Awesome!

It would be nice if the user could override the api key themselves in the config file. Maybe I drink too much of the 12 factor app koolaid but having this set via the config file is great for automation as the key will always be predictable for the user deploying the application.

I think having the key itself be configurable is not going to be a goal of this feature. API keys are pretty much always generated by the application, so we're at least in good company.
Status update: I will merge this when the documentation is ready.

v5.8.0


softcover check compatible with brew

Previously, epubcheck installed via Homebrew would fail the "softcover check" command.

can confirm this finds epubcheck from brew, thanks
how did you get softcover to find mactex from cask install?

Thanks!


User interface problems with space edges

In-memory data source dialog adds new instances rather than editing existing ones

Fixed in release 2.5.1469


Add ping pong loop mode

Add support for a ping pong loop mode.

Implemented in #56 by @djdiskmachine.


Add support for writing a tiled image

This should be able to write an image tile-by-tile from source data.  Once all tiles are present, we need a method to generate the other levels (either by going through vips or by generating them ourselves).

There is now an example of this in the conversion utility.

I'm not sure it makes sense to add specific functionality for this besides what is in the conversion utility.  I'm closing this issue; we can reopen it if it ever have a clear use case where this library is the correct place to add such code.


Add import_variables with a source test

Small one. I was tracking down a bug (not here) and it led me to add this missing test

Codecov Report

Merging #90 into master will increase coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
+ Coverage   55.56%   55.71%   +0.14%
==========================================
  Files          53       53
  Lines        4728     4728
==========================================
+ Hits         2627     2634       +7
+ Misses       1808     1800       -8
- Partials      293      294       +1

Impacted Files
Coverage Δ

configstack/test_helpers.go
85.98% <0%> (+0.93%)
:arrow_up:

config/extension_import_variables.go
74.28% <0%> (+3.42%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 38cdf55...5be4ceb. Read the comment docs.


ubuntu 19.10

do not work in ubuntu 19.10
gnome 3.34
fix please

Hi Endrll, I don't believe this extension is in a working state for any distribution.
It is a Community contributed extension and not something that Mycroft has capacity to maintain. So if anyone reading along is interested in helping out, please come and say hi here or in Mycroft Chat

ok
if I have time, I'll see for myself what could be the problem there.


init impl flight sql

This is an attempt to support flight-sql in arrow-rs. Currently I only implement the server mod, but I'd like to send out the PR so I can get the code review to make sure I'm in the right direction.
example: https://github.com/wangfenjin/arrow-datafusion/pull/1
TODOs:

[ ] Impl client
[ ] Make flight-sql as an optional feature?

Question:
flight-sql use protobuf Any a lot, but prost doesn't support that very well, specifically the UnpackTo/PackFrom method in cpp. I asked the question in https://github.com/fdeantoni/prost-wkt/issues/14 but got no response yet. So currently I need to use protoc-rust to generate the pb and in the example I can do the marshal/unmarshal. Not sure if there is a better way? Or do we need to stick to prost?
Address #1323

Thank you @wangfenjin  -- I will try and give this a review over the next few days

Thank for @alamb and @tustvold for your review, I'll check all the comments and update the code later, response to some of your general comment:

About the protobuf dependency, I'll check IOx 's codebase to see if I can remove the rust_protobuf
As you suggested, I'll focus on server side in this PR, and leave client to the follow up. According to the cpp implementation, the client library logic might be more complex compared to server.
As you may have noted, I implement an example in https://github.com/wangfenjin/arrow-datafusion/pull/1 (we need to publish a new version then I can create MR to the arrow-datafusion repo). For the integration test, not sure if we need to implement it in this repo? Because if we implement one like this seems useless, and if we want to implement a useful example, we'd better depends on arrow-datafusion as we need a SQL server.

This is awesome! Thank you =)

[As you may have noted, I implement an example in https://github.com/wangfenjin/arrow-datafusion/pull/1 (we need to publish a new version then I can create MR to the arrow-datafusion repo). For the integration test, not sure if we need to implement it in this repo? Because if we implement one like this seems useless, and if we want to implement a useful example, we'd better depends on arrow-datafusion as we need a SQL server.](https://github.com/apache/arrow-rs/pull/1386#issuecomment-1059971584)

I actually think both types of examples are useful, but for different purposes:

Example just in arrow-flight (no actual SQL implementation) such as this: helps users of arrow-flight who will not be using datafusion something to start with that compiles so they can plug in their own implementation that without having to cut out datafusion specific stuff

Example in datafusion such as this: Shows a real end to end use of flight sql and how one system connects it together

The example in arrow can be done as a follow on PR (maybe someone else will do it) -- I'll plan to file tickets for follow on work after your initial PR
Thanks again @wangfenjin

Codecov Report

Merging #1386 (84eebaf) into master (a2e629d) will decrease coverage by 0.23%.
The diff coverage is 2.71%.

@@            Coverage Diff             @@
##           master    #1386      +/-   ##
==========================================
- Coverage   83.03%   82.80%   -0.24%
==========================================
  Files         181      184       +3
  Lines       52956    53542     +586
==========================================
+ Hits        43972    44333     +361
- Misses       8984     9209     +225

Impacted Files
Coverage Δ

arrow-flight/src/lib.rs
18.54% <ø> (ø)

arrow-flight/src/sql/server.rs
0.00% <0.00%> (ø)

arrow-flight/src/sql/mod.rs
30.00% <30.00%> (ø)

parquet/src/file/statistics.rs
91.73% <0.00%> (-2.07%)
:arrow_down:

parquet/src/util/cursor.rs
77.31% <0.00%> (-1.69%)
:arrow_down:

parquet/src/schema/types.rs
85.64% <0.00%> (-1.51%)
:arrow_down:

arrow/src/array/array_dictionary.rs
91.12% <0.00%> (-0.47%)
:arrow_down:

arrow/src/array/data.rs
83.15% <0.00%> (-0.44%)
:arrow_down:

arrow/src/ipc/writer.rs
83.14% <0.00%> (-0.32%)
:arrow_down:

parquet_derive/src/parquet_field.rs
65.98% <0.00%> (-0.23%)
:arrow_down:

... and 25 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a2e629d...84eebaf. Read the comment docs.

Thanks @wangfenjin  -- I will try and review this carefully tomorrow

cc @nevi-me  @e-dard and @seddonm1  given your comments on https://github.com/apache/arrow-rs/issues/1323

Thanks @alamb  for your kind review, address some of your comments:

I'll add a flight-sql feature flag for this
Agree that maybe we can make the API more ergonomic, but I need to do more experiments on this (I'm trying to build a more practical flight-sql-server using this), then we will clear what we need. My suggestion is we can design the API as it is, and we have better/ more simplified design, we can add them into the trait, and make the low level API as a default implementation in the trait, so the user still have chance to override them if they want. It's very important we leave this flexibility to the user.
grpcurl may not work for our testing. As I comment in https://github.com/wangfenjin/arrow-datafusion/pull/1 this PR, I use the  arrow-cpp-cli to connect to this server, it helps when we don't have the client implementation, also it makes sure our implementation is compatible with the cpp. We may also need to think about maintain this compatibility in long term.
For the documentation thing, I copy some useful comments from cpp implementation. For more detailed documentation like the protocols, I think it's a joint effort with the cpp community, in this repo we can focus on the rust API documentation.

Merging 🚀

I have implemented a demo flight sql client (which works against the java FlightSqlExample similiar to FlightSqlClientDemoAp
Here ->> https://github.com/timvw/arrow-flightsql-odbc/blob/main/src/bin/client.rs
cargo run --bin client localhost 52358 Execute "SELECT * FROM INTTABLE"
+----+--------------+-------+-----------+
| ID | KEYNAME      | VALUE | FOREIGNID |
+----+--------------+-------+-----------+
| 1  | one          | 1     | 1         |
| 2  | zero         | 0     | 1         |
| 3  | negative one | -1    | 1         |
+----+--------------+-------+-----------+
+----+---------+-------+-----------+
| ID | KEYNAME | VALUE | FOREIGNID |
+----+---------+-------+-----------+
+----+---------+-------+-----------+
cargo run --bin client localhost 52358 GetPrimaryKeys INTTABLE -- --schema APP
+--------------+----------------+------------+-------------+--------------+--------------------+
| catalog_name | db_schema_name | table_name | column_name | key_sequence | key_name           |
+--------------+----------------+------------+-------------+--------------+--------------------+
|              | APP            | INTTABLE   | ID          | 1            | SQL220422165132740 |
+--------------+----------------+------------+-------------+--------------+--------------------+

@timvw you could create an PR to #1413
I’m working on it but still got no time to finish it.

Done... https://github.com/apache/arrow-rs/pull/1616


Leantime bad gateway 502

Hello !
Firstly - thank you for this docker image - I use it really a lot !
Today I encoutered an error bad gateway 502 - i tried to use this project for deploying leatime/leantime - the problem is that the leantime is working only via local ip,but not working using my domain...
I am not docker specialist.
Is there anyone who could help/tell me what is wrong ? (I am using owncloud, gitea sucessfully with this reverse proxy companion)
The commands of all related containers are in screenshot.
leantime:docker image
PS: it did not work before - it never worked with leantime.
If you need more info - could you please post me a command ? I will provide an output.

Hello,
I'm not sure but I think the VIRTUAL_PORT of your leantime container should be 80 instead of 3002. You must provide the exposed port of your container not the one exposed by the docker host.
Hope I'm right and it will help.

Hello,
I'm not sure but I think the VIRTUAL_PORT of your leantime container should be 80 instead of 3002. You must provide the exposed port of your container not the one exposed by the docker host.
Hope I'm right and it will help.

Of course :D thank you - it really should be 80 :D thank you


Add cask for pki.io

Create a new cask for pk.io, under the name pki-io. Current version is
0.1.0-release1.

Thank you for the contribution. It needed some fixes, so they were made in 7db42eddf08cb474695371429769498db7b7676e. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Review handling of oracle query fee in contracts

Alongside https://github.com/aeternity/protocol/pull/163, delivers https://www.pivotaltracker.com/story/show/158023291
Supersedes #1425
Depends on #1438
Fee components meant to be charged as gas (please refer to commit message for details) are meant to be coded, tested and documented as part of split ticket https://www.pivotaltracker.com/story/show/159686884
TODO:

[x] After PR #1438 merged to master, edit this PR to point to master
[ ] Shortly before merge, probably rebase on master if conflicts (e.g. on release notes)

I backed up c8a6091d as temporary branch named "PT-158023291-contracts-oracle-query-fee-bak".

Rebased and force-pushed.


Restrict merge direct to main

Anyone can open a pull request with changes and merge direct to the main branch. This is not safe.
One way to fix is this by limiting merges of pull request only if it approved by at least one reviewer.
Read more here:
https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests

Thanks @laysauchoa done!


German translation

This needs to wait until the completion of moving strings to resources and forming official translation teams.


Inconsistently getting errors when creating tables

I've put my database code here.
I'm calling it by using require('./models/migrations')(bookshelfInstance) to create all the tables, and then require('./models')(bookshelfInstance). I'm also using the registry plugin.
The first time I run it, I get 2 errors: an error saying "relation 'transactions' already exists", and an error saying "duplicate key value violates unique constraint".
Then, If I run the same code again, without changing the database at all, I get only the second error, and if I run it a third time, I get no errors.
I assume this has to do with the order some code is running in, but I can't find anything that seems out of the ordinary myself.

It's possible to actually handle these migrations via Knex's (sparingly documented) migration module. That way you don't need to check if tables exist - it will keep track of which tables have been created. It's not the best for retrofitting to an existing database, but this is a new project it would be best to start there.
You could start debugging this yourself by logging all output by passing {debug: true} to the Knex config.
I think the problem is that when you call readdirSync here the result will return:

All model files (*.js)
index.js
Any subdirectories (migrations).

You've filtered out index.js, but when it called require('./models/migrations') it executes the migration code again. The simplest solution here would be to just include models and have that call migrations internally.
var bluebird = require('bluebird');

module.exports = function(bookshelf) {
    require('./migrations').then(function() {
      return bluebird.all([
        require('./item')(bookshelf),
        require('./plan')(bookshelf),
        require('./store')(bookshelf),
        require('./subscription')(bookshelf),
        require('./transaction')(bookshelf),
        require('./user')(bookshelf)
    ])
  }
}


Adds travis jobs on ppc64le

This PR adds power support on travis.

This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing,For more info tag @gerrith3.

Please review this merge.

@jonschlinkert Waiting for your response for merge ppc64le code.


System appearance mode

right now, we have light and dark mode, lets probably add system mode
will drop design in the morning

👀  the same issue as https://github.com/kodadot/nft-gallery/issues/9784

@Jarsen136 lmao yeah, brain freeze :D


SOUL SACRIFICE DELTA [PCSC00049]

App summary

App name: SOUL SACRIFICE DELTA
App serial: PCSC00049
App version: 1.00

Vita3K summary

Version: v0.1.5
Build number: 2789
Commit hash: https://github.com/vita3k/vita3k/commit/[0cc549e1]
CPU backend: Dynarmic

Test environment summary

Tested by: nishinji
OS: Windows 10
CPU: Ryzen 9 3950x
GPU: RTX 3060ti
RAM: 32 GB

Issues
texture bug
Screenshots

Log
vita3k.log
Recommended labels
Ingame +

During the gameplay, the graphics is a lot better but still glitchy

Hi, how do i get the app to emulate it ?

Hello, everytime I do try to launch the game it immediately crashes with "Invalid read of uint32_t at address: 0x78521824" ...and several other addresses.
vita3k.log


Tree small refactor

Just a small update to make tree.js comments up to date with current functionality. Also renamed a variable to be more accurate to its purpose, and removed an unused tree method.

[x] Does the PR description accurately reflect the changes made?
[x] Do the commit messages accurately reflect the changes made?
[x] Is this pull request under ~200 lines? (Excepting automatically generated code and package installations)
[x] Does the code follow the coding style guidelines that we have set up?
[ ] Does the coder include unit tests for his functions?
[ ] Does the code reviewer include his unit tests for all the functions?
[ ] Is the documentation in place if the functions are related to how users build, test, interact with, or release code?

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Scaling UI breaks Youtube embeds

Maintaining UI scaling at 1.0 is fine. However, after doing BlGlutinHostSpace zoomFactor: 1.8, Youtube embeds are now positioned incorrectly.

Yes, that's a known problem related to WebView.


Cannot disable SFML installation targets when installing a game which includes SFML with fetch content

Prerequisite Checklist

[X] I searched for existing issues to prevent duplicates
[X] I searched for existing discussions on the forum to prevent duplicates
[X] I am here to report an issue and not to just ask a question or look for help (use the forum or Discord instead)

Describe your issue here
I opened a related issue in the cmake template repository, but the actual issue is with the SFML cmake files. The installation targets cannot be turned off. When SFML is included with fetch_content and you install an application or package it with cpack, the SFML include, lib, and share directories are automaticaly included.
A fix would be to add some cmake variable which can disable all installation targets. Is that desired or am I barking up the wrong tree?
Your Environment

OS / distro / window manager: macos
SFML version: 2.6.x
Compiler / toolchain: gcc/clang
Special compiler / CMake flags:

Steps to reproduce

Clone the [cmake template repository](https://github.com/SFML/cmake-sfml-project]
Build (cmake -DCMAKE_INSTALL_PREFIX=install)
make install
Observe the SFML libraries, headers, and share folder also being installed

Expected behavior
SFML libraries are not automatically installed when included with fetch content and can be enabled or disabled
Actual behavior
SFML libraries are automatically installed when included with fetch content and cannot be enabled or disabled

@ChrisThrasher I know you aren't a fan of the install target/don't generally use it, but it's an issue for those using it with fetch_content.
Have you ever seen any guidelines on dealing with install targets?

@eXpl0it3r I was able to exclude things from SFML
  FetchContent_Declare(sfml
      GIT_REPOSITORY https://github.com/SFML/SFML.git
      GIT_TAG        2.6.1
  )

  set(CPACK_SOURCE_IGNORE_FILES ${sfml_SOURCE_DIR})
  # FetchContent_MakeAvailable(sfml)
  if(NOT sfml_POPULATED)
    FetchContent_Populate(sfml)
    add_subdirectory(${sfml_SOURCE_DIR} ${sfml_BINARY_DIR} EXCLUDE_FROM_ALL)
  endif()

Both CPACK_SOURCE_IGNORE_FILES and EXCLUDE_FROM_ALL seem to be required

Yes, that's the correct fix, as proposed for the cmake template here: https://github.com/SFML/cmake-sfml-project/pull/28

I'm closing this, as there's a way to work around it on the consumer end and with OpenAL gone, we have one less issue to worry about.
Feel free to add ideas if you think you know, how we can handle this better on the library side.


Unclear documentation on how to use dill.

Hi everyone,
It is unclear how to use dill if the extras_require install option is not used (or the package is installed using conda). Even if dill is installed, the error message will say that dill is missing despite the problem being that multiprocess is not installed due to the way the following check is implemented:
try:     import multiprocess     DILL_INSTALLED = True except ImportError:     DILL_INSTALLED = False
The resulting error message
("Can't use dill as the dependencies are not installed. Use pip install mpire[dill] to install the required dependencies.")
gives no hint that it is necessary to install multiprocess to use dill. I only found a mention of this on the welcome page of the documentation.
Adding a sentence to the error message should make it easier for people to solve this problem without looking into the source code. If you are busy, I could also look at how to solve this issue best and write up a pull request.
Thanks for this fantastic package!

Hi @dominik-strutz. That's a very good point. I'm already busy with adding some changes to the repo, so might as well add this to the list.
Thnx for pointing it out!

Released in v2.7.0


[Improve] Flink cluster executionMode improvement

[Improve] Flink cluster executionMode improvement

cc @wangsizhu0504 PTAL, thx


STORAGE_EMULATOR_HOST not handled correctly

This is a rehash of #1314, which was somehow "fixed" by adding comments internal to the implementation.
Environment details

OS: Linux
Node.js version: 14.x
npm version: doesn't matter
@google-cloud/storage version: 5.8.5

Steps to reproduce

Set STORAGE_EMULATOR_HOST to http://localhost:NNN
Try to use the library

As described in #1314, the distinction in the Storage constructor between apiEndpoint and baseUrl is not handled correctly when this environment variable is used. There is no possible value for this environment variable that results in a fully functioning client.
The proposed fix in that issue also seems to work just fine, so will submit a PR

Hi @mgabeler-lee-6rs ,
Thanks for following up on this issue. Is there a reason that apiEndpoint doesn't satisfy your use case? EMULATOR_HOST is an experimental variable meant to be used for some internal tests.

Setting apiEndpoint requires modifying every application, often in multiple places, creating frustration & confusion, especially if some applications are third party.
Having an environment variable like this is incredibly handy for developer environments, for the same reason as the PUBSUB_EMULATOR_HOST is similarly helpful for that system. Multiple emulators for GCS are available (my team is looking at https://github.com/fsouza/fake-gcs-server FWIW), and being able to use one would greatly simplify my organization's developer environments.
From a more abstract point of view, in the current implementation there is no possible value for the STORAGE_EMULATOR_HOST environment variable that works properly, and that seems like it ought to be fixed :)

Also, that environment variable is documented as "publicly" supported by the Go client, and I would hope that parity is desirable: https://pkg.go.dev/cloud.google.com/go/storage#hdr-Creating_a_Client

@mgabeler-lee-6rs ,
Thanks for explaining this! I can totally see how the current developer experience is frustrating for your situation. I'm discussing this issue with our internal partners (like Go) to make sure that our implementations are consistent. I'll keep this issue updated.

@mgabeler-lee-6rs This looks good! 🎉  There is a code freeze in place until October 11. We will release this change after the freeze ends.

Since the proposed fix broke something and was insta-reverted, can this be re-opened pending finding a more compatible solution?

@mgabeler-lee-6rs I created a follow-up issue: https://github.com/googleapis/nodejs-storage/issues/2092
This will be a breaking change and we'll need to coordinate a release with Firebase.


Fixing :delete action for resource 'telegraf_outputs'

I ran into Chef::Exceptions::ResourceNotFound exceptions when trying to use the :delete action of the telegraf_outputs resource.
Chef::Exceptions::ResourceNotFound
----------------------------------
resource file[/etc/telegraf/telegraf.d/discard_outputs.conf] is configured to notify resource service[telegraf_default] with action restart, but service[telegraf_default] cannot be found in the resource collection. file[/etc/telegraf/telegraf.d/discard_outputs.conf] is defined in /var/chef/cache/cookbooks/telegraf/resources/outputs.rb:65:in `block in class_from_file'

Nice catch, we should add some tests around this.  👍


cs fetch how to skip transitive dependencies

Hello Coursier team,
Is it possible to use cs fetch --classpath to skip downloading transitive libraries? One real-world example is when I'm using a third-party Apache Spark dependency like the Almaren Framework. In such cases, I don't want to download the Spark and Scala JARs because they are already included in the JARs. Having an option like cs fetch --skip-transitive would be perfect.
Thank you very much.

I think this should work:
cs fetch --intransitive org.apache.spark:spark-sql_2.13:3.5.0 just replacing the dependency.

+1, this works... although for some reason, this option isn't documented in courser fetch --help:
$ coursier fetch --help | grep intran
<no results>


Makefile is confused with Scala

The language of this makefile is misdetermined as Scala.

#2006 should fix this.

Hmm, that makefile still shown as Scala -- https://github.com/rns/libmarpa-bindings/search?l=scala -- need to wait for update?

@rns You will have to wait for the next release with the PR merged ;) (usually every couple weeks).

Thanks, I gladly will. : )

Fixed a while back.


Changeset Comment Field Locks Up Browser Tab

When using the iD editor on www.openstreetmap.org in Chrome (Version 62.0.3202.94 (Official Build) (64-bit)), typing in the changeset comment field causes the tab to lock up.
It sort of looks like iD is trying to autocomplete the comment from some history and does a lot of work on each key press. In one instance, I blindly typed a sentence or so of a comment and then had to wait 5+ minutes for the tab to revive and become responsive. Most of what I typed did finally show up.
Things seem to get worse with larger changesets.

This is #4587 but I thought was fixed server-side.  @IcyMidnight is this still an issue?
Can you follow the steps on #4587 to check whether the slowness is in something iD is doing vs. a slow response from the OSM API?  Thanks!

Unfortunately I get the same thing, but I've only noticed it in larger changesets. Will try to figure out how many changes it takes to become really slow.
I looked at the response time for the XHR request but it's ~400ms in total.

Still seeing it today. It's not crazy, but I have a 35 change changeset where typing is already noticeable delayed.

Same as above, entering text in the changeset comment box gets noticeably slower even at around 30 changes. And when I had over 150 changes, entering text in a normal text field was slower as well.

My workaround is to type the entire comment without seeing any of it show up, then change to another tab and write an email or something, then come back to find my comment has appeared. 😆

Yeah, I feel bad I didn't get this fixed in time for today's 2.6.1 patch release.  Maybe next week 😄

@tallguy or maybe you can write your comment elsewhere and then copy paste?

This is much better now.


Don't emit synthetic and redundant op notifications in config cache b…

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Labeling of tolerances on test

Perhaps I do not get it but how is the tolerance defined for the test?
There are circles that increase in number (from top to bottom it is 1,2,3 and 4). Does that mean that the 4 circles indicate that it is the biggest tolerance of 0.20 mm? Or is it the other way around? From testing it actually feels the other way around (with the 4 circles my switches have the snuggest fitting?
Cheers and thanks for the help!

Yes, I notice now that it's kind of counterintuitive, I've adjusted the instructions in the readme. But yeah, you're right, the higher, the tighter the tolerance

Fixed 7ecffc8


Add daily cron CI job that runs slow tests

Summary
This commit adds a new custom CI job to azure pipelines that will run a
full unit test job include the slow tests. Right now we're not
exercising the slow tests as part of CI this commit closes this gap so
that we verify that the tests at least run.
Details and comments

This is superseded by #8811


Flutter web - Firebase cloud messaging - running OK on localhost, not when I upload to firebase hosting

I am trying to implement FCM for a flutter web project.
When I run the project in the localhost, it works fine. But when I upload it to firebase hosting (After running flutter build web), I am getting errors.
On the main.dart file, I am trying to get the device token:
    final fcmToken = await FirebaseMessaging.instance.getToken(
          vapidKey:
              "my_key");

However, I am getting this error in the console:
    main.dart.js:4430 Uncaught MissingPluginException(No implementation found for method Messaging#getToken on channel plugins.flutter.io/firebase_messaging)
I added the firebase messaging package in my pubspec.yaml file:
     firebase_messaging: ^14.2.1
Additionally, I added the service worker code as explained here: https://firebase.flutter.dev/docs/messaging/usage/
Here is my index.html script code:
 <script>
          window.addEventListener("load", function (ev) {
            // Download main.dart.js

            if ("serviceWorker" in navigator) {
              navigator.serviceWorker.register("/firebase-messaging-sw.js");
            }

            _flutter.loader
              .loadEntrypoint({
                serviceWorker: {
                  serviceWorkerVersion: serviceWorkerVersion,
                },
              })
              .then(function (engineInitializer) {
                return engineInitializer.initializeEngine();
              })
              .then(function (appRunner) {
                return appRunner.runApp();
              });
          });
        </script>

It looks like a problem with the firebase_messaging package, but I'm using the latest one. Also what I can't understand is why it's working in localhost but not production.
Thoughts anyone?

@davidsomekh
This issue is related Flutterfire so you will need to report this in dedicated repo: https://github.com/firebase/flutterfire/issues
Closing from here.


build: Fix undefined references when using slibtool

Could you give some more information and rational for this change ?
What is the issue with -no-undefined which is something I'd usually assume a good test.
Also, could we make this change conditional ?

In GNU libtool, -no-undefined does nothing. See https://wiki.gentoo.org/wiki/Slibtool.


startup.sh error

When I run sh startup.sh I have this error:
startup.sh: 5: startup.sh: [[: not found
startup.sh: 5: startup.sh: [[: not found
startup.sh: 5: startup.sh: [[: not found
startup.sh: 5: startup.sh: [[: not found
startup.sh: 5: startup.sh: [[: not found
startup.sh: 5: startup.sh: [[: not found

That is normal?

No. You need to do bash startup.sh

And how could I start my dev server?

The best way is to download docker and then
cd dev/docker
./build.sh
./run.sh

Use sudo if if needs permissions.

@rudehn  Ok Thanks!


Implement Get or Head method

Implemented GET_OR_HEAD method as the requested issue. Feedback is welcome as this is my first contribution here, might need to change a few things.
#2414
Submitter checklist

[x] Recommended: Join WireMock Slack to get any help in #help-contributing or a project-specific channel like #wiremock-java
[x] Recommended: If you participate in Hacktoberfest 2023, maake sure you're signed up there and in the WireMock form
[x] The PR request is well described and justified, including the body and the references
[x] The PR title represents the desired changelog entry
[x] The repository's code style is followed (see the contributing guide)
[x] Test coverage that demonstrates that the change works as expected
[x] For new features, there's necessary documentation in this pull request or in a subsequent PR to wiremock.org

Hi, I think this was implemented in this PR - https://github.com/wiremock/wiremock/pull/2555
Perhaps we could close this one now ?


Quick explanation of files, please

Can someone please tell me the exact purpose of:
src/ontology/mao.owl
src/ontology/MedAct_good.owl
src/ontology/MedAct-developing.owl
Thank you!

They can be removed if they are of no value to you @LCCarmody.

done. I will create a pull request.


Please go through this guide

There are so many problems with this guide. No versions specified for the libraries. Compile errors. Make the world a happier place by unpublishing the guide until it is fixed

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

ID: 6908b99a-b62b-0596-3dbe-c2fec0260b2b
Version Independent ID: f34e44f2-3d3d-cbcd-d626-7c9b4115a0b1
Content: ESP8266 to cloud - Connect Feather HUZZAH ESP8266 to Azure IoT Hub
Content Source: articles/iot-hub/iot-hub-arduino-huzzah-esp8266-get-started.md
Service: iot-hub
GitHub Login: @rangv
Microsoft Alias: rangv

@jonaselreweny Thank you for your feedback! We will review and update as appropriate.

Hi @jonaselreweny thanks for reaching out! We are in the process of improving and updating this sample - currently addressing the issues opened at the related repo: https://github.com/Azure-Samples/iot-hub-feather-huzzah-client-app/issues
If your issue is already part of the opened ones let us know so we can close it here and follow-up there.
Thank you!

Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Fixed Error: Class 'Terminus\Models\Collections\Sites' not found

All Terminus\Models\Collections namespaces have been changed to Terminus\Collections:
https://github.com/pantheon-systems/terminus/releases/tag/0.13.0

Awesome, can you add a note in the README saying we only support >= 0.13 now?


[#24] A fix for the issue

@rultor merge

@rultor merge

@skapral OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@skapral Done! FYI, the full log is here (took me 2min)


Elasticreload api-compliance

Squash commit message
Make elasticreload api compliant
Add http requests:
GET api/v1/items/ITEMID
GET /api/v1/reloads?appId=APPID

Kind of depends what type of reload we want to test. I assume this is the kind where the user is standing on the "Reload history" tab? What about when doing it through the meatball menu? Or doing it on a scheduled basis? I assume those make up the bulk of reloads so maybe we should introduce a parameter to be able to choose between different types as the traffic generated will be quite different.

Kind of depends what type of reload we want to test. I assume this is the kind where the user is standing on the "Reload history" tab? What about when doing it through the meatball menu? Or doing it on a scheduled basis? I assume those make up the bulk of reloads so maybe we should introduce a parameter to be able to choose between different types as the traffic generated will be quite different.

That is a good idea.
Reloading from hub view and reload history view have this request flow. Have not looked closer at scheduled reloads.

Ah they both have it? I thought it would GET items unless the user clicks on the toast.

Or doing it on a scheduled basis?

Scheduled should not be tested through tool though, that's better done manually as the schedule part will take care of the multiple runs.


[Feature Request] Make metrics filtering pop-up windows adjustable in size if content exceeds fixed limitations

Is your feature request related to a problem? Please describe.
Currently the size of metrics filtering pop-up windows is limited and can't be adjusted, which makes longer request names  very hard to read (e.g. request title contains more than 20 characters).
Describe the solution you'd like
Make metrics filtering pop-up windows be adjustable in size (e.g. similar feature like resizable windows in Microsoft Windows OS or radio button element which triggers automated resizing in relation to maximum used characters)
Additional context
Current workaround by mouse cursor hovering over each listed request title in order to display full title in tooltop is not an option for us on long run appliance.
Previously we've submitted support request ticket<PHONE_NUMBER>001914.
AB#1731462

@scdjuderija Thanks for reaching out. We have noted this request. Could you also share a screenshot of how the filter looks for you so that we can understand better?

@ninallam Sadly I'm not allowed to attach any screenshot nor other content from our project on github according to our corporate security rules. My reproduction advice would be for your team to create a jmeter script with more than 20 test cases which titles contain more than 20 characters and execute it within the Azure Load Testing Service and then check the metric filtering window of requests.

Thanks @scdjuderija. We will try this.


article: why lit is 🔥

Article: Why lit is 🔥
A brief take on LIT, how it's build, how to use it and what it is all about

As bonus you get the HTTP/3 article in this PR as well :P

Planning to publish on 17/06/2022


No optimistic concurrency check, when having a RowVersion column and executing the BulkUpdate() method

Hello!
Thank you for a great and fast library!
Unfortunately, I have run into an issue, when using the BulkUpdate() method, it does not enforce the optimistic concurrency check.
When having the 'RowVersion' column, and in concurrent scenarios, BulkUpdate() just overwrites the changes, ignoring the fact that the same version of data was already modified by different source.
Could you help with that please?

Hi and thanks for the feedback. I'll look into it as soon as I can! If
possible, please provide a sample of code or pseudocode that I could use to
reproduce the error.
/Måns
Måns Tånneryd
Tånneryd IT AB
Barrskogsvägen 19
186 53 Vallentuna
+46-705140093
https://se.linkedin.com/in/manstanneryd
https://github.com/mtanneryd/ef6-bulk-operations
https://github.com/mtanneryd/ef6-bulk-operations
Den mån 17 maj 2021 kl 13:33 skrev AntonZhmyrov @.***>:

Hello!
Thank you for a great and fast library!
Unfortunately, I have run into an issue, when using the BulkUpdate()
method, it does not enforce the optimistic concurrency check.
When having the 'RowVersion' column, and in concurrent scenarios,
BulkUpdate() just overwrites the changes, ignoring the fact that the same
version of data was already modified by different source.
Could you help with that please?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mtanneryd/ef6-bulk-operations/issues/34, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2BSRMCDKD6WOD3KANVNDTTOD5HNANCNFSM45AIXF6A
.

Sure, it is fairly easy to reproduce. Here is some pseudocode:
public class Item
{
    public long Id { get; set; }

    public string Name { get; set; }

    public byte[] RowVersion { get; set; }
}

// query for item with rowversion using EF 6
var item = await _dbContext.Items.FirstOrDefaultAsync();

// update name
item.Name = "New Name";

// save the updated entity
_dbContext.SaveChangesAsync();

var updateRequest = new BulkUpdateRequest
{
     Entities = new List<Item> { item } as IList,
     UpdatedColumnNames = new[]
     {
         nameof(Item.Name);
     }
};

// do bulk update on already updated entity, row version is different for it in DB, but no exception thrown, and changes are //overwritten
_dbContext.BulkUpdateAll(updateRequest);


[Aio] Another fix for close mechanism on Windows

The WeakSet seems not making a shallow copy of the given set. This change might make the call live slightly longer in the shutdown path, but it should make the failure go away.
https://source.cloud.google.com/results/invocations/418cdd64-0133-44a8-9a90-10224e454143/targets/github%2Fgrpc%2Frun_tests%2Fpython_windows_opt_asyncio%2Fpy36_asyncio.test_aio.unit.metadata_test.TestMetadata/tests
Fixes https://github.com/grpc/grpc/issues/21907

I don't think this is the right answer here.
Traceback (most recent call last):
  File "C:\Python36\Lib\unittest\case.py", line 59, in testPartExecutor
    yield
  File "C:\Python36\Lib\unittest\case.py", line 604, in run
    self.tearDown()
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\src\python\grpcio_tests\tests_aio\unit\_test_base.py", line 31, in wrapper
    return loop.run_until_complete(f(*args, **kwargs))
  File "C:\Python36\Lib\asyncio\base_events.py", line 466, in run_until_complete
    return future.result()
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\src\python\grpcio_tests\tests_aio\unit\metadata_test.py", line 188, in tearDown
    await self._client.close()
  File "C:\Python36\Lib\asyncio\coroutines.py", line 109, in __next__
    return self.gen.send(None)
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\py36_asyncio\lib\site-packages\grpc\experimental\aio\_channel.py", line 412, in close
    await self._close(grace)
  File "C:\Python36\Lib\asyncio\coroutines.py", line 109, in __next__
    return self.gen.send(None)
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\py36_asyncio\lib\site-packages\grpc\experimental\aio\_channel.py", line 393, in _close
    calls = WeakSet(data=self._ongoing_calls.calls)
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\py36_asyncio\lib\_weakrefset.py", line 50, in __init__
    self.update(data)
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\py36_asyncio\lib\_weakrefset.py", line 119, in update
    for element in other:
  File "T:\src\github\grpc\workspace_python_windows_opt_asyncio\py36_asyncio\lib\_weakrefset.py", line 60, in __iter__
    for itemref in self.data:
RuntimeError: Set changed size during iteration

Based on the stacktrace, instantiating the WeakSet entails iterating over self._ongoing_calls.calls. frozenset will have to do the same thing and will keep the calls around longer than they need to be kept around. There's got to be another thread modifying that collection. I think the answer here is to ensure serialized access to self._ongoing_calls.calls.

@gnossen Turn out there isn't a quick fix for the channel close issue. I stated possible approaches in https://github.com/grpc/grpc/issues/21943. Shall we temporarily disable this flaky test?

@lidizheng Sorry I missed your comment until just now. Yes, that seems reasonable.


Please clean up doppins branches

There are currently 187 branches for every minor update of every dependency, which degrades the usability of Git and GitHub.
Since these are not needed, please delete them.
$ git branch -a | grep doppins | sed 's,remotes/origin/,,' | xargs -- git push -d origin

Looks legit to me. Any reason to not do this, @Miserlou?

Done so with git branch -r --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin.
Closing now.


public-and-private-images

@wpietri , oh strange! I just assumed everyone would get the failing job messages. That's great to know, thanks!


Documentation says unique_variant is a unique_any but it's a unique_struct.

The wiki says that unique_variant is derived from unique_any, but it's actually derived from unique_struct. Among other things, this means that to get a raw VARIANT the correct thing to do is a static_cast, because get() is not implemented. (And there is no shared_variant, for obvious reasons.)
I would make the change to the wiki myself, but I'm not sure that there aren't other similar issues with other types, and I'm not sure how unique_variant (and any other wrappers with the same issue) should be mentioned relative to the current documentation for unique_struct.

unique_struct says:
    template <typename struct_t, typename close_fn_t, close_fn_t close_fn, typename init_fn_t = wistd::nullptr_t, init_fn_t init_fn = wistd::nullptr_t()>
    class unique_struct : public struct_t

So a unique_variant is-a VARIANT, and you can pass it to things that need to accept both VARIANT and VARIANT*.  I'll fix the documentation for the type and will push up a test that enforces this behavior.

Rereading the wiki, I can't find anywhere that says unique_variant derives from unique_any ... the closet I can find is this in the section about the various array_ptr-like things:

For unique_any-derived types, unique_struct-derived types, and com_ptr, the elements are destructed according to the rules for that type, and then the entire array is freed with CoTaskMemFree.

So a wil::unique_muffinmem_array_ptr will invoke the dtors on the contained items in the usual way and then call FreeMuffinMem on the underlying array pointer.  That's goodness, because FreeMuffinMem doesn't know it's being asked to free an array of types with destructors; wil's adapter tracks this and does the right thing.
Can you point me at the problematic section of the wiki to review?

Yep, it's listed in the table here:
https://github.com/microsoft/wil/wiki/RAII-resource-wrappers#available-unique_any-handle-types

Of additional concern is that if I recall correctly, it's only listed in that table, so to figure out how it really works, you have to use the source.

Aha! I was digging in the wrong place! Ok, I've updated the wiki so the unique_struct ones are in the right table. Are you looking for in-wiki samples of using the types?

Nope, I think what's there should be sufficient. I was just led astray by their being in the other table. I think you've fixed it, and I'll close this issue. Thanks!


Web assets cleanup and testing

A generated catalog consists of an HTML file and local assets and metadata, all of which can be served via http to render the browser-based catalog.
The HTML and Javascript (VueJS-based) code is not tested in any way, and will benefit from attention in this regard.
The Javascript code is also not necessarily structured according to best practices for styling (a la PEP8) or object/class oriented programming, and could use an expert eye to make changes/suggestions.

Since it looks like the Python code has been reformatted with black (#104), there's a similar tool for JS and related: https://prettier.io/
I've used it on a small scale (format a few <script> blocks from within my editor) and it did a sensible job (tabs to spaces, unify quote marks, and the like). It has a purposefully limited configuration, and can be used in various ways (editor, command line, etc.).

@mslw thanks for the suggestion, it works well and easy for both JS and HTML code.

Note: not going to attend to web asset testing currently. Can reopen or create a new issue once that becomes relevant again.


Emboss Effect

Greetings Sir,
Here emboss_effect function implement the gray scale and colored emboss effects on the user provided images resulting in 2 output files (as a result of 1 effect's call). A variety of emboss effects can be generated for a single input (so as to demonstrate).
This effect is helps in protruded/sunken effects on the image's edges (Especially useful for Texts) but gives extra ordinary results on images.
Results are really mesmerizing (by local survey on different images) [added in assets directory].
Also I have updated the README.md file you asked me in my last PR (Anime Vintage effect).
Please guide me to resolve the issue i'm facing. It says "Can't automatically merge" as i make my Pull Request.
My forked repository shows that i'm 2 commits ahead and 7 commits behind the base repository.
If anything that can be done by my side please let me know.
Thank you Sir.

Greetings sir,
I think i was able to resolve the issue.
Please merge the PR if everything is fine according to you. tqdm and updated readme.md is added.
Thank you Sir.


Emit @resized whenever pixel width/height changes

Until now, @resized was only emitted when the user "manually" resized the grid
items. Not if e.g. the user changes the width the window, which causes w and h to stay
the same, but the width in pixels changes.
With this commit, all changes to GridItem-s that cause width and
height to change (in pixles) also cause @resized to be emitted.
About Whether to $emit('resized'....) or Some Other Event Name
Here I'm re-using the @resized event name, because it is actually an event that occurs when the GridItem resizes in pixels.
But I understand the counter-argument that says: This should be a different event, because it doesn't occur when the user resizes a GridItem (with the mouse) but when the GridItem resize indirectly, e.g. because of a window resize.The doc for the existing resize event is:

Resize event
Every time an item is being resized and changes size

    /**
     *
     * @param i the item id/index
     * @param newH new height in grid rows
     * @param newW new width in grid columns
     * @param newHPx new height in pixels
     * @param newWPx new width in pixels
     *
     */
    resizedEvent: function(i, newH, newW, newHPx, newWPx){
        console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx);
    },

In my opinion that is ambiguous and could be read either way. And I decided that since newHPx and newWPx changes, emitting a @resized event is appropriate. It does mean that current listeners for the @resized event will get events under more circumstances than today, though.
We could also add an extra parameter to the event, e.g. draggedResize which is true or false so event recipients can determine whether the cause was a drag operation or an indirect operation.
If the general consensus is for another event name, I'll change the name of the event. What made me abandon this approach was that I couldn't come up with a better name for the event.

PRs #336 and #337 together allow for keeping legacy HTML/javascript contents in a GridItem, where the content needs to be redrawn with the width or height changes. (I'm looking at you, HighCharts).
See vue-grid-layout static width-height - CodeSandbox for these two PRs working together.

Using the same event name for now, thanks!

Hi @gadzan,
The resize event is emitted when resize starts. The resized event is emitted when resizing is finished. this example shows when resize and resized emitted. They are clearly distinguishable in that example.
As discussed above, what this event did was leave resize completely alone. However resized (with 'd') is now also emitted newHPx and newWPx changes, e.g. when you resize the browser window. And no, as it currently is, it is not possible to distinguish between the "old" and "new" resized events. I specifically mentioned/documented/discussed this in the PR before it was accepted. As far as I remember, I think it would be easy to add a draggedResize field to the event to be able to distinguish between them.
Does that make it more clear?


Update airvpn.md and surfshark.md for correct connection parameters

Hoping I have done this correctly, I plan on doing some additional amendments to try to help out where I have had people who are stuck setting up with other providers.
As per EricBettanin  https://github.com/qdm12/gluetun-wiki/issues/28
Also made a small fix to the original files edits as had a trailing / on the compose section
Also submitted an overall improvement to the Surfshark page as you have to obtain the correct IP details otherwise the connection fails

Learning here! - I have also make changes to the Surfshark page to provide clear details for how to obtain the correct connection settings for WireGuard and some other amendments to the page. Let me know any issues!

@qdm12
Giving this a little nudge in case you missed the commit. Hopefully it's all above board.

This has worked for me. Thank you @DrFrankensteinUK! I hope this can be added to the official documentation soon as that would make it a lot easier to find.

I have also documented the steps to generate correct AirVPN detail as this has also caught people out via my site/discord. I can submit them once the above gets approved.

It may be worth mentioning that IPv6 does work with AirVPN if you follow the advanced IPv6 setup guide.
Though that feature itself is "experimental" according to the doc.

Hey thanks for the update, I just downloaded 3 different config files (Japan/Paris/Bulgaria) and all contain the same IP address for me and then different public keys.
Just on the general subject of the provider specific pages. I get a ton of requests for help as people who are new to setting up a VPN in this manner quickly get lost on how to obtain the correct details etc. So would be good to get some more step-by-step instructions info into each page, so for someone new they can follow that and then the TLDR is for someone like me.
I could crowdsource from my own Discord users as have a wide range of VPNs in use. Obviously the downside is making sure they stay current, but I suppose that's just part of the day to day with this stuff.

I changed a bit your PR to focus on Surfshark, I've incorporated the Airvpn changes in separated commits (credits mentioned in the commit messages).

I get a ton of requests for help as people who are new to setting up a VPN in this manner quickly get lost on how to obtain the correct details etc. So would be good to get some more step-by-step instructions info into each page

The thing is I don't really have a subscription with all the providers, so I can't really do a step by step for each. I do my best, for example with AirVPN, the section on OpenVPN is quite separate from Wireguard due to the many divergent steps involved (Setup your client key etc.)
I'm up for step by step guide through PRs though 😉 Ideally only text based, since the UI tend to change faster than text and a bad image is more confusing.

Yeah cool, was looking to follow the formatting you have applied to the Surfshark as it keeps it simple enough to follow along. I have Shark and Air here. I will see what I can pull together via some of my Discord users and then do some pull requests as I confirm the steps are correct with them for their own providers.

I'm retrying to keep it with the structure

copy-pasta-then-modify configs "TLDR" (merged usually, but sometimes separated for openvpn and wireguard if many steps are involved).
required variables - right now step-by-step is mentioned here on how to get them
optional variables
servers information
extra (like port forwarding)


Getting Error RuntimeError: applying transform <monai.transforms.compose.Compose object at 0x7f1390f7d880> while trying to replicate results

Please help me in resolving this issue

I have this problem,too.Did you solve it?

it was because, i didnt download exact dataset, i guess u are also doing same thing


Implement pool ownership

Explain the changes

Each pool and namespace resource now contain a new owner_id field that's used for access enforcement
Only a resource's owner and system owners (with the operator role) can delete resources with the field
The deletion check from the previous point can be toggled on and off with the POOL_DELETION_ONLY_BY_OWNER_AND_OPERATOR environment variable
Implement a config.js variable that allows toggling the check in point 3

Issues: Fixed #xxx / Gap #xxx

This implementation supports RHSTOR-5187 - Support Provider & Consumer mode

Testing Instructions:

WIP

[ ] Doc added/updated
[x] Tests added

one small comment, and don't forget to squash. Let me know once the tests pass, I will approve


ipa distribute:crashlytics no more notifications?

Sending builds to crashlytics no more produces notification emails to testers. The builds end up on crashlytics/fabric fine but no emails are sent out.
I notice an option for this command: "-n, --notifications [YES | NO] Should send notification email to testers? "
I have not used it before, but emails have previously been sent out fine.
I tried this option (both -n YES and --notifications YES", but no emails are still sent out.
FWIV, this issue appeared happened after going to OS X El Capitan from the previous OS X.
I have no idea where the error is; maybe the API of Fabric changed/stopped working.
Update: i believe the problem is with Fabric/Crashlytics. Even using the "native" way of the framework to upload builds, no emails are sent out. https://docs.fabric.io/ios/beta/build-tools.html If someone can confirm that please feel free to close this issue. It still remains a problem though cause I have to send emails manually. .Doh.

I use Yosemite on build server and El Capitano for development. Both works fine and sends emails (I've added "-n YES"). I've sent email to just one target via "-e <my_email>", than changed command to use groups (I hate long CSVs with emails) via "-g <group_alias>".


fix: improve compatibility with native Node CJS resolution

Fixes #2219

I did bisecting, and this PR resulted in regressions.
https://github.com/fastify/fastify-autoload/pull/277
Probably also #2320


Kl Loss correction

https://github.com/lucidrains/DALLE-pytorch/blob/995bfe1789243cbc838943cdc748daab406aae3e/dalle_pytorch/dalle_pytorch.py#L195
I am fairly certain that this should instead read
logits = rearrange(logits, 'b n h w -> (b h w) n')
since we are summing over the latent dimension, i.e. the probs/encoder outputs and averaging over the obversations. i.e. every spatial dim separately and for every sample/batch. The docs are a little messy on this but from what I understand batchmean requires a reshaping in the sense that all examples are condensed into the batch dimension

@CDitzel ohh got it, even if this were an error, that would just mean you could compensate by adjusting kl_div_loss_weight by some factor on an order of magnitude of?

@CDitzel but yes, I have noticed that with this loss present, the network doesn't learn that well :(

I have a headache Phil. The math demands this term to be there but when it is present, the results are actually worse. Hate it...

@CDitzel something something deep learning something empirical

@CDitzel ohh got it, even if this were an error, that would just mean you could compensate by adjusting kl_div_loss_weight by some factor on an order of magnitude of?

Im not sure. I keep getting kl losses below zero oO

Maybe we could write the Open-AI team and ask for a straight answer? Maybe they disclose the information within a secure two-person email conversation?

@CDitzel rumor has it that the author of DALL-E was asked about this loss, but didn't give any straight answers

Yeah i've seen the video of it. He's somewhat dodgy the moment he's asked about it. I can't attest to the rigor of the math, however.

KL must have been used as they mention an increasing weight parameter in the paper.
Still, I am trying, but I cant seem to figure out his e mail adress. On the paper it says
Aditya Ramesh<EMAIL_ADDRESS>so I tried<EMAIL_ADDRESS><EMAIL_ADDRESS>but they dont exist...

Even without including the kl term, I am wondering if anyone else has observed the following:
If I train the dVAE circumventing the GumbelSoftmax, i.e. the last 1x1 conv encoder layer output is directly multiplied with the codebook, than reconstruction is almost immediately very good.
Whereas when gumbel is used in between those two steps, then the output becomes very blurry and not at all comparable in quality.

so did anyone find out his email address? I composed an email but dont know where to send it to

so did anyone find out his email address? I composed an email but dont know where to send it to

:shrug: nope. you really think he'll talk if OpenAI didnt want him to in the first place? Is it not sort of their MO to keep things just vague enough?

I have no idea what going on with OpenAI, but so far I dont think they are open to transparent research as their name would suggest...


[SPARK-28150][core][follow-up] Don't try to log in when impersonating.

When fetching delegation tokens for a proxy user, don't try to log in,
since it will fail.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/12737/
Test PASSed.

Test build #107612 has started for PR 25141 at commit b0a833d.

Test build #107612 has finished for PR 25141 at commit b0a833d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/107612/
Test PASSed.

Merging to master.


[Unity Plugin] Support for SDF plugin

The feature, motivation and pitch
Hi!
We’ve been looking to use Mujoco to simulate robots performing complex bimanual tasks in Unity, e.g screw and bolt action, however such use cases typically require SDFs and it’s nice to know that Mujoco has a plugin for it, but can’t seem to find any hints on how to get it to work with Unity. Are there any plans to have it supported?
Alternatives
No response
Additional context
No response

I found that Unity has support for convex decomposition which can go around some of the issues of non convex mesh collisions, however I wonder what would be the limits of this approach vs using SDFs for collision detection?
https://github.com/Unity-Technologies/VHACD

Hello, I'm working on finishing up a PR to support MuJoCo plugins in Unity, primarily with the elasticity plugin in mind. The features should also work partially for the SDF plugin, with some additional work needed for it beyond that (e.g., to render the SDFs). I've been slightly delayed due to personal reasons, but the plan is to release at least the elasticity plugin support in the first half of December (from which you/we could add SDF support).
Decomposition may be sufficient for your needs, but depending on the resolution you need for your concave mesh it can inflate the collision detection costs. Limiting what can collide with what (e.g. through contact filtering) could alleviate some of this if it is a problem. Don't forget if you split your mesh up you will need to add separate geoms for each submesh if you want MuJoCo contacts with them.


Codecov Report
Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (b117350) 77.49% compared to head (989b3c4) 77.48%.

:exclamation: Current head 989b3c4 differs from pull request most recent head d983fbd. Consider uploading reports for the commit d983fbd to get more accurate results

Files
Patch %
Lines

src/ffi.rs
60.00%
6 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #440      +/-   ##
==========================================
- Coverage   77.49%   77.48%   -0.01%
==========================================
  Files         109      109
  Lines       31467    31482      +15
==========================================
+ Hits        24385    24394       +9
- Misses       7082     7088       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

This pr had previously 2.6.3 stuff, but i separated them into 2 so they dont give problems. See https://github.com/lambdaclass/cairo_native/pull/504 for 2.6.3


Can fastp handle a UMI tht is not located at the the head of the read?

For example, if I have a library structure like this
5'illumina - 4 random nucleotides - insert - 5 random nucleotides - 5 nucleotide UMI - 3'illumina
Am I able to tell fastp where the location of the UMI is?

Do you want to extract all 4 random nucleotides, 5 random nucleotides and 5 nucleotide UMI, or just 5 nucleotide UMI?
Is your data paired-end or single-end?


Issue installing this

I added the required version to my dependencies but I get an error when I run "flutter pub get" in my terminal. The error says:
The current Dart SDK version is 2.3.0-dev.0.5.flutter-a1668566e5.
Because (title_of_my_app) depends on ml_linalg >=10.0.0 which requires SDK version >=2.3.0 <3.0.0, version solving failed.
I already have updated Flutter to the latest version according to Android Studio, so is there something I'm missing here? Thanks
EDIT: If I install a version of this library before 10.0.0, then it works. I just tried installing 9.0.0 and that worked, but if someone could help me figure out why I can't install the latest version that'd be great

@sharmaakhil100 Thank you for reporting the issue, I will try myself to install the library as a flutter project dependency to find out why the issue takes place.

@sharmaakhil100 By the way, could you please show me your pubspec.yaml?

@sharmaakhil100 checkout the last update - I decided to change SDK version constraint from >=2.3.0 to >=2.2.0, because there is no usage of any functionality from 2.3.0 in the library. It should work now, just do flutter pub get again (you will receive ml_linalg v10.0.4 with updated SDK version constrains)

Thanks for the update. That solved my issue.


History must implement activate issue error

I'm submitting a bug report
I saw the same type of error at: https://github.com/aurelia/router/issues/572
It is closed. I looked at the resolution and it changes some dependancies, so I tried that as well. Has this fix been pushed to production?

Library Version:
1.5.0

Please tell us about your environment:

Operating System:
Windows [10]

Node Version:
9.2

NPM Version:
6.0.0

JSPM OR Webpack AND Version
webpack 2.6.1

Browser:
Chrome 66 | Firefox 60 | Edge 41 | IE 11

Language:
TypeScript 2.2

yep. bootstrapper was released the same day those changes were merged
https://github.com/aurelia/bootstrapper/releases

@lancescole should be able to fix this by forcing an install of the latest history-browser.
npm install<EMAIL_ADDRESS>

@davismj forcing reinstallation of<EMAIL_ADDRESS>didn't work for me. I still get the same error with<EMAIL_ADDRESS>and had to revert it back to 1.4.0.

I've not heard a word about this since. I'm happy to revisit it if it is still in place. I've recently bootstrapped a few apps when testing other issues and haven't seen it so I'm guessing it was temporary.


Generetor warnings  (#1462)

fixes the conflict at (#1407, #1462) @gihrig  please check.
Documented in gotchas.md.

@Necmttn There are lint errors when run against dev branch. Please run npm test on your fork and correct those.

The message could be improved. We need something concise but descriptive at the same time 😅

⚠ Please pass this reducer explicitly to combineReducers in reducers.js if you don't want to inject it asynchronously.

Or

⚠ Please pass this reducer explicitly to combineReducers in reducers.js if you want to use it out of the box.

Or something on similar lines. Perhaps someone with prowess in English can suggest better wording?
@mxstbr We could make use of your inputs on this one.

I would suggest a concise one-liner, since this is going on an already busy screen.

Remember to add this reducer to combineReducers in app/reducers.js

@gihrig Yup! This one's better.

Remember to add this reducer to combineReducers in app/reducers.js

@Necmttn
I vote for:

Message in terminal when running generator:

⚠ Remember to add this reducer to combineReducers in app/reducers.js

Add the same text as a code comment at the top of the generated reducer.js.

I second @gihrig.

Umm.

⚠ Remember to add this reducer to combineReducers in app/reducers.js

But it doesn't quite say that you don't HAVE TO add this if you're going to go for asynchronous injection. I'm sorry I'm being a pest here.

I'm sorry I'm being a pest here.

Yes, you are 😄
⚠ Not loading in a route?, Add to app/reducers.js: combineReducers. Ref #1407.
Better still, make this #1407Comment a gotchas.md entry and reference that.

😅 😄 This better!! It shouldn't create any confusion for the users. Thank you, @gihrig

Better still, make this #1407Comment a gotchas.md entry and reference that.

I'll do that.

I have a custom prompt that seamlessly warns without the need for another confirmation. You can check it out. https://github.com/OsmanMesutOzcan/inquirer-confirm-warning

@OsmanMesutOzcan Hi! You've got a cool tool there. But using that would mean adding one more dependency in the project. We generally tend to avoid that.
Furthermore, we just want to display one line, without needing any confirmation from the user. So there's no point in adding interactivity here. Thanks for the suggestion, though :)

@KarandikarMihir The current solution actually needs an extra confirmation. Thats why i suggested an option. You can just show an extra line using it.

@gihrig
I agree with you.
I just made changes accordingly. any other suggestions  or good to go ?

@Necmttn Hi. Isn't it

:warning: Not loading in a route?, Add to app/reducers.js: combineReducers. Ref #1407.

As per this comment

@Necmttn I agree with @KarandikarMihir regarding warning text.
@KarandikarMihir Will need to complete that gotchas.md entry so it can be referenced in a code comment.

@Necmttn Re: the conflict, it's OK to remove yarn.lock from the PR. It has no bearing on the proposed changes.

Coverage remained the same at 99.24% when pulling c681231d44a20afeee9be416003c324091714aed on Necmttn:generete-warnings into 9cfdf6df0b0bdd15c68d4efd81c63a388bc64fb1 on react-boilerplate:dev.

@gihrig
for remove file from PR i follow, http://stackoverflow.com/a/9498304/6942552
i hope is the correct way to do it.

Coverage remained the same at 99.24% when pulling c681231d44a20afeee9be416003c324091714aed on Necmttn:generete-warnings into 9cfdf6df0b0bdd15c68d4efd81c63a388bc64fb1 on react-boilerplate:dev.

for remove file from PR i follow, http://stackoverflow.com/a/9498304/6942552
i hope is the correct way to do it.

Seems to have worked 😄
@Necmttn I closed/opened the PR (to force a rebuild) in hopes the AppVeyor failure was a transient issue.
Question though, what's your dev platform? Mac, Windows, Linux?

@KarandikarMihir I'm really tied up with work ATM, can you check this out?

Working with this I find the prompt to be a likely source of confusion:

How are 'Y' and 'N' answers different? Of course there's no difference.
I think I would prefer to eliminate the prompt, thinking the yellow warning and the code comment are sufficient to draw attention without adding an extra keystroke to the generate process.
Alternatively the prompt could be changed to simply 'OK'.
Or, more complex (probably best), ask if the developer wants to have the reducer wired up and do so if requested.
Thoughts?

@gihrig Same here. I had tested this but couldn't find time to point it out here. I agree with you. It should say 'OK' or nothing really, if that's possible.
@Necmttn Can you please make these changes?

the (y/N) is default value coming from Inquirer   and this is the most simple prompt they have in the library.
I don't know any other way around.

the (y/N) is default value coming from Inquirer

@Necmttn Can we just not use Inquirer and use Chalk to color the message?

@gihrig , now it's only show's the message without (y/N) but still you need to press enter for next prompt.

Coverage increased (+0.003%) to 99.242% when pulling f2a971b5e24af0e59e18aee0ed471dc218f09fde on Necmttn:generete-warnings into 9cfdf6df0b0bdd15c68d4efd81c63a388bc64fb1 on react-boilerplate:dev.

Coverage remained the same at 99.242% when pulling 762bd019309d3dca23193ecaaddfe49b2602cf50 on Necmttn:generete-warnings into 4a6a8d99d93db2d32950bc39d8d08e1cab093485 on react-boilerplate:dev.

Coverage remained the same at 99.242% when pulling 762bd019309d3dca23193ecaaddfe49b2602cf50 on Necmttn:generete-warnings into 4a6a8d99d93db2d32950bc39d8d08e1cab093485 on react-boilerplate:dev.

@Necmttn Can we remove the need for the "mysterious" enter?
The page content is short enough that it won't be missed.

Alternative-)

if we do like this.  the location of (y/N) is changing. but we don't need to press "mysterious" enter but i think this will cause miss direction the user.  because it will be shown even user doesn't want reducer.
{
    type: 'confirm',
    name: 'wantActionsAndReducer',
    default: true,
    message: `Do you want an actions/constants/selectors/reducer tuple for this container?
  ${chalk.yellow('⚠ Not loading in a route?, Add to app/reducers.js: combineReducers. Ref #1407.')}`,
  },

With Current Version we only show warning when user want to add reducer.
a fixes can be we can add [ENTER]  end of string so UX could improve.

something like this.

@Necmttn

I don't understand the color change (compared to here) shown in your last post. Is this a proposed change, or just the way it appears on your terminal?

With Current Version we only show warning when user want to add reducer.
a fixes can be we can add [ENTER] or [Okay ?] end of string so UX could improve.

Is there no way to simply display the message only if the user wants a reducer without making it an additional prompt?
If that's true a suitable prompt might be "OK" or "Got It!" But from a UX perspective, it's just warning requiring on user action.

@gihrig  it's just how it's appears on my new terminal settings 😄
there's no way unless, inquirer.js supports [Warn] prompt ( so far I know )
Got It! sound cool to me.

@Necmttn This is one of the long-pending PRs. Do you think we can make it to the finish line? :smile: Let me know.

Coverage remained the same at 99.242% when pulling b3ed42a9778b18adf1b2276aa741470ea1d9bfec on Necmttn:generete-warnings into cfe0c7ce16e376bb32df1ac6b27ac715a6cf6c1f on react-boilerplate:dev.

Closing this due to inactivity. Feel free to reopen.


Error causes input to stop working after putting cursor before chapter number

Describe the bug
When putting the cursor before the chapter number, an error occurs, then editing no longer functions properly.
To Reproduce
Steps to reproduce the behavior:

Left click right after a chapter number
Press left arrow until you get to before the chapter number
See weird error about E.getMarker is not a function (in P.B) or "Children of root nodes must be elements" (online editor)
Left click some other text
Hit backspace, and it just selects a character every time you hit backspace. Typing sometimes doesn't work.

Tested in the online platform editor preview in CodeSandbox.

Hmm... an ImmutableChapterNode is a decorator node. In previous versions of Lexical, root nodes could have element nodes or decorator nodes as children. I can no longer find that statement in the documentation and the code seems to clearly state it only allows element nodes now. This will take a bit of refactoring to fix. I'm surprised Lexical doesn't complain sooner (like when we initially load the nodes).

Posted this question in the Lexical Discord https://discord.com/channels/953974421008293909/1265086313871314944

Created this issue in the Lexical repo https://github.com/facebook/lexical/issues/6451


1188 regex string generator refactor

Description
Performance improvements which resolve #1188
Changes
Remove Node class and increase responsibilities of FiniteStringAutomatonIterator.
Additional notes
I think this is a bit messy and having spoken with @ms14981 and @afroggattsl I belive that this could be completly rewritten to improve clarity and perhaps to further improve performance.
Issue
Resolves #1188

I am going to have a quick go at adding a third iterator to help encapsulate more of the algorithm


Install option

How can I use this tool to install apk from source (not from destination) like "adb install .apk" when using pc?
Is it even possible.

https://github.com/tananaev/adblib/issues/5


failure example

May I ask which route and scenario file test results are shown in the image of this failure example

I do not remember the exact routes of them, but they should come from the Town05-long and Town02-long routes in the Transfuser repo.


actions: Optimize query in get_occupied_streams.

Unless I missed something and the new query is incorrect, I think this should close #13874 with this speedup.
Tested on my laptop, set up with:
 ./manage.py populate_db --extra_users 2000 --extra-streams 1000
get_occupied_streams is the old function, get_occupied_streams3 is the new one:
In [21]: x=time.time(); list(get_occupied_streams(realm)); print(time.time()-x)
1.1932027339935303

In [22]: x=time.time(); list(get_occupied_streams(realm)); print(time.time()-x)
1.1918518543243408

In [23]: x=time.time(); list(get_occupied_streams(realm)); print(time.time()-x)
1.1889464855194092

In [24]: x=time.time(); list(get_occupied_streams3(realm)); print(time.time()-x)
0.048899173736572266

In [25]: x=time.time(); list(get_occupied_streams3(realm)); print(time.time()-x)
0.05948901176452637

In [26]: x=time.time(); list(get_occupied_streams3(realm)); print(time.time()-x)
0.051645755767822266

This is the query Django generates:
 SELECT "zerver_stream"."id",
       "zerver_stream"."name",
       "zerver_stream"."realm_id",
       "zerver_stream"."date_created",
       "zerver_stream"."deactivated",
       "zerver_stream"."description",
       "zerver_stream"."rendered_description",
       "zerver_stream"."recipient_id",
       "zerver_stream"."invite_only",
       "zerver_stream"."history_public_to_subscribers",
       "zerver_stream"."is_web_public",
       "zerver_stream"."stream_post_policy",
       "zerver_stream"."is_in_zephyr_realm",
       "zerver_stream"."email_token",
       "zerver_stream"."message_retention_days",
       "zerver_stream"."first_message_id",
       EXISTS(SELECT U0."id",
                     U0."user_profile_id",
                     U0."recipient_id",
                     U0."active",
                     U0."is_muted",
                     U0."color",
                     U0."pin_to_top",
                     U0."desktop_notifications",
                     U0."audible_notifications",
                     U0."push_notifications",
                     U0."email_notifications",
                     U0."wildcard_mentions_notify"
              FROM   "zerver_subscription" U0
                     INNER JOIN "zerver_userprofile" U2
                             ON ( U0."user_profile_id" = U2."id" )
              WHERE  ( U0."active" = true
                       AND U0."recipient_id" =
                           ( "zerver_stream"."recipient_id" )
                       AND U2."is_active" = true
                       AND U2."realm_id" = 5 )) AS "occupied"
FROM   "zerver_stream"
WHERE  ( "zerver_stream"."deactivated" = false
         AND "zerver_stream"."realm_id" = 5
         AND EXISTS(SELECT U0."id",
                           U0."user_profile_id",
                           U0."recipient_id",
                           U0."active",
                           U0."is_muted",
                           U0."color",
                           U0."pin_to_top",
                           U0."desktop_notifications",
                           U0."audible_notifications",
                           U0."push_notifications",
                           U0."email_notifications",
                           U0."wildcard_mentions_notify"
                    FROM   "zerver_subscription" U0
                           INNER JOIN "zerver_userprofile" U2
                                   ON ( U0."user_profile_id" = U2."id" )
                    WHERE  ( U0."active" = true
                             AND U0."recipient_id" = (
                                 "zerver_stream"."recipient_id" )
                             AND U2."is_active" = true
                             AND U2."realm_id" = 5 )) = true )

@showell Can you take a look?

Ignoring @zulipbot for now, in case we decide not to close that issue yet even if the commit gets merged.

Merged as 5e47f2975eaf2160f4476079121505b06442b4bd after marking it as likely fixing the original issue.  It'll auto-close it, but we can reopen (or make a new issue) if it feels more is warranted.  Certainly this ~25x speedup makes a huge difference.


Fix Docker's open source url

NOTE: A similar PR may already be submitted! Please search among the Pull request before creating one.
Types of Changes
What types of changes does your PR introduce? Put an x in all boxes that apply

[ ] New addition to list
[x] Fixing bug in existing item in list
[ ] Removing item from list
[ ] Changing structure (organization) of list

Proposed Changes
Docker's open source url is pointed to GitHub CLI's repo. I changed it to Docker's organization.
PR Checklist
Put an x in the boxes once you've completed each step. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING guide
[x] I have explained why this PR is important
[x] I have added necessary documentation (if appropriate)

It's a good catch. Thank you @Menci!


Use pandas to cast row-group statistics in pyarrow.read_metadata

This is a very simple fix for #5398 (which was caused by a recent pyarrow change).
Since pyarrow-parquet will now only return pandas.Timestamp for nanosecond resolution, it has become possible for the row-group-statistics metadata to reflect datetime.datetime for columns/indices that were originally pd.Timestamp.  Pandas is already used to convert the types to define meta, so this PR simply uses pandas to cast the statistics as well.

[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Just to make sure, dask's tests would have caught this once pyarrow 0.15 is out?

Yes

Right - Dask's dask/dataframe/io/tests/test_parquet.py::test_datasets_timeseries[pyarrow] currently catches this with the master branch of pyarrow.  Without this change, you get: AssertionError: (<class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'datetime.datetime'>)

Great, thanks for confirming.


ScaleMode error

When trying to set scale mode
pixi.core.Settings.SCALE_MODE = pixi.core.Pixi.ScaleModes.NEAREST;
from v4.5.3 gives error

pixi.core.ScaleModes should be Int

Thanks!


Crash sometimes on hvpp stop

https://www.dropbox.com/s/8pem9gwlsnvvj54/Crash.rar?dl=0
Here is my .sys, a mini dump (I don't know why a minidump is being generated if I have checked the memory dump) and my .pdb
the error is SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

I'm doing vmcalls to hook like in your example, nothing more. Maybe some modification of mine is leaving some leak around. I will check. The problem is that sometimes the process is crashing and I'm not having time to unhook so maybe that is the problem. I think that I will add a check to clean everything if a crash have happened and maybe that way I won't leave any leak.
Sorry for bothering you

Ok, I think the problem is the game I'm trying to debug. For some reason, they accept an hypervisor like hyperplatform but it does not like this one....and I don't understand why they detect a difference. I've changed the vmcalls codes but they still does not allow this hypervisor. Strange...

They? What does that mean? I have no idea what you're trying to achieve or what should I imagine under "game accepts a hypervisor" :)

When I say "they", are the game developers. I want to debug it, but they have a strong antidebug techniques, so a hypervisor is perfect for me. The strange thing is that the game accepts hyperplatform as hypervisor but it does not accept hvpp. The game sets the computer sometimes very slow with the hypervisor activated (I think they try to exit from the vm call in a loop or something like that), sometimes just crashes their process and sometimes crashes my computer with DPC_WATCHDOG_VIOLATION BSOD.
I can use hyperplatform, but I prefer this one because I understand it better (my hypervisor knowledge is near 0).
Well...I think is not a problem of the hypervisor itself, at least, until I don't discover why hyperplatform is not giving problems and hvpp does it.

Maybe it checks for CR4.VMXE? I don't know, I'm just guessing. There isn't much difference between hvpp and hyperplatform in terms of functionality.


Move to the citation file format central repo

Need to update all documentation links as well...

Done and, I think, all links and external services transferred. Rubygems will catch up on next release.


journal: remove SetCSIDirectorySuffix to simplify journal creation

Describe what this PR does
The function SetCSIDirectorySuffix was used only one per (long-lived,
gloabl) journal object. It is simpler to construct the journal objects
with this needed parameter:

As it is required to function and non-optional AFAICT
Removes the temptation to mutate global object
Reduces LOC with exact same functionality
SetCSIDirectorySuffix would not behave correctly if called a 2nd time
anyway.

Point 4. means that if you called the function twice to change the
suffix when you previously had "csi.volumes.alice", you'd get
"csi.volumes.alice.bob" instead of "csi.volumes.bob" what one would
expect.
This is partly done in preparation to make the journal get/set/or-otherwise-make-use-of go-ceph for omap.

Provide some context for the reviewer
Is there anything that requires special attention
Do you have any questions? n/a
Is the change backward compatible? yes - refactoring only
Are there concerns around backward compatibility? n/a

I can't tell what this "Semantic Pull Request" thingie doesn't like about my commit. I checked the updated guide in PR #1036  and I still don't see the issue. It's very unfortunate that it doesn't produce anything useful when you use the "Details" link.

@nixpanic @humblec why Semantic Bot is failing on this PR any idea?
Sematic Bot is not mandatory for PR to  be merged at least for now in cephcsi

@nixpanic @humblec why Semantic Bot is failing on this PR any idea?

I don't know, I have the same problem with some of the other PRs. No idea why the bot does not accept the commit messages :worried:


Use nullptr as the default argument to pstream__ in user-defined Stan functions

Summary:
User-defined functions should use the nullptr in C++11 as the default argument for the stream thing rather than zero (which was common pre-C++11). This may enable rstan::expose_stan_functions to work more easily in 2.18.x
Description:
If there is a default argument, it is set to zero here
https://github.com/stan-dev/stan/blob/develop/src/stan/lang/generator/generate_function_arguments.hpp#L67
and this should be nullptr now.
Reproducible Steps:
Call rstan::expose_stan_functions on any Stan program with a user-defined function
Current Output:
The default argument to pstream__ is 0
Expected Output:
The default argument to pstream__ should be nullptr
Additional Information:
None
Current Version:
Develop

This got merged.


Event Modifiers are not passed when using Render Function

Vue version
3.2.47
Link to minimal reproduction
https://stackblitz.com/edit/vue-zh7ajy
Steps to reproduce
Minimal Repro
return () => {
  return h('div', {
    onWheel: withModifiers((e) => console.log("I am not passive", e), ['passive']),
  });
};

Create component using render function
Add event listener with modifier you expect to be passed as options to addEventListener
Verify:

by setting breakpoint inside patchEvent
or by running Lighthouse report

What is expected?
I would expect that passive will be passed for options when addEventHandler is executed.
What is actually happening?
Event handler is not passive. It works only for regular templates.
System Info
No response
Any additional comments?
No response

Oh... am I see, we are expected to concatenate passive with onWheel.
If only I read the docs more carefully :)