Problem running script

I can't get this to run with the latest version of Automate 2024.3 (Patch 3).
I have obtained the Client ID and Bearer tokens from the developer tools in a web login.  Below is how I ran the command and the output.  The only difference is the client ID and bearer token have been replaced with random value's and the base URL I used points to the Automate server where HTTPS access is valid
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token 'bearer Xn9krbN7QfCmYLdJJ88P9w==' --base_url 'https://changed.com' --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: Xn9krbN7QfCmYLdJJ88P9w=='
If I remove the word bearer from the bearer token I then get the following where the URL looks to be single quoted incorrectly?
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token 'Xn9krbN7QfCmYLdJJ88P9w==' --base_url 'https://PrivateAndPublicURL.com' --output_file 'cwa_passwords.csv'
Traceback (most recent call last):
File "C:\Users\Michael\Downloads\CW_Automate_PW_Extractor.py", line 21, in
cwclientids = requests.get(clientsurl, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\sessions.py", line 697, in send
adapter = self.get_adapter(url=request.url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\sessions.py", line 794, in get_adapter
raise InvalidSchema(f"No connection adapters were found for {url!r}")
requests.exceptions.InvalidSchema: No connection adapters were found for "'https://PrivateAndPublicURL.com'/cwa/api/v1/clients?pageSize=-1&includeFields=Name&orderBy=Name%20asc"
Any suggestions?   I am IT generalist with coding not my strong suit
Time based MFA is enabled on my login - which I believe has to be these days.  Could this be a factor?

Thanks for reaching out. I wonder if calling the script without quotes around the base_url would make a difference? This error typically means that the requests library can't parse the protocol/URL properly and it does seem like the base part of the URL here is being single-quoted.
I will take a look later today to see if I can refactor things a bit to be more reliable. I am much better at writing reliable Python now than I was back when I first wrote this thing 😅

Thanks Matt for looking into this
I just tested it without quotes around it like you suggested.   It gave the following (I'm running out the door so didn't check to see if the bearer token or client id's had changed in the browser):
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token 'Xn9krbN7QfCmYLdJJ88P9w==' --base_url https://changed.com --output_file 'cwa_passwords.csv'
Traceback (most recent call last):
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json_init_.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Michael\Downloads\CW_Automate_PW_Extractor.py", line 22, in
cwclientids = pd.DataFrame(cwclientids.json())
^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Also the first "B" in "Bearer xxxxxxxxx" is supposed to be capitalised I think? This is incorrect in the script's help text for that arg

Hey Matthew.  I have tried a number of variations that still unfortunately didn't work with it not recognizing the bearer token:
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token 'Bearer QvUrXnGiDECLLIYXhDpKXA==' --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: QvUrXnGiDECLLIYXhDpKXA=='
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token 'bearer QvUrXnGiDECLLIYXhDpKXA==' --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: QvUrXnGiDECLLIYXhDpKXA=='
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token ''bearer QvUrXnGiDECLLIYXhDpKXA==' --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: QvUrXnGiDECLLIYXhDpKXA=='
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token bearer Xn9krbN7QfCmYLdJJ88P9w== --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: Xn9krbN7QfCmYLdJJ88P9w==
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token Bearer Xn9krbN7QfCmYLdJJ88P9w== --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
usage: CW_Automate_PW_Extractor.py [-h] [--clientid N] [--bearer_token N] [--base_url N] [--output_file N]
CW_Automate_PW_Extractor.py: error: unrecognized arguments: Xn9krbN7QfCmYLdJJ88P9w==
If I get rid of the bearer before the token it then gives - does this mean it's getting further?:
python CW_Automate_PW_Extractor.py --clientid '1a8c3e7f-2b1d-4e9a-8f6c-9d0e0adcc8e7' --bearer_token Xn9krbN7QfCmYLdJJ88P9w== --base_url https://PrivateAndPublicURL.com --output_file 'cwa_passwords.csv'
Traceback (most recent call last):
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json_init_.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Michael\Downloads\CW_Automate_PW_Extractor.py", line 22, in
cwclientids = pd.DataFrame(cwclientids.json())
^^^^^^^^^^^^^^^^^^
File "C:\Users\Michael\AppData\Local\Programs\Python\Python312\Lib\site-packages\requests\models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for the script Matthew!  Can confirm still working.
mOoisaCoW, I was having same issues you were, but it ended up just needing to quote the bearer, and remove the ' from the elements.   Below worked for me, (changed values obv)
py c:\CW_Automate_PW_Extractor.py --clientid abcdefg --bearer_token "bearer abcdef==" --base_url https://test.test.com --output_file 'cwa_passwords.csv'

Thanks for the script Matthew! Can confirm still working.
mOoisaCoW, I was having same issues you were, but it ended up just needing to quote the bearer, and remove the ' from the elements. Below worked for me, (changed values obv)
py c:\CW_Automate_PW_Extractor.py --clientid abcdefg --bearer_token "bearer abcdef==" --base_url https://test.test.com --output_file 'cwa_passwords.csv'

Much appreciated @imamuppet     I have confirmed that worked perfectly for me too!     Thank you for the script @matthew-hoad
For anyone else I found it easiest to get the bearer_token and clientid using firefox's developer tools - plus I haven't tested but the quotes on the output file are probably not needed as they get written to the file name.


x/build/version: add released Go versions

x/build/version is an wonderful tool for easily running different Go versions. However, it only supplies the betas and rcs -- not released versions. I often need to check things against different released versions (especially when I'm running some tip build day-to-day).
How about adding released major/minor versions as well?
/cc @broady @bradfitz
If you're okay with it, I can send over a CL with all the released versions since, say, 1.8.
(I could of course host arbitrary versions myself but I figured that this would be broadly useful.)

china GFW don't see

@cespare, sounds good.

Sounds good to me, too. What do you think about graduating it to its own x/
subrepo?
golang.org/x/version/go1.9.2
Or if we want to be very aggressive, golang.org/version/go1.9.2 or
golang.org/v/go1.9.2
Happy to backfill the versions (but it's a nice project for a new
contributor)
On Thu, Dec 21, 2017, 12:35 AM Brad Fitzpatrick<EMAIL_ADDRESS>wrote:

@cespare https://github.com/cespare, sounds good.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/23207#issuecomment-353262423, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABhlkWx4itRVQuOZHUZhzjvSYrJI6S5ks5tCe4wgaJpZM4RJWUA
.

I like /v/. File a proposal, or proposal-ify this bug?

I also run tip, and I keep the latest stable, 1.9.x (installed via the distro's package manager), to bootstrap it and to test bugs. However, as @cespare says, this makes it tricky to also keep older or other specific versions of Go at the same time.
Being able to "go get" 1.8.x would be great.

I mailed a CL and opened #23223 for the /v proposal.
Is there some kind of release checklist where we should add an entry for creating a new version file in this project?


Auto triggering and forced photometry improvements

auto-triggering handles existing requests in a better way, able to deduplicate better based on different observation_types (and observation_choices) from the requests' payloads.
we noticed in prod that forced photometry from IPAC included some duplicate entries. These changes implement a more fool proof logic to avoid concurrency issues when updating an object's fp_hists entry.

@nabeelre


Store version ranges

To support vulnerabilities that impact or fix a package version range, we would need to store that data.
In addition to that, we would also store the relationship between vuln and package for every known packages at the time we create or update a vuln.
This is follow up of #119

From dupe 248:

#65 and #84 don't provide concrete versions hence we need to store version ranges for that we must first improve the data models

Context
Security advisories as a part of convention provide patched/vulnerable packages using a version range. For eg ruby provides this https://github.com/rubysec/ruby-advisory-db/blob/6efbdb053cbe41e55f435ddee25a1562fb73f3f2/gems/actionpack/CVE-2012-1099.yml#L23
When an advisory provides such version ranges we in ideal case want to convert the version range into a discrete set of versions, ie "resolve the range".
We do this by

Obtaining all the version released till date of the given package by calling some API. In this case the endpoint will be https://rubygems.org/api/v1/versions/actionpack.json .

Now we classify the versions into two groups. a. Satisfies the range b. Does not satisfy any range.  And then using some logic a group packages are either vulnerable or patched  while b group packages have opposite vulnerability status than the a group ones.

The actual problem :
In some cases there is no API to carry out step 1 . ie Version ranges can't be resolved into discrete versions.  We want some way to store such data in a similar manner when we have discrete versions.  Eg https://security.gentoo.org/glsa/202009-18

Maybe it is not necessary to require that version ranges should be resolved a-priori (that is, resolved to generate a finite set of existing artifacts); they could be used to determine a-posteriori whether or not a given artifact is in the range or not. The advantage of the latter method is that you would not need the API to determine what exists.
In practice though, one needs to enforce some limits on how to interpret intervals that are open-ended (for example, version 2.2 and up).
One way could be to allow only the last segment to vary; for example:
2.2 and up --> 2.2, 2.3, 2.4,....... (but not 3.0)
2.2.1 and up --> 2.2.1, 2.2.2, 2.2.3 (but not 2.3.x)
3.0 and up --> any 3.x (but not 4.x, 5.x etc)
Would this make sense? It's a compromise, this still requires enumerating a few intervals to achieve the correct semantics, but at least it is simple, hopefully easy to grasp, and quite flexible to cover the large majority of cases.
 A more formal way of allow only the last segment  is to use the pessimistic-operator https://thoughtbot.com/blog/rubys-pessimistic-operator . There's tooling for that alright.
Unrelated to this :
I actually proposed something similar which was to  avoid resolving ranges entirely and store them directly in DB (you can find the convo with @haikoschol  and @pombredanne in the chat if you scroll wayyyy up). We rejected the proposal primarily because  assuming versioning format is a bad idea. My current opinion is to use ranges as a last resort/fallback.
Primary motivation to store ranges ATM is avoid losing data from places like https://security.gentoo.org/glsa and then have something to fallback on when some specific version is not present in our data.

@sbs2001 I think the pessimistic operator (which I ignored, thanks for the pointer) describes exactly the semantics I had in mind. Re: backports: I am not sure I understand what you mean; in any case I would stay away from using wallclock time (as in released-before, or released-after) when determining if a version is "after" or "before" another: I guess what matters are version identifiers: for sure 3.1 is after 3.0; but is 2.1 after 3.0? maybe, or maybe not, we need a separate interval expression for 2.x
Basically, if a fix of, say, version 3.1.1 is then backported to, say, 2.1.14, what we would have to do is to also specify 2.1.4 and subsequent as fixed, in a separate (extended-)purl.

@sbs2001 you wrote:

I actually proposed something similar which was to avoid resolving ranges entirely and store them directly in DB (you can find the convo with @haikoschol and @pombredanne in the chat if you scroll wayyyy up). We rejected the proposal primarily because assuming versioning format is a bad idea. My current opinion is to use ranges as a last resort/fallback.

Do you mind digging this up and pasting the chat log in a comment here?

For reference there is a related Package URL PR by @david-a-wheeler at https://github.com/package-url/purl-spec/pull/93 that I need to reply to and tickets at https://github.com/package-url/purl-spec/issues/66 and https://github.com/package-url/purl-spec/issues/84

Here are some thoughts and background rehashing for reference:
Context
There is no (mostly) universal syntax for version ranges and there is no (mostly) universal ways to compare two versions. Each package type may define their own syntax and semantics. For instance:

Rubygems https://guides.rubygems.org/patterns/#semantic-versioning
node-semver as used for npms https://github.com/npm/node-semver#ranges
Apache maven http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html
Python https://www.python.org/dev/peps/pep-0440/
Debian and Ubuntu https://www.debian.org/doc/debian-policy/ch-relationships.html
RPM distros https://rpm.org/user_doc/dependencies.html#versioning and https://fedoraproject.org/wiki/Archive:Tools/RPM/VersionComparison
Perl https://perlmaven.com/how-to-compare-version-numbers-in-perl-and-for-cpan-modules
and of course NVD CPEs https://nvd.nist.gov/General/News/CPE-Range-Notification

Problem
Version ranges are useful because they can help to map a future, not-yet-known package version to a known vulnerability impacting it if that package version is within that range.
Some solution elements
There are a few things to consider:

in all cases storing version ranges when available in a vulnerability is a useful data point
since there is no universal syntax and algorithm for version comparison we could either:
2.1 define a mostly universal syntax for ranges (as part of Package URLs) and package-specific way to normalize to that syntax.
2.2 use a package-specific syntax and do not normalize it
regardless of the syntax selected, the semantics of versions comparison would need to be package type-specific at best to be correct, and in some cases they may be specific to  package instance e.g. there would be a collection of algorithm to choose from with type defaults and possibly an override at a package level ( and a package-level version scheme feels rather contrived)

As for the problem at hand here:

We want to store the versions range
We want to store concrete real relationships between a package version and a vulnerability. This matters because storing a version range only (e.g. potential relationship) may need to be overridden. Also it allows us to navigate the graph of relationships between packages and vulnerabilities efficiently. This means that each time we add a new vulnerability we need to resolve a possible range to a list of concrete known package versions.
Yet at the same time, we do not know yet about future versions (or may not be up to date about all the known version of a package just now) so we would also need a way to resolve any version that would not be found as stored in the DB against version ranges.

So in recap IMHO we should ideally:

store version range
store concrete relationships
resolve ranges on create or on access or on query either using a list of known versions or without that list

@pombredanne - thanks for the excellent list of examples! That at least gives us specific examples to compare.

@david-a-wheeler frankly I wished everyone would use semver ;)

@pombredanne

Do you mind digging this up and pasting the chat log in a comment here?

Here are somerelevant messages regarding that matter. You can search gitter   using this and read the whole thing there :)
Shivam Sandbhor @sbs2001 Jan 31 08:33

This will need us to map the vulnerabilty to packages with the 3 relationships(affected version range,unaffected version range,fixed version range) . We will just query the package, and check if the version we have matches any of the range in the relationships.

@haikoschol sorry for the vague diagram. Basically we will be having 3 tables.

1st table with 2 columns which would be 'id' and 'package name'. This table will have just the package name not the version , so for eg ffmpeg will get to occupy only 1 row in this table, even though they have like 100 different versions . Let's call the id of package as 'pid'

2nd table will have 2 columns: 1st for id and 2nd for the vulnerability name for eg 'CVE-XXXXXXXXX'. Let's call the id of vulnerability as 'vid'

This is the relations table 3rd table will have 6 columns ,explained as below:
1 This column is basically a foreign key, it has the 'pid' of the corresponding package
2.It is a Foreign key 'vid' of corresponding vulnerability id
3 Unaffected version range of the package for the package with id 'pid' and vulnerability 'vid' .
4.Affected version range for 'pid' and 'vid'
5.Patched version range for 'pid' and 'vid'
6.Id of row
Side Note: We could break this table into smaller parts

Philippe Ombredanne @pombredanne Jan 31 00:51
. We will just query the package, and check if the version we have matches any of the range in the relationships.

that could work too, but storing ranges only means that there is no concrete relationships to actual package records?

Instead I would suggest effectively to store all the versions that are known to be impacted
AND eventually fetch all the new released versions as they are released... and while doing that do the work once to determine if they are impacted or not based on the version ranges?

Haiko Schol @haikoschol Feb 01 02:48
@sbs2001 regarding your proposed data model using version ranges: why not get rid of the relations table as well and just have a foreign key on Package together with the three version ranges in Vulnerability?
one difference between the current model and yours (with or without the relations table) is that part of the data filtering work needs to be done outside of the database. the python code gets all vulnerabilities that affect any version of a given package and has to check for each one of them whether the version the user is interested in falls in the "affected" version range

Haiko Schol @haikoschol Feb 01 02:54
for one package the list of all vulnerabilities that affect any version is probably pretty short. but we want to receive a list of packages (package URLs actually) that constitutes all dependencies for a given project.
another issue is, and i think this is what Philippe was referring to, that assuming every package we deal with uses a sane versioning scheme on which the concept of "ranges" can be applied is quite optimistic
afaik some package managers put no restrictions on the format of versions. so it's possible that we get "versions" like "bob", "jane", "alice", etc.

Haiko Schol @haikoschol Feb 01 02:59
or a project changes their versioning scheme at some point. firefox is an example of that

My thinking on this has morphed a bit since my initial comments in https://github.com/package-url/purl-spec/issues/84
My use case revolves around semver (and only semver) and it's still painful. The example: introduced in version 7.0.0 and 6.5.2 and fixed in version 7.1.1 and 6.8.12 is VERY hard to capture in a way that is easy to understand or parse.
I now plan to create a service focused specifically on PURL IDs. The PURL API will be a way to get a listing of all product names, release versions, date of release, and other metadata I find useful along the way.
The vulnerability data will list only vulnerable PURL IDs. If the version isn't listed, it's not affected. The vulnerable IDs field will be quite large in some cases, but that's OK because this data is for machines not humans.
I envision the workflow to look something like

give me a list of all products
give me a list of all versions released for product foo
Extract the PURL IDs I care about
Give me a list of all vulnerabilities affecting the following PURL IDs

Or

Give me a list of all PURL IDs affected by this vulnerability
Get a chronological list of releases
Walk the list to find the version closest to mine not affected by the vulnerability in question

As I work on this problem I have no doubt my thoughts will change again.

@joshbressers
You are not really solving the problem.

Get a chronological list of releases

I was on the same page as you until I had a chat with @pombredanne  regarding using "chronology" as a basis for version comparision :
Shivam Sandbhor
@sbs2001
Sep 29 11:59
@pombredanne FWIW if you need something universal to compare versions , I think we are looking at the wrong thing to compare for.

Instead of comparing the version numbers. It makes more sense to me to compare using the release date of whatever we are comparing. IMHO this should be easy to implement too since we have most of code to fetch package metadata at multiple places in *code projects

Philippe Ombredanne
@pombredanne
Sep 29 14:28
but what about non-linear histories? say foo 1.0 and foo 2.0 have both the same vulnerability. It is patched first in foo 1.1 and then later in foo 2.2 (which comes after foo 2.1) ?

Shivam Sandbhor
@sbs2001
Sep 29 14:33
I don't get the problem here. In this case 1.1 and 2.2 will have release date greater than the vulnerable packages.

Philippe Ombredanne
@pombredanne
Sep 29 14:34
yes but 1.1 is not a fix for 2.0

Shivam Sandbhor
@sbs2001
Sep 29 14:38
right. This fails for providing the closest fix.

And also

Walk the list to find the version closest to mine not affected by the vulnerability in question

would need some comparator function. This approach would work if you are working with just some sane versioning scheme, like semver.

@joshbressers    I am curious, how would you obtain only vulnerable PURL IDs  ?  AFAIK almost all security advisories compress those discrete set of packages into version ranges and let the consumer interpret/resolve the ranges.

Hah, I figured chronological would be a less confusing way to describe this all, I was clearly wrong :)
Let's ignore that word. What I really want is a list of releases in order. I wrongly assumed dates could do that
Here is an example
My version list in the order it was released looks like this
version = [
  '1.0.0',
  '1.0.1',
  '1.1.0',
  '2.0.0',
  '1.1.1',
  '2.1.0',
  '1.1.2',
  '2.1.1',
  '1.1.3'
]

I know there is a vulnerability in
vulnerable_versions = [
  '1.0.1',
  '1.1.0',
  '2.0.0',
  '1.1.1',
  '1.1.2'
]

So we end up with something that looks like this
version = [
  '1.0.0',
  '1.0.1', # vulnerable
  '1.1.0', # vulnerable
  '2.0.0', # vulnerable
  '1.1.1', # vulnerable
  '2.1.0',
  '1.1.2', # vulnerable
  '2.1.1',
  '1.1.3'
]

Now I can figure out the closest fix pretty easily.

@joshbressers

I am building this service for the products I work on.

neat! if you think there is some bits and data that could be useful feel free to reach out!

@joshbressers

I am building this service for the products I work on.

neat! if you think there is some bits and data that could be useful feel free to reach out!

Thanks @pombredanne!
Everything I do will end up public on github, I'll certainly be looking for honest feedback :)

I'll certainly be looking for honest feedback :)

same here! :+1:

And a few extra references to versions specs in the wild:

Gentoo https://wiki.gentoo.org/wiki/Version_specifier
Alpine linux https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/src/version.c (which might be using Gentoo conventions)
Go https://golang.org/ref/mod#versions which uses semver  with some twists on

Very interesting discussion; I have not gone through all the different version specification schemes and I am somewhat familiar with only a small subset of them, but I suspect (should I say, hope) they are all variants of a general scheme x.y.z.j.k.h where versions can be arranged in a tree with a depth d that is a small integer (typically 3 or 4), as depicted in this figure (for a subtree corresponding to a given X major release series)

(figure from : https://link.springer.com/article/10.1007/s10664-020-09830-x)
Can you show an example of versioning scheme that does not fit this (possibly naïve) generalization?

There are exceptions. Sentimenal versioning lists some examples.
In TeX and METAFONT (two tools widely used in mathematics), new versions add a new digit approaching an irrational number. The version numbers of TeX approach π (the current version is 3.14159265) and the version numbers of METAFONT approach e.
Perhaps more importantly, projects occasionally CHANGE their version number schemes. This is made famous by Bill Gates counts to 10. The Windows version numbers are (overly simplified) as 1, 2, 3, 3.1, 3.11, 95, 98, NT, 2000, XP, Vista, 7, 8, 10.
The solution used by the packaging formats rpm (for Red Hat, Fedora, CentOS, etc.) and deb (Debian, Ubuntu, etc.) is to add "epoch numbers", integers that notionally precede the "normal" version number. See the Fedora docs on this and t the Debian docs on this. Typically an epoch, if included is written as the epoch number, colon, then the "normal" version number. One quirk: in rpm, an epoch epoch number is lower than anything with a given epoch number, while in Debian an "empty" epoch is considered 0.
I think we need to at least support epoch numbers, because otherwise there's no way to handle people who change version number schemes, and that is the standard way to do it.

@copernico you wrote:

Can you show an example of versioning scheme that does not fit this (possibly naïve) generalization?

I think that your generalization works as it stands. Even if Debian and RPM packages use of epochs as pointed by @david-a-wheeler  the epoch would still fit in a tree view of the versions world as the first optional segment.
IMHO the variations are on how you would create that tree that would require to compare version and things that do change are whether:

each version segment allows strings vs. numbers
each version segment is treated as a number or as a string
if leading zeroes in a string or numeric segment are significant or not
and then there suffixes (rc1, alphe, pre, SNAPSHOT) that a certain package type may treat differently.

I cannot fathom of a (mostly) universal way to organize the tree by comparing the versions reliably (reliably being the difference between stating that a version is not vulnerable vs. vulnerable for instance e.g. rising a false negative) with a single algorithm that is not package-type specific.
The closest that would come to mind would be  @AMDmi3 's awesome https://github.com/repology/libversion which has a great doc highlighting the complexity of trying to get things right at scale https://github.com/repology/libversion/blob/master/doc/ALGORITHM.md and that support  most everything including distros versions.
And also @orsinium https://github.com/dephell/dephell_specifier  with support for Python PEP-440, Semver, Ruby, npm and Maven

I and @pombredanne   recently had a discussion regarding how to  handle version ranges of packages in the context  of vulnerablecode.
We would store concrete relationships between  packages(these include version) and  vulnerabilities the same way we are already doing.
Now coming to new things :
We would have another table  like  :
class VulnerablePackageRanges :
   vulnerability : Foreign key to vulnerability
   package : A string of package url  without the version.
   version_range:  A string containing version ranges for which the given package is vulnerable to the vulnerability

Eg value of package  could be pkg:npm/foo .
Now if a user asks for  vulnerability  status of some version of npm package foo , there would be 2 cases :
1. We already have data about the package and it's specific version. In this case we return what we know .
2. We don't have any data about the asked package in the concrete packages. In this case we would look whether there
exists  a range expression for the said package(with same name, type omit version). If yes we resolve the range and determine the vulnerability status of the
package. Else  we return empty handed .
For resolving ranges we would be using https://github.com/nexB/vulnerablecode/issues/140#issuecomment-707678291 's  2.1 point .  The universal syntax would be more or less a stripped down version of PEP 440 (this is just an experiment).
Periodically we would also fetch  all versions of packages contained in VulnerablePackageRanges  and resolve them using the already present ranges.
@pombredanne  correct me if I misunderstood you anywhere :)

@sbs2001 this makes ++ sense. To recap and reformulate my understanding this would mean:

we experiment with using a mostly universal syntax for version ranges based on the well specified https://www.python.org/dev/peps/pep-0440/#version-specifiers . This is used to store a version range as a single string
the actual comparison procedure of two versions (and the check if a version falls within a range) would be:
2.1 specific to a package type (e.g. npm, pypi, etc) ...
2.2 ... with a default if a package  does not have it (likely based on dephell or repology ways)
2.3 ... and the ability for a single package type/ns/name to override this
... though these would be refinements post experiments

And your approach boils down to going from the most to the least specific:

first search for a concrete and explicit relationship between a package version and a vulnerability
else, do a version range check between the package version and package/vulnerability/version range if any
else ...  we later could also navigate the package graph for inferences, say we know that<EMAIL_ADDRESS>and<EMAIL_ADDRESS>have the same source code and extend the search to other related package type/names

Repasting here the design for version ranges from https://github.com/nexB/vulnerablecode/issues/119#issuecomment-799365438 and updating it at the same time:
Version ranges specifier
A version ranges specifier is a string with this syntax:
<scheme>:<range>,<range>

For example:
semver:1.2.3,>=2.0.0

The <scheme> (such as semver, debian, etc.) determines how to interpret a version range and in how two versions compare as lesser or greater and if a version is within a range.

The <scheme> is followed by one or more <range> separated by a comma.

Each <range> is declared this way:

"=": Version equality operator. Implied if not present and means that a version must be equal to this value as in "=1.2.3"
"!=": Version exclusion operator. Means version should be excluded "!=1.2.3"
"<=", ">=": Inclusive range operator such as "<=1.2.3" which means all versions less than or equal to "1.2.3"
"<", ">": Exclusive range operator such as "<1.2.3" which means all versions less than  "1.2.3"

For example >=1.2.3,<2.0.0means all versions greater than or equal to 1.2.3 but less than 2.0.0

Within a range the syntax of a version such as 1.2.3 is defined by the scheme
Spaces are not significant and are removed in the canonical form: "!=1.2.3" and "! = 1.2.3" are equivalent.
Version ranges specifiers are case-insensitive and lowercased in their canonical form.
The ordering of multiple <range>s in a specifier is not significant. The canonical ordering is TBD.
A range cannot contains operator characters (><=!,*). If required (which should be rare in practice ) they need to be quoted using the URL quoting rules.
Equality = and exclusion != is based on the exact test of two lower-cased version strings and is not scheme-specific.
The <scheme> determines:

how two versions are compared as greater than or lesser.
how its version range specifiers syntax can be reduced to the simplified range specifiers syntax defined here.

The special "star range" of <scheme>:* means that any version would match this range. A star  range can only be used alone and no other range can be added. It should be used sparingly as unbounded ranges are rare and typically problematic.

Notes and caveats:

Comparing versions from two different schemes is unspecified (and typically does not make sense even though there may be some obvious similarities between the semver version of an npm and the debian version of its Debian packaging.
Schemes are related to Package URL types in the sense that each Package URL type is related to one version scheme, but multiple types can reuse the same scheme (such as semver).

Some of the known schemes and their codes are:

generic: a generic version comparison algorithm (which is TBD, likely a split on punctuation and dealing with digit vs. strings comparisons, like in libversion)

debian: Debian and Ubuntu https://www.debian.org/doc/debian-policy/ch-relationships.html

rpm: RPM distros https://rpm.org/user_doc/dependencies.html#versioning and https://fedoraproject.org/wiki/Archive:Tools/RPM/VersionComparison

ruby: Rubygems https://guides.rubygems.org/patterns/#semantic-versioning

semver: node-semver as used for npms https://github.com/npm/node-semver#ranges
is also used by Rust: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html and composer and several other

python: Python https://www.python.org/dev/peps/pep-0440/

perl: Perl https://perlmaven.com/how-to-compare-version-numbers-in-perl-and-for-cpan-modules

go: Go modules https://golang.org/ref/mod#versions which uses semver  with a twist

cpe: NVD CPE Ranges https://nvd.nist.gov/General/News/CPE-Range-Notification

maven: Apache Maven http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html

nuget: NuGet https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges
Note that Apache Maven and NuGet are following more or less a math intervals syntax as in https://en.wikipedia.org/wiki/Interval_(mathematics)

gentoo: Gentoo https://wiki.gentoo.org/wiki/Version_specifier

alpine: Alpine linux https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/src/version.c (which might be using Gentoo conventions)

Implementation
https://github.com/nexB/univers by @sbs2001 implements this spec
https://github.com/nexB/univers
Usage in VulnerableCode
Here is the design we discussed to put version ranges to use here.
One problem is that the package version ranges a vulnerability applies to may be misleading after they have been published unless they are updated. For https://github.com/openstack/ossa/commit/777e7b7a36730d031dd62439d80d4eee7379a6f6#r51222097 was last updated in 2014 and does not apply to "All versions", but really only to package versions known at the times this advisory was published.
A related problem is unbounded version ranges, or the lack of version ranges altogether, where an advisory tells when a vulnerability is fixed but not when it appeared, such as  https://github.com/mozilla/foundation-security-advisories/blob/master/announce/2016/mfsa2016-14.md
The difficulty is that we do not want to miss reporting any version that is vulnerable (a dangerous false negative) yet we do not want to pollute the reporting with package versions that are not certain to be vulnerable (false positive).
As a solution, the proposed design tries to handle these two cases:

by storing concrete vulnerability-package relationships when we are confident this relationship exists
by storing  a version ranges specifier in a vulnerability-package relationship and being able to query if a package version satisfies it and compute a confidence value in these cases (e.g. signaling a possible false positive and avoiding false negative).

For instance with https://github.com/openstack/ossa/commit/777e7b7a36730d031dd62439d80d4eee7379a6f6#r51222097 that last updated ~ 7 years ago, the confidence that it applies to a package version released in 2021 should be fairly low.
Also since confidence and version ranges specifier are stored they can also be refined and curated by hand in the future.
Therefore, in addition to concrete relationships between package versions and a vulnerability we want to store also a version range with these specifics:

A version ranges specifier is a string as defined above. Stored in PackageRelatedVulnerability

If all the versions in the range are exactly pinned/concrete version, then we would not store a range. Instead we store only the concrete relationships.

When a vulnerability is created or updated, we consider its date of creation or last update and we:

update its stored version range (string) as needed (TBD deal with overrides n the future)
update the concrete relationships with package versions (including possibly updating, creating and deleting relationships.)
This should be based on a best effort of the set of known package versions that existed as released only up to the date of creation or last update of the vulnerability.
For some corner cases, we need a special version range with the value * which means that all versions of a package are impacted. This should be used rarely as in most cases this can be instead an open range with no upper or lower bound. When have such range or unbounded ranges, we should limit the creation of a concrete vulnerability-package relationship to some fixed number of versions (TBD, possibly one year back and up to 5 versions back) to avoid creating unverified relationships

When a new package version becomes known independently of a vulnerability update or creation, we do not update or create new relationships

There is a new notion of "confidence" that we should store at the vulnerability-package relationship level. This should be maximal by default and could be overridden manually.

When querying for the vulnerabilities of a package version, we return two sets of relationships:

the relationships stored in the DB with the stored confidence, typically high confidence.
a query of potential relationships based on checking if the requested package version is within a vulnerabilty-package (PackageRelatedVulnerability)-stored version range.

The confidence values that will be returned with this query should be based on a few factors such as:

"decay"/discount based on how old the vulnerability range was last updated
and/or the time passed between the vulnerability disclosure/update and the date of the package release
and/or whether the version range is "closed" e.g. has a lower bound, and upper bound or no bound.

When storing ranges the unbound ranges are a possible source of problems as they may resolve incorrectly to version that are NOT affected by a vulnerability. To cope with this we should be able to query and find all PackageRelatedVulnerability and Vulnerability that an open e.g. that are missing a lower bound, and upper bound or have no bound to use as an input for reaching out to upstream data sources or package projects, to create a wall of shame or as an input to curation and review.
We also need to revert the changes in #436 and ensure that we effectively store all the concrete relationships as defined here.

@sbs2001 @Hritik14 I hope I captured today's chat correctly ^

Here is an example with real data:

Today, CVE-2021-foo is published and it affects the django package and these version ranges:

django <1
django 1.2> to <2
django 2.3> to <3
django 3.1> to <4

Based on this:

I can conclude that 1.3, 2.4, and 3.2 versions that exist today are vulnerable, and I would create a hard relationship they are the versions that exist at the time of the advisory publication.
I also store a version ranges spec for this vulnerability/package
other versions 2.2, 1.1, 3.0 are not marked as anything (and not even stored) since they are not impacted at all and outside of the range

Tomorrow:

There are new package releases of 1.4, 2.3, 3.3 and 3.4: they are potentially vulnerable as they are within the stored ranges spec. Yet I will NOT store a new concrete relationship (yet). Instead  a query will catch them because they are part of the range, but this is a potential issue, not a verified one.
Based on the day since the vulnerability was last updated we can apply some confidence "decay" based on time passed. Say for instance, I define that 5 years is the time for a vulnerability to decay entirely, then after a year, the confidence that this vulnerability applies to a version that matches its version ranges spec but that was not yet released when the vulnerability was last updated would be 4/5th, e.g. 80/100 as opposed to 100%.  The specifics of this are secondary and can be designed later.

The day after tomorrow:

there is a an update on the advisory: there are now fixes available in 1.5, 2.5 and 3.5. When we get the data we are:

updating both the store version ranges spec AND t
we can update these versions 1.4, 3.2, 3.3, 3.4  as vulnerable with a concrete relationship, e.g. reporting this now as as a verified issue.

So:

package releases done after a vulnerability publication/update and that  satisfy the original vulnerable ranges are NOT triggering a relationship update. They are though queried and reported.
Fix published later that updates the vulnerable ranges trigger a concrete relationship update

FYI, this is an interesting related ticket: https://github.com/CVEProject/cve-schema/issues/87

In particular this comment I posted is of relevant to this:

https://github.com/CVEProject/cve-schema/issues/87#issuecomment-904398866

Thanks for raising this, I am closing this now and I will let Philippe merge the purl vers PR https://github.com/package-url/purl-spec/pull/139 now we have something that mostly works for the version range.


Weather Card not showing icons for Dark Sky Weather component

As title - the weather card isn't showing icons for the Dark Sky Weather component, something to look into please? 👍

https://developers.home-assistant.io/docs/en/entity_weather.html#recommended-values-for-state-and-condition


Make master stable

There are a lot of features that aren't in stable yet Primarily the rev 6 naze, and a few i2c fixes.

Right, sorry I forgot how that all works... Let's release!  Do we need to do anything to test it?  (I really wish we had a fixedwing platform that we could test with)


Let players step up stairs

currently horrible implementation, test if you want to experience pain

Obsolete. We solved this by sloping everything.


Get message edit

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[x] bug (not sure)
[x] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Hi.
To being with this, im not sure if this is an issue or a needed feature, however I did read docs and could not understand the message.edited part.
When I try if(message.edited) it gave me undefined. Even though I edited the message. Im not sure if it's suppose to return a boolean.
If this feature is not available yet I would really appreciate it :)
Reproducible in:
package version: latest
node version: latest
OS version(s): every os that supports nodjs
Steps to reproduce:

Run the bot with it watching app.message
Send a message then edit it
And make it console.log message.edited

Expected result:
For it to return a boolean
Actual result:
returned undefined
Attachments:
no need

Hi @Kief5555! If you're looking to dig into messages that are edited, you can listen for the message_changed subtype of the message event, as seen below:
const { subtype } = require('@slack/bolt');

app.message(subtype('message_changed'), async ({ client, message }) => {
    console.log("Message that was edited => ", message);
});

The subtype utility is used to filter out this particular message event. The resulting message payload has a property called previous_message that contains information about the state of the message pre-edit.
There's a subsection within Listening to Events ("Filtering on message subtypes") where you can also see this in action. Details about the message_changed event can be found here.
Let us know if the above resolves the issue for you!

Hi @misscoded. Thank you very much for the answer :) my issues are now resolved


unable to select token with 4.1.0

versions:

i've been waiting for more stability from Token Attacher with D35E and latest update shows a new behaviour with an existing token in my world.

load world
select token in question
expected behaviour: able to select token (see yellow outline)
actual behaviour: unable to select token

i don't find any other tokens on the map that behave this way
this happens in a player session or the gamemaster server console
turning off Token Attacher fixes this behaviour

i watched the console and only see one strange info message, but it only when i successfully move OTHER tokens.  not sure if it means anything.  i'll let Rughalt (D35E) know as well.

sorry, forgot to add export of actor:
fvtt-Actor-meranis.210614.zip

so I checked your actor export and I don't see any token attacher related data in there. Are you sure this is the correct actor?
When you attach a token to another token then by default you're unable to select the token anymore unless you unlock the token in the attach ui. You also are able to select the token if you have the attach ui of the parent open or if you enable quick edit mode.
If you accidently deleted the parent token while you had token attacher disabled you can clear the flags of the token via macro like this token.update({['flags.-=token-attacher']:null})

yup, pretty sure that was the right one.  i have deleted the token from the map (which i could only do with the module disabled), and dragged the actor to the map again.  the new token does not exhibit this behaviour.  don't know what to suggest if i can't reproduce anymore.  close but keep an eye out i guess?

I think what happend was that you had the token attached to some parent token and while the module was disabled you deleted that parent. Because the module was disabled the data on the child didn't change so it still thought it was attached to something.


tests.cc-wrapper: add atomics test

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.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

[ ] Fits CONTRIBUTING.md.

@ofborg build tests.cc-wrapper.supported

aarch64-linux
error: builder for '/nix/store/r7n6j5m0r655jlhyn21kcchy93dawbvw-cc-wrapper-test-gcc-7.5.0.drv' failed with exit code 1;
       last 10 log lines:
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x84c): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x898): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x8b0): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-runtime.o): in function `_dl_fixup':
       > (.text+0x164): undefined reference to `__aarch64_swp4_rel'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-runtime.o): in function `_dl_profile_fixup':
       > (.text+0x410): undefined reference to `__aarch64_swp4_rel'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-sym.o): in function `do_sym':
       > (.text+0x244): undefined reference to `__aarch64_swp4_rel'
       > collect2: error: ld returned 1 exit status
       For full logs, run 'nix log /nix/store/r7n6j5m0r655jlhyn21kcchy93dawbvw-cc-wrapper-test-gcc-7.5.0.drv'.

error: builder for '/nix/store/s47sdkz4h7h0ki0jqb32qmmddjxqpiji-cc-wrapper-test-gcc-6.5.0.drv' failed with exit code 1;
       last 10 log lines:
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x84c): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x898): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: (.text+0x8b0): undefined reference to `__aarch64_ldadd4_relax'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-runtime.o): in function `_dl_fixup':
       > (.text+0x164): undefined reference to `__aarch64_swp4_rel'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-runtime.o): in function `_dl_profile_fixup':
       > (.text+0x410): undefined reference to `__aarch64_swp4_rel'
       > /nix/store/q5ivgn27vl58cahzng642baihd9sbssp-binutils-2.40/bin/ld: /nix/store/8qcc8pnxgmskwlsbjrjn3z37sws4g0hd-glibc-2.38-23-static/lib/libc.a(dl-sym.o): in function `do_sym':
       > (.text+0x244): undefined reference to `__aarch64_swp4_rel'
       > collect2: error: ld returned 1 exit status
       For full logs, run 'nix log /nix/store/s47sdkz4h7h0ki0jqb32qmmddjxqpiji-cc-wrapper-test-gcc-6.5.0.drv'.


how can i set the text Align?

in 2.xx version ，the text  at the center of dialog, but when i update to 3.x ,the text align is left, how to set to 'center'?
thanks!

Layout, type & theme styles are moved to css from js in v3+. You can modify css styles for your needs.

thanks a lot!
maybe a option can config is better!


qt5: fix Darwin build for 5.9.2

Motivation for this change
Upgrade to 5.9.2 broke Darwin build. This PR is to fix it and make sure qt5.full can build on Darwin
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Awesome work! thanks @j-hao !


Router should not reload current route when adding routes

Solves the case when routes are added dynamically (async) on a page and the components got reloaded. Reason for this is matchedRoute returns new params causing observer RenderInstance to trigger.
Solution is to return the component while keeping the existing parameters.

Add a test that ensures that the route is reloaded once the params are changed. (Thats why i have requested changes, not because of the following question)
A question: is it wise to not make routeParams observable? I assume that in the FE we might have some places where we want to listen to the change of the routeParams, like we are listening to the change of the location

Interesting. It looks like the original behavior was not causing page update on changing params.
And about making the routeParams observable...
[mobx] Computed values are not allowed to cause side effects by changing observables that are already being observed.

but it will check the other comments in your review and see how the pieces will come together.

LGTM

LGTM too. Let's just add one test that makes sure that the router does not reinitiate the topmost state when params change.


Are we using result or Result?

While cleaning up any code that I touch, the biggest thing I notice that is inconsistent is whether result is capitalized or not.  I personally do "Result", but I'm open to whatever is preferred by the people that contributed the bulk of the code.  I just want to know so I can get it more consistent as I come across it.

I don't really have a preference, but since I spend more time writing c# than delphi these days, I tend to go with lowercase if I think about it, but often with code completion etc it ends up capitalized, I don't bother changing it. Fell free to make it consistent if you must ;)


wip: no root for wpa-supplicant

Description of changes
WIP running of wpa_supplicant using Linux capabilities rather than as a root process, as documented in https://w1.fi/cgit/hostap/tree/wpa_supplicant/README#n982 . The motivation is to reduce the privilege that this process has, in case it's exploited.
Tests are passing, but there's a few problems:

the patch is a bit gross
wpa_cli fails when executed as root
Would be nice if this was opt-in for now, if only because wpa_supplicant has all sorts of integrations (e.g. NetworkManager) that this might broken in esoteric hard-to-test ways.

@rnhmjoj thoughts on whether this change is desirable?
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@rnhmjoj thoughts on whether this change is desirable?

Of course it's desirable. Ideally no userspace service should run as root give that POSIX capabilities exist.
I would go even further and try to harder it as I'm doing in https://github.com/NixOS/nixpkgs/pull/276919 for dhcpcd.

the patch is a bit gross

Nah, we're doing much worst with wpa_supplicant already. See the AllowAuxilliaryImperativeNetworks patch.

wpa_cli fails when executed as root

This is strange... there must be something going on with the permissions on the wpa_supplcicant socket file.

Would be nice if this was opt-in for now, if only because wpa_supplicant has all sorts of integrations (e.g. NetworkManager) that this might have broken.

Well, there's no hurry: this will certainly have to wait for the 24.05 branch off.
In any case, we would need someone to test Networkmanager because, AFAIK, it's unmaintained in NixOS and I've never used it.

This makes sense: wpa-supplicant likely doesn't have access to the socket that wpa_cli (a private file owned by root?).

Yeah, strange design choice, though.
We could patch wpa_cli to create the socket with the right permissions for wpa_supplicant, but I don't think it's worth it. Still, as a breaking change it will have to be documented in the release notes.


Waiting List not working correctly for Events

Test Event 29th September 2017
https://staging.isaacphysics.org/events/29092017testevent
Capacity: 1
logged in as student1<EMAIL_ADDRESS>– booked 1 place
logged in as student2<EMAIL_ADDRESS>FULL – Waiting list is available

tried booking a place on the waiting list: ERROR Event Booking Failed
logged in as event manager<EMAIL_ADDRESS>student1 is successfully booked on workshop
student2 is successfully on the waiting list

I have implemented the fix, just needs a release.

We think this is fixed by https://github.com/ucam-cl-dtg/isaac-api/commit/891213458fcb7eff46084298dfc90d133777591f


Enable MBT on master

This PR enables model based testing on master. Some tests had to be disabled as they fail to parse because of more restrictive data structure construction and this will be addressed in a follow up PR. All of the other tests were fixed simply by adding the new total_voting_power field to validator set in testing :)
And with this, I think we're in good shape to close issue #567
(closes #567 )

[ ] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[ ] Updated all code comments where relevant
[ ] Wrote tests
[ ] Updated CHANGELOG.md

Codecov Report

Merging #686 (cc21652) into master (fa415e3) will increase coverage by 2.8%.
The diff coverage is 90.9%.

@@           Coverage Diff            @@
##           master    #686     +/-   ##
========================================
+ Coverage    39.2%   42.1%   +2.8%
========================================
  Files         190     191      +1
  Lines       12552   12600     +48
  Branches     3237    3232      -5
========================================
+ Hits         4927    5305    +378
+ Misses       7381    6949    -432
- Partials      244     346    +102

Impacted Files
Coverage Δ

testgen/src/tester.rs
65.7% <ø> (+16.8%)
:arrow_up:

light-client/tests/model_based.rs
21.4% <90.9%> (+21.1%)
:arrow_up:

rpc/src/id.rs
90.6% <0.0%> (ø)

rpc/src/error.rs
50.0% <0.0%> (ø)

rpc/src/event.rs
10.9% <0.0%> (ø)

rpc/src/client.rs
8.5% <0.0%> (ø)

testgen/src/time.rs
44.4% <0.0%> (ø)

testgen/src/vote.rs
78.3% <0.0%> (ø)

light-node/src/rpc.rs
53.5% <0.0%> (ø)

rpc-probe/src/main.rs
4.5% <0.0%> (ø)

... and 73 more

Continue to review full report at Codecov.

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

Thanks for reviewing @melekes :) I'll wait for one more approval from @romac or @andrey-kuprianov before merging!

Looks good to me! Thanks, @Shivani912 for fixing the tests!
We need to rethink the model-based testing for Tendermint-rs in general, besides fixing the current issues, and automate it further, to reduce such manual work as much as possible. Let's address this in the near future.

Awesome, that's exactly where my thoughts were going!


Add support for custom types in Doctrine

Thank you, but I found another solution which is more generic and does not require the registration of Doctrine types.
You can find the other solution in commit 00ba95366c129dff397317d0b665bef318426ed4


Add a quiet make option

Annotate all of the command invocations in the makefiles so that when developers run make --quiet V=0, it only prints the objects being touched or checks being made. Example:
$ make --quiet V=0
...

  GEN   Documentation/_build/dummy
Build finished.

To enable by default, export V=0 in your shell profile.
If you really want minimal output, it's non-intuitive but here's how:
$ make --quiet V=1

test-me-please

unrelated failure. retrying.

test-me-please

test-me-please

test-me-please

@joestringer Please rebase, the CI flake was fixed in master.

test-me-please

test-me-please

test-me-please


Adding ability to configure deposit, redeem, mint, and burn functionality during instantiation

I merged master again to resolve the conflict around the query response schema file.


Basic Auth/OAuth (Authorization header) Support?

Is there a way to add basic auth or OAuth support like CocoaHTTPServer?

@pansophy It should be possible to add these types of authorization. The web server aspect of authorization often involves headers and redirection, both are possible with Telegraph.
For example you can specify a Authorization header like this:
request.headers.authorization = "Bearer 0b79bab50daca910b000d4f1a2b675d604257e42"

And then read that header in the handler of your route:
  /// Handles the authorization request.
  private func serverHandleAuth(request: HTTPRequest) -> HTTPResponse {
    guard validateAuthorization(request.headers.authorization) else {
      return HTTPResponse(.forbidden)
    }

    return HTTPResponse(content: "Welcome, you have access!")
  }

  /// Validates the authorization header and the token it carries.
  private func validateAuthorization(_ authorization: String?) -> Bool {
    guard let authorization = authorization else { return false }

    // The authorization should look like: Bearer <token>
    let parts = authorization.split(separator: " ")
    guard parts.count == 2, parts[0] == "Bearer" else { return false }

    // The token should be valid (add your own business logic here)
    let token = parts[1]
    guard token.count == 40 else { return false }
    guard token.hasPrefix("0b"), token.hasSuffix("42") else { return false }

    return true
  }


use cohortGenerator

Is your feature request related to a problem? Please describe.
The darwin-eu standard cohort creation mechanism on a database will be using cohortGenerator package, currently this is ot the case in treatmentPatterns
Describe the solution you'd like
Removal of custom cohort generation code and standardising to using cohortgenerator package
Additional context
This is a standardisation procedure

CohortGenerator seems to have issues running in SQL Server. As reported by Cesar. I am running into the same issue when running it on Synthea.

Fixed in: https://github.com/OHDSI/DatabaseConnector/issues/215


fix casing to be consistent with other classes

:+1:

This is probably gonna confuse git checkouts on Macs but I think it is a good change anyway.
:+1:


fix instantiateMapper readerFor and writerFor class when type is a list

When json schema contains array of object and the option array-type=list is used for java
The generated Converter class contains compilation errors into instantiateMapper
    reader = mapper.readerFor(List<MyClass>.class);
    writer = mapper.writerFor(List<MyClass>.class);

instead of
    reader = mapper.readerFor(List.class);
    writer = mapper.writerFor(List.class);

@mohamedelhabib Apologies!  Could you please rebase/merge the latest master so that CI can run?

@schani done

Thank you so much!

@schani any idea when this will be release ?


Research Graphing libraries

Reference user story #17

Plotly.js library has been selected and is currently being implemented in the project.


Service name is not in the value help list

Tutorial link - https://developers.sap.com/mission.cp-starter-extensions-abap.html
Creating IAM App - Step 8  https://developers.sap.com/tutorials/abap-environment-deploy-cf-production.html,
I could not find the service name from the value help list even though it is created successfully.
Please see the attached screen shot to get clearer picture.
ServiceDefn_Missing.docx

Kindly fix.
Thanks & Kind Regards,
Anita

Labels to be added:
Scenario label: SCPTest-SCPTest-fabap
Sprint Label:
Landscape Label: trail2
Priority: High

Issue no longer reproducible.


Updating gitignore for more robust coverage

Updating gitignore for more robust coverage
Additions

Added new Compiled Source group of filetypes
Added new Package group of filetypes
Added new Logs and databases group of filetypes

Removals
None
Changes

Added .env files to Python group
Added src/vendor/ dir to Front End group
Added /dist dir to Front End group

Testing
None
Review

@Scotchester
@ascott1
@contolini
@marcesher
et al

Preview
None
Notes

All of these filetypes come from the existing cfgov-refresh project and experience updating that project with the CF generator

Other than the one comment, looks good to me. I'd like to have at least one other person weigh in before merging, though.

@Scotchester's comment makes sense to me. Otherwise, this looks great. +1 to merge

Thanks!


1.9.4 release date?

What's the anticipated release date for 1.9.4?  Would love to take advantage of the ServiceName property for ECS services.  The autogenerated names are long and ugly!

Thanks for the ping. 1.9.4 was just released.


Bug: Error when running migrate at install

PHP Version
8.1.4
CodeIgniter4 Version
4.2.6
Shield Version
Unsure how to find version
Which operating systems have you tested for this bug?
Linux
Which server did you use?
cli-server (PHP built-in webserver)
Database
MariaDB
Did you customize Shield?
No. Just getting started with install
What happened?
Tried to run step 5 of install, migrate and got this error:
PHP Fatal error:  Uncaught TypeError: CodeIgniter\CLI\Console::__construct(): Argument #1 ($app) must be of type CodeIgniter\CodeIgniter, int given, called in /home/sites.local/billing.lighthouse.local/spark on line 56 and defined in /home/sites.local/billing.lighthouse.local/vendor/codeigniter4/framework/system/CLI/Console.php:29
Stack trace:
#0 /home/sites.local/billing.lighthouse.local/spark(56): CodeIgniter\CLI\Console->__construct()
#1 {main}
  thrown in /home/sites.local/billing.lighthouse.local/vendor/codeigniter4/framework/system/CLI/Console.php on line 29

Steps to Reproduce
Ran this at the CL Prompt:
/usr/local/lsws/lsphp80/bin/php spark migrate --all
Expected Output
Files should run and create DB
Anything else?
No response

The error has nothing to do with Shield.
Try this:
https://codeigniter4.github.io/CodeIgniter4/installation/upgrade_420.html#index-php-and-spark

Thanks!


Question: Windows support in version 3.x

Is your feature request related to a problem? Please describe.
Version 2.x used to support the installation on Windows k8s clusters, since Version 3.x it seems this support has been dropped and Version 2.x is deprecated now.
Feature Description
will Windows installation be supported in Version 3.x ?
Describe Alternatives

Additional context
Current error message returned when installing version 3
nri-kubernetes v3 does not support deploying into windows Nodes.
Please use the latest 2.x version of the chart.

Priority
Please help us better understand this feature request by choosing a priority from the following options:
Nice to Have

Hi @evegaval

Hi @evegaval

Hi @evegaval

Hi @mangulonr  thanks for the response. Regarding the alpha K8s windows integration, is this completely deprecated, meaning that no more work will be done on it for example bug fixes ?

Hi @evegaval
Do you have any other question?
Can we close the issue?


Update config.schema.json

Fix Spelling error.
Add footer link to Ambient dashboard.

Thanks for this plugin. Hope you don't mind PRs. These changes are very minor. I'm just starting to play with the API though and eager to see what values can be ported into HomeKit.

@rcoletti116 thanks for catching those. my fingers were working faster than my brain when I was throwing this together ;) As to your curiosity about what values can be ported to homekit, unfortunately it looks like it is going to only be temp humidity and light levels. all of the others arent supported types. they 'could' be hacked to show up as light sensors or something of the like but that didnt feel like the way to go.

Thanks!
There is a way to use custom characteristics that can be leveraged in 3rd party HomeKit apps like Eve. The Weather-Plus plugin does this for things like wind speed, direction, etc… you can do automations and record the data history.


Problem opening file in Excel Viewer

Hi,
I've downloaded latest Excel viewer to check if generated file is recognized. It is not. Excel Viewer gives error that the file is incorrect.
File is created using RubyXL::Workbook.new.write 'text.xlsx'
Openoffice and ZohoSheet recognizes file properly.

This should be fixed in version 1.1.10

It looks like I'm having the same issue using version 1.1.10 - opening a valid excel file and writing to it again gives me
"Excel found unreadable content in "text1.xlsx". Do you want to remove the contents of this workbook? If you trust the source of this workbook, click Yes"
then
"Excel was able to open the file by repairing or removing unreadable content" on yes.
Here's the log output:
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
-<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error051680_01.xml</logFileName>Errors were detected in file 'C:\Users\Thomas\Documents\My Dropbox\test1.xlsx'-<repairedParts summary="Following is a list of repairs:"><repairedPart>Repaired Part: /xl/worksheets/sheet1.xml part with XML error. Load error. Line 2, column 459.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet2.xml part with XML error. Load error. Line 2, column 459.</repairedPart><repairedPart>Repaired Part: /xl/worksheets/sheet3.xml part with XML error. Load error. Line 2, column 459.</repairedPart></repairedParts>-<removedFeatures summary="Following is a list of removed features:"><removedFeature>Removed Feature: View from /xl/worksheets/sheet1.xml part</removedFeature><removedFeature>Removed Feature: View from /xl/worksheets/sheet2.xml part</removedFeature><removedFeature>Removed Feature: View from /xl/worksheets/sheet3.xml part</removedFeature></removedFeatures></recoveryLog>

Also - my excel file

I have more information, here's the xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="urn:schemas-microsoft-com:mac:vml" mc:Ignorable="mv" mc:PreserveAttributes="mv:*"><dimension ref="A1:B2"/><sheetViews><sheetView tabSelected="1" view="normalLayout" workbookViewId="0" zoomScale="100" zoomScaleNormal="100"></sheetViews><sheetFormatPr baseColWidth="10" defaultRowHeight="13"/><sheetData><row r="1" spans="1:2" customFormat="0" s="0"><c r="A1" s="0" t="s"><v>0</v></c><c r="B1" s="0" t="s"><v>0</v></c></row><row r="2" spans="1:2" customFormat="0" s="0"><c r="A2" s="0" t="s"><v>0</v></c><c r="B2" s="0" t="str"><v>what</v></c></row></sheetData><sheetCalcPr fullCalcOnLoad="1"/><phoneticPr fontId="1" type="noConversion"/><pageMargins left="0.75" right="0.75" top="1" bottom="1" header="0.5" footer="0.5"/><pageSetup orientation="portrait" horizontalDpi="4294967292" verticalDpi="4294967292"/></worksheet>

And I believe the cause is the self-ending sheetView:
<sheetView tabSelected="1" view="normalLayout" workbookViewId="0" zoomScale="100" zoomScaleNormal="100"/>
I have no idea how to zip my xlsx back up to test - so I'll fiddle a little longer but hopefully this give you some insight to the cause of the issue.

(Actually I just realised I've misread the tag and that's not the issue - I now have no idea but hope I've given you some ideas)

I've found the Microsoft OOXML SDK tool to be somewhat helpful in tracking down these errors.
http://www.microsoft.com/download/en/details.aspx?id=5124
Give it a shot at validating your file and it might tell you what rubyXL is doing wrong (or give you an unhelpful error message, who knows?).
I'll look at your file tomorrow, also.

Cheers, will investigate!

I'm not getting any errors from this file. Is this the one you repaired?
Also, what version of excel are you using?

Extremely sorry about the delay - this is for a client project and I was caught up in another branch the rest of the week.
Looks like this issue is only in Office 2007 - 03 and 10 (mac) are not reporting this issue, I had a look at the XML productivity tool and found some things:

I've since found I don't need to support 2007 in this instance so it's no longer an issue for me - let me know if you'd like some more information to help debug this.
Cheers for the gem btw, saved me a lot of hassle :-)

I think I'm experiencing the same issue on Mac, when I do the following:
require 'rubyXL'
workbook = RubyXL::Workbook.new
workbook.worksheets << RubyXL::Worksheet.new('pirates')
workbook.worksheets[0].add_cell(0,0,'Are great!')
workbook.write "dickerydock.xlsx"

On opening this I get:
http://d.pr/QE4r
And the recovery log says:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <logFileName>Repair Result to dickerydock 06954.xml</logFileName>
  Errors were detected in file 'Macintosh
  HD:Users:jjeffus:dev:test:dickerydock.xlsx'
  <repairedRecords summary="Following is a list of repairs:">
    <repairedRecord>Repaired Records: Worksheet properties from
    /xl/workbook.xml (Workbook)</repairedRecord>
  </repairedRecords>
</recoveryLog>

The recovered workbook has all the sheets but is missing the sheet names. Not sure what the issue is, using rubyXL 1.2.5 on ruby 1.9.2p290.


invalid multibyte character in parser at line 734

Dear Meyera,
thank you for the important package you have developed. I'm currently trying to install it, but at the very end it throws an error:
Error in parse(outFile) :
invalid multibyte character in parser at line 734
ERROR: unable to collate and parse R files for package ‘riskscorer’

removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/riskscorer’
Error: Command failed (1)

Thank you for your support.
Giacomo

Thanks for your feedback. I will fix that and update you once it should work.


[ANCHOR-360] SEP-6: Implement GET transaction(s)

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.

What
Implements the GET /transaction and /transactions endpoints for SEP-6.
Why
This is required for SEP-6 integration and e2e testing.
Known limitations
This is only covered by unit tests for now. The deposit PR will exercise these endpoints in integration tests.

Something went wrong with PR preview build please check

Reference Server Preview is available here:https://anchor-ref-pr1006.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr1006.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr1006.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr1006.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr1006.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr1006.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr1006.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr1006.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr1006.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr1006.previews.kube001.services.stellar-ops.com/


fix : added src directory path in tailwind.config.js

as the title says added src directory path in tailwind.config.js

Fixes #290

This was fixed in the latest cli. Thanks so much for your help with the PR.


Remove dependency on nose.

Mostly independent of anything outside of the standard library, except I need pytest for marking tests as slow. If these marks can be sacrificed, there would be no new dependency.

OK, no idea, what’s wrong with functional/test_regions.py::TestRegions::test_known_endpoints, but it doesn't seem like something caused by the switch from nose to pytest.

OK, this is getting really taking my time (which I don’t have). Could you just take this pull request (into separate branch I guess) as it is, and finish it according to your needs, please? Any rebasing is perfectly OK with me as long as I get at least one commit in your master branch in the end.

Alright, no worries. Thanks for you work @mcepl! I've changed to target branch to pytest_migration and we'll track the final deliverable there. We'll likely squash the commit list but maintain your original commit if that's OK. I'll leave this sitting until tomorrow and merge then if you don't have any other comments/questions.

This patch unfortunately doesn't apply anymore - even with fuzz - meaning that I currently cannot update botocore to the latest upstream version in openSUSE.

@glaubitz Wasn’t this supposed to be merged on 2020-09-02 already?

No, it was merged into boto:pytest_migration which is still a separate branch.
Your patch largely applies, but there are many new places where the old self.assertEqual, self.assertTrue and so on are being used. I already started a manual rebase but noticed the many new instances of the old asserts so I gave up because it would take several hours to get these all sorted out.

@glaubitz Couldn’t you rebase boto:pytest_migration and apply it as a patch?

I don't think it will rebase without issues. The problem is simply that there are new instances of self.assertEqual etc now.

There is nothing wrong with self.assertEqual, and when somebody doesn't bother to review and merge my patch in a year, I don't think it is my business to rebase it for them all the time.


use renamewithnetsh for nc rename

Reason for Change:
Use netsh when creating NC instead of powershell to improve overall create time.

/azp run


[ENHANCEMENT] description Card is not responsive across different screen sizes

Description of the bug
I observed that the description card below the welcome page is not responsive at least at medium screen size too.
Please add screenshots (if applicable)

Add any other context about the problem here
I would like to make the card more responsive. Please assign this task to me under GSSoC 2023
Code of Conduct

[X] I agree to follow this project's Code of Conduct

hii admin please assign this task to me under the GSSoC "23

This already fixed, but can you fix this?

or

This already fixed, but can you fix this?
or

Can you please elaborate this issue

Hi everyone :wave:
I created a new issue: #333 to elaborate more about what @vinzvinci shared. I'm closing this, follow up on #333 :)


Some nixos options are not index

I've just found in which nixos-search doesn't show all available options.
See results for compton (picom):

https://search.nixos.org/options?channel=unstable&show=services.compton&from=0&size=30&sort=relevance&query=compton
While the list options should be https://github.com/NixOS/nixpkgs/blob/da3378c4aaf2ed350ad14552558fa55bb68d96d3/nixos/modules/services/x11/picom.nix#L55-L262

The problem here is because services.comptom is an alias of services.picom. If you search for picom you will see the options.

The problem here is because services.comptom is an alias of services.picom. If you search for picom you will see the options.

just for the records this issue contains some information regarding aliases - https://github.com/NixOS/nixos-search/issues/115
Thanks for clarification @garbas

just for the records this issue contains some information regarding aliases - https://github.com/NixOS/nixos-search/issues/115
Thanks for clarification @garbas


New Cask messenger-native

Thank you for the contribution. It will be merged in the pull request referenced above due to some simple recommended alterations. Your contribution is still included (and still credited to you), with the appropriate modifications, when applicable.


what is the potential energy?

It should be around -28 units for all the configurations in figure 4.

Yes, the professor said all should be around -28 except one is around -27

it that for all the 7 configurations?

yes

Yes we I do get the potential energy value of  approx. -28.eV for both the configuration chosen.


fix: apply andrew's copy changes

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


UnicodeDecodeError when send a attachment in reply

I got UnicodeDecodeError when send an answer with an attachment (whatever file, with filenames in English) in Ticket details.

Environment:
Request Method: POST
Request URL: http://<IP_ADDRESS>:5744/tickets/30/update/
Django Version: 1.11
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.humanize',
'markdown_deux',
'bootstrapform',
'helpdesk']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/home/user/tickets/py3/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
41.             response = get_response(request)
File "/home/user/tickets/py3/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response
249.             response = self._get_response(request)
File "/home/user/tickets/py3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
187.                 response = self.process_exception_by_middleware(e, request)
File "/home/user/tickets/py3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/user/tickets/py3/lib/python3.5/site-packages/helpdesk/views/staff.py" in update_ticket
548.                 files=files,
File "/home/user/tickets/py3/lib/python3.5/site-packages/helpdesk/lib.py" in send_templated_mail
120.             msg.attach(filename, open(filefield.path).read())
File "/home/user/tickets/py3/lib/python3.5/codecs.py" in decode
321.         (result, consumed) = self._buffer_decode(data, self.errors, final)
Exception Type: UnicodeDecodeError at /tickets/30/update/
Exception Value: 'utf-8' codec can't decode byte 0xcf in position 9: invalid continuation byte

I think that it could be related with #502 and #466

Yeah there's a couple tickets with attachment issues that are works in progress :-)
Is this a new problem since we merged in #529 ?

I merged in #545 that I think might handle any leftover issues. I'm rebasing version 0.2 to require Django 1.11 to handle email attachment issues that were in Django 1.8 and messing us up. I'm going to close this ticket for now because of the PR changes, but please file a new ticket if you run into problems on helpdesk 0.2. Thanks!


Added support for Dremio with the ArrowFlight JDBC Driver

It works out of the box by just assigning the DremioDBFunctionSymbolFactory, TypeFactory, MetadataProvider etc. to ArrowFlight.
In the future, if other types DBMS accessed through ArrowFlight are to be supported, this may need to be changed.

Thanks!


Clicking a waypoint to remove it

(as a feature request) This is a pretty common interaction. Otherwise it becomes impossible to remove a waypoint right now.

Returned x for added points in geocoder https://github.com/Project-OSRM/osrm-frontend-v2/commit/0e1babf1c83e92d58dc15027414b997fb2674d3a. Originally removed when I took away the addWaypoints button. Didn't realize it removed x for all waypoints. Thanks for the catch @lbud!


MeshPhongMaterial

closes #75
This one was too easy. MeshPhongMaterial is just a data container, and WebGLRenderer will ultimately map the data to GLSL shaders.

going to check out branch and verify tests all work so i can reproduce your work. great job.

going to check out branch and verify tests all work so i can reproduce your work. great job.

:tada:


Cluster takes a few minutes to service requests when node goes down

I've setup a simple three node elasticsearch cluster.
Here is the docker-compose file:
	elasticsearch-masters:
		image: rancher/elasticsearch-conf:v0.5.0
		labels:
			io.rancher.container.hostname_override: container_name
			io.rancher.sidekicks: elasticsearch-base
			io.rancher.container.start_once: true
	elasticsearch-base:
		labels:
			elasticsearch.config.version: '0'
			io.rancher.container.hostname_override: container_name
			io.rancher.container.start_once: true
		net: "container:elasticsearch-masters"
		volumes_from:
			- elasticsearch-masters
		volumes:
			- /usr/share/elasticsearch/data
			- /usr/share/elasticsearch/config
			- /usr/share/elasticsearch/config/scripts
		image: elasticsearch:2.4.3-alpine

	search:
		environment:
			ELASTICSEARCH_HOST: es-clients
			ELASTICSEARCH_PORT: '9200'
		labels:
			io.rancher.container.pull_image: always
		tty: true
		image: test/api:1.0.186
		links:
		- elasticsearch-masters:es-clients
		stdin_open: true
		ports:
			- "9000:8080"

	kopf:
		image: rancher/kopf:v0.4.0
		ports:
			- "80:80"
		environment:
			KOPF_SERVER_NAME: 'es.dev'
			KOPF_ES_SERVERS: 'es-clients:9200'
		labels:
			io.rancher.container.hostname_override: container_name
		links:
			- elasticsearch-masters:es-clients

	elasticsearch-masters:
		scale: 3
		metadata:
			elasticsearch:
				yml:
					cluster.name: "bnf"
					node.name: "$${HOSTNAME}"
					node.data: "true"
					node.master: "true"
					network.host: "_site_"

I have three questions.

When I shut down a node, it takes a few minutes for the "search" container to connect to elastic. Is there anyway to speed up this process when a node is lost while the cluster is being reconfigured?

I'm currently testing the resilience of the cluster by setting io.rancher.container.start_once: true so when I stop a node it won't fire up again, this will obviously be removed when going live. Is there a better way to do this whereby I can turn off a node?

I'm very new to rancher and docker this is my first setup, am I going about the right way with regard to setting up an a cluster for resiliency?

I think you can config healthcheck to speed it up and you can use Evacuate before turning off a node.
Please let us know in a comment if you can still reproduce the issue, and we'll reopen it.


SqlAg & SqlReplica: Removes SQLServerNetName in favor of EndpointHostName

Pull Request (PR) description

Changes to SqlAG

BREAKING CHANGE: The read-only property SQLServerNetName was removed in favor of EndpointHostName (issue #924). Get-TargetResource will return the value of property NetName
as the default value if EndpointHostName parameter is not assigned a value.

Changes to SqlAGReplica

BREAKING CHANGE: The read-only property SQLServerNetName was removed in favor of EndpointHostName (issue #924). Get-TargetResource will return the value of property NetName
as the default value if EndpointHostName parameter is not assigned a value.

This Pull Request (PR) fixes the following issues:
Fixes #924
Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[x] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[ ] Examples appropriately updated?
[x] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

This change is

Codecov Report

Merging #938 into dev will not change coverage.
The diff coverage is 100%.

@@         Coverage Diff         @@
##            dev   #938   +/-   ##
===================================
  Coverage    96%    96%
===================================
  Files        32     32
  Lines      3515   3515
===================================
  Hits       3395   3395
  Misses      120    120

Reviewed 6 of 7 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

CHANGELOG.md, line 27 at r2 (raw file):

    of EndpointHostName ([issue #924](https://github.com/PowerShell/SqlServerDsc/issues/924)).
    Get-TargetResource will return the value of property [NetName](https://technet.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.server.netname(v=sql.105).aspx)
    as the default value if EndpointHostName parameter is not assigned a value.

This is wrong, it will always return the NetName as the value.

CHANGELOG.md, line 47 at r2 (raw file):

    of EndpointHostName ([issue #924](https://github.com/PowerShell/SqlServerDsc/issues/924)).
    Get-TargetResource will return the value of property [NetName](https://technet.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.server.netname(v=sql.105).aspx)
    as the default value if EndpointHostName parameter is not assigned a value.

This is wrong, it will always return the NetName as the value.

Comments from Reviewable

Review status: 6 of 7 files reviewed at latest revision, 2 unresolved discussions.

CHANGELOG.md, line 27 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
This is wrong, it will always return the NetName as the value.

Done.

CHANGELOG.md, line 47 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
This is wrong, it will always return the NetName as the value.

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Not able to receive the data from push notification when application is in background

When app is in background and receiving notification but when i click on that notification FCM.getInitialeNotification() method is got called but im not able to receive any data.
below is the response which is im getting from the FCM.getInitialNotification() -->
{
opened_from_tray:1,
fcm: {
action: "android.intent.action.MAIN"
},
collapse_key:"com.example",
google.message_id:"0:1535113432734484%dacdbdd9dacdbdd9",
google.priority:"high",
}

When app is in background and receiving notification
when app is live, notification goes into callback

I have same issue? I get notification data when app is running (in callback) but when app is not running and notification arrives, it shown in notification panel but data is not received in getInitialNotification() method when clicked on notification.
Please let me know how to solve this


Add public dashboard: Container images from docker.io

This PR adds a public dashboard "Container images from docker.io" for customers to track their use of images hosted on docker.io.
Context: https://github.com/giantswarm/giantswarm/issues/28933

Screenshots
From gorilla

Checklist

[x] Update changelog in CHANGELOG.md in an end-user friendly language.

This dashboard can also be tested on gorilla. Link


Deleted an irrelevant course on a book references

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[X] Read our contributing guidelines
[X] Search for duplicates.
[X] Include author(s) and platform where appropriate.
[X] Put lists in alphabetical order, correct spacing.
[X] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Could you explain why you think this is not relevant


Error while build

Addon templates were detected, but there are no template compilers registered for ember-inplace-edit. Please make sure your template precompiler (commonly ember-cli-htmlbars) is listed in dependencies (NOT devDependencies) in ember-inplace-edit's package.json.

Found similar issues on other cli may be needs fix.
https://github.com/abuiles/ember-cli-101-errata/issues/180

Info
Version
cli 0.2.7
ember: 1.12.0

@gouthamvel Thanks for reporting, I will fix this soon.

Just tried 0.0.4 of youd addon. Nice work, but not sure why you did https://github.com/anilmaurya/ember-inplace-edit/commit/e083021d750538eea578b4d8ae7f595efb0eaff3. The problem was actually fixed with https://github.com/anilmaurya/ember-inplace-edit/commit/33f5058123f784e06e05a444fc9349b4808e9a48 which relied on ember-cli-htmlbars that comes with Ember CLI. https://github.com/anilmaurya/ember-inplace-edit/commit/e083021d750538eea578b4d8ae7f595efb0eaff3 actually reintroduced the issue for me, because it removed the compiler from dependencies. If you want to use broccoli-ember-hbs-template-compiler, why not list it under dependencies instead of devDependencies?

@AW-UC https://github.com/anilmaurya/ember-inplace-edit/commit/33f5058123f784e06e05a444fc9349b4808e9a48 didn't fixed #1 for me, After https://github.com/anilmaurya/ember-inplace-edit/commit/e083021d750538eea578b4d8ae7f595efb0eaff3        it was fixed for me.
Did 0.0.4 worked for you or you had to make changes to make it work ?

@anilmaurya That is strange. Do you use latest Ember CLI? I installed the addon at https://github.com/anilmaurya/ember-inplace-edit/commit/33f5058123f784e06e05a444fc9349b4808e9a48. That works, latest release not. I can check tomorrow, what changes are need at the latest release. I guess you'll have to add everything related to template compiling to dependencies. Otherwise, those modules won't be installed on addon installation.

@AW-UC Even I thought adding ember-cli-htmlbars to dependencies instead of devDependencies will fix this error, but it didn't . I am using ember-cli 0.2.7 .

Ok, I see. You are using a quiet old Ember CLI. I recommend that you use a recent release, so that your addon development is up to date with Ember. With broccoli-ember-hbs-template-compiler you are using Handlebars instead of HTMLbars.
You are also using deprecate stuff like bind-attr or e.g. function(){}.property('property'), instead of Ember.computed('property', function(){}). If you don't adapt your code, this addon will be unusable in future Ember releases.

@AW-UC Thanks for follow up, we can keep this release for older version of ember-cli and release updated version for new ember cli version.
Feel free to contribute :smile: