Discord RPC

Is it possible to add a Discord RPC Connection? Like In-game and what skin you use etc..?

It's possible, maybe I'll add it in the future.

Unfortunately, League blocks the Discord Library Initialization, only Riot's RPC will work.


Users should be able to see package repository metadata

Overview
Since August 2016, the NuGet package manifest (.nuspec) has supported the <repository> XML element. This is an optional metadata element with two optional attributes: type and url. Presumably, the purpose of this element is to communicate to package consumers the version control type and location of the source code used to produce the package.
Currently, I see no NuGet documentation about this property and no support for it in the various NuGet UIs (Visual Studio and the nuget.org web gallery).
This metadata adds additional valuable information about a package that augments the existing <projectUrl> package metadata field. Project URL seems to me like a "product" or "company" specific website and repository URL is where the source code (and maybe even bug tracker) lives. If a project has project site that is different than their GitHub repository, this differentiation is helpful to package consumers.
This property is already widely adopted on nuget.org but is not surfaced in any UI or used for any scenario. Let's give an easy win to our package consumers!
History
As far as I can tell, the repository metadata has the following history:

2015-07-15: Repository type is added to the project.json schema (PR)
2015-07-25: the repository node is added to project.json for dnu sources (announcement)
2015-09-14: dnu sources and the repository node are removed (announcement)
2016-01-17: Repository url is added to the project.json schema (PR)
2016-04-27: Repository URL and type are added to .NET CLI under packOptions (PR)
2016-05-02: Repository fields' move to packOptions is announced (accouncement)
2016-08-12: NuGet adds <repository> to the .nuspec and to the .csproj (commit)
2016-09-22: .NET CLI migrate (.xproj to .csproj) adds support for packOptions (PR)
2016-10-03: NuGet merged MSBuild new support to dev branch (PR)
2016-06-20: NuGet gallery added schema support for repository URL (PR)

This is an odd history that indicates decent support and documentation when it was initially implemented by the ASP.NET but has since fallen to the wayside when it was adopted by the NuGet team.
Usage on nuget.org
I walked the entire nuget.org catalog (source) and gathered the following information concerning the real life usage of <repository>. This data is up-to-date as of November 1, 2017.
Some high level points about packages with <repository> metadata:

A total of 35,231 packages have been published with <repository> metadata.
There are 6,539 distinct package IDs that use repository metadata.
The first package on nuget.org to use this feature was contentful.csharp 0.5.0-alpha 🥇. This package was published on November 18, 2016.
In October of 2017, 6,381 packages were published. That's up from 6,173 in September and 5,877 in August. Usage has gone up every month since it's release!
73% of packages (25,677) have the type attribute.
99% of packages (35,006) have the url attribute. 225 don't have a url attribute.
99% of packages (34,817) have a URL value that is parsable as an absolute System.Uri. 189 are not parsable.
91% of the packages (23,362) with a type attribute have git (case insensitive).
The next most common type attribute balue is GitHub (1,977 packages).
95% of the packages (33,275) with a url attribute have "https://" URLs.
1% of the packages (331) with a url attribute have "http://" URLs.
3% of the packages (1,206) with a url attribute have "git://" URLs.

The top 10 packages that have <repository> are:

ID
Version
Downloads

Newtonsoft.Json
10.0.3
3,816,231

Castle.Core
4.1.1
918,532

Castle.Core
4.1.0
497,535

Microsoft.Rest.ClientRuntime
2.3.8
460,118

Microsoft.Extensions.Primitives
2.0.0
368,589

Microsoft.VisualStudio.Web.CodeGeneration.Tools
1.0.0
368,363

Autofac
4.6.0
359,598

Microsoft.Extensions.DependencyInjection.Abstractions
2.0.0
351,539

Microsoft.Extensions.Options
2.0.0
341,419

Proposal
Document the thing!
There is a huge variety of type and url values. We should document:

What this metadata is intended for
What values are acceptable

In my opinion we should strongly suggest http:// or https:// URLs that are intended for viewing in web browsers, as opposed to, say, .git URLs: https://github.com/NuGet/NuGetGallery.git. This allows us to make clickable links in VS or in the browser, after all.
git:// links are nice because you can probably run git clone directly on them, but this is still achievable with http:// or https:// links by just navigating there in your browser and find the inevitable "copy clone command" button (e.g. on GitHub).
Show the thing!
Let's make the repository URL clickable in the NuGet UIs!

If the repository URL is http:// or https://, show this link, just like the project URL.
An analogous change should be made by the VS client.
Thoughts?

/cc @anangaur @karann-msft @skofman1 @rrelyea

I liked this idea to showing repository urls in NuGet.org and at some point in time in VS client too. This will also help consumers to know more about the package and if anything is wrong, then directly log an issue on their respective repository instead of filling a NuGet support request.

Not to rain on this proposal, but here is an argument against adding a repository link.
In my opinion repository url was added to eventually get to a Switch PackageReference -> Project from Source feature, which is a common ask.
The repository has type=git not type=website, it just happens that for github the url works has both, but in my opinion it is wrong to open these urls in the web browser.
It should be possible to write a tool to read the nuspec, and if it has type git, it runs git clone on the url. If nuget.org were to treat this property as projectUrl2 then my guess is that a lot of packages would end up using this incorrectly and it would hard to create a tool like that.
I also think that there is minimal value in having 2 project urls, if the repository web site is important, the project url should link to it, or the site it goes to should link to it.
I'm not sure how useful it would be, but I would rather see nuget.org read the actual git respository and surface information about whether or not the project is still active.

The repository has type=git not type=website, it just happens that for github the url works has both, but in my opinion it is wrong to open these urls in the web browser.

I don't have a strong opinion here, but there is definitely needs to be some documentation about what the value means. As it stands today, users are guessing.

Hey @rrelyea @skofman1, is this still on your radar? In 2.1, aspnet packages include repository url and commit metadata. We'd love to see the gallery display this somehow. Is this proposal complete enough that you would consider accepting a PR if we could do the work?

@natemcmaster On our radar for sure. Not up in the backlog yet. We will factor this into NuGet Package Debugging & Symbols Improvements
/cc: @diverdan92

See https://github.com/NuGet/docs.microsoft.com-nuget/pull/900

Documentation proposed: https://github.com/NuGet/docs.microsoft.com-nuget/pull/930

So we would need to push this forward. Here's how the landscape look in terms of package management.
NPM does it on the first page and even allow to split between the Homepage and the Repository URL.

If we look at Newtonsoft, even thought they had the attribute for a while now...

It still does not show up in the project description.

It doesn't look like something that is hard to implement since the nuspec doesn't need to be changed.
Is it something that can be PR'd?
/cc @spboyer

@MaximRouiller good timing. I was thinking about this last night too and drafted this PR: https://github.com/NuGet/NuGetGallery/pull/6151

Pinging this to keep this alive.
We have a PR, we don't have any spec... I'd love an estimated timeframe on when we plan on getting this solved/merged.

The work we decided to do here:

Accept @natemcmaster 's PR: https://github.com/NuGet/NuGetGallery/pull/6151
Backfill the data from existing packages

Where is the spec for this?
cc: @anangaur, @diverdan92

Spec announced at https://github.com/NuGet/Announcements/issues/28

...get to a Switch PackageReference -> Project from Source feature, which is a common ask.

Hey @emgarten, just wondering if there's a github issue tracking this? I'm also interested in this feature. Thanks and sorry for hijacking the thread for this.

Hey @emgarten, just wondering if there's a github issue tracking this? I'm also interested in this feature. Thanks and sorry for hijacking the thread for this.

@rrelyea , perhaps you know?

On the .NET Core side, we have this issue: https://github.com/dotnet/sdk/issues/1151

On the .NET Core side, we have this issue:

Mmm, not sure I misunderstood the feature then; I was thinking it's more to do with NuGet rather than .NET Core. (More info: https://github.com/ctaggart/SourceLink/issues/320)

I think what @emgarten was suggesting was that you could use repository url and commit data from the package nuspec to replace a PackageReference with a source code (i.e a ProjectReference). Implementing this would likely require an SDK change (https://github.com/dotnet/sdk/issues/1151 is about making it possible to swap a PackageRef for a ProjectRef) and some NuGet features to fetch source code based on package metadata. This feature outside the scope of what this particular issue is about. Not sure if an issue exists on the NuGet side to actually build this feature.


az upgrade is blocked by policy

When I run az upgrade, I get a prompt saying "The system administrator has set policies to prevent this installation".
Does your installer use unsigned powershell scripts?

@jiasli for awareness

Looks like this is only a bug in az upgrade.  The msi works fine for upgrading versions with the given group policy.

Does your installer use unsigned powershell scripts?

No. No script is involved. The lines for installing MSI in az upgrade are
https://github.com/Azure/azure-cli/blob/3d14ca21e648f4fc0124132a43156a85a50251cd/src/azure-cli/azure/cli/command_modules/util/custom.py#L133-L135
Does it work if you directly call this command from Command Prompt?
powershell.exe -NoProfile Start-Process msiexec.exe -Wait -ArgumentList '/i https://aka.ms/installazurecliwindows'

Also, could you open regedit.exe, go to HKLM\Software\Policies\Microsoft\Windows\Installer and see if DisableMSI is configured? If so, is it possible to delete it?
You may do the same thing in Group Policy Editor: open gpedit.msc and check Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Windows Installer > Disable Windows Installer. If it is enabled, disable it if possible.
References

https://docs.microsoft.com/en-us/windows/win32/msi/disablemsi
https://answers.microsoft.com/en-us/windows/forum/all/this-installation-is-forbidden-by-system-policy/ac1986be-a063-4b7b-834f-8fa56a8c0d04?page=1
https://kb.vmware.com/s/article/1016563
https://admx.help/?Category=Windows_8.1_2012R2&Policy=Microsoft.Policies.MSI::DisableMSI

@vermegi, you will need to try the command in Command Prompt, not PowerShell:
powershell.exe -NoProfile Start-Process msiexec.exe -Wait -ArgumentList '/i https://aka.ms/installazurecliwindows'

The caller PowerShell will interpret single quotes ' and strip them when calling powershell.exe.

Running that from cmd is successful, it did not show that same policy pop-up, it did fail however during the actual upgrade process with an error code (I choose the repair process). I am already on version 2.26.1 and no longer on 2.23.

And as an FYI: I checked registry for DisableMSI, it was not there. Also checked group policy for Disable Windows Installer and it was also not present.

Sorry it seems the config name has been changed, it should be Turn off Windows Installer:

What if you use python.exe to initiate the installation in Command Prompt?
"C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe" -c "import subprocess; subprocess.call(['powershell.exe', '-NoProfile', \"Start-Process msiexec.exe -Wait -ArgumentList '/i https://aka.ms/installazurecliwindows'\"])"


Setting Up Kanban Board

This project is handled by a team of two.
Here is a link to the project https://github.com/Yerimah/Space-Travellers-Hub/projects/1

HELLO team👋,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉 🎉 🎉 🎉 🎉,
Cheers and Happy coding!👏👏👏

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thank you @Rustamxon7


fix total voted issue

Issue: https://github.com/tomochain/tomomaster/issues/625

Pull Request Test Coverage Report for Build 1273

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.47%

Totals

Change from base Build 1272:
0.0%

Covered Lines:
92

Relevant Lines:
103

💛  - Coveralls


[todo-mvp] Action bar title not saved on rotation

Solves Issue #246, Please test this.

I signed it!
On Thu, Mar 16, 2017 at 11:32 PM, googlebot<EMAIL_ADDRESS>wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please let us know the
company's name.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/android-architecture/pull/301#issuecomment-287142231,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APy2bNLuO9mBY_IgEDDESofUneCbrrklks5rmXkogaJpZM4Mfq_c
.

--
Regards,
Abhishek

Can you please take a look at this again.
Thanks.

That change and variable name are wrong and it's missing UI tests so I'm going to close it for now. Thanks for the PR!

Can you please let me know the mistake ? I am learning android development, it would be helpful.
Thanks.

There is no need for the variable but if you wanted to use it, you could call it something like isTaskEdit.

ok Thanks :), I will include UI tests and try again sometime.
Thanks for the help.


