Variables with \n converted to empty strings (after last updating)

Hi to all!
Before the last updating the next variable was working correctly:
VARIABLE="Text with\nsome end of lines\n"
and in the php when i wrote the next code:
echo env('VARIABLE');
returns:
Text with\nsome end of lines\n
After the last update the variable returns:
`` <- empty string

Could you pin down which change broke tHis for you please?

Just tested and I'm having:
"Text with\nsome end of lines\n" as return (added " at start and end of the string for some strange reason)
env file:
VARIABLE="Text with\nsome end of lines\n"

related test:
$this->assertSame('Text with\nsome end of lines\n', getenv('VARIABLE'));
$dotenv->required('VARIABLE');
$dotenv->required('VARIABLE')->notEmpty();

After more testing, when using:
VARIABLE="Text with some end of lines"

I have: Text with some end of lines returned.
I think the quote issue is related to https://github.com/vlucas/phpdotenv/blob/master/src/Loader.php#L239 which wasn't changed on last release.
I was able to make it work by escaping backslashes:
VARIABLE="Text with\\nsome end of lines\\n"

This is some old behavior already tested & described in https://github.com/vlucas/phpdotenv/blob/master/tests/fixtures/env/specialchars.env

@Korbeil please try these variable:
VARIABLE="In the town where I was born\n"
When creating an issue a used another value for the VARIABLE. But if you try the last variable value you can see that the issue exists.

@Nur777 Ok, just tried, this is working as you said if the \ is at the end of the env value. I think this is an edgy case and should not work, since we ask to escape baskslashes and quotes in values. This should throw an exception.
This was introduced by https://github.com/vlucas/phpdotenv/commit/f84952fe8ff11cc6b249b29a8460d03f050a59f3

@Korbeil excuse me, but the \ is not at the end of env value. Is not it?

@Korbeil but why the string returns correct if i deleting the second big char I?

@Nur777 my bad: if the \ is after all text.
Since the regex there: https://github.com/vlucas/phpdotenv/blob/f84952fe8ff11cc6b249b29a8460d03f050a59f3/src/Loader.php#L232
Is matching chars then backslashes, it will fails after.
I don't have same issue about the I you're talking about, could you share me the version of PHP you're using and the version of the library ?

@Korbeil
PHP Version => 7.2.6
Vlucas/PhpDotEnv => 2.5.0
Are you tested variable with this string?
VARIABLE="In the town where I was born\n"
it returns correctly? In my PC it returns empty.

I found that:
https://github.com/vlucas/phpdotenv/blob/f84952fe8ff11cc6b249b29a8460d03f050a59f3/src/Loader.php#L227-L242

after this lines the string "In the town where I was born\n" becomes empty.

I make some research and found that the code works somehow strange...
I found this line:
https://github.com/vlucas/phpdotenv/blob/f84952fe8ff11cc6b249b29a8460d03f050a59f3/src/Loader.php#L242
And wrote this code to debug different values:
var_dump($name, $value); $value = preg_replace($regexPattern, '$1', $value);  var_dump($name, $value); die(1); // For showing the value
So, I tested the next values:
1.

`VARIABLE="Text of lines\n"'
var_dump shows me ""Text of lines\n"" (with double quoutes)

VARIABLE="Text of some lines\n" // var dump shows me NULL
var_dump shows me NULL <- why?

@danielstokes the problem isn't only in "\n" as I described above.

The lines
https://github.com/vlucas/phpdotenv/blob/master/src/Loader.php#L250 and
https://github.com/vlucas/phpdotenv/blob/master/src/Loader.php#L251
indicate the escape sequences as well as
https://github.com/vlucas/phpdotenv/blob/master/src/Loader.php#L240 and
https://github.com/vlucas/phpdotenv/blob/master/src/Loader.php#L241 .
The issue being that in 2.4 it worked because
VAR=some\nthing would be processed correctly, where as VAR="some\nthing" would not.  The result would be that VAR still equals '"some\nthing"' (no quotes removed), because it failed to match.  In the case with the change, because a line is slightly longer, it's triggering an error (PREG_BACKTRACK_LIMIT_ERROR), which can be adjusted with pcre.backtrack_limit to bypass the issue.  However, this also means that the value token is not being processed correctly.
tested this with php 5.6, 7.0, 7.2 on windows 10 and ubuntu 16.04.
@Korbeil I believe the library should have some parse exceptions added.

@Korbeil I believe the library should have some parse exceptions added.

I totaly agree on that, but this should be done on next major, not on minor, otherwise you'll have too much people coming to make issues 😄

@danielstokes how I should change my variable value to make him work?
I tested:

Text of SOME lines\n - it returns NULL
"Text of SOME lines\n" - it returns NULL
"Text of lines\n" - it returns ""Text of lines\n"" (with double-double quotes)

What am doing wrong?

@danielstokes I see that you change the word "Text" to the word "Test"? It is all changes that should I do?
Thx for the solution about the base64!

My bad.  Mis-typed that, corrected my comment above.  Should have been VAR="Text of SOME lines\\n".  Also, I just noticed github uses \\ as escape code, whould be why you thought that was the only change.

As this is sort of a breaking change I think it should be versioned appropriately and well documented, my application simply stopped working after a composer update and it took me quite some time to track down the problem.
Thanks,
Frank

A Wordpress installation which is backed by Roots Bedrock, which uses phpdotenv failed with "Unable to establish database connection" when I composer updated this library from 2.4.0 to 2.5.0.
It was a guess that this library was the culprit after seeing it update and it had be completely confused at first. Turns out I have a database password starting with a # in an unquoted string which no longer seems to work with 2.5.0.

@jamieburchell : you should check #276

@danielstokes Thanks!

#290 the reason is this

https://github.com/vlucas/phpdotenv/pull/271 will bring first-class support for multiline variables in v3.0.


[rant] ESM and its end goals

This is a very opinionated rant about ESM and its end actual goals and its effect on the rest of engine and developers.
Would love to ask the team: what is the end goal of ESM.
IMHO:

Cutting off a couple of dozen kilobytes from a built engine (treeshaking), is neglectable when talking about 95%+ of web apps using way more for assets.
The burden of doing imports/exports, forces developers to always pay attention: "did I forget to import a thing?", during development need to remember to remove not used any more imports. Although not writing pc. everywhere - is nice (can overcome with 5 lines of code though).
Flexibility-wise, the new ESM system does not do anything extra in terms of scripting system vs the current (classic) system. It has no new features and actually has fewer features.
It pollutes API with "alternative-ways", which means github, forums, code examples and everywhere we will see a mixture of ways of achieving the same goal while using different ways. It is bad for the learning curve of an API, and it has long-term lasting effects.
A lot of opinionated and "emotional" phrasing is used throughout docs regarding ESM, which means it is somewhat emotionally driven. Personally, I believe devs should make their own emotional attachments and beliefs regarding how great or not a feature is. Like the docs tries to justify the whole ESM thing.
We do use engine v2+ outside of the Editor, with ESM, and we see no much difference with projects where we use v1. The only major difference is that we have to use more sophisticated bundlers now, instead of simple script concatenation + minification. And due to bundlers taking a long time, this cannot be used while developing, like we used to use concat before to improve local development loading times.
The move towards ESM also does already affect and touch other parts: how to add components to entities, and this is only the beginning. This leads to changes, that do not actually help developers make better stuff.

And most importantly, it takes vast amounts of time from the engine/editor team to implement it. While that time could have been spent on way more impactful features:

Improving Editor UX
Introducing new Engine features
Introducing new Editor tools
Polishing existing Editor tools
Expanding Assets workflows
Making more great demos and improving documentation

Basically, creating stuff, instead of changing existing well-working things without a clear "end goal" that would benefit everyone.
It took around a year, and it is not here still. And who knows how much more it will take. While that time is spent on it, other features are not developed for the developers.
My wish is that the team would focus on features and improvements that actually help developers create better stuff!

Converting this to a disussion


fatal error: mbedtls/config.h: No such file to directory

When doing "cmake --build .", I got the error message saying "No such file or directory" for mbedtls/config.h. Do I need to copy config.h from the source?
Thanks,
Garry

It's not an issue.


Prepare new msgraph

Hello @ivy-rew
Could you check if those changes are correct? Thanks :)

There is maven build + jenkinsfile in the 'market/connector' directory.
It seems to me as if we should delete it right now, as the 'ms-graph-demo' was the only reason, this build still resided there.

There is maven build + jenkinsfile in the 'market/connector' directory. It seems to me as if we should delete it right now, as the 'ms-graph-demo' was the only reason, this build still resided there.
Sample applies for the docker-infrastructure there ... we don't need it anymore

Yes. And then please delete the build on Jenkins itself.
https://jenkins.ivyteam.io/view/scrum-master/job/market-connectors/


crash in [DDLogMessage initWithFormat:args:level:flag:context:file:function:line:tag:options:timestamp]

Describe the bug
Specific strings without params causes a crash. The affected strings are those that have undergone URL encoding.
To Reproduce
 NSString *test = @"https%3A%2F%2Ftest.test.com%2Fspa%2Ftest%3Ftest%3Dtest-value%26test_params_1%3Dtest-client.19c8631db3c5a%26scope%3Dtest%3A%3test%3Aaccount_linking%26test_stage%3Ddevelopment%26response_type%3Dcode%26redirect_uri%3Dhttps%3A%2F%2Ftest.com%2Ftest%26state%3Dall&webUrl=https%3A%2F%2Fwww.test.com%2Fap%2Foa%3Ftest_id%3Dtest.ggbvghmdndd%26scope%3Dtest%3A%3Askills%3test_linking%26response_type%3Dcode%26redirect_uri%3Dhttps%3A%2F%2Ftest.com%2Ftest%26test%3Dall";
DDLogVerbose(test);
Screenshots

Environment info

Info
Value

Platform Name
e.g. ios

Platform Version
e.g. 17.0

CocoaLumberjack Version
e.g. 3.8.1

Integration Method
e.g.  cocoapods

Xcode Version
e.g. Xcode 15.0

Repro rate
e.g. all the time (100%)

This isn't a valid Objective-C DDLog-call. If you pass arbitrary strings, you need to either make sure, all format arguments are escaped, or pass it using the %@ format argument.
You can trigger the same crash when swapping DDLogVerbose with NSLog in your example.

Hey ffried

This isn't a valid Objective-C DDLog-call. If you pass arbitrary strings, you need to either make sure, all format arguments are escaped, or pass it using the %@ format argument. You can trigger the same crash when swapping DDLogVerbose with NSLog in your example.

Both NSLog(@"%@", test); and NSLog(@"https%%3A%%2F%%2F"); do not cause a crash, but they exhibit different output in the console.
Hey ffried:
When I use NSLog(@"%@", test);, it treats test as a string literal and prints all the content of test in the console, including the % symbol.
However, when I use NSLog(@"https%%3A%%2F%%2F");, it interprets % as an escape character. In my case, the output is "https0X1.6D8F88CP-10420.0000000.000000".
Thank you for you time.

Both of your examples are valid calls - which is why they don't crash.
But using NSLog(@"%@", test) is the better of the two solutions IMHO.


add Vinod K to Contributors list

@vinodkoliyat, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I accepted it?


[Bug]: The task I initiated shows all the extra tasks

ODC version
odc430
OB version

What happened?
I initiated it

All tasks

What did you expect to happen?
All tasks are extra than the ones I initiated
How can we reproduce it (as minimally and precisely as possible)?
View all tasks and tasks initiated by me
Anything else we need to know?
No response

the project id of the tickets that appeared in 'I created' and not appeared in 'total ticket' is -1, that is to say those tickets are created in individual space~

these tickets are generated by sql plan, partition plan ant etc.

SQL plan

Partition plan


Did not receive follow up email

I started a participant signup flow within Internet Explorer browser on a Windows OS 10 lap and intentionally paused my process. I did not however receiving a reminder email 24 hours later. I am assuming I was supposed to have received one?

Hi arushisax, thanks for filing an issue! This is a known problem caused by the fact we are using a demo email account. I understand that this limitation should be resolved soon. Until then, I'll keep this issue open.

@arushisax This is docusign configuration issue which I believe I resolved after a little hunting in their support forums. I'll double check (again) and leave this open, just wanted you to know that it's being addressed. :)

Thanks for the update, @alflennik and @jesdaigle!


Updates that never end

Category

What is the current behavior?
I've hav in my book some updates working since the 9th of february, there are later updates that could not finish and other that was done ok.
Why that changes of 5 days ago are still working?
Is there any way to cancel them?
What is the desired behavior?
I wish they could finish or I could stop them.
Additional information

same here.. on linux, tons of windows asking to updates.. even worster there is not update to my version, but even if there was, I would just hope there is a setting to disable update notification..


remove object schema. when using an object list

Related Issue : #272
What is this about:

Remove object schema. when using an object list

I used the same way as it.

Use a common static class to extract a hash set of key names

What is include in the PR:

Modify ObjectTypeVisitor / RecursiveObjectTypeVisitor / ListObjectTypeVisitor
Declare a new Common Static class (OpenApi Readonly Data) for common code extraction

IMHO, We could use the OpenApiReadonlyData class for other common data sets..

@Lee-WonJun Thanks for the PR! Since this PR is based on our discussion in the other channel, let me take a further look whether we can take this as-is or change something.

I'm a little reluctant introducing the OpenApiReadonlyData class because it can be declared and invoked within the TypeExtensions class.
How about this approach in the TypeExtensions class?
// Add a static field like:
private static HashSet<Type> NonSchemaKeyTypes = new HashSet<Type>
{
    typeof(object),
    typeof(JToken),
    typeof(JObject),
    typeof(JArray),
};

// Create two extension methods like:
public static bool IsNonSchemeKeyType(this Type type)
{
    if (NonSchemaKeyTypes.Any(p => p == type))
    {
        return true;
    }

    return false;
}

public static bool IsNonSchemeKeyType(this string typeName, bool useFullName = false)
{
    var typeNames = NonSchemaKeyTypes.Select(p => useFullName ? p.FullName : p.Name);
    if (typeNames.Any(p => p == typeName))
    {
        return true;
    }

    return false;
}

// Then, use the extension method like:
foreach (var schema in schemasToBeAdded.Where(p => p.Key.IsNonSchemaKeyType() == false))
{
    ...
}

I also thought of including fields in Type Extensions,
but I don't think we should put extension methods for strings in Type Extensions as long as the class name is TypeExtensions.


Cannot login as user migrated from Coherence

Hello! I'm migrating an app from Coherence to Pow, I've followed the guide but when I try to log in I get the error message:
ArgumentError at POST /session
cannot load `<<158, (...) , 200>>` as type :id for field `id` in schema MyApp.User

This is the migration that created the users table using Coherence:
defmodule MyApp.Repo.Migrations.CreateUser do
  use Ecto.Migration

  def change do
    create table(:users, primary_key: false) do
      add(:id, :uuid, primary_key: true)
      add(:name, :string, null: false)
      add(:email, :string, null: false)
      add(:password_hash, :string, null: false)
      add(:role, :string, default: "user", null: false)
      add(:confirmed_at, :datetime)
      add(:confirmation_token, :string)
      add(:confirmation_sent_at, :datetime)
      add(:reset_token, :string)
      add(:reset_sent_at, :datetime)

      timestamps()
    end

    create(unique_index(:users, [:email]))
  end
end

And in the User model it's specified that:
@primary_key {:id, :binary_id, autogenerate: true}

What am I doing wrong here? Does Pow use uuid as Coherence does?
Thanks!

This is on Elixir 1.8.1, Phoenix 1.4.0, EctoSql 3.0, Comeonin 3.0.

Yeah, Pow has binary id support, and it should be working out of the box. Pow doesn't have any expectations for the id type and let's ecto handle it.
For some reason your app expects the id field to an :id integer type. Can you show how MyApp.User module is set up? Did you put the @primary_key before schema?
Also, remember that you'll need to add @foreign_key_type :binary_id to the user schema for relations.

Thanks, I must have some issue with UUIDs and Ecto 3 then, this doesn't seem a Pow-related issue.


transgui error message with Transmission 3.0 server - Duplicate object member: "status"

Describe the bug
transgui 5.18.0 error message - Duplicate object member: "status".

To Reproduce
Opening application and connecting to Transmission server remote RPC running version 3.00. i.e. Both client and server are current nixos-unstable.
Expected behavior
Connect to server normally
Additional context
Able to fix it with patch mentioned here https://gitmemory.com/issue/transmission-remote-gui/transgui/1325/670599265
  # Package Overrides
  nixpkgs.config.packageOverrides = super: let self = super.pkgs; in
  rec {
    transgui = super.transgui.overrideAttrs (oldAttrs: rec {
      patches =
      [ (pkgs.fetchpatch {
          url = "https://patch-diff.githubusercontent.com/raw/transmission-remote-gui/transgui/pull/1329.patch";
          sha256 = "09709v8lyh6m5cagckyqw7ial0z6jxnwqz9x5l32ff1zcd3y441h";
        })
      ];
    });
  };

Notify maintainers
@ramkromberg
Metadata

system: "x86_64-linux"
host os: Linux 5.8.6, NixOS, 20.09pre242714.a31736120c5 (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.7
channels(root): "nixos-20.09pre242714.a31736120c5"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: transgui
# a list of nixos modules affected by the problem
module:

upstream links
transmission-remote-gui/transgui#1325
transmission-remote-gui/transgui#1329

The daemon's rpc changes between v2 and v3 don't seem to end with just this patch so unless upstream reviews it, I don't feel it's worth risking data loss when the webgui is already served by the daemon.
Having said that, I won't object to a pull request for the patch that also replaces me as the maintainer.


Party Robot does not test the table number

It is possible to pass the tests with a hardcoded table number.
The instructions are confusing as to how to get from a number to a table 1B. I tried hardcoding it and it passed.

Exercise: https://github.com/exercism/go/tree/main/exercises/concept/party-robot
There are two tasks that should be done here:

[ ] Improve the tests so that the exercise cannot be solved by returning a hard coded value.
[ ] Improve the instructions so that it is clearer that the table number should be formatted as hexadecimal number. Maybe even add a short sentence explaining what hexadecimal numbers are.

I will asked a new contributor who contacted me on Slack whether they want to work on this.

@junedev In addition, I think we should also revise the hints for this exercise, as I don't feel they are specific enough to help solve the problem.
I'm also wondering if introducing hexadecimal formatting is worth for this exercise.

@andrerfcsantos Thanks for pointing this out. Do you have a good idea what to use instead of hex? Maybe just some padding, e.g. formatting 3 as 003?

@junedev Padding a number with zeros seems an excellent alternative because 1) the student will probably use that more in their day-to-day coding in Go than hex formatting 2) we avoid either having to explain what hexadecimal is or assume that the student already knows what it is.

:+1: I updated the task list above accordingly.


Smoothness tag in default bicycle profile

Please consider supporting the smoothness tag in the default bicycle profiles (one of which I assume is deployed at https://www.openstreetmap.org - do you know if this is the case?).
At the moment, the profiles all seem to completely ignore smoothness, because even ways with smoothness=impassable are routed over.
Exactly which smoothness values should get penalties and which ones should be avoided completely depends on the profile. See Wiki.
Examples of ways with smoothness=impassable:

Way 4905783, route on osm.org and on graphhopper.com
Way 829106990, route on osm.org and on graphhopper.com
Way<PHONE_NUMBER>, route on osm.org and on graphhopper.com

Overpass query to find more

Please consider supporting the smoothness tag in the default bicycle profiles (one of which I assume is deployed at https://www.openstreetmap.org - do you know if this is the case?).

It is already supported for the bicycle profiles. See https://github.com/graphhopper/graphhopper/pull/2303. We are not blocking smoothness=impassable but rather assume it is a section where pushing is necessary. If you closely look at the compute traveling time you'll notice.

Thank you. I had not noticed.
I suppose that means they will be avoided if there is an alternative, but when there is no alternative, they will still be used.
I know a lot of hiking paths up mountains where cycling is technically legal (so bicycle=no would be incorrect), but it's still practically impossible. There are often sections where even pushing a bike isn't possible, you would have to carry it (and only the most extreme mountain bikers do).
I noticed that when they are tagged with a sac_scale value like demanding_mountain_hiking, GraphHopper avoids them, but when they only have a smoothness tag, they are still used.
I think it would be better to avoid them, but I don't know how it would affect routing in other areas if smoothness=impassable was avoided altogether, the same way some sac_scale values are. (I'm not sure if it would introduce any unintended side effects.)

I think it would be better to avoid them, but I don't know how it would affect routing in other areas if smoothness=impassable was avoided altogether, the same way some sac_scale values are.

You can do that by defining a custom rule. @karussell : This issue can be closed.

Thanks! Another question (hope you don't mind). If I am supposed to get off my bike and push at this point with smoothness=impassable, then shouldn't that trigger a get_off_bike route hint like here?

Another question (hope you don't mind)

The get_off_bike hint is only displayed if you legally need to push your bike. This is not the case in the 'smoothness' example, there you would be legally allowed to ride.

Not to be a nuisance, hopefully: From a user point of view, it does not matter much, if I have to push because cycling is forbidden or because track cannot be cycled.
PS: Something looks strange in the 800m Ötztal Route: See #3078


Expose the onboarding manager to allow different step setup for Luxembourg study

one nit, otherwise good to go


Inspect side-effects of disabling stack checking

This includes #1691. @davids5 @sjwilks These are the combined symptoms of disabling stack checking:

V1: microSD mount fails
V3: USB serial link (NuttX) is started, but never registers with the host (device doesn't list under /dev/tty.usb*)

I'm not 100% sure yet if this is timing or if we're missing something, but we clearly don't have everything under control yet.

@davids5 Ok, I've put the USB one to rest. Fixed via 18d756d. So only the microSD mount fail remains, and I wouldn't be terribly surprised if its timing again there.

@LorenzMeier Craig has confirmed that there will be HW heading my way at some point. I will dig into this bug then,

@sjwilks Could you try disabling the ms5611 driver startup? I'm wondering if the new SPI variant messes with the SD bus and the timing change made it visible.

While trying to workout why my F330 (PX4 V1) was going nuts since yesterday
I noticed that the SD card seems to have died completely. This probably
means my tests in the last two days weren't reliable. I have just replaced
the card, re-flashed master (via QGC) and I can read from the SD card. So
it looks like #1691 did indeed help. Prior to that I could constantly
read/not read based on the stack check setting so I think the SD failure
only just began.
On Sat Jan 31 2015 at 5:00:13 PM Lorenz Meier<EMAIL_ADDRESS>wrote:

@sjwilks https://github.com/sjwilks Could you try disabling the ms5611
driver startup? I'm wondering if the new SPI variant messes with the SD bus
and the timing change made it visible.
—
Reply to this email directly or view it on GitHub
https://github.com/PX4/Firmware/issues/1700#issuecomment-72323331.

Fixed.


fix(admin-api): remove consumers type field from examples

Summary
After https://github.com/Kong/docs.konghq.com/pull/4573 , the invalid field type is still present in the code examples. This MR fixes this.
Related https://github.com/Kong/kong/issues/9501
:hammer_and_wrench: with :heart: by Siemens

/cc @samugi @Guaris


ACME ANVIL BUG

How do you go about reporting bugs which are not actual defects in the software but rather how the trust model was used? The ACME ANVIL BUG is an occurrence of any user such as a Wile E. Coyote being able to generate any certificate as if hammering it out on an anvil and have it trusted in the same trust model used for banks email etc. This has happened by leveraging iden trust for ISRG which issues an ACME tool for generating self signed SSL certificates which are trusted by ISRG.
I SUSPECT BOTH PROTON AND FDROID ARE BEING SPOOFED BY ISRG.
When this happens in the case of a webbrowser if any spoof certificate was given for say a bank the webbrowser will trust it and give the usual Green Lock icon without the user having ALREADY inspected the SSL certificate in the past by say writing the fingerprint down and keeping it at a desk the user has no way to know this is a spoof. At the first use the user would have no option but to trust the spoof- no way to lnow it was a spoof.
Furthermore I have yet to see  browser which queries issuers for CRL and applies CRL revocations and anytime a revocation was issued it is as bad as a spoof.

This does not seem like an issue with OpenSSL - at the most it could be a discussion


Updated Known Issue List and Enhanced Test Coverage for SI and LV Test Datasets

@bhavin-qryptal thanks for the update - are the changes made to SI and LV json files coordinated with the original creators? We need to make sure that the files we have here also match future files that the countries will generated, so usually the generators should be updated, not the json files themselves.

@bhavin-qryptal thanks for the update - are the changes made to SI and LV json files coordinated with the original creators?

Hi Daniel, No, I have NOT done that. During the testing I have realized that these files could pass tests but where NOT included in the scope hence I modified them. Let me know if I should revert them.

@bhavin-qryptal Thanks for the effort, but in that case let's revert them so SI/LV can make sure everything works on their end!


FeatureRequest: _WD_ElementSelectAction() 'selectvalue' and 'selecttext' and 'selectindex'

As for now this is only a concept.
Func _WD_ElementSelectAction($sSession, $sSelectElement, $sCommand, $sParameter)
	......
	......
	......
	If $iErr = $_WD_ERROR_Success Then
		If $sNodeName = 'select' Then
			Switch $sCommand
				Case 'value'
					......
					......
					......
				Case 'options'
					......
					......
					......
				Case 'selectindex'
					$sScript = "arguments[0].selectedIndex = " & $sParameter & "; return true;"
					$sText = _WD_ExecuteScript($sSession, $sScript, __WD_JsonElement($sSelectElement), Default, $_WD_JSON_Value)
					$iErr = @error
					If $iErr = $_WD_ERROR_Success Then
						If $sText = True Then
							......
						EndIf
					EndIf
				Case 'selectvalue'
;~ 					$sScript = "var element = arguments[0]; for (let i = 0; i < element.options.length; i++) { if (element.options[i].value == '" & $sParameter & "') {element.selectedIndex = i; element.dispatchEvent(new Event('change')); return true;}}; return false;"
					$sScript = "var element = arguments[0]; for (let i = 0; i < element.options.length; i++) { if (element.options[i].value == '" & $sParameter & "') {element.selectedIndex = i; return true;}}; return false;"
					$sText = _WD_ExecuteScript($sSession, $sScript, __WD_JsonElement($sSelectElement), Default, $_WD_JSON_Value)
					$iErr = @error
					If $iErr = $_WD_ERROR_Success Then
						If $sText = True Then
							......
						EndIf
					EndIf
				Case 'selecttext'
;~ 					$sScript = "var element = arguments[0]; for (let i = 0; i < element.options.length; i++) { if (element.options[i].text == '" & $sParameter & "') {element.selectedIndex = i; element.dispatchEvent(new Event('change')); return true;}}; return false;"
					$sScript = "var element = arguments[0]; for (let i = 0; i < element.options.length; i++) { if (element.options[i].text == '" & $sParameter & "') {element.selectedIndex = i; return true;}}; return false;"
					$sText = _WD_ExecuteScript($sSession, $sScript, __WD_JsonElement($sSelectElement), Default, $_WD_JSON_Value)
					$iErr = @error
					If $iErr = $_WD_ERROR_Success Then
						If $sText = True Then
							......
						EndIf
					EndIf

	......
	......
	......
EndFunc   ;==>_WD_ElementSelectAction

But what you think about ?

IMHO _WD_ElementSelectAction() should have all features needed to do all stuff related to "HTMLSelectElement"

IMNSHO I disagree. 😄
HTMLSelectElement has many different PEMs and it would be unrealistic to expect _WD_ElementSelectAction to "do it all".
Can you demonstrate where there is a demand for these additional features?

take a look on _IEFormElementOptionSelect

This UDF already has a similar function (_WD_ElementOptionSelect), but it relies on the user providing the proper selector and it doesn't break down the individual modes.
IMO, if more "select" options are going to be added, they should be implemented here and not it _WD_ElementSelectAction.

They deal with different element types, which is why there are two separate functions --

_WD_ElementOptionSelect  is designed to find an Option element using a selector and then click it.

_WD_ElementSelectAction is designed to perform various actions on a previously located Select element.

Therefore, code for selecting an Option element doesn't belong in _WD_ElementSelectAction. However, it would be appropriate to add code dealing with selectedIndex since that's a Select element property.

_WD_ElementOptionSelect  could be redesigned so that it behaves more like _IEFormElementOptionSelect, but we would need to decide if it was worth implementing another script breaking change.

_WD_ElementOptionSelect  is designed to find an Option element using a selector and then click it.

So you must to know which option Element you want to operate.
For me this is click wrapper nothing more.

_WD_ElementSelectAction is designed to perform various actions on a previously located Select element.

Why not 'selecting' by performing search over all options on a previously located Select element ?
These are functionalities / actions consisting in searching all options and performing operations on them.
_WD_ElementSelectAction have suitable paramters to do that without any script breaking changes.
btw.
You must to have in mind that next step will be support for multi selection.
Doing all this stuff with JavaScript will be much faster.

So you must to know which option Element you want to operate.
For me this is click wrapper nothing more.

Technically, it's a wrapper for locating (_WD_FindElement) and clicking (_WD_ElementAction) an element. Here's a link to the original discussion that spawned this function.
Theoretically, we could rename this function to _WD_FindAndClickElement.

Why not 'selecting' by performing search over all options on a previously located Select element ?

I think you are starting to wear me down. 😆
My concern is that the implementation needs to make sense to me. Currently we have value and options, which both gather information. You want to add some commands that do the opposite, which is ok but I just need to be able to wrap my head around it.
I suggest that we add a single select command, where additional parameters / settings will control the type of selection (by index, id, name, etc) to be performed.  You already proposed adding $sParameter. Think about it and let me know if you come up with some other ideas.
Obviously, input from others is welcome here too. 👍

Why not 'selecting' by performing search over all options on a previously located Select element ?

I think you are starting to wear me down. 😆

Sorry for wearing you down. I can blame it on my poor English ;)

My concern is that the implementation needs to make sense to me.
Now you answer to my question. Thanks.

I suggest that we add a single select command, where additional parameters / settings will control the type of selection (by index, id, name, etc) to be performed.  You already proposed adding $sParameter. Think about it and let me know if you come up with some other ideas.

If we add a single select command where additional $sParameter we will specify which  type of paramater then we be in need to add additionall paramter to specify desirable value (IndexNumber, name, text).
Thus I propos to specify 3 different command name which will lead to specific selection type, which will allo to add only one additional parameter which I call $sParameter to provide desirable value (IndexNumber, name, text).

Obviously, input from others is welcome here too. 👍

Absolutely right.
So let's wait for the comments of others.

Think about it and let me know if you come up with some other ideas.

@mlipok Still hoping that you will suggest some other alternatives that don't involve adding even more parameters. Here are a few (not necessarily good ones 😉 ) to get you started --

Change $sCommand to $aCommand; `aCommand[0] would contain the primary command and any additional array entries would represent the additonal values need to perform the command.

Change $sCommand to $vCommand; if $vCommand` is an array, then apply the same logic in the above item

Change $sParameter to $aParameters where the array holds all necessary values to perform $sCommand

$sParameter could hold both the type and the search value with a delimiter separating the two items

Here's a link to the original discussion that spawned this function.

Just start analyzing. Will test this first.

Checked:
Local $v_Result = _WD_ElementOptionSelect($sSession, $_WD_LOCATOR_ByCSSSelector, '#MainContentForm_ddlAdvStatus.form-control option[value="8"]')
Local $v_Result = _WD_ElementOptionSelect($sSession, $_WD_LOCATOR_ByXPath, '//select[@id="MainContentForm_ddlAdvStatus"]/option[@value="8"]')
Local $v_Result = _WD_ElementOptionSelect($sSession, $_WD_LOCATOR_ByXPath, '//select[@id="MainContentForm_ddlAdvStatus"]/option[contains(text(), "Wszystkie wpisy, w tym wykreślone")]')

All this function works.
So selecting by Value and by Text is possible with _WD_ElementOptionSelect() but this was not well documented.
I plan to prepare examples and put them in these places:
https://www.autoitscript.com/wiki/WebDriver#FAQ
https://www.autoitscript.com/forum/topic/201537-webdriver-example-scripts-collection/
As to selecting by Index , my plan is to provide PR with this code concept:
Case 'selectedindex'
	$sScript = "arguments[0].selectedIndex = " & $sParameter & "; return true;"
	$sText = _WD_ExecuteScript($sSession, $sScript, __WD_JsonElement($sSelectElement), Default, $_WD_JSON_Value)
	$iErr = @error
	If $iErr = $_WD_ERROR_Success Then
		If $sText = True Then
			......
		EndIf
	EndIf

What you think about ?

So selecting by Value and by Text is possible with _WD_ElementOptionSelect() but this was not well documented.

How would you propose to document it further besides providing examples?
I haven't looked into it, but you may be able to select by index using the same technique. If you get a chance, check it out and let me know what you find.

As to the example, take a look here:
https://www.autoitscript.com/forum/topic/201537-webdriver-example-scripts-collection/?tab=comments#comment-1496068
Do you think that this could be or not provided in wd_demo.au3 or the examples topic/thread in the forum is right place, or should I add them to the WiKi ?

you may be able to select by index using the same technique. If you get a chance, check it out and let me know what you find.

There is an implementation of this technique.

How would you propose to document it further besides providing examples?

For all occurance of:
;                  $sSelector    - Value to find

Proposal:
;                  $sSelector    - String or expression related to chosed $sStrategy which should navigate to the specific element.

for _WD_ElementOptionSelect()
Proposal:
; Remarks .......: You can choose element by Index, Value, Text using proper XPath or CSSSelector expression

As to the example, take a look here

There are a few issues with this example --

It autoupdates Chromedriver, which I feel shouldn't occur without user approval
Your usage of _WD_Timeouts is incorrect

Do you think that this could be or not provided in wd_demo.au3 or the examples topic/thread in the forum is right place, or should I add them to the WiKi ?

IDK. I'm not sure that a separate demo is necessary. Maybe a reduced form of it could be incorporated into DemoElements. Maybe the wiki could have a separate page on CSS / xpath selectors with some examples.

$sSelector    - String or expression related to chosed $sStrategy which should navigate to the specific element.

Lots of issues here IMO. Let's break it down into small chunks --

String or expression

I'm not sure what this means or how it improves the user's understanding of the parameter's usage. Please explain to me how adding the word "expression" helps here.

chosed $sStrategy

"chosed" is the wrong word here. Maybe you wanted "chosen",  "indicated", or something similar.

which should navigate to the specific element

"navigate" is confusing here. I think of browser navigation unless you add something like "the HTML DOM" following the word navigate.

Please explain to me how adding the word "expression" helps here.

XPath stirnigs are expressions
https://developer.mozilla.org/en-US/docs/Web/XPath
XPath is mainly used in XSLT, but can also be used as a much more powerful way of navigating through the DOM of any XML-like language document using XPathExpression, such as HTML and SVG, instead of relying on the Document.getElementById() or Document.querySelectorAll() methods, the Node.childNodes properties, and other DOM Core features.
So I was thinking that this will be correct to use this word.
We could write it
;                  $sSelector    - String, Xpath expression or CSS Selectors related to choosed $sStrategy which should navigate to the specific element.

or simply
;                  $sSelector    - String related to choosen $sStrategy which should navigate to the specific element.

And after thinking about all yours other sugestion about corretness in using "English" (thanks) here is new proposal:
;                  $sSelector    - string related to choosen $sStrategy that should indicate how the WebDriver should traverse through the HTML DOM to the specified element.

As to the example, take a look here

There are a few issues with this example --

It autoupdates Chromedriver, which I feel shouldn't occur without user approval
Your usage of _WD_Timeouts is incorrect

Fixed , check the link again.

you may be able to select by index using the same technique. If you get a chance, check it out and let me know what you find.

What you think about my implementation this technique?

for _WD_ElementOptionSelect()
Proposal:
; Remarks .......: You can choose Option by Index, Value, Text by providing proper XPath or CSSSelector expression as a $sSelector parameter

So this also should be changed:
; Remarks .......: You can choose Option by Index, Value, Text by providing proper XPath or CSSSelector string as a $sSelector parameter

choosen

s/b "chosen" 😄
But that still seems to "wordy" to me. I would prefer something more succinct such as --
;                  $sSelector    - Indicates how the WebDriver should traverse through the HTML DOM to locate the desired element(s).
To me, it's obvious that $sSelector needs to be in the format specificed in $sStrategy. However, this could be clarified in the remarks section if you think it necessary to state in the header.

; Remarks .......: You can indicate specific  element by Index, Value, Text by providing proper XPath or CSSSelector string as a $sSelector parameter

Again, I feel this is self-explanatory. It's simply how webdriver works. Maybe this would be better suited for a "getting started" section of the wiki? 🤷♂

What you think about my implementation this technique?

Please don't take this the wrong way, but I don't see anything "mind blowing" in that example. After all, you're just dynamically building CCS and xpath selectors, right? 🙂

Again, I feel this is self-explanatory. It's simply how webdriver works.

Okay. Understood.

Maybe this would be better suited for a "getting started" section of the wiki?

For me WiKi WD page is like a "getting started guide" especially:
https://www.autoitscript.com/wiki/WebDriver#Installation
So I feel that we should not create sub page, or sub section for "getting started"

Please don't take this the wrong way, but I don't see anything "mind blowing" in that example. After all, you're just dynamically building CCS and xpath selectors, right? 🙂

I was just asking is that what you was thinking about, when you proposed to use this technique ?

So I feel that we should not create sub page, or sub section for "getting started"

But maybe you meant to additionally show an example of simple concise code with comments?
Because wd_demo.au3 becomes a bit too complex for "wd_GettingStarted.au3"

So I feel that we should not create sub page, or sub section for "getting started"

Ok. Maybe a different name then? Something like "Beginner's guide to Webdriver selectors"

"wd_GettingStarted.au3"

FWIW, I don't think we need more source files at this stage.

I was just asking is that what you was thinking about, when you proposed to use this technique ?

Yes. My general thinking was that the UDF user needs to understand the various selectors; it isn't targeted at beginners, so we shouldn't need to provide separate functions for each selection type (id, name, etc) when a single function would suffice.
Granted, we since added some functions like _WD_GetElementById and _WD_GetElementByName, but I feel like that covers the basics.

"wd_GettingStarted.au3"

FWIW, I don't think we need more source files at this stage.

I was thinking about such example:
#include "wd_helper.au3"
#include "wd_capabilities.au3"

_Example()

Func _Example()
	# REMARK
	# This is not functional script
	# It only shows the concept how to use WebDriver UDF

	; If you want to download/update dirver the next line should be uncommented
;~ 	_WD_UpdateDriver('chrome')

	; specify used driver port parameters and other options
	_WD_Option('Driver', '*****')
	_WD_Option('Port', 000000)
	_WD_Option('DriverParams', '****')

	; start the driver
	_WD_Startup()

	; create capabilites for session
	_WD_CapabilitiesStartup()
	_WD_CapabilitiesAdd('alwaysMatch', '*****')
	_WD_CapabilitiesAdd('w3c', True)
	Local $sCapabilities = _WD_CapabilitiesGet()

	; create session with given Capabilities
	Local $WD_SESSION = _WD_CreateSession($sCapabilities)

	; navigate to some website
	Local $sURL = '******'
	_WD_Navigate($WD_SESSION, $sURL)

	; wait for loading process ends
	_WD_LoadWait($WD_SESSION, 1000)

	; do your's stuff for example find element
	Local $sElement = _WD_FindElement($WD_SESSION, $_WD_LOCATOR_ByXPath, "*****")
	; get text
	Local $sText = _WD_ElementAction($WD_SESSION, $sElement, 'text')
	ConsoleWrite($sText & @CRLF)

	; or click the element
	_WD_ElementAction($WD_SESSION, $sElement, 'click')

	; on the end session should be deleted
	_WD_DeleteSession($WD_SESSION)

	; and driver should be closed
	_WD_Shutdown()
EndFunc   ;==>_Example

Yes. My general thinking was that the UDF user needs to understand the various selectors; it isn't targeted at beginners, so we shouldn't need to provide separate functions for each selection type (id, name, etc) when a single function would suffice.
Granted, we since added some functions like _WD_GetElementById and _WD_GetElementByName, but I feel like that covers the basics.

Ok now I understood what you mean about "Getting Started" on WiKi.
You was thinking about "How to deal with $sSelector's ?"

I was thinking about such example:

Maybe we can include something like this when we eventually get around to providing example code for the help file (see #133). For now, it will have to wait.

You was were thinking about "How to deal with $sSelector's ?"

Yes, something that gave a basic overview of selectors, the differences between xpath & css, and perhaps provided links to some other recommended reading.

SUMMARY:

As to selecting by Index , my plan is to provide PR with this code concept:
Case 'selectedindex'
	$sScript = "arguments[0].selectedIndex = " & $sParameter
	$sText = _WD_ExecuteScript($sSession, $sScript, __WD_JsonElement($sSelectElement), Default, $_WD_JSON_Value)
	$iErr = @error
	If $iErr = $_WD_ERROR_Success Then
		If $sText = True Then
			......
		EndIf
	EndIf

What you think about ?

Is this the only one thing which should be done as PR ?
Do we have all other's things expalained in this ISSUE?

Is this the only one thing which should be done as PR ?

I don't think so, as you've shown that this can be done with _WD_ElementOptionSelect.
Maybe you meant to show the retrieval of selectedIndex instead?

Maybe you meant to show the retrieval of selectedIndex instead?

Exactly.
Not for seting but for geting, it will be very similar to 'value' but value is a different things.

After your's thumbs up, the last things to confirm here.

Do we have all other's things expalained in this ISSUE?
If so this issue can be closed.

We discussed changes to $sSelector description and remarks. Did you plan to make those changes?

Yes.
I close this ISSUE as soon as I submit PR.
Ok ?

; Remarks .......: You can indicate specific  element by Index, Value, Text by providing proper XPath or CSSSelector string as a $sSelector parameter

Again, I feel this is self-explanatory. It's simply how webdriver works. Maybe this would be better suited for a "getting started" section of the wiki? 🤷♂

I would not use this Remarks because  this following $sSelector description was used
; Name ..........: _WD_ElementOptionSelect
.....
.....
;                  $sSelector     - Indicates how the WebDriver should traverse through the HTML DOM to locate the desired element(s).  Should point to <option> in element of type '<select>'
.....
.....


Stuck on deployment

Hi,
I was trying to deploy Wolf, and all seems to be fine, until I reach the docker cli or compose instructions.
I get the following error and cannot continue:
docker: Error response from daemon: error gathering device information while adding custom device "/dev/nvidia-caps/nvidia-cap1": no such file or directory.
ERRO[0000] error waiting for container: context canceled
I have an RTX nVidia Quadro GPU with driver version: 545.29.06
And the devices nvidia-caps do not exist on my system.
Running on Ubuntu 22.04
Kernel: Linux 5.15.0-92-lowlatency x86_64
Thanks

I wonder if it has anything to do with this:
https://github.com/NVIDIA/nvidia-docker?tab=readme-ov-file
DEPRECATION NOTICE
This project has been superseded by the NVIDIA Container Toolkit.

Hi. Thanks for the help. No problem, used to nVidia.
Here is what I get
NVRM version:   545.29.06
CUDA version:   12.3
Device Index:   0
Device Minor:   0
Model:          Quadro RTX 5000
Brand:          QuadroRTX
GPU UUID:       GPU-(some number)
Bus Location:   00000000:01:00.0
Architecture:   7.5

Not sure if that was it, but I have the devices now :-)
Both show now:
nvidia-cap1  nvidia-cap2
Thanks
Will try to continue now

Getting stuck here now:
22:03:16.577852995 INFO  | Gstreamer version: 1.22.0-0
22:03:16.578928224 INFO  | Reading config file from: /wolf/cfg/config.toml
22:03:16.801477822 INFO  | Selected H264 encoder: nvcodec
22:03:16.801576288 INFO  | Selected HEVC encoder: nvcodec
22:03:16.803287280 INFO  | RTSP server started on port: 48010
22:03:16.803337562 INFO  | Control server started on port: 47999
22:03:16.803286092 INFO  | HTTP server listening on port: 47989
22:03:16.803451998 WARN  | [PULSE] Unable to connect, Access denied
22:03:16.803492654 INFO  | Starting PulseAudio docker container
22:03:16.804202617 WARN  | [DOCKER] Container WolfPulseAudio already present, removing first
22:03:16.805050646 INFO  | HTTPS server listening on port: 47984
22:03:18.250209710 WARN  | [PULSE] Unable to connect, Access denied
This was my docket CLI command:
docker run --name wolf --network=host -e XDG_RUNTIME_DIR=/tmp/sockets -v /tmp/sockets:/tmp/sockets:rw -e NVIDIA_DRIVER_VOLUME_NAME=nvidia-driver-vol -v nvidia-driver-vol:/usr/nvidia:rw -e HOST_APPS_STATE_FOLDER=/etc/wolf -v /etc/wolf/wolf:/wolf/cfg -v /var/run/docker.sock:/var/run/docker.sock:rw --device-cgroup-rule "c 13:* rmw" --device /dev/nvidia-uvm --device /dev/nvidia-uvm-tools --device /dev/dri/ --device /dev/nvidia-caps/nvidia-cap1 --device /dev/nvidia-caps/nvidia-cap2 --device /dev/nvidiactl --device /dev/nvidia0 --device /dev/nvidia-modeset --device /dev/uinput -v /dev/shm:/dev/shm:rw -v /dev/input:/dev/input:rw -v /run/udev:/run/udev:rw ghcr.io/games-on-whales/wolf:stable
I did not change anything from what was given on the Wolf website

It's not stuck, just waiting for a Moonlight client to connect!
As for the Pulse warning, it's fixed in the upcoming release; as a quick workaround, you can manually clean the /tmp/sockets folder before launching Wolf.

Ok, Still stuck.
Moonlight freezes
First, I could not run as daemon, so that I can see the pin link to use. Is there a way to see it without running it in terminal?
Second, moonlight worked and gave me options of running some apps, then it froze with retroarch
Here are the terminal messages:
[2024-02-07 21:10:32] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2024-02-07 21:10:32] **** Configure default user ****
[2024-02-07 21:10:32] Container running as root. Nothing to do.
[2024-02-07 21:10:32] DONE
[2024-02-07 21:10:32]
[2024-02-07 21:10:32] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2024-02-07 21:10:32] **** Configure devices ****
[2024-02-07 21:10:32] Exec device groups
[2024-02-07 21:10:33] Adding user 'root' to groups: gow-gid-107,root
[2024-02-07 21:10:33] DONE
[2024-02-07 21:10:33]
[2024-02-07 21:10:33] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2024-02-07 21:10:33] Nvidia driver detected
[2024-02-07 21:10:33] [nvidia] Add Vulkan ICD
[2024-02-07 21:10:33] [nvidia] Add EGL external platform
[2024-02-07 21:10:33] [nvidia] Add egl-vendor
[2024-02-07 21:10:33] [nvidia] Add gbm backend
[2024-02-07 21:10:33]
[2024-02-07 21:10:33]
[2024-02-07 21:10:33] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2024-02-07 21:10:33] **** Setting up Gamescope ****
[2024-02-07 21:10:33] Launching the container's startup script as user 'root'
0:00:00.030193650   221 0x55b836e3d4e0 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize: vaInitialize: unknown libva error
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
0:00:00.321987870   221 0x55b836e3d4e0 WARN                 default gstvaapi.c:231:plugin_init: Cannot create a VA display
0:00:00.329842668   221 0x55b836e3d4e0 WARN                 default ges-meta-container.c:236:_set_value:GESAsset@0x55b837d04470 Could not set value on item: format-version
0:00:00.329868543   221 0x55b836e3d4e0 WARN                 default ges-meta-container.c:236:_set_value:GESAsset@0x55b837d04d30 Could not set value on item: format-version
0:00:00.329889973   221 0x55b836e3d4e0 WARN                 default ges-meta-container.c:236:_set_value:GESAsset@0x55b837d05540 Could not set value on item: format-version
0:00:00.330187729   221 0x55b836e3d4e0 WARN               structure gststructure.c:2334:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.339279852   221 0x55b836e3d4e0 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize: vaInitialize: unknown libva error
0:00:00.364229073   221 0x55b836e3d4e0 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
0:00:00.366679137   221 0x55b836e3d4e0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.366825376   221 0x55b836e3d4e0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.366961813   221 0x55b836e3d4e0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.395852104   221 0x55b836e3d4e0 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
21:10:33.750481303 INFO  | Gstreamer version: 1.22.0-0
21:10:33.751558448 INFO  | Reading config file from: /wolf/cfg/config.toml
21:10:33.995697704 INFO  | Selected H264 encoder: nvcodec
21:10:33.995813322 INFO  | Selected HEVC encoder: nvcodec
21:10:33.997481417 INFO  | RTSP server started on port: 48010
21:10:33.997484979 INFO  | HTTP server listening on port: 47989
21:10:33.997507926 INFO  | Control server started on port: 47999
21:10:33.997713651 WARN  | [PULSE] Unable to connect, Access denied
21:10:33.997752878 INFO  | Starting PulseAudio docker container
21:10:33.999269304 INFO  | HTTPS server listening on port: 47984
21:11:03.007751489 INFO  | RTP server started on port: 48100
21:11:03.007884712 INFO  | RTP server started on port: 48200
0:00:29.777981244     1 0x7ff954001060 WARN        cudaconvertscale gstcudaconvertscale.c:1265:gst_cuda_base_convert_set_info: Can't calculate borders
21:11:03.317384145 INFO  | Starting container: /WolfRetroarch_17305313217028394902
21:11:03.932710183 WARN  | [INPUT] Unable to find controller 4
21:11:03.932810773 WARN  | [INPUT] Unable to find controller 5
21:11:03.932950399 WARN  | [INPUT] Unable to find controller 6
21:11:03.933056161 WARN  | [INPUT] Unable to find controller 7
0:00:31.650606677     1 0x7ff9540015e0 WARN            audioencoder gstaudioencoder.c:1014:gst_audio_encoder_finish_frame: Can't copy metadata because input buffer disappeared
0:01:13.030246307     1 0x7ff924002680 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func: error reading data -1 (reason: Success), skipping segment
21:11:56.530056785 INFO  | Stopped container: /WolfRetroarch_17305313217028394902
21:13:19.472040181 INFO  | RTP server started on port: 48100
21:13:19.472177838 INFO  | RTP server started on port: 48200
0:02:46.215739598     1 0x7ff9540015e0 WARN        cudaconvertscale gstcudaconvertscale.c:1265:gst_cuda_base_convert_set_info: Can't calculate borders
21:13:19.737998689 INFO  | Starting container: /WolfRetroarch_17305313217028394902
21:13:20.399408939 WARN  | [INPUT] Unable to find controller 4
21:13:20.399510081 WARN  | [INPUT] Unable to find controller 5
21:13:20.399664170 WARN  | [INPUT] Unable to find controller 6
21:13:20.399784263 WARN  | [INPUT] Unable to find controller 7
0:02:48.106770298     1 0x7ff954000da0 WARN            audioencoder gstaudioencoder.c:1014:gst_audio_encoder_finish_frame: Can't copy metadata because input buffer disappeared
0:02:56.929274749     1 0x7ff934003d70 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func: error reading data -1 (reason: Success), skipping segment

I tried to stream to an android phone instead.

It somewhat works, at least firefox, but cannot seem to bring up any keyboard layout.

And retroarch opens, but the graphics are too bad to be able to use
So it seems the problem is still there

The other thing I noticed is that it controls the mouse cursor on the host machine, is that normal?

Shouldn't it be isolated from being able to do anything but stream from the host within the container, multiple instances?
Thanks


Can't find Power Automate -

When I do a search for Power Automate in 2 different tenants, it is not found. Flow is found. Please add something to the documentation about what to expect and how this can be confusing
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1d0e2ad1-d98d-6b2d-0505-9121e1f9ff60
Version Independent ID: e7dcc8f2-2111-02ce-4254-63e4f007e2ee
Content: Install the Power Automate App in Microsoft Teams - Power Automate
Content Source: articles/teams/install-teams-app.md
Service: flow
GitHub Login: @MSFTMan
Microsoft Alias: hamenon

@DeanGross Thanks for your feedback. The steps in this document are intended to be carried out in Microsoft Teams. I just tried searching in More added apps in Microsoft Teams for 'Power Automate', and I found  Power Automate app. Kindly try searching and Microsoft Teams. Do let us know if your experience is different.

thanks, it is showing up for me now, it must have been fixed in the past 2 months


Theme changes don't work correctly after opening the About box

Windows Terminal version
1.12.3472.0
Windows build number
10.0.19041.1415
Other Software
No response
Steps to reproduce

Start Windows Terminal (don't just use an existing session).
Open the Settings UI, and go to the Appearance section.
Set the Theme to Light, and click Save.
Without closing the settings, open the About box, and close it again.
Now switch the Theme to Dark, and click Save.

Expected Behavior
The UI colors should change to the dark theme.
Actual Behavior
Most of the UI remains using the light theme, but some elements appear to be updated in such a way that they become invisible.

This breaks in a similar way when switching from dark to light, and it's also not only the About box that triggers it - I think any popup dialog will do (e.g. the "Do you want to close all tabs?" warning has the same effect).
If you open the About box again, it temporarily "fixes" the problem (i.e. it refreshes the colors correctly), but that only last until you try and change the theme again.

Btw, if this is something that's fixed in Windows 11, feel free to close it. I only noticed while testing the PR I was going to submit for #1230, but if there are going to be a whole lot of these issues specific to Windows 10, I'm happy to just ditch that PR and accept that Windows 10 won't handle themes very well.

holy butts that's bad, definitely not fixed in Windows 11. I suspect our hack for "walk up the UI tree and change the resources manually" doesn't totally work great with the SUI. The place to investigate this would be AppLogic::ShowDialog. This is also firmly in BODGY territory, and considering there is a workaround ("just reopen the about dialog"), then this isn't the biggest issue.

We may want to just run the themeingLambda whenever we reload the settings. IDK if that would work or not though.

Yeah, I was looking at the AppLogic::ShowDialog implementation, and I tried running something similar to the themeingLambda thing in the IslandWindow::OnApplicationThemeChanged handler, but I couldn't get it to work. I thought at the time that my attempted fix for #1230 was to blame, and it was becoming a lot more effort than I had anticipated for a "quick fix", so I gave up on it pretty quickly. If it's not going to be fixed in Windows 11, though, I may take another stab at it when I have more time.

Heck, this still isn't fixed in 1.17, even after all the other changes to theming.


Paging test required

As part of the drive to remove Wormtable (as detailed in #210) we need to replace the tests that are currently embedded in the TestWormtableBackend with more modular tests. One of the tests we require is a test of the correctness of paging over the different sets of objects. We should create a new class in tests/unit/test_backend.py called TestPaging(unittest.TestCase), which exercises the paging code across all the supported endpoints. This should use a SimulatedBackend as its test fixture.
The idea then would be to run some standard queries against the endpoints on this simulated backend (searchVariantSets and searchVariants for now) for a systematic selection of page sizes, and to verify that we always get back precisely the same results.

To replace TestWormtableBackend, it looks like we're going to have to substitute .tbi files for the wormtable files.  How does one create those files?  (Having a README inside ga4gh-example-data with how you generated those files would be useful.)

@dcolligan I'm looking into this now.

.tbi files are tabix indices on the VCFs as read by pysam.VariantFile, and generating them is described in the now removed tabix part of README.txt (perhaps we should bring this part back?):
The tabix backend allows us to serve variants from an arbitrary VCF file.  The
VCF file must first be indexed with `tabix
<http://samtools.sourceforge.net/tabix.shtml>`_.  Many projects, including the
`1000 genomes project
<http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/>`_, release files
with tabix indices already precomputed.

ga4gh-example-data currently comes with these index files precomputed.

Generating Tabix indexes is pretty standard - you're right though, we'll need a proper discussion of how we deal with indexes in the README. We should add this as an issue.

Ok to close this now?


Static oauth configuration doesn't work

From<EMAIL_ADDRESS>on October 09, 2012 08:22:17
RestAssured.oauth(consumerKey, consumerSecret, accessToken, secretToken);
doesn't seem to work but this does:
Response myResponse = given().auth().oauth(consumerKey, consumerSecret, accessToken, secretToken).param("term", "star wars").get("/catalog/titles/autocomplete");
I noticed the response came back with encoding=gzip, which it normally doesn't.  In my .Net implementation it returns an XML response.  The content-type is application/xml.
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=200

From<EMAIL_ADDRESS>on January 22, 2014 02:00:32
We've changed to scribe now, hopefully this will work.
Status: WontFix


requirements.txt

Although most of the libraries required are very standard and thus already installed in most environments, some people like myself, create a new virtual environment for using this library. Hence, it would be helpful if you can add a requirements.txt file. I can help you with this if needed.

@royaljain Thanks for your suggestion. You can add one by your experience and submit a pull request, if you would be so kind to help.


Order the response to the List an Identity's Sessions endpoint by authenticated_at/issued_at desc

Preflight checklist

[X] I could not find a solution in the existing issues, docs, nor discussions.
[X] I agree to follow this project's Code of Conduct.
[X] I have read and am following this repository's Contribution Guidelines.
[X] This issue affects my Ory Network project.
[X] I have joined the Ory Community Slack.
[X] I am signed up to the Ory Security Patch Newsletter.

Describe your problem
We need to cache the last login date for our users in our own db. So we've set up an after login webhook that sends the following payload: { identityId }.
The webhook handler fetches the identity associated with the identityId. This response, however, does not include the last login value. So, to be completely accurate, we should fetch all of the identity's sessions, find the most recent one, and store its authenticated_at date in our db. But an identity may have many pages of sessions, and they don't appear to be ordered in any particular way. So this task is not trivial. If the response was ordered by authenticated_at desc, then we could simply fetch a single page.
I suspect this endpoint's results not being ordered may have caused the following bug: https://github.com/ory/network/issues/294. The UI may have decided to use only the active sessions because that would be a much smaller set, but it results in a bug when there are no active sessions.
On a related note, the "List All Sessions" endpoint should be ordered in a similar manner. Currently, the Sessions table in the Ory Network "Activity" tab is basically unusable since you can't sort or filter the results and there doesn't appear to be any ordering.
Describe your ideal solution
The response for the List an Identity's Sessions endpoint (GET https://{project}.projects.oryapis.com/admin/identities/{id}/sessions) should be ordered by authenticated_at descending.
Workarounds or alternatives
Fetch all the results and order them myself.
Version
Ory Network
Additional Context
No response

can we change the default order before adding explicit sort as a parameter?


Update the dependency on rand

There's a compatibility issue between the current version of statrs, which depends on rand 0.5 (so, up to 0.5.5), and the latest version of rand (0.6).
Minimal example
Using the Cargo.toml dependencies section
[dependencies]
statrs = "0.10.0"
rand = "0.6.3"

and trying to compile the main.rs file
use statrs::distribution::Normal;

use rand::Rng;
use rand::distributions::Distribution;

fn main() {
    let n = Normal::new(0., 0.).unwrap();
    let ref mut rng = rand::thread_rng();
    let v = n.sample(rng);
    println!("Value: {}", v);
}

will not work, and produce the trait-related error message
error[E0599]: no method named `sample` found for type `statrs::distribution::normal::Normal` in the current scope
 --> src\main.rs:9:15
  |
9 |     let v = n.sample(rng);
  |               ^^^^^^
  |
  = note: the method `sample` exists but the following trait bounds were not satisfied:
          `statrs::distribution::normal::Normal : rand::Rng`
  = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope, perhaps add a `use` for it:
  |
1 | use rand::distributions::Distribution;
  |

I forked statrs and did a couple of commits to update the dependency. Patching the Cargo.toml in the above example with my fork seems to work. I'll make a pull request

Second this. Rand needs to be at least 6.0 to be useable in webassembly. As it stands now, can't use statrs on the web and that's a shame.


ox_lib: add canClose option to menu

This PR adds the "canClose" option to the menu documentation.
This should be merged when the next version of ox_lib comes out.

I've made the changes locally but haven't pushed yet and won't do until the tag for lib is pushed so people don't say features that aren't in the release don't work.


More idiomatic elmentary benchmark code

I don't expect much in terms of performance, but I think this way the code is a) more comparable to others, and b) more idiomatic to how elementary wants to be written.

I agree, however writing html that way does not prefix it with <!DOCTYPE html> when rendered, as confirmed with the unit tests.
It was originally coded that way until unit testing revealed it is malformed. If you can fix it in your repo I'll happily merge this.

oops, I totally missed that. should be good now.
if you need help setting up CI in github actions, let me know.

I guess that works too. LGTM.


change tabbar height

Hi , thanks for your awesome work .
can I change height of tabbar ?
if yes , please let me know how .
because on iPhone SE it seems too big .
regards .

Fixed


GPX download does not work from DuckDuckGo on Android

The GPX download (route export overall) triggers the download of a binary *.txt file.

The duckduckgo doesn't have anything to do with it i suppose?
It's probably the file ending setting not being respected by the android browser.


Update zio-schema, zio-schema-derivation, ... to 0.4.1

Updates

dev.zio:zio-schema
dev.zio:zio-schema-derivation
dev.zio:zio-schema-json
dev.zio:zio-schema-optics
dev.zio:zio-schema-protobuf

from 0.3.1 to 0.4.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-major, semver-spec-minor, commit-count:1

Update is in https://github.com/zio/zio-flow/pull/340


Module Name

This module name and references require an update :)