Identity flags with local evaluation

Hello,
Is it possible to use get_identity_flags with local evaluation mode enabled?

It is - yes!

Can you provide the code that you used?

Sure!
I tried with this code:
flags = Flagsmith(
    environment_key="ser.something",
    api_url="my_url",
    enable_local_evaluation=True,
)

## This returns default value from the environment
flags.get_identity_flags(identifier="someUUID", traits={}).get_feature_value("flag")

## This returns correct value but the request to the API is required
flags._get_identity_flags_from_api(
    identifier="someUUID", traits={}
).get_feature_value("flag")

We are self-hosting the Flagsmith. Yesterday we updated the old bullettrain version to the newest flagsmith. Could the issue be that the update did something wrong?

You need to provide the traits for the identity as part of the call. With no traits you will receive default environment flags. Note the Caveats here: https://docs.flagsmith.com/clients/overview#local-evaluation-mode

Oh I was not aware about that. I will try it! Thanks!.


Bench tests

We need bench tests for various units of the app that require fast performance and are in or control (don't fetch anything) (if not possible mocking fetch requests is fine)
The most important bench test is for creating gacha pools

Moving this to RC1. The loading on gacha is insanely high at times. It needs to improve drastically before we go RC1. It should at least improve by 50%


Work-around for zerolog v1.32.0

The change in zerolog v1.32.0 that breaks things appears to be:
  // should returns true if the log event should be logged.
  func (l *Logger) should(lvl Level) bool {
+ 	if l.w == nil {
+ 		return false
+ 	}
	if lvl < l.level || lvl < GlobalLevel() {
		return false
	}

which is called a couple of stack frames below:
evt := l.Log()

which is present in at least two places in zeroslog code. Up until this change, passing in blank zerolog.Context objects worked fine. Now it is necessary to pass in a proper logger inside of the zerolog.Context object so that the non-nil check for the logger's io.Writer shown above will not fail.
Sadly the l (i.e. logger) field within zerolog.Context is private and there is no public function provided within the zerolog code base to set it. The only way I could find to return a new context object is to use zerolog.Logger.With(). However, that function manipulates a further private field in the zerolog.Logger object named context,[^1] an array of byte. This field is used to pre-format attributes for output via zerolog.Logger.WithAttrs() or zerolog.Logger.WithGroup() to speed up output. Using a previously modified zerolog.Logger object to generate the required zerolog.Context object cascades any previously changes made to the logger object down to the "new" logger within the returned context object.
The only way I could work around all of the above was to capture the root logger object in both zeroslog.Handler and zeroslog.groupHandler. The root field in both places is used with With() to create the new context with the root logger. Any changes made to that logger (added to that logger's internal context field) will thus be done to a "clean" logger and will not percolate to more embedded "with" objects. The With() method is used against a Logger object, not a pointer, so the root is not itself changed AFAIK.
Short of changes to the zerolog code this is the best I could think of. I'm not 100% sure I got it right but it's passing tests now so I'm pushing the PR for evaluation and critique.
[^1]: Note that this is unfortunate naming as it is unrelated to either zerolog.Context or context.Context. This is made clear (or further obfuscated, if you will) in the code for zerolog.Logger.With() as well as the declaration of zerolog.Logger wherein both context and ctx are used as field names, the latter referring to context.Context.

Hi @madkins23 awesome, thanks a lot for the detailed analysis and the PR. I need to find some time to look at this in depth. I will soon

The way I did it was a bit hacky already. Maybe it would be worth to check with zerolog's maintainers for some insights.

There is now a PR on zerolog to clear the context from a logger. This coupled with the With method will make this much simpler. I have no idea how long it will be before that PR is accepted and released.

@madkins23 the PR you mention above has been merged, does that allow you to simplify this PR?

The PR was merged but there is no v1.33.0 tag yet.
My testing used:
require github.com/rs/zerolog v1.32.1-0.20240306065720-74cf37a3965b

so an update to go.mod in this repository to that value should fix things.
I've been hoping for an update to v1.33.0 (it just seems "neater") but I haven't bugged the rs/zerolog crew about it yet.


Show errors readable to te designer -> Swipe up for settings and info.

Make animation scrollable
On scroll up show errors in a textview

TODO:

Add custom logs for internet connection availability


[Release-v2] CE pipeline migration

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Same comments as in https://github.com/aws-robotics/kinesisvideo-ros1/pull/31 - 1. is it possible to merge from master instead, and 2. can we avoid changing package.xml in a release branch.

@timrobotson @juanrh @mm318 can someone review this and merge this in if all looks good?


JzAzCz to JzCzhz is wrong

Conversion functions literally return the input for Jz, yet we have different values
return [
    Jz, // Jz is still Jz
    Math.sqrt(az ** 2 + bz ** 2), // Chroma
    angles.constrain(hue) // Hue, in degrees [0 to 360)
];

return [
    jzczhz[0], // Jz is still Jz
    jzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az
    jzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180)  // bz
];

Confirming that it is still doing this. Converting a color gives different Jz for Jzazbz and JzCzhz. Further converting between those two does not introduce additional error though, it stabilizes.

This was caused by a typo in the declared white point. It was fixed by https://github.com/LeaVerou/color.js/commit/f25436554722e00965b3a8aba7ca453f4a30f10d


feat(api-client): hotkeys search

this pr adds the / search hotkey in order to open from the request view the search modal, or focus from the command modal on the search bar:
https://github.com/user-attachments/assets/0b509480-79d3-4454-ab10-8bca914981d2

closing this in favor of #2870


update-service-broker is unable to use USERNAME starting with -

Command
cf update-service-broker my-broker -myusernamestartingwithdash pass https://my.brokerurl.com

cf update-service-broker my-broker '-myusernamestartingwithdash' pass https://my.brokerurl.com

cf update-service-broker my-broker "-myusernamestartingwithdash" pass https://my.brokerurl.com

What occurred
Incorrect Usage: unknown flag `m'

What you expected to occur
I was expecting that I can specify a username starting with -
CLI Version
cf version 6.33.1+c77e55743.2017-12-15

CC API Endpoint Version
api version:    2.99.0

CF Trace
n/a
Platform & Shell Details
macOS High Sierra 10.13.2
iTerm Build 3.1.5
Any other relevant information
To me, the issue sounds similar to #1277.

And #1288!

@bkrannich thanks for creating this issue. We've looked into this issue previously and we believe since it is standard not to use - in username/password values, we will be closing this issue as a won't fix. Feel free to create a new issue or add a comment here if you have any additional feedback.


Docs on exceptions do not mention failures at all.

The exception topic at https://docs.raku.org/language/exceptions does not mention failures and how they are related to exceptions. There is no separate topic on failures either. Failures only seem to be documented at all in https://docs.raku.org/type/Failure with a very dense and technical explanation that even I as a core developer have to concentrate hard on to understand. There is no documentation about how failures relate to exceptions. Especially no mention or example on how unhandled failures may explode in garbage collection. There's also no simple examples on how to use routines that may return failures. E.g. something like:
mkdir "/test"; # will likely return a failure due to missing permissions and the failure will get escalated to an exceptions due to unhandled return value
so mkdir "/test"; # failure will be silently defused, i.e. we don't really care
if mkdir "/test" { #`(will only enter this block if mkdir was successful) }
unless mkdir "/test" { #`(here we can do something to handle the case) }
my $result = mkdir "/test"; # $result contains unhandled Failure. Will not throw immediately, but will once $result gets garbage collected unless handled in the mean time

So would you say there are two separate issues, inadequate description of Failures, as well as its relationship with exceptions, right?


service: Add back auth0

Add back auth0 which enables authentication for all service endpoints.

I'm going to test and verify this works on our zed lake service before merge.

Verified this works


Refactor WitnetPriceFeed

Because WitnetPriceRouter is not upgradeable, we would need a special WitnetPriceFeed to bind the WPR to the new WitnetFeeds contract.

WitnetPriceFeedBypass is proposed as a way to solve the described issue above.

Making WitnetPriceFeedBypass a Clonable contract would enable to verify just once, not for every single bypass needs to be deployed. This is left as a future improvement.

Once a chain is selected for bypass, all pfs in that chain that are supported by the WPR instance must have been previously added to the WPF instance before bypassing them in the WPR.

See related PR:

https://github.com/witnet/witnet-price-feeds/pull/193


Chipmunk3 and .chip location

Previously with Chipmunk 2 any bookmark or setting would save a .chip in same location as the log file. This was convenient since 1. one would immediately know that file had some bookmarks or notes and 2. it would allow someone else to open the same file on their chipmunk installation and get the same bookmarks.
On Chipmunk 3 it appears these are saved somewhere else? I tried to check under ~/.chipmunk but could not understand where it was stored. In any case I feel the previous method for Chipmunk 2 was more convenient.

Hello @agamotto, thanks for the feedback. That's a good point.
Yes, as you've noticed in chipmunk 3 we've changed the way to store session-state. We are working on an alternative way to "share" user's file state. Am not sure files .chip will back, but I'm sure chipmunk 3 (as 2) will allow users share states.

Thanks for the feedback, I will keep an eye on beta releases but for now Chipmunk2 will remain my daily driver (due to mentioned convenience).
Thanks for your hard work!


Feature Request: Support an  option to sign the code with certificates created per Github access token

This project has been publicly archived. Please visit github.com/openclarity or openclarity.io to discover our other projects!


Custom Request redirect

If I create a custom request in my API like CustomerRequest and put in a required|string|max:50. Auth redirects directly to login page if it returns false. Especally in API this is not very usefull. Does anybody know, how to get ErrorHandling ?

This package is supposed to be used on Laravel API mode only. If there is some redirect on you API, may be you are on wrong path.


Add debug logging in sdk for launch params

We don't have enough logging here, so I added a global debugLog function.
Unsolved problem: production build will include such logging. I tried to prune it in terser rollup plugin, but didn't figure out, how I could keep it only for dev (probably we don't have such distinction right now). Tried terser({ compress: { pure_funcs: ['debugLog'] } })

It would be cool if we could avoid usage of global package scoped variables. We should probably add debug option to components. Maybe, we could create separate class like Logger or something to extend it by all other components. We could also pass debug property to init function, so it will output some additional information and pass this prop to created components

I see no problem in using global package scoped logger. When you have multiple classes that use logger, as I understood, you would like to pass it to everyone of them. But instead we can import 'logger' module, and that's it

The reason why we don't use anything global is it is not easy to test it. It is also a side effect that will probably be cut by some minification utilities. We keep our code pure which makes it more understandable so you could always know why this happened here and you don’t have to do reverse engineering to understand why something happened. I understand that logging is just a small side effect, but we keep our rules for any code we write


zero-install setup

Description
tl;dr: Smoke tests 6m -> 3m if there are no changes to dependencies(?)* build-tests should cap around 5ish minutes. Previously could reach 8-10min
~* Not sure why the below took 13 minutes. This might be a docker caching issue~
If the docker caching is only to circumvent the yarn fetching issue, we can remove it
At the moment, our CI/CD pipelines are bottlenecked by yarn install. (would be the same with npm install). Even if we cached .yarn/cache on the pipeline, that would mean downloading the cache which is slower on these executors. same with node_modules.
With yarn 2, you can opt-in to a zero-install philosophy. Yarn 2 caches in the project directory, not in a global dir, so you pull the project, run yarn install (you don't fetch anything because it's all there) and you're off. It takes the 2-3 minutes yarn install fetching down to 30-40s.
To prevent bad actors, if you are not part of the maintainers team, we will run yarn install --check-cache which does the checksum and pulls any dependencies that are bad
reference:
https://yarnpkg.com/features/zero-installs
changes

Commit yarn/cache
Documentation changes

CircleCI changes

Removing all caching of dependencies on circleCI
Updating circleci images (they are now using cimg) which are optimised for CI/CD.
Removing unused executors
Removing reference to circle_trigger (but not the script itself if we need to use it down the line)
Running yarn install or yarn install --check-cache if users are not part of the maintainers team.

I have set up a circleCI context, which is their way of adding user groups with different security settings. It is hooked into GitHub, and is set up so that any member of maintainers does not need the cache to be checked.

Model is built during the yarn install step. This is because persisting the workspace adds an extra ~40-60 seconds to the build and will accumulate.
Everything is built and tested in parallel (except model build)

Smoke test changes

use nanoid for smoke tests instead of stringified date

Type of change
Please delete options that are not relevant.

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce
the testing if necessary.
Before PR's can be merged they will need to be tested by QA and approved where
applicable. To flag the change to QA assign @XGovFormBuilder/qa as one of the reviewers.

[x] Everything runs ok!

Checklist:

[x] My changes do not introduce any new linting errors
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation and versioning
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have rebased onto master and there are no code conflicts
[x] I have checked deployments are working in all environments
[x] I have updated the architecture diagrams as per Contribute.md

Who such a mega PR 😱  😱  😱
I'd love to know more about what this is doing.

Who such a mega PR 😱  😱  😱
I'd love to know more about what this is doing.

@RichardBray ha, sorry, I haven't actually written up the PR but needed to see if it worked.
At the moment, our CI/CD pipelines are bottlenecked by yarn install. (would be the same with npm install). Even if we cached .yarn/cache on the pipeline, that would mean downloading the cache which is slower on these executors. same with node_modules.
With yarn 2, you can opt-in to a zero-install philosophy. Yarn 2 caches in the project directory, not in a global dir, so you pull the project, run yarn install (you don't fetch anything because it's all there) and you're off. It takes the 2-3 minutes yarn install fetching down to 30-40s.
To prevent bad actors, if you are not part of the maintainers team, we will run yarn install --check-cache which does the checksum and pulls any dependencies that are bad

@RichardBray ha, sorry, I haven't actually written up the PR but needed to see if it worked.
At the moment, our CI/CD pipelines are bottlenecked by yarn install. (would be the same with npm install). Even if we cached .yarn/cache on the pipeline, that would mean downloading the cache which is slower on these executors. same with node_modules.
With yarn 2, you can opt-in to a zero-install philosophy. Yarn 2 caches in the project directory, not in a global dir, so you pull the project, run yarn install (you don't fetch anything because it's all there) and you're off. It takes the 2-3 minutes yarn install fetching down to 30-40s.
To prevent bad actors, if you are not part of the maintainers team, we will run yarn install --check-cache which does the checksum and pulls any dependencies that are bad

https://yarnpkg.com/features/zero-installs

Ah cool, that sounds really interesting

https://yarnpkg.com/features/zero-installs

Ah cool, that sounds really interesting

Please add the do not review label when appropriate.

Please add the do not review label when appropriate.

It's ready for review!!


Export portal file from bsp

A shot in the dark here, but related to #96.
I want to re-VIS a bsp file so that the area with info_overview_point is visible everywhere on the map. But VIS program requires a portal file, which doesn't come with maps you didn't compile yourselves.
There is a program called bsp2prt out in the wild, but it only takes in quake bsp maps. It refuses to take in goldsrc's bsp files. But this proves that it's technically possible to fish out portal data from a compiled BSP.
If #96 isn't going to be pursued, It'd be mighty helpful to finally have the goldsrc counterpart to the program, so that we can re-VIS existing maps. Perhaps to fix VIS glitches from the original VIS with modern tools.

@mfaizsyahmi I think it's probably possible to edit BSP in any HEX-editor and change its' header, to specify another BSP version. So this will hopefully 'demake' BSP into file, compatible with bsp2prt.

This unfortunately doesn't seem to work with bsp2prt. Changing the header to version 29 results in the program not generating any prt file.

@mfaizsyahmi I think it's probably possible to edit BSP in any HEX-editor and change its' header, to specify another BSP version. So this will hopefully 'demake' BSP into file, compatible with bsp2prt.

Doesn't work. I tested this route before I raised this issue.

@mfaizsyahmi bsp2ptr is opensource tool? how to download it?
I think it needed feature because some manipulation can destroy VIS data.

@wootguy you don't know, BSP file contains needed information for restoring .PRT file?

I don't think it does, but marking which leaves you want visible is doable. I guess there would be a leaf selection mode where selecting a face highlights all the faces in the same leaf. Then you could have a widget that lets you set the leaf to be globally visible.
I do feel like it should be possible to re-compile a bsp, starting from the BSP stage. After CSG finishes you get a set of faces which I think is similar to the final bsp but without any cuts. I couldn't get hlbsp to work with any faces I made though. I don't understand the compilation process well enough to get that working.

@wootguy I think PVS can be edited without problem, but if need do revis, vis.exe requires .prt file, i don't know file format and specs, something like
ptr file

LEAFS:
1
1
1...
PORTALS:

?

Being able to edit Vis or recompile it would certainly come in handy. Some faces don't display in many old maps and I've been looking for a way to fix that without having to recompile the entire map.


Allow incremental annotation processors to read resources

For instance, a processor might want to generate code based on some property file. To support this we'd need to start tracking resources in our incremental compilation infrastructure. Right now resource changes are ignored.

Tracking resources is necessary for the basic correctness of non-incremental processors too. For now we'll take the simple approach of fully recompiling on any resource change.


Decide on using LLVM_CCACHE_BUILD in our build

As discussed in #1614, Ccache already works well without any project-specific configuration, so we probably don't need LLVM_CCACHE_BUILD. I figured I'd keep it for 1:1 compatibility with MLIR-HLO to derisk the migration, but we should revisit this at a later point.

Does "in our build" refer to CI or CMakeList.txt?


Can Kraken support RHEL OS run on bare metal?

Can Kraken support running experiments against RHEL OS runs on bare metal?

Hi @mallilinux1980 thanks for opening the issue. Kraken is currently targeted towards testing Kubernetes/OpenShift, Will keep you updated if it changes down the road. Thanks!


Various cleanups of the new witness-matching code

Reinstate support for property behaviors, and refactor the requirement environment so we don't build environments more often than we need to.

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

And... fixed a crasher.

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


Support x86 version of SDK

Is your feature request related to a problem? Please describe.
The SDK binaries are currently only published as 64-bit dlls. To enable 32 bit applications to use the SDK they need access to 32 bit versions of the binaries.
Describe the solution you'd like
Include 32 bit versions of the dlls in the published SDK. Also run tests on the 32 bit versions of the dlls.
Describe alternatives you've considered

Additional context
We have feedback from at least one customer who needs this to enable their scenario.

Best accidental issue number ever :grin:

Fixed in 1.2.0-alpha.1


Validation failed due to presence of generated .vs folder

Using Visual Studio 2015 on Windows 10. Getting the following error:

I can't reproduce this one.  For me, the .vs directory is always created in the same directory as the VS solution (eg. UnityProjects/MyProject/.vs) so this isn't a problem.  How did you get it to create it in plugins?

Not sure how the .vs folder got there. Just from normal Unity/VS usage.
This seems to be fixed in the latest version.


tt content is misaligned

After a recent change, tt content is vertically mis-aligned. Removing the inline-block display from it fixes it.

The change was pull request #173 which was fixing #172.

My browser is Chrome 41 on Mac OS X.
I just updated to Sphinx 1.3 and this isn't happening now, but I do have the other issues that have been reported with Sphinx 1.3 (#175).


Fix reorg typo

Height and depth are in the wrong order, leading to wrong log messages

@gmart7t2 Good catch! I changed Reorg to a record struct, so this mistake isn't possible.


fix(test): Getting test to pass on BVT

:tada: This PR is included in version 1.31.4 :tada:
Your semantic-release bot :package::rocket:


Showcase section in readme

I was thinking it might be nice (for you and your users) to have a "showcase" section in the readme showcasing some of the projects that use your library.
It would show that it is actually well used and that it is chosen by other developers.
What do you think? If you're OK with it I'll file a PR adding chigraph to it...

Good idea. I am afraid the only live project I can mention is your chigraph library. I've got many stars but did not see anything serious except the couple of student projects.


JsonProperty(ItemConverterType = typeof(StringEnumConverter)) not recognized without DescribeAllEnumsAsStrings()

Hi. In Swashbuckle.AspNetCore 5.0.0-rc4 method SwaggerGenOptions.DescribeAllEnumsAsStrings() marked as Obsolete. But without it attribute [Newtonsoft.Json.JsonProperty(ItemConverterType = typeof(Newtonsoft.Json.Converters.StringEnumConverter))] is not working properly. See example below.
public class Program
{
	public static void Main(string[] args)
		=> Host.CreateDefaultBuilder(args)
			.ConfigureWebHostDefaults(b => b.UseStartup<Startup>())
			.Build()
			.Run();
}

public class Startup
{
	public void ConfigureServices(IServiceCollection services)
		=> services
			.AddSwaggerGen(c => c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }))
			.AddControllers();

	public void Configure(IApplicationBuilder app)
		=> app
			.UseSwagger()
			.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1"))
			.UseRouting()
			.UseEndpoints(endpoints => endpoints.MapControllers());
}

[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter), true)]
public enum OkEnum
{
	Freezing, Bracing, Chilly, Cool
}

public enum BadEnum
{
	Freezing, Bracing, Chilly, Cool
}

public class WeatherForecast
{
	public DateTime Date { get; set; }
	public OkEnum OkValue { get; set; }
	[Newtonsoft.Json.JsonProperty(ItemConverterType = typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
	public List<BadEnum> BadValues { get; set; }
}

[ApiController]
[Route("weather")]
public class WeatherForecastController : ControllerBase
{
	[HttpGet]
	public IEnumerable<WeatherForecast> Get()
		=> Enumerable.Range(1, 5).Select(index => new WeatherForecast
		{
			Date = DateTime.Now.AddDays(index),
			OkValue = OkEnum.Cool,
			BadValues = new List<BadEnum> { BadEnum.Cool }
		});
}

With SwaggerGenOptions.DescribeAllEnumsAsStrings()

I have the same problem

@artfulsage can you elaborate a little more on your usecase? I do understand the issue you're reporting but I guess I'm not understanding why you wouldn't just use the JsonConverterAttribute on the enum definition itself (as opposed to the property that uses it) - i.e. as you've demonstrated with OkEnum above.
The only reason I can think of to NOT do this is if you wanted to serialize the enum as a string in some cases (e.g. when part of a certain property) and as an integer in others. However, the DescribeAllEnumsAsStrings is a global setting applied to all enums and therefore wouldn't support this scenario anyway.

I have the same problem (using 5.0.0 RC-5). I have tried adding a global JsonConvert (StringEnumConverter) to json serializer settings along with DescribeAllEnumsAsStrings, just DescribeAllEnumsAsStrings , StringEnumConverter on the enum itself. None of these options seem to work, the enums still return as integers. I am not sure what other information to display for this issue, but let me know.

@artfulsage - You're using Newtonsoft attributes, but Swashbuckle.AspNetCore 5.x uses System.Text.Json by default.
To fix this, either:

Use [JsonConverter(typeof(JsonStringEnumConverter))] from the System.Text.Json.Serialization namespace on your enum declarations

Or to convert all enums to strings, in your ConfigureServices method, add the following after AddControllers():

.AddJsonOptions(options => {
    options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
});

If you need to use Newtonsoft for serialization, add the Swashbuckle.AspNetCore.Newtonsoft Nuget package and call services.AddSwaggerGenNewtonsoftSupport() in Startup.cs -> ConfigureServices

@domaindrivendev, @jcoutch thanks for your feedback!

My enum is located in separated database project. And that's why I don't want to put any code for serialization there (JsonConverterAttribute).

Addition of services.AddSwaggerGenNewtonsoftSupport() seems not working in my real project.

But this works fine!

.AddJsonOptions(options => {
    options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
});

@domaindrivendev it might be helpful to add that to the docs/WIKI (FAQ) : services.AddSwaggerGenNewtonsoftSupport() for future reference, seems like it is a commonly asked question

@ddeisadzevp - I found it right on the main page:
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/README.md#systemtextjson-stj-vs-newtonsoft

@artfulsage, when you use services.AddSwaggerGenNewtonsoftSupport(), then ensure that you add it after you add services.AddSwaggerGen(...); otherwise, it won't work.

@domaindrivendev @jcoutch @tobyartisan perhaps I do something wrong but this code still does not work
netcoreapp3.1
Newtonsoft.Json 12.0.3
Swashbuckle.AspNetCore 5.2.1
Swashbuckle.AspNetCore.Newtonsoft 5.2.1
public class Program
{
  public static void Main(string[] args)
    => Host.CreateDefaultBuilder(args)
      .ConfigureWebHostDefaults(b => b.UseStartup<Startup>())
      .Build()
      .Run();
}

public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    services
      .AddMvc()
      .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
      .AddNewtonsoftJson();

    services
      .AddSwaggerGen(c => c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }))
      .AddSwaggerGenNewtonsoftSupport();
  }

  public void Configure(IApplicationBuilder app)
    => app
      .UseSwagger()
      .UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1"))
      .UseRouting()
      .UseEndpoints(endpoints => endpoints.MapControllers());
}