:+1: Sistranet

This has now been updated to "Ba-SIS Community" :)


module suggestion: firefox history/bookmarks/etc.

I think a module for accessing Firefox data would be very useful.
This documentation on the Mozilla website details how the data is stored.
I am thinking that a separate script could be used to walk through that database and generate a JSON dump (similarly to how rexport works), and then an HPI module could provide access to that data.
I'm new to this project so I am not yet really familiar with how modules work, but when I have time I will attempt it and submit a PR.

Oh, it looks like one of the contributors to this repo @seanbreckenridge has already done this!
I wonder if there is already a corresponding HPI module or does it still need to be written?

I personally dont use bookmarks in the browser (just have a textfile with a script to open stuff), so I haven't written anything to parse that yet.
Otherwise yeah, ffexport lets you export history, have a script here that saves my history sqlite file every couple weeks.
The my.browsing file here uses parts of ffexport to load the data in; it also copies the live history database when computing my so it includes any backups and the current history.

Just as an update, I've since converted that into browserexport, which supports reading history from:

Firefox (and Waterfox)
Chrome (and Chromium, Brave, Vivaldi)
Safari
Palemoon

If you wanted to use this, you could install my HPI modules alongside this repository (see here)
Run hpi module install my.browsing to install dependencies
setup a config block in your config file like:
# uses browserexport https://github.com/seanbreckenridge/browserexport
class browsing:
    export_path: Paths = "~/data/browsing"

    # additionally, read use my active firefox database
    from browserexport.browsers.firefox import Firefox

    live_databases: Paths = Firefox.locate_database()