public enum BadEnum
{
  Freezing, Bracing, Chilly, Cool
}

public class WeatherForecast
{
  public DateTime Date { get; set; }
  [Newtonsoft.Json.JsonProperty(ItemConverterType = typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
  public List<BadEnum> BadValues { get; set; }
}

[ApiController]
[Route("weather")]
public class WeatherForecastController : ControllerBase
{
  [HttpGet]
  public IEnumerable<WeatherForecast> Get()
    => Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
      Date = DateTime.Now.AddDays(index),
      BadValues = new List<BadEnum> { BadEnum.Cool }
    });
}

@artfulsage Do you need to do this bit?
.AddJsonOptions(options => {
    options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
});

@artfulsage - unfortunately ItemConverterType isn't currently supported. As mentioned above, if you decorate your enum class directly as follows - the enum will be described correctly.
[JsonConverter(typeof(StringEnumConverter))]
public enum BadEnum
{
    Freezing, Bracing, Chilly, Cool
}

However, it seems this may not be feasible for you. As many of the comments in this issue have deviated from the original, I think it would be best to create a new issue that specifically addresses the lack of support for enum serialization behavior that's configured via ItemConverterType


fix: pre-deploy has been moved to unit-test so some post actions on s…

…ol log missing, now move the actions to post-deploy
move the sol.log post processing to post-deploy.
The pre-deploy used to run after smoke test so I add sol.log post processing to it.
But it was moved to unit-test several days ago, so now sol.log post processing missing.
post-deploy is a script never run and now it seems to be the best place to put sol.log post processing.
@panpan0000 @PengTian0 @RackHD/corecommitters

:+1
since it's only the "ansi2html" operation, I think it's fine to be put in post-deploy

:+1:

test this please

test this please


Sync: Error Logged In Console (Help menu > Toggle Developer Tools).

Describe what happened:
Cmd+Shift+P | >Sync: Download Settings

Sync: Error Logged In Console (Help menu > Toggle Developer Tools).

console.ts:137 [Extension Host] Error: ENOTDIR: not a directory, mkdir '/Users/${USER}/Library/Application Support/Code/User/globalStorage/ms-vsliveshare.vsliveshare-audio/electron-4.2.12/dist/Electron.app/Contents/Resources/default_app.asar/'
I @ console.ts:137
notificationsAlerts.ts:42 Sync: Error Logged In Console (Help menu > Toggle Developer Tools).

What was your system configuration?
Version: 1.70.2
Commit: e4503b30fc78200f846c62cf8091b76ff5547662
Date: 2022-08-16T05:36:37.829Z
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.6.0
Please attach logs to this issue:

Not applicable as it contains zero-bytes logs.
Screenshots

Not applicable for this report.

Cmd+Shift+P | >Sync: Update/Upload Settings
Cmd+Shift+P | >Sync: Download Settings

Sync: Update/Upload Settings first, then Sync: Download Settings to resolve this problem.


Update to support Django 1.9

Django 1.9 removes ReverseManyRelatedObjectsDescriptor in favor of using ManyRelatedObjectsDescriptor with reverse argument passed into it (though the meaning of reverse has been reversed, hah).
It also adds a set() method to RelatedManager that handles setting all the new related objects. It tries to be more efficient by only adding and removing the ones necessary instead of clearing them all and adding them again. The old behavior is maintained by passing the clear keyword argument, which is what we now do.

Awesome PR, thanks! I'll get this merged after you get back on the inline comment :+1: good work!

Meeeeerged :) A big cheers for the good work! :beers:


Fix for issue 22793 - Message Preview Now Clears