Then its just:
[ ~ ] $ ipython

In [1]: from my.browsing import history

In [2]: visits = list(history())

In [3]: len(visits)
Out[3]: 390621

[ ~ ] $ hpi query --limit 1 my.browsing.history
[{"url":"https://duckduckgo.com/?q=Brave+Verified+sites&t=brave","dt":"2020-07-21T00:11:23.544069+00:00","metadata":{"title":"Brave Verified sites at DuckDuckGo","description":null,"preview_image":null,"duration":null}}]

That's great, thanks!
I'll experiment with hooking it up to cachew, and definitely would be up for using it in Promnesia!

Sounds good - I think I already have it hooked up to cachew, unless you mean something different.
Only thing missing is the FireforMobile Browser/logic, need to export a db from my (now rooted) phone, look at the browser source in promnesia and add that, then will see if I can replace that with a PR

Ah -- by cachew support, I meant 'incremental' caching, so ideally if you add a new database, you'd ideally just 'merge' it in with the previously cached results.. kind of what the madness here was achieving, but without the madness :) https://github.com/karlicoss/promnesia/blob/ea9d9ef8e654c9daee7f7fb1ac458d586f8d4393/src/promnesia/sources/browser.py#L50-L51

@redthing1 browser history has a module here now; see [here}(https://github.com/karlicoss/HPI/blob/master/doc/MODULES.org#mybrowser) to set it up
If bookmarks from the databases is something you're still interested in, feel free to create an issue here


bun-baseline: init at 0.7.0

Description of changes

bun-baseline is a build of the bun runtime designed for CPUs without AVX2 instructions
Homepage: https://github.com/oven-sh/bun
Most of the code is from https://github.com/NixOS/nixpkgs/blob/nixos-22.05/pkgs/development/web/bun/default.nix
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@mathletedev This does not conform to the CONTRIBUTING.md guidelines. Even as of the time of making the PR, it seems the commits are incorrectly formatted.

@SuperSandro2000 Sorry about the trouble; this is my first time contributing. Does the new commit work?

yeah, that looks good

@SuperSandro2000 Sorry about the trouble; this is my first time contributing. Does the new commit work?

Are these builds not still from binary packaging? Is it not possible to perform the baseline build?

My bad, I assumed the nix script from the non-baseline Bun package built from source. I use the packaged releases of Bun on my own machine, which has worked great for development, but I haven't really dabbed in building it. I don't have the experience, so if it is necessary to build this from source, I can close this PR. I apologise for the confusion. Have a wonderful day!

@GrahamcOfBorg build bun-baseline

does it make sense to require this to be built from source?

Yes, if it is possible we want to build from source.

It seems to me perhaps that in the future, the Bun derivation should instead be setup to produce a baseline and non-baseline derivation, since the build process for the two might be very comparable.

I am not sure what do you mean.

It seems to me perhaps that in the future, the Bun derivation should instead be setup to produce a baseline and non-baseline derivation, since the build process for the two might be very comparable.

I'm  saying that bun (the existing derivation) and bun-baseline (this derivation) would both build the exact same codebase. Currently neither of them build anything, they just download and install a prebuilt binary executable. The reason for bun-baseline to exist, is so that bun can run on earlier x86-64 CPUs, since the most recent compiled version would be using a set of features that older CPUs would not support.
Having two distinct derivations seems a bit overkill to me, when in reality it's (more or less) a matter of building bun with zig normally, or with the CPU model specified as baseline.  To be clear, I have not looked into the bun-baseline project to see if there are any additional patches applied to it, but given that the bun upstream codebase already has checks for this baseline compilation, I would expect not.

Having two distinct derivations seems a bit overkill to me, when in reality it's (more or less) a matter of building bun with zig normally, or with the CPU model specified as baseline. To be clear, I have not looked into the bun-baseline project to see if there are any additional patches applied to it, but given that the bun upstream codebase already has checks for this baseline compilation, I would expect not.

That sounds like a great idea! I initially wanted to modify the existing bun derivation, but I didn't know how to check the CPU model during compilation. If someone is more experienced with Nix, I think that approach would be better.

Having two distinct derivations seems a bit overkill to me, when in reality it's (more or less) a matter of building bun with zig normally, or with the CPU model specified as baseline. To be clear, I have not looked into the bun-baseline project to see if there are any additional patches applied to it, but given that the bun upstream codebase already has checks for this baseline compilation, I would expect not.

That sounds like a great idea! I initially wanted to modify the existing bun derivation, but I didn't know how to check the CPU model during compilation. If someone is more experienced with Nix, I think that approach would be better.

You may need to do some experimentation with this, but as far as I can tell, it's a matter of using zig build vs zig build -Dcpu=baseline. I could well be wrong though, as I have no real way to test if that would produce a binary that runs on older hardware.
From upstream build.zig:
...
        const is_baseline = arch.isX86() and (target.cpu_model == .baseline or
            !std.Target.x86.featureSetHas(target.getCpuFeatures(), .avx2));
...

Any update on this? I really need bun natively on my old pc 😅

Any update on this? I really need bun natively on my old pc 😅

You can still derive from the source commit that this PR is based upon and get the binary variant. But it won't exist for any longer than this PR, if that.
@mathletedev have you had the option of looking into this since?

Should we close this PR?


Reportable attributes of ESP32-h2 zigbee thermostat cluster (TZ-694)

Hi
I am trying to build ESP32-h2 based zigbee thermostat and connect it with zigbee2mqtt coordinator. The question is: how to make the thermostat attributes to be reportable, for example, SYSTEM MODE? Could you please give some code example how to do it? Thanks

@ak201290 ，
The thermostat and temperature sensor device examples have been tested internally and will be made available within 1 week.

Thank you very much

@ak201290 The thermostat example is available here: https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/esp_zigbee_HA_sample/HA_thermostat

Thank you very much


"No download found" error should avoid debug representation

E.g., given cargo run -- run -vv --preview --isolated --python 3.12.4 python -V:
error: No download found for request: PythonDownloadRequest { version: Some(MajorMinorPatch(3, 12, 4)), implementation: Some(CPython), arch: Some(Arch(Aarch64(Aarch64))), os: Some(Os(Darwin)), libc: Some(None) }

We should never throw this error here either, e.g. when find_or_fetch is called if no download can be found we should use the MissingPython case. We could add a special error case noting that we could not find the interpreter on the system or as an available download if we want to note that we looked for a download.

Okay got it, makes sense.


[move-compiler]Support CRLF as newline for Move files (#90)_46

Motivation
Support CRLF as newline for Move files
Validate crlf in source
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
move-ir-compiler

test case

language/move-ir-compiler/transactional-tests/tests/parsing/crlf.mvir

run test

cd language/move-ir-compiler/transactional-tests && cargo test
move-compiler

test case

language/move-compiler/tests/move_check/parser/newline_crlf.move

run test

cd language/move-compiler && cargo test

/canary

:sunny: Canary successful

/land


fix(swagger): fix resolved path in windows OS context

Closes: #2692

:tada: This PR is included in version 7.68.5 :tada:
The release is available on:

v7.68.5
GitHub release

Your semantic-release bot :package::rocket:


Font loading support

Supported formats:

ttf
otf

Methods' signature proposal:
Font Resources.LoadFont(string path, float size)

Task done, method signature as expected.

Task done, method signature as expected.


CBORObject to JSON String difficulties

When converting a CBORObject to a JSON String, strings consisting of hexadecimal bytes transform to some weird strings in the JSON. I noticed that changing the JSONOptions doesn't really do much and the code just looks for tags in the respective inner CBORObjects.
h'796257F1EFF073C1A30AB990EA3C8A8BEF607D46D20FA5D053DB743081215C2E'
transforms to "eWJX8e_wc8GjCrmQ6jyKi-9gfUbSD6XQU9t0MIEhXC4" regardless of the JSONOptions.
Am I doing something wrong or does the issue lie within your code?
Edit: I noticed that when I exchange _ and - with / and +, it becomes a legitimate Base64 decoding. Is there any reason you use _-?

The behavior you describe is documented in the ToJSONString(JSONOptions) method:

Byte strings are converted to Base64 URL without whitespace or padding by default (see section 4.1 of RFC 7049). A byte string will instead be converted to traditional base64 without whitespace and with padding if it has tag 22, or base16 for tag 23.

Base64url is slightly different from traditional Base64 in the manner you found (see RFC 4648).


Increasing maximum paper length to not run into AttributeError: 'DataFrame' object has no attribute 'embeddings'

I noticed when putting a pdf with about 30 pages into the program I get the Error: AttributeError: 'DataFrame' object has no attribute 'embeddings'. I think it would be useful that for the time being that the program warns you that the text is too long and cannot be read in.
I understand that the API has a token limit but also a memory, would it be possible to expand the code to splice up longer pdfs so that it can be fed to the api bit by bit in the background.
Further I would like to know what amount of pages on average is a safe number to input for the current build, what are your experiences?

Hi @Spoot1RH I have made a major refactor of the code, fixing many issues and moving from flask to fastapi, if you are still interested please consider running git fetch to update your code to the latest version and try following the steps in the README to run the app. Thanks for trying it!
Consider using the online webapp www.dara.chat, it consists of many optimizations that are not yet public and can handle large pdfs well. Let me know if you're still having issues!


ld: library not found for -lrealm-ios

Realm pod is successfuly installed but i am always having this error while building , any solution ?

Could you please fill out the new issue template? It will help you share relevant information to help us help you. Thanks!

Goals :
my project must recognize that i have already installed realm-cocoa
Expected results :
my project should be building successfully seeing that i installed realm cocoa through cocoapods
Actual results :
ld: library not found for -lrealm-ios
Code Sample :
it's a dependency problem

@skander300 there are several items from the issue template that you forgot to include. This is necessary to help us figure out why things aren't working for you.
Please share:

Version of CocoaPods used
Version of Xcode used
Structure of your project: what kinds of targets are there, how are they interconnected, which build and link Realm?
Output from running pod install --verbose
Which version of Realm Objective-C and Realm Swift you're trying to install
Steps that we can take to reproduce this scenario on our end

@skander300 do you still experience this problem? If so please provide the info requested in the previous comment to help us identify it or feel free to close this issue.

Closing since we never got enough information from @skander300 and haven't heard back in two weeks.


FFXIV macOS 13 developer beta new crash in same zone we previously fixed

Hey Y'all:
I just installed macOS 13 today to test XIV on Mac as I usually do with betas.
We usually have users enable "modern moltenVK" for crashes in a specific zone (Azys Lla) when you load into it. This used to be mostly required on AMD GPU's on macOS  however macOS 13 on my 14" Macbook Pro the zone now crashes with both our stable and modern versions.
I switched over to the the build we tested in #1592 and it's resolved, sitting in the zone while typing this.
I don't know if this is anything that needs to be fixed on your end or not (or is a symptom of a new problem with metal changes). Just putting it out there.
I don't have all the games that @Gcenx usually tests on, but maybe they're affected too?

Can you retest using MoltenVK-v1.1.10

this one? Doesn't crash, both XOM's stable and modern version will crash guaranteed.

If stock MoltenVK-v1.1.10 works without issue that’s an XOM problem.

This is new specifically with macOS 13. This version that is linked here was the one we used to fix this crash for everyone. I think it's possibly metal 3 related?
Uploading modern.dylib.zip…

I think it’s unreasonable for Bill to fix prior releases to work on macOS 13 beta if the latest release doesn’t have any problems.


Lock Sphinx version to <2.1

Ref: https://github.com/Cornices/cornice.ext.sphinx/issues/22

@sayanarijit: polish&merge or close the PR please.

Closing this for now.


Unable to authenticate

I registered an application on unsplash.com, and it associates with following information
Application ID
Access Key
Secret key
Redirect URI
I tried to match the above information to the arguments as follows
client_id = "Application ID"
client_secret = "Secret key"
redirect_uri = "Redirect URI"
code = ""
auth = Auth(client_id, client_secret, redirect_uri, code=code)
api = Api(auth)
However, I am getting Error message (1) if I use Access Key as "code", and getting Error message (2) if leaving "code" as none.
Error Message (1)
Unsplash Authentication Error: (invalid_client) Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.
Error Message (2)
OAuth error: The access token is invalid

Hey @coolbunnyx ,
did you fix this problem because I am having the same issue?


Innershiv not working w/ jQuery Templates

I ran across an issue where the template that was getting rendered and appended to an element, but was not displaying at all. I resolved it by adding this code before the html replace.
div = div.cloneNode(true);

Why does this work, I'm not exactly sure, but it did the trick.

Thanks for the extra research on this. A new version of html5shiv has been released which patches for the innerHTML issue in a way that doesn't require you to use a wrapper method or hack libraries like jQuery, so innerShiv itself has been retired. The new html5shiv is here:
http://code.google.com/p/html5shiv/


[Live] button doesn't show up if config doesn't have a host property.

Description
in the business-website repository, the config didn't have a host property,
and then the Live button is missing:

workaround
execute the following in your console:
hlx.sidekickConfig.host='www.adobe.com'; hlx.initSidekick(); delete hlx.sidekick; hlx.initSidekick()

For legacy Helix projects, this is by design, because the sidekick couldn't just presume that an outer CDN had been set up. But with Helix 3, we always have a *.hlx.live site available, so the sidekick could show the Live as well as the Publish button even if host is missing.

:tada: This issue has been resolved in version 3.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


tolerate empty .kubeconfig files

Fixes #4658.
Empty kubeconfig files produce an error because DecodeInto rejects empty input.  In the case of an empty .kubeconfig file, it makes sense to continue merging and loading other .kubeconfig files and simply accept that current .kubeconfig is empty.

@googlebot cla:yes!  Still covered by the Red Hat CLA.

@deads2k fighting with a robot is futile :package:
LGTM, restarted the build and will merge if green. If not, I'll let you know :)


Decode Mode improvements

Decode the original value in decode mode.
 We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.gnuhpc seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Decode the original value in decode mode.
Do it in parallel

====Test====

$ ./redisshake -conf ../RedisShake-1/conf/redis-shake.conf -type decode

2021/06/08 13:02:56 [WARN] source.auth_type[auth] != auth
2021/06/08 13:02:56 [WARN] target.auth_type[auth] != auth
if you have any problem, please visit https://github.com/alibaba/RedisShake/wiki/FAQ
2021/06/08 13:02:56 [INFO] redis-shake configuration: {"ConfVersion":1,"Id":"redis-shake","LogFile":"","LogLevel":"info","SystemProfile":9310,"HttpProfile":9320,"Parallel":32,"SourceType":"standalone","SourceAddress":"<IP_ADDRESS>:20441","SourcePasswordRaw":"","SourcePasswordEncoding":"","SourceAuthType":"auth","SourceTLSEnable":false,"SourceRdbInput":["/home/gnuhpc/dump.rdb","/home/gnuhpc/dump2.rdb","/home/gnuhpc/dump3.rdb","/home/gnuhpc/dump4.rdb"],"SourceRdbParallel":4,"SourceRdbSpecialCloud":"","TargetAddress":"<IP_ADDRESS>:20551","TargetPasswordRaw":"","TargetPasswordEncoding":"","TargetDBString":"-1","TargetAuthType":"auth","TargetType":"standalone","TargetTLSEnable":false,"TargetRdbOutput":"/home/gnuhpc/rdbdecode","TargetVersion":"","FakeTime":"","KeyExists":"none","FilterDBWhitelist":[],"FilterDBBlacklist":[],"FilterKeyWhitelist":[],"FilterKeyBlacklist":[],"FilterSlot":[],"FilterLua":false,"BigKeyThreshold":524288000,"Metric":true,"MetricPrintLog":false,"SenderSize":104857600,"SenderCount":4095,"SenderDelayChannelSize":65535,"KeepAlive":0,"PidPath":"","ScanKeyNumber":50,"ScanSpecialCloud":"","ScanKeyFile":"","Qps":200000,"ResumeFromBreakPoint":false,"Psync":false,"NCpu":0,"HeartbeatUrl":"","HeartbeatInterval":10,"HeartbeatExternal":"","HeartbeatNetworkInterface":"","ReplaceHashTag":false,"ExtraInfo":false,"SockFileName":"","SockFileSize":0,"FilterKey":null,"FilterDB":"","Rewrite":false,"SourceAddressList":null,"TargetAddressList":null,"SourceVersion":"","HeartbeatIp":"<IP_ADDRESS>","ShiftTime":0,"TargetReplace":false,"TargetDB":-1,"Version":"$","Type":"decode"}
2021/06/08 13:02:56 [INFO] decode from '[/home/gnuhpc/dump.rdb /home/gnuhpc/dump2.rdb /home/gnuhpc/dump3.rdb /home/gnuhpc/dump4.rdb]' to '/home/gnuhpc/rdbdecode'
2021/06/08 13:02:56 [INFO] Aux information key:redis-ver value:6.0.1
2021/06/08 13:02:56 [INFO] Aux information key:redis-bits value:64
2021/06/08 13:02:56 [INFO] Aux information key:ctime value:1623077900
2021/06/08 13:02:56 [INFO] Aux information key:used-mem value:824064
2021/06/08 13:02:56 [INFO] Aux information key:aof-preamble value:0
2021/06/08 13:02:56 [INFO] db_size:2 expire_size:0
2021/06/08 13:02:56 [INFO] Aux information key:redis-ver value:255.255.255
2021/06/08 13:02:56 [INFO] Aux information key:redis-bits value:64
2021/06/08 13:02:56 [INFO] Aux information key:ctime value:1622990971
2021/06/08 13:02:56 [INFO] Aux information key:used-mem value:872488
2021/06/08 13:02:56 [INFO] Aux information key:aof-preamble value:0
2021/06/08 13:02:56 [INFO] db_size:2 expire_size:0
2021/06/08 13:02:56 [INFO] Aux information key:redis-ver value:255.255.255
2021/06/08 13:02:56 [INFO] Aux information key:redis-bits value:64
2021/06/08 13:02:56 [INFO] Aux information key:ctime value:1622990971
2021/06/08 13:02:56 [INFO] Aux information key:used-mem value:872488
2021/06/08 13:02:56 [INFO] Aux information key:aof-preamble value:0
2021/06/08 13:02:56 [INFO] db_size:2 expire_size:0
2021/06/08 13:02:56 [INFO] Aux information key:redis-ver value:6.0.1
2021/06/08 13:02:56 [INFO] Aux information key:redis-bits value:64
2021/06/08 13:02:56 [INFO] Aux information key:ctime value:1623078599
2021/06/08 13:02:56 [INFO] Aux information key:used-mem value:803552
2021/06/08 13:02:56 [INFO] Aux information key:aof-preamble value:0
2021/06/08 13:02:56 [INFO] db_size:5 expire_size:0
2021/06/08 13:02:56 [INFO] decode: total = 113B -         443B [392%]  write=402           entry=4
2021/06/08 13:02:56 [INFO] decode: total = 113B -         581B [514%]  write=586           entry=6
2021/06/08 13:02:56 [INFO] decode: total = 134B -         581B [433%]  write=682           entry=7
2021/06/08 13:02:56 [INFO] decode: total = 221B -         581B [262%]  write=1690          entry=11
2021/06/08 13:02:56 [INFO] decode: done
2021/06/08 13:02:56 [INFO] execute runner[*run.CmdDecode] finished!

~$ cat rdbdecode.3
{"db":0,"type":"list","expireat":0,"key":"list1","key64":"bGlzdDE=","index":0,"value":"e2","value64":"ZTI="}
{"db":0,"type":"list","expireat":0,"key":"list1","key64":"bGlzdDE=","index":1,"value":"e1","value64":"ZTE="}
{"db":0,"type":"string","expireat":0,"key":"foo","key64":"Zm9v","value":"bar","value64":"YmFy"}
{"db":0,"type":"hash","expireat":0,"key":"hash1","key64":"aGFzaDE=","field":"f1","field64":"ZjE=","value":"v1","value64":"djE="}
{"db":0,"type":"hash","expireat":0,"key":"hash1","key64":"aGFzaDE=","field":"f2","field64":"ZjI=","value":"v2","value64":"djI="}
{"db":0,"type":"set","expireat":0,"key":"set1","key64":"c2V0MQ==","member":"s1","member64":"czE="}
{"db":0,"type":"set","expireat":0,"key":"set1","key64":"c2V0MQ==","member":"s2","member64":"czI="}
{"db":0,"type":"zset","expireat":0,"key":"zset1","key64":"enNldDE=","member":"score1","member64":"c2NvcmUx","score":1}
{"db":0,"type":"zset","expireat":0,"key":"zset1","key64":"enNldDE=","member":"score2","member64":"c2NvcmUy","score":2}

Because the key and value can be any binary sequence, if you do not print in the base64 format, garbled codes may appear in the decoding, and the final decoded file cannot be parsed.


Per-project settings should not be committed to VCS

Currently, the settings are per-project. However, the settings file cannot be committed to VCS because they contain machine-specific paths.
Maybe path variables could be used in hotswap_agent.xml to make the file machine-independent?

Hi @alshain,
Thanks for point to this issue. Just test it on the latest IntelliJ IDEA 2018.1.6 (Ultimate Edition)
Build #IU-181.5540.7, built on July 11, 2018
macOS 10.13.6
It seems that now everything is fine with path. IDEA automatically put some specific path variables e.g
<option name="agentPath" value="$USER_HOME$/Desktop/hotswap-agent-1.3.0.jar" />
or
<option name="agentPath" value="$APPLICATION_PLUGINS_DIR$/hotswap-agent-intellij-plugin/lib/agent/hotswap-agent-1.3.0.jar" />
Does it also work for you?


Ant Design 5: Upgrade Alert component

Please refer to SIP-139 https://github.com/apache/superset/issues/29268.
The Alert component should be upgraded to Ant Design version 5.
Similar work has been completed here.
When upgrading the component to Ant Design 5, please ensure to include:

Proper RTL test coverage if not present yet.
A Storybook file (if not present) or all necessary changes.
Include all relevant component options in the Storybook.
Clean up unnecessary custom styles.

When opening a PR:

Name your PR refactor({Component}): Upgrade {component} to Ant Design 5
Add screenshots of BEFORE/AFTER in your PR.
Update the project tracker when your PR is merged.
Make sure you or a committer has labeled your PR with frontend:refactor:antd5.

Hey @geido I would love to work on this

Hello @fardin-developer feel free to work on issues if you like. However, to be eligible for the Preset bounties, you should be assigned by a bounty manager. It's all explained n the Preset Bounty Program Contribution Guide. Thank you!


feat: updates partition branch

Removes the installation of mpi and dask_mpi from the singularity container
Renames staging directory to output_directory since that field is required by the parent class
Gets rid of the temp classes like SmartspimJobSettings2
Updates partition list function
Updates the run_job function to return a JobResponse

Things to do:

Update the tests and docs
Remove unused code
Add step to upload the data to s3 and remove the staging folder if config is set

This could probably use another round of cleaning up the tests and documentation. Let's merge it in for now so I can test out the airflow integration.