Fix for the message preview not clearing when clicking on a new topic and message. Added a call to "clear_preview_area()" in compose_actions.js which also changes the message area state to the compose state instead of the preview state.
Fixes: (https://github.com/zulip/zulip/issues/22703)
Screencap: https://user-images.githubusercontent.com/21269876/185985793-3fcf312b-bbcc-46fa-8bb9-d837d5a367a2.mov

[ X ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ X ] Each commit is a coherent idea.
[ X ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ X ] Visual appearance of the changes.
[ X ] Responsiveness and internationalization.
[ X ] Strings and tooltips.
[ X ] End-to-end functionality of buttons, interactions and flows.
[ X ] Corner cases, error conditions, and easily imagined bugs.

Hi @sheckathorne thanks so much for working on this! The PR looks a bit broken, there are 147 commits! If you switch the thing at the top from sheckathorne wants to merge 147 commits into sheckathorne:clear-message-preview from zulip:main to [...] commits into zulip:main from sheckathorne:clear-message-preview, does that fix it?

@evykassirer unfortunately not - I can't change the "from: [...]" side. I'll close this PR and open a new one.


Minor fixup - use single quote in error message

Signed-off-by: Fuyang Liu<EMAIL_ADDRESS>
What have you changed? (mandatory)
Please explain IN DETAIL what the changes are in this PR and why they are needed:

Use single quote in error message

Currently an error warning message could be like:
 Eval("BIGINT value is out of range in \"99999999e1000\"", 1690)
This PR should fix it to:
 Eval("BIGINT value is out of range in '99999999e1000'", 1690), as a similar function called Error::truncated_wrong_val() is doing this as well.
What are the type of the changes? (mandatory)
The currently defined types are listed below, please pick one of the types for this PR by removing the others:

Improvement (change which is an improvement to an existing feature)
Bug fix (change which fixes an issue)

How has this PR been tested? (mandatory)
Does this PR affect documentation (docs) update? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No
Refer to a related PR or issue link (optional)
https://github.com/tikv/tikv/issues/4327

@breeswish can you take a look at this small change, is it nice to have?


application-gateway-logviewer-goaccess - 404 Error with no report.html created

application-gateway-logviewer-goaccess - https://github.com/Azure/azure-quickstart-templates/tree/master/application-gateway-logviewer-goaccess
Issue Details
Ran the deployment twice both times the deployment completed succesfully and VM publically accessible with the index.html page displaying ok
Issue is the report.html seems to not be creating
SSH'd into the VM installed the "locate" function and unable to find report.html
all that is in the /var/www/html folder is index.html
Attempted to manually re-install the packages listed in Github by copy and paste and all completed (apart from the SAS tokens which complained) however the report.html file still isn't created
So just to confirm, the parameters were filled in and accepted and the template deployed without error however the report.html file is not being created hence viewing http://VMpublicDNSname/report.html a 404 is displayed

Looks like the logs are being parsed correctly from Go Acess however the report.html is not being created
:~$ sudo /usr/local/bin/goaccess /var/log/azure/Microsoft.Azure.Networking.ApplicationGateway.LogProcessor/access.log* -o /var/www/html/report.html --real-time-html --port=8080 --log-format='"%dT%tZ"{%^:"%h",%^:"%m",%^:"%U",%^:"%q",%^:"%u",%^:"%s",%^:"%H",%^:"%b",%^:"%T",%^:%v}' --time-format='%T' --date-format='%Y-%m-%d'
(output) /var/log/azure/Microsoft.Azure.Networking.ApplicationGateway.LogProcessor/access.log
:~$ ls /var/www/html/
index.html

Actually on 2nd check the access.log is empty and the application log is full of
Server  failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
Is there a way to re-introduce the SAS URI after the install? I have created new SAS Blob URI each time and simply used the copy and paste feature in the portal to add into the parameters

Rebuilt with amended SAS URI and now getting a bit further
18-12-04 19:02:54,636 ERROR [5] ?.? - RefreshBlobs: Caught Exception: System.AggregateException: One or more errors occurred. (One of the query parameters specified in the request URI is not supported.) ---> Microsoft.WindowsAzure.Storage.StorageException: One of the query parameters specified in the request URI is not supported.
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)    at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.ListBlobsSegmentedAsync(String prefix, Boolean useFlatBlobListing, BlobListingDetails blobListingDetails, Nullable1 maxResults, BlobContinuationToken currentToken, BlobRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)    at Microsoft.Azure.Networking.ApplicationGateway.LogProcessor.LogBlobFetcher.RefreshBlobs(Object state, ElapsedEventArgs e) in E:\src\networkmonitoring\Tools\src\AppGatewayLogProcessor\Services\LogBlobFetcher.cs:line 282 ---> (Inner Exception #0) Microsoft.WindowsAzure.Storage.StorageException: One of the query parameters specified in the request URI is not supported.    at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.ListBlobsSegmentedAsync(String prefix, Boolean useFlatBlobListing, BlobListingDetails blobListingDetails, Nullable`1 maxResults, BlobContinuationToken currentToken, BlobRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)
Request Information
RequestID:b9b09c29-001e-0001-7a03-8cf00d000000
RequestDate:Tue, 04 Dec 2018 19:02:54 GMT
StatusMessage:One of the query parameters specified in the request URI is not supported.
ErrorCode:UnsupportedQueryParameter
ErrorMessage:One of the query parameters specified in the request URI is not supported.
RequestId:b9b09c29-001e-0001-7a03-8cf00d000000
Time:2018-12-04T19:02:54.6353843Z

I'd recommend opening an issue here as the error seems to be azure related. If your access log is empty, goaccess won't display anything.

The gateway access logs themselves are generating ok and I can view them from log analytics and also storage explorer however the logprocessor from with the the Apache VM is repating this message
ErrorMessage:One of the query parameters specified in the request URI is not supported.
I'm generating the Blob SAS URL and using the copy option from with the azure portal to paste it into the deployment parameter field
Options I'm selecting for the Shared Access Signature I'll attach via screenshot

Screenshot of the logprocessor folder showing the empty access log and the increasing count for the application log and included error

Also deployed demo suite in another subscription into a a different region but still seeing the same error
https://github.com/Azure/azure-quickstart-templates/tree/master/application-gateway-demo-setup
https://azure.microsoft.com/en-gb/blog/application-gateway-analytics-via-goaccess/
using all defaults apart from U & P and the Blob SAS URL

Sorry I can't help you to debug this as I'm not familiar with azure templates. Did you post your question in the azure issues page?

Hi thanks for looking into this I have logged it on the other forum but no traction as yet

https://github.com/Azure/azure-quickstart-templates/issues/5382

Hi @rskeel the issue could be with the SAS URI used in your case is created from the Storage account level. However, for GoAccess to access the logs, you might need to provide container-level SAS URI for "insights-logs-applicationgatewayaccesslog".
Please check the updated ReadMe document here for further instructions on SAS URI generation: https://github.com/Azure/azure-quickstart-templates/blob/master/application-gateway-logviewer-goaccess/README.md
Once done, please replace the URI with the existing one in the /usr/share/appgatewaylogprocessor/blobsasuri.key file and restart the goaccess and appgatewaylogprocessor services. Further instructions can be found here.


Corrects 3 terminal x-device resistor conversion.

Changes 3rd terminal to $SUB=xxx where xxx is the 3rd terminal.
Should resolve the remaining issues with #59.
For example, the change to sky130_fd_sc_hd.spice would be
Before
.subckt sky130_fd_sc_hd__conb_1 VGND VNB VPB VPWR HI LO
R0 VGND LO VNB sky130_fd_pr__res_generic_po w=480000u l=45000u
R1 HI VPWR VNB sky130_fd_pr__res_generic_po w=480000u l=45000u
.ends

After
.subckt sky130_fd_sc_hd__conb_1 VGND VNB VPB VPWR HI LO
R0 VGND LO  sky130_fd_pr__res_generic_po w=480000u l=45000u $SUB=VNB
R1 HI VPWR  sky130_fd_pr__res_generic_po w=480000u l=45000u $SUB=VNB
.ends

Unfortunately, this results in the following LVS property errors. These can be ignored via a netgen setup change which I'll submit later.
There were property errors.
sky130_fd_pr__res_generic_po1 vs. sky130_fd_pr__res_generic_po0:
Property $SUB in circuit2 has no matching property in circuit1
sky130_fd_pr__res_generic_po0 vs. sky130_fd_pr__res_generic_po1:
Property $SUB in circuit2 has no matching property in circuit1

I cannot find any behavior of "$SUB" documented in ngspice.
I would think that the "usual" way to handle this would be to change the "R" type device to an "X" type device, and then implement the subcircuit as a combination of two resistors of 1/2 length and a capacitor to the substrate (resistor tee).  That would automatically be compatible with all SPICE implementations.

Obviously my memory is faulty.  There is no such fix in the patches or scripts.  But it is easy to implement in the fix_device_models.py script.

@RTimothyEdwards Thanks for taking the time to look into this. The $SUB= parameter appears to be a Calibre extension to spice. Since it's coded as a comment ngspice would hopefully ignore it. In Calibre LVS it's used to check the underlying substrate without having to extract an extra device. CVC can handle the connection similarly, for example, checking for forward biased parasitic diodes in diffusion resistors. Since the device in question is a poly resistor, there is no need for CVC to check the SUB connection, so it won't make a difference if it is just deleted.

ngspice documentation specifically states that '$' is only interpreted as a comment character if it is followed by whitespace.  So '$SUB' will likely throw an error in ngspice (I haven't tested it).

I pushed a fix to open_pdks that removes the VNB connection from the poly resistors in the conb cells of all the digital standard cell libraries, so I'll take it from your comments above that that's a sufficient solution.


Keyboard starts repeating characters after some time

Keyboard starts repeating characters after some time on an Samsung Chromebook Plus (2017, model XE513C24-K01US) running up-to-date crouton. The instances uses xfce and launched using command sudo startxfce4.
After some point (somewhere between 20 minutes and an hour) virtual terminal(s) becomes unusable and crouton must be restarted.
Extra boot info:
crouton: version 1-20170901092920~master:0216f9d1
release: xenial
architecture: arm64
xmethod: xiwi
targets: touch,kde,xiwi,core,cli-extra,xfce,xorg
host: version 9901.77.0 (Official Build) stable-channel kevin
kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 aarch64 aarch64 GNU/Linux
freon: yes

A separate, but possibly caused by the same root issue is that when using remmina on locking and re-loging into the chromebook the keyboard is unresponsive. This also sometimes happens when the screen just goes off (not sure if it is in sleep mode or something.)...
Please paste the output of the following command here: sudo edit-chroot -all

crosh> sudo edit-chroot-all
ERROR: unknown command: sudo
$ sudo edit-chroot-all
sudo: edit-chroot-all: command not found

@jgyllinsky,
It looks like you have 'xorg' installed also, that's good.
Maybe try launching your desktop with 'xorg' to see if the issue shows up there too.
You can launch it with: sudo startxfce4 -n xenial -X xorg
Let us know how it goes.

crosh> sudo edit-chroot-all
ERROR: unknown command: sudo

The problem above is after you open a crosh session you have to also enter shell to get a bash session before doing crouton commands and other things.

$ sudo edit-chroot-all
sudo: edit-chroot-all: command not found

The problem with the above is there needs to be a space ' ' after edit-chroot like:

sudo edit-chroot -all

Hope this helps,
-DennisL

Running sudo startxfce4 -n linil -X xorg instead of the usual sudo startxfce4 -n linil, results in it loading to a black screen and being completely unresponsive until Chrome OS just reboots itself (about a minute) or I hold the power.
$ sudo edit-chroot -all name: linil encrypted: no Entering /mnt/stateful_partition/crouton/chroots/linil... crouton: version 1-20170901092920~master:0216f9d1 release: xenial architecture: arm64 xmethod: xiwi targets: touch,kde,xiwi,core,cli-extra,xfce,xorg host: version 9901.77.0 (Official Build) stable-channel kevin kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 aarch64 aarch64 GNU/Linux freon: yes Unmounting /mnt/stateful_partition/crouton/chroots/linil... name: thetech encrypted: no Entering /mnt/stateful_partition/crouton/chroots/thetech... crouton: version 1-20171122220410~master:99877eaf release: stretch architecture: arm64 xmethod: xorg targets: xfce,xorg,xiwi host: version 9901.77.0 (Official Build) stable-channel kevin kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 GNU/Linux freon: yes Unmounting /mnt/stateful_partition/crouton/chroots/thetech... name: xenial encrypted: no Entering /mnt/stateful_partition/crouton/chroots/xenial... crouton: version 1-20170901092920~master:0216f9d1 release: xenial architecture: arm64 xmethod: xiwi targets: touch,kde,xiwi,core,cli-extra,xfce,xorg host: version 9901.77.0 (Official Build) stable-channel kevin kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 aarch64 aarch64 GNU/Linux freon: yes Unmounting /mnt/stateful_partition/crouton/chroots/xenial...

@jgyllinsky,
I suggested trying 'xorg' on your 'xenial' chroot, you chose to try it on your 'linil' chroot which probably doesn't matter since they look to have an identical release and targets.
What does matter is both your 'linil' and your 'xenial' chroots are about 25 versions (commits) behind.
There have been significant fixes and improvements since you last updated so before we go any further it would be best to update those chroots.
For more details on updating and troubleshooting see the steps outlined in:

Common issues and reporting

Hope this helps,
-DennisL

@DennisLfromGA thank you for your help on this.
I updated both the linil and xenial chroots. This was done using sudo sh ~/Downloads/crouton -n xenial -u and sudo sh ~/Downloads/crouton -n linil -u. Updating did not change the blackscreen and then reboot caused by sudo startxfce4 -n xenial -X xorg or sudo startxfce4 -n linil -X xorg.

@jgyllinsky,
Sorry to hear that.
I'd try launching in 'xiwi' again and see if that works.
Hope this helps,
-DennisL

I apparently cannot always launch using xiwi. Here is the output the one time it worked after several launches (I lost the output of the others), followed by a typical run where it slows down essentially freezing thus requiring to be quit using ctrl+c from the shell tab:
xiwi
(I tried it again to post the error message when it crashes when writing this, but it loaded ok this one time.)
` $ sudo startxfce4 -n linil -X xiwi
Password:
Entering /mnt/stateful_partition/crouton/chroots/linil...
/usr/bin/startxfce4: Starting X server

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-97-generic aarch64 Ubuntu
Current Operating System: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 3334144 verity payload=PARTUUID=f6981aeb-43f5-5244-96ea-ade55c62cc3d/PARTNROFF=1 hashtree=PARTUUID=f6981aeb-43f5-5244-96ea-ade55c62cc3d/PARTNROFF=1 hashstart=3334144 alg=sha1 root_hexdigest=a071e6b8e6ccbfbf469a307c340eda33c30cc440 salt=d5c1b01c9c1b1a9eb5c753ffba5258a77a740e96f7320f545023bb389e4acce0" noinitrd vt.global_cursor_default=0 kern_guid=f6981aeb-43f5-5244-96ea-ade55c62cc3d
Build Date: 13 October 2017  01:58:44PM
xorg-server 2:1.18.4-0ubuntu0.7 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.33.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Tue Dec 12 12:18:08 2017
(++) Using config file: "/etc/X11/xorg-dummy.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1
crouton: version 1-20171122220410~master:99877eaf
release: xenial
architecture: arm64
xmethod: xiwi
targets: touch,kde,xiwi,core,cli-extra,xfce,xorg
host: version 9901.77.0 (Official Build) stable-channel kevin
kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 aarch64 aarch64 GNU/Linux
freon: yes
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Cannot open /sys/class/tty/tty0/active: No such file or directory
Connected to extension, launched crouton in a window.
_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root
gpg-agent[21163]: WARNING: "--write-env-file" is an obsolete option - it has no effect
gpg-agent[21164]: gpg-agent (GnuPG) 2.1.11 started

(xfce4-session:21113): xfce4-session-WARNING **: gpg-agent returned no PID in the variables
/usr/bin/xbindkeys_autostart: line 24: CONF: unbound variable
Failure: Module initialization failed
Setting the name of  0x3be08de0  to  "org.kde.ActivityManager.Resources.Scoring"
Creating directory:  "/home/salt/.local/share/kactivitymanagerd/resources/"
KActivities: Database connection:  "kactivities_db_resources_543629643776_readwrite"
    query_only:          QVariant(qlonglong, 0)
    journal_mode:        QVariant(QString, "wal")
    wal_autocheckpoint:  QVariant(qlonglong, 100)
    synchronous:         QVariant(qlonglong, 1)
Setting the name of  0x3be377c0  to  "org.kde.ActivityManager.RunApplication"
Setting the name of  0x3be0c470  to  "org.kde.ActivityManager.ActivityTemplates"
Service started, version: 6.2.0
/usr/share/system-config-printer/applet.py:45: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Notify
system-config-printer-applet: failed to start NewPrinterNotification service
system-config-printer-applet: failed to start PrinterDriversInstaller service: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.47" is not allowed to own the service "com.redhat.PrinterDriversInstaller" due to security policies in the configuration file`

Here is a typical:
`$ sudo startxfce4 -n linil -t xfce
Entering /mnt/stateful_partition/crouton/chroots/linil...
/usr/bin/startxfce4: Starting X server

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-97-generic aarch64 Ubuntu
Current Operating System: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 3334144 verity payload=PARTUUID=f6981aeb-43f5-5244-96ea-ade55c62cc3d/PARTNROFF=1 hashtree=PARTUUID=f6981aeb-43f5-5244-96ea-ade55c62cc3d/PARTNROFF=1 hashstart=3334144 alg=sha1 root_hexdigest=a071e6b8e6ccbfbf469a307c340eda33c30cc440 salt=d5c1b01c9c1b1a9eb5c753ffba5258a77a740e96f7320f545023bb389e4acce0" noinitrd vt.global_cursor_default=0 kern_guid=f6981aeb-43f5-5244-96ea-ade55c62cc3d
Build Date: 13 October 2017  01:58:44PM
xorg-server 2:1.18.4-0ubuntu0.7 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.33.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Tue Dec 12 10:49:36 2017
(++) Using config file: "/etc/X11/xorg-dummy.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1
crouton: version 1-20171122220410~master:99877eaf
release: xenial
architecture: arm64
xmethod: xiwi
targets: touch,kde,xiwi,core,cli-extra,xfce,xorg
host: version 9901.77.0 (Official Build) stable-channel kevin
kernel: Linux localhost 4.4.79-11654-g7e0f59a105a1 #1 SMP PREEMPT Mon Nov 13 16:29:42 PST 2017 aarch64 aarch64 aarch64 GNU/Linux
freon: yes
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Cannot open /sys/class/tty/tty0/active: No such file or directory
Connected to extension, launched crouton in a window.
_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root
gpg-agent[26645]: WARNING: "--write-env-file" is an obsolete option - it has no effect
gpg-agent[26648]: gpg-agent (GnuPG) 2.1.11 started

(xfce4-session:26602): xfce4-session-WARNING **: gpg-agent returned no PID in the variables
/usr/bin/xbindkeys_autostart: line 24: CONF: unbound variable
Setting the name of  0x1fbb3810  to  "org.kde.ActivityManager.Resources.Scoring"
Creating directory:  "/home/salt/.local/share/kactivitymanagerd/resources/"
KActivities: Database connection:  "kactivities_db_resources_491349606400_readwrite"
    query_only:          QVariant(qlonglong, 0)
    journal_mode:        QVariant(QString, "wal")
    wal_autocheckpoint:  QVariant(qlonglong, 100)
    synchronous:         QVariant(qlonglong, 1)
Setting the name of  0x1fbbddc0  to  "org.kde.ActivityManager.RunApplication"
Setting the name of  0x1fbe3d70  to  "org.kde.ActivityManager.ActivityTemplates"
Service started, version: 6.2.0
Failure: Module initialization failed
/usr/share/system-config-printer/applet.py:45: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Notify
system-config-printer-applet: failed to start NewPrinterNotification service
system-config-printer-applet: failed to start PrinterDriversInstaller service: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.46" is not allowed to own the service "com.redhat.PrinterDriversInstaller" due to security policies in the configuration file

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x800) do not match
thunar-volman: Unsupported USB device type "usb".
thunar-volman: Unsupported USB device type "uvcvideo".
thunar-volman: Unsupported USB device type "uvcvideo".

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x719) do not match

** (xfdesktop:26778): CRITICAL **: xfce_backdrop_loader_closed_cb: assertion 'XFCE_IS_BACKDROP(backdrop)' failed

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x800) do not match

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x719) do not match

** (xfdesktop:26778): CRITICAL **: xfce_backdrop_loader_closed_cb: assertion 'XFCE_IS_BACKDROP(backdrop)' failed

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x800) do not match

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x719) do not match

** (xfdesktop:26778): CRITICAL **: xfce_backdrop_loader_closed_cb: assertion 'XFCE_IS_BACKDROP(backdrop)' failed

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x800) do not match

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x719) do not match

** (xfdesktop:26778): CRITICAL **: xfce_backdrop_loader_closed_cb: assertion 'XFCE_IS_BACKDROP(backdrop)' failed

(xfwm4:26649): xfwm4-WARNING **: output size (1180x699) and logical screen size (1200x800) do not match
recv_pid_fd: No fd is passed from findnacl daemon.
find_shm: Cannot open nacl file.
write_image: Cannot find shm, moving on...
socket_client_read_frame_header: Connection close from WebSocket client.
^C
Session terminated, terminating shell.../usr/bin/xinit: connection to X server lost

waiting for X server to shut down xscreensaver: 12:14:33: SIGHUP received: restarting...
xscreensaver: 12:14:33: running as salt/salt (1000/1000)

Hangup
Hangup
Hangup
Running exit commands...
ICE default IO error handler doing an exit(), pid = 26825, errno = 11
Closing SQL connection:  "kactivities_db_resources_491349606400_readwrite"
xfdesktop: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
xfsettingsd: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
(II) Server terminated successfully (0). Closing log file.
xscreensaver: 12:14:33: Can't open display: :1.0
xscreensaver: 12:14:33: running as salt/salt (1000/1000)

xscreensaver: 12:14:33: Errors at startup are usually authorization problems.
              But you're not logging in as root (good!) so something
              else must be wrong.  Did you read the manual and the FAQ?

              http://www.jwz.org/xscreensaver/faq.html
              http://www.jwz.org/xscreensaver/man.html

/usr/bin/xinit: unexpected signal 2
 ...terminated.
Unmounting /mnt/stateful_partition/crouton/chroots/linil...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/linil...
gpg-agent[26648]: SIGTERM received - shutting down ...
gpg-agent[26648]: gpg-agent (GnuPG) 2.1.11 stopped
Sending SIGKILL to processes under /mnt/stateful_partition/crouton/chroots/linil...`

Just because I mentioned it, remmina crashes all the time, especially on scrolling. This happens on the up-to-date version (~1.2) as well as the officially supported version from the Ubuntu arm repos (1.1.2).
$ remmina
Remmina plugin VNC (type=Protocol) registered.
Remmina plugin VNCI (type=Protocol) registered.
Remmina plugin RDP (type=Protocol) registered.
Remmina plugin RDPF (type=File) registered.
Remmina plugin RDPS (type=Preference) registered.
Remmina plugin SFTP (type=Protocol) registered.
Remmina plugin SSH (type=Protocol) registered.

(remmina:23240): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Segmentation fault (core dumped)

Can I valgrind crouton? The behavior, at least to me, seems like a memory leak or similar.


Add QUEST satellite data

Satellite data shared by @llhouse2. The .xlsx files with multiple sheets per workbook were split into individual CSV files per sheet.

The sat_urls need to be adjusted to point to the images on GitHub (https://github.com/Imageomics/Andromeda/blob/main/datasets/satelliteData/<img_name>.png).

The sat_url's need to be adjusted to point to the images on GitHub: https://github.com/Imageomics/Andromeda/blob/main/datasets/satelliteData/<img_name>.png.

That's I think the landing page for the file within version control. If the image is to downloadable at the URL it needs to be the raw URL.

Thanks @egrace479 and @hlapp ... updated those URLs. Once this merges to main, they should become valid.


Storage .list() method not seem to be working

Bug report
Describe the bug
The .list() method in supabase.storage.from('') is not seem to be working.

I have data in my storage bucket
There is no error shown, only empty data
Storage bucket has no RLS
The path is correct, I even tried the root path but it's still not working

To Reproduce
You can copy this snippet and add it to your code which is connected to supabase.
const { data, error } = await supabase.storage
	.from('images')
	.list(`products/${productId}`);

if (error) {
	console.error(error);
}

Expected behavior
List of all images should be returned.
System information

OS: Windows 10
Browser: Chrome
Version of supabase-js: 1.29.4
Version of Node.js: 16.13.1

Hey @thesyedbasim, by default storage buckets are private and have RLS turned on. If you want to list objects from the bucket, the user must have the appropriate read policy attached or use the service role key to completely bypass access control for the bucket.


Add logic to verify and get signing key from chain

Motivation

Current dependencies on/for this PR:

main

PR #68

PR #69

PR #70   👈

This comment was auto-generated by Graphite.

punting on implementing x509 chain parsing logic.


Move tool definitions into JSON that is cached and loaded on runtime.

To be able to define tools without doing a full new release of vk, the structs must be loaded from JSON which can be put online and updated independently from vk.

All done. Definitions are in https://github.com/drzero42/vk-definitions/


Improve field count typical case performance

The tightest upper bound one can specify on the number of fields in a struct is sizeof(type) * CHAR_BIT. So this was previously used when performing a binary search for the field count. This upper bound is extremely loose when considering a typical large struct, which is more likely to contain a relatively small number of relatively large fields rather than the other way around. The binary search range being multiple orders of magnitude larger than necessary wouldn't have been a significant issue if each test was cheap, but they're not. Testing a field count of N costs O(N) memory and time. As a result, the initial few steps of the binary search may be prohibitively expensive.
The primary optimization introduced by these changes is to use unbounded binary search, a.k.a. exponential search, instead of the typically loosely bounded binary search. This produces a tight upper bound (within 2x) on the field count to then perform the binary search with.
As an upside of this change, the compiler-specific limit placed on the upper bound on the field count to stay within compiler limits could be removed.

This issue was originally noticed when some source files in a large project seemed to be consuming a suspiciously large amount of memory (and also time). After some digging, the culprit was eventually nailed down as field count detection.
Before these changes, compiling one such with clang 14 peaked at 1.5 GB of memory usage. After these changes, compiling the same file peaked at 617 MB. These numbers include the memory usage of compiling everything else as well, which is why the after-fix number is still relatively large. The memory usage attributable to field counting specifically probably went from something like 1 GB to something at least one or two orders of magnitude less.

The PR fails on msvc-14.1 with c1xx: fatal error C1060: compiler is out of heap space error.
I'd recommend try another approach: just change the detect_fields_count_greedy to fill an bool init_succeeded[Last]. This could be done in one go, by getting an index sequence from Last, and applying it to the function that returns true/false, depending on the construction success. After that a simple loop in constexpr could finish the job.
Something like that:
size_t detect_fields_count_greedy(index_sequence<Indexes...>) {
bool init_succeeded[Last] = { is_aggr_initable<T, Indexes≥(), ... };
for ( i = Last - 1; i > 0; --i) if init_succeeded [i] return i;
}

In the last CI run, 15 tasks failed with a compiler is out of heap space error. With the jobs running in parallel, it's hard to determine which tasks failed due to their own excessive memory usage and which were well-behaved, but a victim of running when another task consumed all the available memory. I pushed a temporary commit that I believe should disable testing in parallel. Could you please approve the CI build?
Regarding your suggestion, maybe I'm not understanding it correctly, but I don't see how it would help with performance. The crux of the performance issue is that the check of whether a type is constructible with N arguments, enable_if_constructible_helper_t (SFINAE), costs O(N) memory and time. In your suggestion, I believe this would make initializing init_succeeded cost O(Last^2) time and O(Last) memory.
My proposed changes aim to minimize the overall cost by minimizing the sum of all N checked. They effectively replace sizeof(T) with just the result (field count) in asymptotic performance analysis, which may be substantially lesser. Comparing to the current code (don't trust the current comments):

Case
Memory Before
Memory After
Time Before
Time After

T is an array
O(1)
O(1)
O(1)
O(1)

T is default-constructible
O(sizeof(T))
O(result)
O(sizeof(T) * log(sizeof(T)))
O(result * log(result))

T is not default-constructible
O(sizeof(T))
O(result)
O(sizeof(T)^2)
O(result^2)

The excessive compile time/memory usage issue has been fixed.

@apolukhin Is there anything more you'd like me to address?
The AppVeyor build succeeds now, and does so 5-10% faster than before despite there being three additional tests.

Sorry, I've misread you for the first time.
So here's how I see your changes (please fix me if I'm wrong):
T is default-constructible: you do exponentioal search for upper bound of fields count. It takes log(fields_count) + 1. After that you do a binary search that takes log(log(fields_count) + 1). The final complexity is log(fields_count) + 1 + log(log(fields_count) + 1).
The current implementation starts the binary search from sizeof(type) * CHAR_BIT. However, that CHAR_BIT multiplication is not necessary - we do not need to know the eact count of bitfields. Instead of that the binary search could work with sizeof(type)+1, and if we get the maximum value, then the type has bitfields.
Here comes the math. Your algorithm is better when
log(sizeof(type)+1) > log(fields_count) + 1 + log(log(fields_count) + 1)
which is
log(sizeof(type)+1) > log(fields_count) + log(2) + log(log(fields_count) + 1)
which is
sizeof(type)+1 > fields_count*2 * (log(fields_count) + 1)
sizeof(type) is equal to fields_count*avg_field_size. It gives us
fields_countavg_field_size+1 > fields_count2 * (log(fields_count) + 1)
Which is
avg_field_size+1/fields_count > 2 * log(fields_count) + 2
For fields count 16 the avg_field_size should be about 10 to make your algorithm better. For fields count 256 the avg_field_size should be about 18 to make your algorithm better.
For aggregates of ints, chronos, pointers or size_ts existing algorithm performs better. For aggregates of strings and vectors your algorithm performs better than the existing.
I'd rather call it a tie. But the CHAR_BITS multiplocation should be removed.
T is not defsult constructible: your approach is defenetly superior. I'm worried about the cases, when the whole type is not aggregate initializable, because in that case I think your algo would run as long as the RAM os not exhausted and no diagnostic will be provided. Probably it is the reason, why github CI fails.
I'm also worried about compiler idiosyncrasies. Not all the compikers are listed in CI, so I'd rather stick to the existing, well tested algorithm, if it does not make a noticeable difference.
So, here's the plan:

remove the CHAR_BITS multiplication
for the second case: do the linear search for first non default constructible T, and then use the existing binary search with sizeof(T)+1 upper limit

Your understanding of the approach used in these changes is correct: exponential search followed by binary search. However, your performance analysis only counts "steps". Critically, it does not factor in the cost of checking at each step whether the type is constructible with N arguments, which is O(N) memory and time.
Factoring this in to the default-construble case, the exponential search worst case costs O(1 + 2 + 4 + ... + fields_count + 2 * fields_count) = O(4 * fields_count) to establish bounds separated only by a factor of 2. The best case costs O(1 + 2 + 4 + ... + fields_count + 1) = O(2 * fields_count).
Without exponential search and ignoring the possibility of bitfields, we start with a binary search over [0, sizeof(T)]. To establish bounds separated by a factor of 2, in the best case of an average field size in [1, 2] bytes, this only requires one check costing O(sizeof(T) / 2). This ranges from O(field_count / 2) to O(field_count), which is 1/4 to 1/2 of exponential search's best case cost.
However, the favorable comparison fades rather quickly. Once the average field size passes 4 bytes, establishing bounds separated by a factor of 2 requires (at least) three checks costing O(sizeof(T) / 2 + sizeof(T) / 4 + sizeof(T) / 8) = O(7/8 * sizeof(T)). The field count must be less than sizeof(T) / 4, so in terms of field count, the cost is at least O(7/8 * 4 * field_count) = O(7/2 * field_count). This is already nearly the worst case cost of exponential search, and it only gets worse for larger average field sizes.
In the worst case of a single field, the cost is O(sizeof(T) / 2 + sizeof(T) / 4 + sizeof(T) / 8 + ... 1) = O(sizeof(T)). This is sizeof(T) / 4 times exponential search's worst case cost. The cost factor is nearly unbounded as it simply grows with sizeof(T).
Considering that the best case cost factor of using binary search only is 1/4 and the worst case cost factor is nearly unbounded, I believe that that alone should be enough reason to use exponential search. Additionally, it seems that exponential search may be faster in "average" use, as evidenced by the AppVeyor builds with these changes being roughly 5% faster than builds without. And as a reminder, really poor performance cases with binary search aren't just a theoretical possibility that won't happen in practice. I went through the effort to make and propose these changes specifically because I ran into such a poorly performing case where these changes made a huge difference (https://github.com/boostorg/pfr/pull/120#issuecomment-1396202005).
Regarding the latest CI failure, I haven't had much time to look into it yet. I was hoping that it wouldn't be necessary to do this because it feels unclean, but perhaps it's wise to add a sanity check to the exponential search to halt it if it somehow exceeds sizeof(T) * CHAR_BIT.

Critically, it does not factor in the cost of checking at each step whether the type is constructible with N arguments, which is O(N) memory and time.

It should not take O(N). std::make_index_sequence was a bottleneck in so many cases, that the compiler developers made it an intrinsic (for example https://github.com/microsoft/STL/blob/73924c1920af92899f7582cd904ea819b9db35bc/stl/inc/type_traits#L34). So getting the indexes is O(1), variadic pack expansion is also close to O(1), ubiq_*ref_constructor is not a template and its constructors do not consume time/memory. As a result the check should take about O(1).
Please, check that your compiler supports the builtin and that it is properly detected in https://github.com/boostorg/pfr/blob/28bd7f541f7a7632f4fe52e30d06a121e7cb1f65/include/boost/pfr/detail/make_integer_sequence.hpp

I noticed that someone else (@rressi-at-globus) appears to have discovered these changes and found the changes to be useful enough to make their own attempt to get these changes upstreamed with #179. I resynchronized my branch with develop to hopefully allow this PR to proceed, now with third-party corroboration that these changes are beneficial.

I re-ran the tests that I previously ran in https://github.com/boostorg/pfr/pull/120#issuecomment-1420993441 to once again demonstrate that std::make_index_sequence is not constant cost with respect to the size of the sequence, but now with more recent versions of clang, gcc, and msvc just in case something got optimized. But my findings seem to be the same as before: std::make_index_sequence is not constant cost with respect to the size of the sequence.

https://godbolt.org/z/PKqes5h1M: std::make_index_sequence<10'000'000> gave me the result across multiple retries of resource exhaustion for all 3 compilers.
https://godbolt.org/z/9jEGEG776: std::make_index_sequence<1'000'000> gave me best-case results of clang completing in 0.9 seconds, gcc completing in 2.6 seconds, and msvc never completing due to resource exhaustion.
https://godbolt.org/z/PKqes5h1M: std::make_index_sequence<100'000> gave me best-case results of clang completing in 0.3 seconds, gcc completing in 0.5 seconds, and msvc completing in 1.3 seconds.

@apolukhin: Here are direct reponses to snippets from your comment, https://github.com/boostorg/pfr/pull/120#issuecomment-1415440892. I apologize for not doing this earlier.

I'm worried about the cases, when the whole type is not aggregate initializable, because in that case I think your algo would run as long as the RAM os not exhausted and no diagnostic will be provided.

You were right, there was a problem. I added tests for a default-constructible type accepting 0 or more arguments and a non-default-constructible type accepting 1 or more arguments in e80f7aa951676d5c25d3d264b87d63eebe505d5f. These tests should now pass with the changes from dd1ae1c907a6181ff2eff32cf1091450b9950df1.

I'd rather stick to the existing, well tested algorithm, if it does not make a noticeable difference

It does make a noticeable difference for large types.
Practical evidence:

https://github.com/boostorg/pfr/pull/120#issuecomment-1396202005
https://github.com/boostorg/pfr/pull/120#issuecomment-2332159961

Theoretical evidence:

https://github.com/boostorg/pfr/pull/120#issuecomment-1416529425
https://github.com/boostorg/pfr/pull/120#issuecomment-2332496989

Here's the plan:

remove the CHAR_BITS multiplication
for the second case: do the linear search for first non default constructible T, and then use the existing binary search with sizeof(T)+1 upper limit

As you're aware, the current implementation performs binary search with an upper bound of sizeof(T) * CHAR_BIT. For large types, the first few iterations could carry a significant cost, perhaps even resulting in resource exhaustion. This could maybe warrant removing the multiplication by CHAR_BIT at the cost of losing support for types with dense bitfields (average field size < 1 byte).
The proposed implementation would perform binary search with an upper bound that is no more than twice the field count. This would not carry any unnecessary significant cost. In this regard, removing the multiplication by CHAR_BIT should not be warranted.
There is however a preexisting case of concern: large types that are not aggregate-initializable in environments that do not provide std::is_aggregate. With both the existing and the proposed implementation, this may result in searching all the way up to sizeof(T) * CHAR_BIT just to eventually encounter resource exhaustion or produce an error stating that the type is not aggregate-initializable. But std::is_aggregate is required by the C++17 standard, environments without it will only become rarer with time, and using a non-aggregate type with pfr is a misuse to begin with. So with the proposed implementation, removing the multiplication by CHAR_BIT solely to prevent poor behavior in the case of misuse with a dated C++ environment, while also at the cost of losing support for types with dense bitfields, doesn't seem worth it to me. But if I've forgotten to account for another problematic case or if you otherwise disagree and still want to the multiplication by CHAR_BIT to be removed, let me know.

Still fails the tests

I'm looking at the output of the failed runs now, but there seems to be a lot of unstructured text to comb through... Any tips as to what to look at?

After my best attempts to search for failures in the log files, I could not spot any test failures, but I did spot a couple of Boost Inspection Report problems. These should now be addressed.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
407

Relevant Lines:
407

💛  - Coveralls

Bleh, one more failing CI job. It's late for me today, but I can investigate that tomorrow.
Also, it appears that the coverage report didn't work because I merged develop back into this branch rather than rebasing. Would you like me to rebase instead?

I have implemented a workaround for an MSVC issue that caused failures in windows (msvc-14.3, 20,latest, 64, windows-2022, -j1). It's hard for me to tell from the output if this was the only issue, but I'm hopeful that it was.

I've made additional improvements that should remove any unnecessary trial initializations of array types. This means that the cost of calculating the field count of an array is now be constant. This is tested here:
https://github.com/runer112/pfr/blob/cbc57cc28758c36c77b3fbe4e4ef7fb8e98f5ae8/test/core/run/huge_count.cpp#L53
I've also finally added testing of the core improvement that this PR provides, which is that the cost of calculating the field count of an object is not proportional to the object's size. This is tested here:
https://github.com/runer112/pfr/blob/cbc57cc28758c36c77b3fbe4e4ef7fb8e98f5ae8/test/core/run/huge_count.cpp#L55-L56

The latest CI run revealed 3 embarrassingly simple issues that slipped in last week while making robustness and testing improvements. I have pushed commits to address these issues.

Awesome work!
Many thanks for it!

Awesome work!
Many thanks for it!

And thank you for hanging in there with me through the long process to ensure that these changes meet the high standards expected for a widely-used library.
Although I hope this should never happen, if any concerns are raised about this set of changes in the future, feel free to contact me for support.


Use sortField (& limit) with new @connection syntax

Which Category is your question related to?
GraphQL @connection
Amplify CLI Version
4.13.0
What AWS Services are you utilizing?
DynamoDB, Amplify Console, AppSync, Cognito, SES
Question
In the docs, using the 'old, alternative' way, you can add a sortField to a GraphQL connection, like so:
directive @connection(name: String, keyField: String, sortField: String, limit: Int) on FIELD_DEFINITION
However, I cannot find a way to do that with the new syntax:
directive @connection(keyName: String, fields: [String!]) on FIELD_DEFINITION
And what about the limit?
Thank you for any help!

Closing this is as a duplicate of #1703.
Please follow that thread for updates.

@SwaySway thanks i will follow that issue regarding the limit. However, issue #1703 does not address the sortField.

@SwaySway - please re-open. As @FemkeBuijs states, the issue is not addressed in the linked issue.

@thomasklein-winemaker sortField is controlled by the @key directive with the new syntax. The first field is the partition key, and the other fields are concatenated to make up the sort key. By default the @connection will scan forward based on the sort field.