Video Card

Hello team, If I placed a short video instead of Image, then when I swipe the video it keeps on playing with sound. That means it is not destroying the video widget. Any workaround?

@haidernaqvi87 Can't you stop the video the moment it is swiped?  (Usually video_player)

Hello @haidernaqvi87,
You can use the onWillMoveNext: (index, swipeDirection)  param. This function is called before performing a swipe. It will return true or false depending on whether or not you want to allow the movement. Anyways, before returning a true or a false, stop the video from playing.
Now if you're worried about the memory because the video not being destroyed, I guess you can do the following. In the onSwipeCompleted: (index, direction) param, send a function that will nullify or clear or the video from the list. yourList[index] = null; and reset the state setState({}). It will rebuild, but nothing will change on the user's side the controller's index is index + 1 (cause you swiped already). Just make sure that on the card builder, you cater for the null.


Remove table 12?

It isn't referenced, it was from last year.
"Biomass index estimates from the acoustic survey (million t) using kriging with extrapolation,
kriging without extrapolation, and design-based methods"

I'd say keep it if the numbers have been updated from last year. Unless we have the survey numbers in another table already?

Could we alter it where the columns are:
1: Year
2: Biomass estimate 2016 assessment (million t)
3: Sampling CV 2016 assessment
2: Biomass estimate 2017 assessment (million t)
3: Sampling CV 2017 assessment
This would then explicitly show the minor changes/updates from last year.  However, I'm also fine to just ditch it as we explain those minor changes in the text.  But if we did alter it, there would be a logical place to reference it.

I don't think there is any need to reference extrapolation (with or without) this year

I'm OK ditching the "no extrapolation" columns. Perhaps we should also modify Fig 9 to remove the "no extrapolation" estimates. The one reason to keep these things would be that the 1995 extrapolation vs. no-extrapolation, hasn't been seen before, but given how consistent it is with the patterns for other years, I don't think that there's much value in dwelling on that.
Not to go too crazy, but what about

Changing Table 12 as suggested by Aaron in this thread to compare values and CV in last year vs. this year's assessment.
cutting Fig. 9 entirely because it's mostly redundant with Fig 8 and the revised Table 12 would show the new 1995 and 2% change in the 1998 value.

sounds good, I like that idea.  Anyone want to take that one on?
I'd say this has to be the final 'relatively major' change for the pre-SRG version, text only changes after this !?!?   (of course unless glaring error....)

I've done what Aaron suggested. I'm just debugging it. I created a new table which is called survey-summary.csv and the code to write the new table. Not committed yet.

The way I have done it, the figure can stay the way it is

Great. I haven't even finished rebuilding after the merge, so clearly Chris was in a better spot to do this. I will catch up with what you've done after you commit.  The values were already present in survey-comparison.csv but an extra CSV is fine for now and we can sort things out next year.

Done - commit 9d799b62fdafe1251bca708fcf75d7cd516833f0


Sending large messages via pub sub

I'm new to Java and learning Aeron.
I need to send a large message via pubsub and I use basic sample (https://aeroncookbook.com/aeron/basic-sample /)
In the process, both small and large data will be sent, so I use ByteBuffer.allocate(8192).
When a sub receives an object and tries to deserialize it:
com occurs.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: (String)""; line: 1, column: 0].
Here is my code:
`public static void main(String[] args) {
    final String channel = "aeron:ipc";
    final IdleStrategy idle = new SleepingIdleStrategy();
    final UnsafeBuffer unsafeBuffer = new UnsafeBuffer(ByteBuffer.allocate(8192));

    try (
            Aeron aeron = Aeron.connect();
            Publication pub = aeron.addPublication(channel, 1)) {
        while (!pub.isConnected()) {
            idle.idle();
        }

        long latency = Long.parseLong(dbService.getBalanceLoaderLatency(args[0])) / 1000;

        while (true) {

            Thread.sleep(latency);

            //sending
            unsafeBuffer.putStringAscii(0, OBJECT_MAPPER.writeValueAsString(getOrderBook(CurrencyPair.BTC_USDT)));
            while (pub.offer(unsafeBuffer) < 0) {
                idle.idle();
            }
        }
    } catch (InterruptedException | JsonProcessingException e) {
        e.printStackTrace();
    }
}

    public static void main(String[] args) {

    final String channel = "aeron:ipc";
    final IdleStrategy idle = new SleepingIdleStrategy();

    try (
            Aeron aeron = Aeron.connect();
            Subscription sub = aeron.addSubscription(channel, 1)) {

        while (true) {

            //receiving
            FragmentHandler handler = (buffer, offset, length, header) ->
            {
                String s = buffer.getStringAscii(offset);

                ReceivingObject receivingObject = null;

                try {
                    System.out.println("My object: " + s);
                    receivingObject = OBJECT_MAPPER.readValue(s, ReceivingObject.class);

                } catch (JsonProcessingException e) {
                    e.printStackTrace();
                }
            };
            while (sub.poll(handler, 1) <= 0) {
                idle.idle();
            }
        }
    }
}`

@yoursweet667 Such questions should be asked on StackOverflow but in your case the basic-sample contains the answer:

Lines 1-2 construct the FragmentHandler. In this case we know it is a simple, small message so we can use the most basic FragmentHandler to accept the message. FragmentAssembler should be used to reassemble larger messages.

So what you need to do is to wrap your FrameHandler in FragmentAssembler, i.e.:
FragmentHandler handler = new FragmentAssembler((buffer, offset, length, header) ->
{
    String s = buffer.getStringAscii(offset);

    ReceivingObject receivingObject = null;

    try {
        System.out.println("My object: " + s);
        receivingObject = OBJECT_MAPPER.readValue(s, ReceivingObject.class);

    } catch (JsonProcessingException e) {
        e.printStackTrace();
    }
});

Also you should probably remove while (true) as it not needed.


TypeScript definitions

Do TypeScript definitions exist for Smooth UI?

Not yet I think.

Would also love to see Typescript definitions for Smooth.

I can try to implement it.

You want to implement just external types like props for components or make definitions for all package internal functions, utils and components props?

I would like types for all functions & components exposed to the user.

Sorry for big delay, have some troubles.
Currently working on types for components

@neoziro
Please, have a look to PR solving this

Hey @Ermakoy. In this issue I found out that types will no longer be part of this repository. Could you put the types onto the definitely typed repostory. Even if not all the latest types are valid, I would love to contribute as I've started monkey patching some smooth-ui types in my project but ultimately had to set skipLibCheck: true due to being new to TypeScript.

Hello, @ReasonableDeveloper.
Ok, i will upload types

was this ever uploaded?

any chance for a @types/smooth-ui__core-sc package?

+1 I'd like to use Smooth UI but there's no types available so I'm not using it.


GlobalTOC is generated incorrectly

Hi @MaxMelcher. Thank you for the tool you have created.
When GlobalTOC is enabled, the TOC content doesn't contain the links to the documents by name.
Consider the following wiki structure
wikiFolder/

page1.md (doesn't contain TOC)
page2.md (contains TOC)
page3.md (doesn't contain TOC)

The TOC output of the tool would be smth like this:

page1

[headings from file page1.md]

[headings from file page2.md]
page3

[headings from file page3.md]

When the page contains its own TOC, the global TOC link to the page itself is omitted, and the whole TOC seems very weird. I tried the --heading parameter, but it doesn't affect the behavior.

I agree, the principle of heading organizing need more documentation.
Look like the tool only take in consideration headings in pages and not page titles.


Move to handlebars + RustEmbed

handlebars: not enough benefit for a huge pain to rewrite all the templates
rustembed: increased compile times + need to recompile to update assets. maybe if this site was being used by more people, but rn this is fine just reading the file every time.


Update log.c to log ISO time stamps

Enhance the logging time stamp to conform with RFC 3339, ISO 8601.

CUPS uses Apache Common Log Format, and so uses its date/time format.
Given that we have no desire to change the internally-supported log format and most of the subsequent development in this area is with the system logging daemons, we won't be taking this pull request. Sorry.

Thanks Michael for your response. I understand, this is reasonable. My idea is probaly short-sighted.
Would you consider it if it was alternatively configurable by cupsd.conf as W3C extended format?
Any concerns with that?

Yes, we are not adding more file logging to cupsd. ASL, syslog, systemd logging, etc. all provide support for ISO date/time stamps, and those are the long-term logging solution for CUPS.


[kjobctl] Delete RayJobs and RayClusters on delete namespace.

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Delete RayJobs and RayClusters on delete namespace in integration tests on kjobctl.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/cc @alculquicondor


Corso: Configure Second Test User

Ensure that second test user is configured in a similar fashion to the first.

Powershell required

Settings for 2nd test user updated.


Search for<EMAIL_ADDRESS>and remove

any found

What?

I plan to do it myself, Brian, but I’ve been asked to remove any occurrences of sdk-support<EMAIL_ADDRESS>from our docs, including sdk docs.  If I find none, I’ll close the issue!
-- Cat Lookabaugh, Sr. Information Developer
Rackspace Hosting – the #1 Managed Cloud Company
Info Dev Team<EMAIL_ADDRESS>Office:<PHONE_NUMBER>   Cell:<PHONE_NUMBER>
From: Brian Curtin<EMAIL_ADDRESS>Reply-To: rackspace/pyrax<EMAIL_ADDRESS>Date: Wednesday, March 29, 2017 at 4:25 PM
To: rackspace/pyrax<EMAIL_ADDRESS>Cc: Cat Lookabaugh<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [rackspace/pyrax] Search for<EMAIL_ADDRESS>and remove (#621)
What?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/rackspace/pyrax/issues/621#issuecomment-290230891, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFcdMJhDdPuUVobU3amn5-1FeQJvhmw6ks5rqsxYgaJpZM4Mtd1G.

OK, I'm assuming there are none and will move on.  Thanks, Brian!


Bugfix read partitioned iceberg without partition path

Proposed changes
Issue Number: close #23014
Iceberg does not require partition values to exist on file paths, so we should get the partition value from PartitionScanTask.partition.


Schedule Discussion and Fixes

Discussion of the latest draft can happen here.
Current pull request is here: https://github.com/PyconUK/pyconuk.org/pull/91

Please keep discussion to the mailing list or the linked PR, Issues should be actionable tasks =)


Add module - across all concerns

$ dolittle add module <Name Of Feature>

Adds it to all the different concerns (Domain, Events, Read).

I don't think that we need this


Switching has_(not)_completed to RO terms

Switch has_completed to output_of
Switch has_not_completed to capable_of
See https://github.com/oborel/obo-relations/issues/574
Related to https://github.com/obophenotype/cell-ontology/issues/1481
tagging @bpeters42
will not merge unless we have approval from @addiehl

Very useful to see all changed examples together.  Looks like there's plenty to discuss here, so have converted to Draft pending discussion on CL call.

Please do not switch has_not_completed to capable_of.  They do not mean the same thing.  See  https://github.com/oborel/obo-relations/issues/574 for my suggestion.

@shawntanzk, can we update or close this PR? There has been no noted activity for > 6 months.

I'm going to close this for now, we need to resolve the discussion in https://github.com/oborel/obo-relations/issues/574 for this to move on


Table

Hello
any idea when Table component will be released?
Thank you.

I see it is done but when I run it, I see this:
http://imgur.com/EeyUIIW
It can be that I'm wrong but I'm using /dist/js/framework7.js dated 03/21/2017

/dist/js/framework7.js was last generated 9 days ago and @nolimits4web pushed the feature 8 days ago.
As for being released 'officially' i imagine within a couple of weeks but you can build it yourself if you need it now

Thank you. Where I can find info's of how to build data-table, please?

Install node.js and follow the instructions in the README

Thank you, will try it.

Just in case - did someone build data table? If yes, any chance to post it?
Thank you.

@krosoftware use Build instructions from README and use JS/CSS files from build/ folder

Thank you but I do not understand where to start. What means:
"First you need to have gulp-cli which you should install globally."
Where I can find "gulp-cli" ? Also, what means "Then install all dependencies, in repo's root"
I have 10+ years experience in Windows desktop programming (Visual Basic) and I just started on HTML/JS world so those instructions are strange to me. If there is no chance that someone post compiled version with Data Table, I will wait. I just asked - if someone built it already to post it somewhere..

Have you installed node.js?

Yes I am. I have installed it into C:\Program Files\nodejs\ and there is node.exe and some other files. When I run node.exe it show me DOS command prompt and that's all. I searched for "gulp" and there is no such file. How to start? Look, if it is problem for you or someone to build data table, I will wait. I will not to disturb you or someone else if you have no time to build it.. I just asked if someone already did that - if not, OK.

Which version of Windows are you running? If 8, 8.1 or 10 open File Explorer to wherever you cloned Framework7 to and run npm install -g gulp that makes gulp available globally then npm install downloads F7's dependencies locally with gulp build building it

OK it worked, thank you so much.


Missing greeter for lightdm in dwm-titus

Describe the bug
When starting off a fresh Arch-Server install and using linutil to install and configure dwm-titus, a dm must be chosen. With the choice of lightdm, only the lightdm package is installed with its needed dependencies. A greeter is technically not a dependency, though, and not required with autologin. Without autologin configured, however, the lightdm service fail to start on boot due to a missing greeter.
To Reproduce
Steps to reproduce the behavior:

Install Arch-Server using Linutil
Boot into fresh install
Run Linutil to install dwm-titus
Service lightdm fails upon reboot

Expected behavior
Without configuring autologin, the system is expected to boot to a login screen after installing and configuring dwm.
Screenshots

Additional context

Checklist

[x] I checked for duplicate issues.
[x] I checked already existing discussions.
[x] This issue is not included in the roadmap.
[x] This issue is present on both stable and development branches.

/label 'script'


Select Just-In-Time-Debugger - Ausnahmefehler in [23052]

Please include the following with each issue:
1. Describe the bug
Since yesterday I always get the following window when trying to publish something

Additionally I have to reauthenticate (Copy+Open Authentication code) everytime.
2. To Reproduce
Publish an extensions
3. Expected behavior
Everything should be working as befor.
Versions:

AL Language: v11.0.825804
Visual Studio Code: Version: 1.78.2 (user setup)

I can confirm, getting the same behavior as described. Seems to be caused by yesterdays release of the AL Language version (v11.0.825804).
As a workaround for now: Installing the previous version of the AL Language extension (v11.0.810452) seems to be working. Only had to authenticate once after that, no more JIT Debugger window anymore.

I had the problem yesterday, that I always get an error, when I try to install the old version.

Download not possible - please try the manual download and installation

I update to VS Code:
Version: 1.79.2 (user setup)
But this does not help.
Now even Download-Symbols did not help

I downgraded AL Language extension and worked

I had the problem yesterday, that I always get an error, when I try to install the old version.

Download not possible - please try the manual download and installation

Were you able to install the old AL Language version then, after updating to VS Code 1.79.2? If not, have you tried downloading it directly from the VS Code marketplace? Direct Download for v11.0.810452 and then installing the vsix directly in VS Code?

Now it was possible to downgrade the AL Language Extension after upgrade VS Code

Same here, will downgrade the extension

Same here. Have downgraded but now have issue with Create Package.

v11.0.827766 appears to fix this

Correct v11.0.827766 resolves this issue.


drawCubicEnabled performance issues

Like many others have mentioned, I'd like to thank anyone involved in the development of this library. It's saved me an incredible amount of time at work, and has inspired me to get more involved in the open source community!
I'm currently using a relatively simple use of a LineChartView to display a fully zoomed out graph of ~350 data points. However, even in the ChartsDemo example with LineChart1ViewController, I've noticed that when I use:
lineChartDataSet.drawCubicEnabled = YES;
the performance on the graph tends to considerably decrease.
I'm testing with the LineChart1ViewController code with very slight modifications:
- (void) setChartDataWithData: (NSArray *) data {

    NSMutableArray *xVals = [[NSMutableArray alloc] init];

    for (int i = 0; i < data.count; i++)
    {
        [xVals addObject:[@(i) stringValue]];
    }

    NSMutableArray *yVals = [[NSMutableArray alloc] init];

    for (int i = 0; i < data.count; i++)
    {
        double mult = (90 + 1);
        double val = (double) (arc4random_uniform(mult)) + 3;
        [yVals addObject:[[ChartDataEntry alloc] initWithValue:val xIndex:i]];
    }

    LineChartDataSet *set1 = [[LineChartDataSet alloc] initWithYVals:yVals label:@"DataSet 1"];
    set1.highlightColor = [UIColor redColor];
    set1.highlightLineWidth = 2.0f;
    [set1 setColor:UIColor.blackColor];
    [set1 setCircleColor:UIColor.blackColor];
    set1.lineWidth = 1.0;
    set1.circleRadius = 3.0;
    set1.drawCircleHoleEnabled = NO;
    set1.valueFont = [UIFont systemFontOfSize:9.f];
    set1.fillAlpha = 65/255.0;
    set1.fillColor = UIColor.blackColor;
    set1.drawCubicEnabled = YES;

    NSMutableArray *dataSets = [[NSMutableArray alloc] init];
    [dataSets addObject:set1];

    LineChartData *chartData = [[LineChartData alloc] initWithXVals:xVals dataSets:dataSets];

    _lineChartView.data = chartData;

}

There are cases where many data points will cause performance degradation. That's just a fact that there's more to process. Specifically when drawing cubic lines, there's more for the CPU to calculate to find the position of each pixel.
I did try in the past to move the drawing to the GPU (as CoreGraphics draws mainly using the CPU), but haven't had the time yet to check more options that were suggested.
We have a discussion that's been sleepy for a while, here: #29


Move initialization functions into esp-hal-common package's soc module

Creeping ever closer to making #446 a reality... 😅

Not sure if we should add an rt feature to esp-hal-common or not (probably yes )

Oops, missed some files... 😁

I decided to handle those features properly instead of what I had hacked together before, so that was taken care of in #1059. I've rebased on main since that PR was merged, so I think we should be okay here now.


fix/generate code auth header validation

Description
should inherit auth from collection only if the type is 'inherit'
extension of pr #1792
note: fixes for failing cli tests are part of pr #2485
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[ ] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[ ] Create an issue and link to the pull request.

Why are the fixes in a separate PR?

Merged. Thanks @lohit-1 !


If user logs out, detach any running debug sessions

If the user logs out, she won't be able to set/unset snapshot locations, receive snapshots from the Cloud Debugger, so it's better to detach any running Cloud Debugger sessions.

Related to #229


Telemetry improvements for EH client and FileSystemContentStore

    public string Diagnostics;

Can we overload this rather than adding a new property?

Refers to: Public/Src/Cache/ContentStore/Interfaces/Results/ResultBase.cs:107 in 2af5ffb. [](commit_id = 2af5ffb862f60676eedf6cb153c0db63f9210be8, deletion_comment = False)

    protected string GetErrorString()

Will this now return Error=[Something went wrong] Diagnostics=[, LockWait=42ms]?

Refers to: Public/Src/Cache/ContentStore/Interfaces/Results/ResultBase.cs:157 in 419fc8c. [](commit_id = 419fc8ce01f383432b5128b7f64819ba04d703fa, deletion_comment = False)


Incorrect quoting path part of URI.

I think there is error with constructing target url in request object.
There are lines 177-178 within aiohttp/client_reqrep.py (method update_path in ClientRequest):
self.path = urllib.parse.urlunsplit(
            ('', '', urllib.parse.quote(path, safe='/%:'), query, fragment))

It says to quote path part with safe characters not needed quoting forward slash, percent sign and colon.
But according to RFC3986 section 2.3 there are unreserved characters that does not need escaping:
unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"

Python's urllib.parse.quote library does not recognize tilde sign. So it must be within safe keyword argument.
Also according of section 2.2 of same RFC there reserved characters which used as delimers or subdelimers of path sub parts. As request method receives either full URL  and URL without query substring you can not if any of delimers is delimer or part of path subcomponent.
So it must be library uses's responsibility to quote or exclude reserved characters from path sub component.
Reserved characters (RFC3986 section 2.3):
reserved    = gen-delims / sub-delims

gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

sub-delims  = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

Again urllib.parse.quote does not quote only forward slash. Since it is so many reserved characters quoted so I think it is mistake from your side to escape UTF-8 characters using urllib.parse.quote method.
Where such behavior is problem?. All Akamai CDNs heavy uses comma as delimer within path part of URLs. So there no way to forbid your library to stop quoting commas within path part of URL.
Example Akamai's URL:
http://o2-f.akamaihd.net/z/onthewings/20150903/20150903-onthewings-hd-,150000,300000,500000,800000,1000000,1300000,1500000,2500000,.mp4.csmil

Your library quotes commas and Akamai CDN response with 404 for such quoted URL.
My suggestions are either include all reserved & unreserved characters as safe keyword argument or provide additional keyword argument to block quoting of path part of URI in request method.

Couple days ago I've committed new version of url requoting, the code is borrowed from requests library.
Please take a look on https://github.com/KeepSafe/aiohttp/blob/master/aiohttp/helpers.py#L356 and https://github.com/KeepSafe/aiohttp/blob/master/aiohttp/client_reqrep.py#L183
Is the fix satisfies your requirements?

Thanks.
For time being I will use your git master version.


[Feature Request]: Dart package for chroma

Describe the problem
It would be great to be able to use chroma in flutter apps (particularly to store the vectors on-device.
A chroma dart package with the basic api would be very useful for this
Describe the proposed solution
Dart package for chroma at pub.dev
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

@dhruv-anand-aintech this now exists! https://pub.dev/packages/chromadb

Closing this for now.  Please let me know if anything else pops up here and we can re-open it.


Fixed typo in OS X plist

Description:
Noticed a typo in the plist file for OS X. It had me running in circles figuring out why I had 2 processes running and why I couldn't find my logs. At least I'm assuming this is a typo ... if not, just ignore :)

Thanks! 🐬 🍪


Add button component

Adds a button component to be used across applications
Note: We do not consume GOV.UK Elements directly due to the naming conventions being leaky, in time this component will be a wrapper for the GOV.UK Frontend project's button component.
Global button styles seen at app/assets/stylesheets/helpers/_buttons.scss
should be considered deprecated with this component replacing any instances.
govuk-* namespace replaced with pub-c-* otherwise we will conflict with https://github.com/alphagov/govuk-frontend/blob/master/docs/components.md

Before

Big

Not so big

Pretty small

Small

After

Big

Medium

Small

iPhone 6 iOS9

Samsung Galaxy S7

Safari 6

Chrome 57

Firefox 56

Edge 15

IE11

IE10

IE9

IE8

IE7

IE6

@nickcolley Sass linter errors – need to bump gem and update some other rules.

How should we add the !important for forcing button colour?
How do we have a fixture showing specific link styles in container?

Is there a branch showing usage on government-frontend?

@fofr the color leakage is not an issue with this component since it sets color using :link which has a higher specificity than our leaky styles. 🙏
(Would be great to have this as a test though)

@fofr I've updated this to address the concerns around the govspeak button that'll be removed from government-frontend. (Note: I've tested static with master government-frontend, and the cascading overrides work out OK so this wont mean we need to co-ordinate a deployment)


Physac 1.0 module completed

Physics calculations in secondary thread.
Define PHYSAC_NO_THREADS to avoid using pthread library functions. So, user must create a thread using its own libraries to call void *PhysicsThread(void *args).
Physics examples updated with new changes.
Instructions to compile physics examples added as comments in code header.
Switched from static physics steps to fixed time steps (as much steps as CPU without v-sync can do)
Added internal time management GetCurrentTime() and InitTimer() to calculate physics delta time.
Updated physac header documentation.

Amazing work @victorfisac! Congrats! :)


kubelet requests server certificate via CertificateSigningRequest API

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:

Previously, the kubelet was creating a self-signed CA and server certificate for 1y when starting up. The kube-apiserver was not verifying the certificate when talking to the kubelet via HTTPS since it does not know about this CA.
This approach has two problems: (1) long validity of server certificate, (2) no client-side certificate validation in kube-apiserver
Now, the kubelet uses the CertificateSigningRequest API to request the server certificate. It will be signed by the existing ca-kubelet. The whole mechanism works similar to what it does for requesting its client certificate.
The gardener-resource-manager serves a controller watching such CSRs and auto-approves them if several constraints are met (there is no auto-approval in kube-controller-manager for kubelet server certs).
The kube-apiserver still does not validate the server certificate for backwards-compatibility (if it did, it would fail until all kubelets were updated/reconciled). This will be added in a future Gardener release.

Which issue(s) this PR fixes:
Part of #3292
Special notes for your reviewer:
PoC co-authored by @mwennrich and @Kumm-Kai
cc @vlerenc
Release note:

The `kubelet`s running on shoot worker nodes are now requesting server certificates via the `CertificateSigningRequest` API. They have the default validity of `30d` and are auto-rotated when `80%` of their lifetime expires.

Thanks!

/assign

/assign

/lgtm

/approve

Oops, sorry @plkokanov, I missed that you are still assigned.

/lgtm


Kubernetes backend_options: use snake_case

Backend options for kubernetes currently use camelCase while everything else uses snake_case (e.g. https://woodpecker-ci.org/docs/next/administration/backends/kubernetes#nodeselector).
For consistency, all should be snake_case.

CamelCase is the primary notation in kubernetes. If this changed, one cannot c/p valid k8s code anymore.
I would vote for keeping it as is.


Rename package "guble" to "protocol" or "gublep"

Decide which name is better:

protocol
gublep

This requires a bit refactoring, like:

Remove the Publisher name from the field names
PublishingTime should be just Time

I don't have an opinion on the name.
Both would be fine for me.

Also, regarding the field names. Can everyone say if you agree with the changes or now? Ty.

+1


Alternative solution for #3177 that adds no runtime overhead

This is an alternative approach to the one taken in https://github.com/statelyai/xstate/pull/3178. This solution only validates that during the development and requires no extra code for the production (as the development-only branch gets stripped down).
This solution here tries to balance the improved DX with the bundlesize concerns

One slight issue with this is that it's possible (but unwise) for this to never be caught in development, but somehow happen in production, causing that same infinite loop.
IMO we should prevent this from happening in production itself.

One slight issue with this is that it's possible (but unwise) for this to never be caught in development, but somehow happen in production, causing that same infinite loop.

I agree - we might think about it but we should tackle this from a more generic perspective. There are a lot of situations in which one could end up with an infinite loop between actors, we probably should introduce some threshold of the "sync event chain" or something and throw an error when it's exceeded. It would be somewhat similar to what React does with rerenders or what TypeScript does with type instantiations.


[Feature Request] Recreate untracked files

Right now blue (tracked) files can be individually used.
But untracked files are shown in gray with a small gray "U" icon. Would be helpful to be able to recreate those files.

Hi @lonix1. Thanks for the suggestion. I like the idea, so I'll add this on the coming update.

Thanks @arturock

:slightly_smiling_face:


Added some new programs - snapshot and livefeed

pylepton_snapshot displays a single from from the lepton and saves a copy of the same image.
pylepton_livefeed displays a live feed window from the lepton.

Thanks for the PR! I don't have my Pi set up to give this a try, but it looks great.
I wonder how the frame rate is on pylepton_livefeed? If you think the frame rate could be better, it might make sense to hold on to a reference of the Lepton object, and also pre-allocate a single buffer to pass to capture each time (something like _,nr = l.capture(lepton_buf) -- note that you should check nr for duplicate frames). These were both things I had to do in the overlay program to help it keep sync with the Lepton, and consequently achieved the full rate of the imager.
Just a thought though, I'm happy to merge this if you're happy with the way this works now.

Ah... those are all good suggestions. Please hold on merging - I'll try to improve it a bit. The frame rate isn't bad, the bigger constraint seems to be how fast the window manager can refresh when the output is scaled up. (Hope that makes sense, I'm brand-new to python.) Although in truth, I need to test it with a different setup, I'm doing all of this on a headless Rpi through remote desktop, so I don't entirely trust what I'm seeing for output...

It's possible that the image processing will take long enough to throw you out of sync with the Lepton unless you grab images on a worker thread or something, but it's worth a try the easier way first.

I just wanted to say thank you for the tips - your suggestions just cut my processor load in half (big deal on the RPI!)


Fix the Xcode project

Xcode shows the Swift 3 conversion dialog, although the code has been converted.
This fixes the Swift version in the project and sets the provisioning settings to Automatic.
Also, the (empty) tests haven't been converted to Swift 3.

Thanks for this @bojan


Fix issue where creating a snapshot of a blob fails PutBlock operations which specify a lease.

The issue is that snapshot is not specified as empty when finding a blob/block in the Loki blob collection so snapshot instance may be found.

@ljcollins25
Thanks for raising this PR!
Would you please also update change log and test cases for this change?
Besides that, the PR check has many failures like:
src/blob/persistence/LokiBlobMetadataStore.ts(2260,9): error TS1005: ',' expected.
src/blob/persistence/LokiBlobMetadataStore.ts(2277,7): error TS1005: ',' expected.

@XiaoningLiu
Would you please help to look?

Unfortunately I'm not a team member so I don't have a good setup to properly land this PR. I'd like to ask a team member to help and do what's necessary to clean up and merge this PR. The changes to the Loki store seem sound but I think I'm missing something with the SQL store.
Thanks!

/azp run

@ljcollins25
The PR check still fail since test case fail.
As I see, following 2 test cases failed after you change, would you please help to fix them?
The 2 test cases are both in file https://github.com/Azure/Azurite/blob/main/tests/blob/apis/blockblob.test.ts
1) BlockBlobAPIs
       stageBlock with double commit block should work @loki @sql:

      AssertionError [ERR_ASSERTION]: 2 == 1
      + expected - actual

      -2
      +1

      at Context.it (tests/blob/apis/blockblob.test.ts:188:12)
      at process._tickCallback (internal/process/next_tick.js:68:7)

  2) BlockBlobAPIs
       getBlockList_BlockListingFilter @loki @sql:

      AssertionError [ERR_ASSERTION]: Input A expected to strictly deep-equal input B:
+ expected - actual

- 404
+ 400
      + expected - actual

      -404
      +400

      at Context.it (tests/blob/apis/blockblob.test.ts:431:12)
      at process._tickCallback (internal/process/next_tick.js:68:7)


Crash saving geomstream with auxChannel data

We are creating geometric elements that represent a 3d surface. We tried to add auxChannel data in order to use the Scientific Visualization feature, but after saving the element with the auxChannel data the platform crashes.
To Reproduce
Attached is the mesh with aux data that was used. The aux data in this test is Scalar data that is simply zeros. Save this polyface to a geomstream. The element update call will succeed, but afterwards the platform will disappear. I presume when the tiles are being regenerated.
aux.txt
Desktop (please complete the applicable information):

OS: Win11
Browser Electron
iTwin.js Version 4.4.0-dev.10

Show your code please.

The polyface creation is in the attached file. Then just create the geomstream
const builder = new CoreElementGeometry.Builder();

const meshParams = new GeometryParams(categoryId);
meshParams.fillDisplay = FillDisplay.ByView;
meshParams.lineColor = sourceParams.color;
meshParams.fillColor = meshParams.lineColor;
meshParams.weight = 1;
builder.appendGeometryParamsChange(meshParams));
builder.appendGeometryQuery(polyface);

const builderParams = { viewIndependent: false, entryArray: builder.entries };

and assign this to a geometric element's elementGeometryBuilderParams property. It works fine without the auxChannel data.

I might be reading it wrong, but if the test just stores the geomstream into the database and no other services are running than I expect it won't show the problem. The actual update of the element is not what crashes. While I can't be sure, I believe it is either the tile generation based on this new geomstream, or somehow rendering the tile.
It may actually be easier to reproduce this way. Here is an imodel that has the stored geomstream (not the exact same as the sample code, but conceptually the same, with zero scalar values). If you open the imodel the platform crashes before the view is shown. You need all the files supplied to see the issue (the bim file alone will open successfully)
booster.zip

Gonna need actual repro steps.

Alternatively, consider using the debugging, logging, and crash reporting capabilities built into Studio to capture a native stack trace.

Either generating and saving that geomstream in an application, or opening that imodel in an application should reproduce it. I checked for logs in %TEMP%\iTwinStudio\Logs but I don't see anything from native.

No crash when opening the view, whether I open the .bim with none of the other files present, nor with all the other files present. Tiles finish loading and I see a green polyface and below it the outline of a blue rectangle.
Several seconds after I zoom out a bit, it crashes.
Element geometry stream reported in display-test-app does not include the aux channels, but otherwise looks reasonable.
[Geometry Summary for Element 0x43]
(3D) Category: 0x20
Model: 0x31
{"indexedMesh":{"point":[[-654.9048006685064,-1.4512710321434947,96.23637695258049],[-654.9048006685065,4.053085326891638,95.95386238246687],[-649.3438639060464,-1.4512710321434952,99.54052114474263],[-654.9048006685066,29.931437053898083,96.34726252605145],[-628.3941831407569,-1.4512710321434916,100.65866566847339],[-651.4272276049248,32.973304760030146,96.53578492155617],[-654.9048006685065,39.07867526869474,96.93754218214954],[-605.308653297898,-1.4512710321434987,103.25636921582586],[-654.9048006685065,87.79336297826025,100.35819054360066],[-609.4219308449618,71.34595723491742,99.5557591817957],[-654.9048006685065,125.70467657837608,102.1961085963678],[-654.9048006685065,153.42772454324592,93.88062736243208],[-654.9048006685065,153.4371901455186,93.88056136234766],[-654.9048006685065,153.43333063041302,100.74258321319715],[-654.9048006685065,153.4373652616992,100.74243001435757],[-654.9048006685065,153.43733202986965,105.64032513230606],[-654.9048006685065,153.43749025357482,105.64019462967075],[-616.5726456072529,153.42379476700907,91.77634290746832],[-616.5700399700352,153.4332597908009,91.77618145387596],[-616.5705905963625,153.43355995531127,103.5358449477339],[-616.5660451592433,153.43340188905796,103.53610642462573],[-474.81938053349916,-1.4512710321434952,108.38131405867404],[-654.9048006685065,226.15632508721202,112.85960012402703],[-654.9048006685065,232.134133357733,113.46559193039062],[-654.9048006685065,242.05668144725368,114.16819539972958],[-589.7684504014187,188.82151300410246,105.75875576169469],[-423.3066820804337,-1.4512710321434916,110.80675622350873],[-404.5147093535424,-1.4512710321434952,111.34229170876313],[-374.39203705558975,-1.4512710321434987,111.57033132887935],[-654.9048006685065,335.2243743844598,114.74248653609375],[-468.2235049083565,153.42379108825284,91.6391650197537],[-468.2208987002782,153.43325613563783,91.63992788545393],[-339.65167002623565,-1.4512710321434952,110.78985481265185],[-468.2214493266056,153.4335563001482,103.39959137931187],[-468.21690446034705,153.43339821030173,103.39892853691111],[-343.1162802846683,24.820778996580284,110.92093374138955],[-612.3746590310424,335.2243743844598,115.50765057211902],[-308.2981631691962,-1.4512710321434774,103.74060050640131],[-308.28728883556863,-1.4512710321435272,103.74079074479788],[-380.65218706476327,84.1432518457489,108.63580312204505],[-308.292322602812,-1.4512710321434987,114.14607825538063],[-308.2877765204508,-1.4512710321434987,114.14655629603067],[-308.29156293942015,-1.4512710321434916,115.49956393248544],[-308.2878399526808,-1.4512710321434952,115.50001410957975],[-590.648506609563,330.74566470249636,115.87092092563508],[-590.3933881239175,335.2243743844598,115.64445676585113],[-589.3542526091531,335.22437438445974,115.65028265744641],[-295.7483745676837,-1.451271032143497,116.25605740876532],[-292.4384523295355,-1.4512710321434956,115.47537482403197],[-308.2973762290798,29.464785790419658,104.50733648383982],[-308.28567904354844,29.46494311641624,104.5074776176353],[-581.0796351817118,335.2243743844598,115.75205297510557],[-360.98676789587023,89.9322040695449,109.66385708306079],[-284.87214933761936,-1.451271032143496,115.4150608225775],[-308.29077575134176,29.47439289626269,116.26646509313525],[-308.2862296604229,29.474550230767697,116.26693922790298],[-308.2972567308535,45.73327797761249,101.95522653280096],[-308.2855595042957,45.73343528124421,101.95449146981645],[-368.13800378655367,107.39213716214581,113.01412028023792],[-274.3984437698102,-1.451271032143496,118.14346648259033],[-357.41138332450726,101.58459618004633,112.9728668541029],[-308.290656282844,45.742885099661436,113.7149900499584],[-308.2861101481559,45.743042410306366,113.71452941128626],[-266.3385790761713,-1.4512710321434987,115.8637072182954],[-373.5077064930143,153.41461660090087,96.83333703949528],[-373.5050998706502,153.42408088568246,96.83362626433303],[-464.653276423388,249.32165593810063,108.00291166059569],[-373.50110604500475,153.42422372295,108.59310055665271],[-373.4984994179433,153.42438105019286,108.59329009302813],[-244.25364252359148,-1.451271032143497,116.76163075985258],[-256.43372577543687,18.99490254116083,115.62817799601548],[-357.41798608883863,153.4147296375735,101.26257276053153],[-357.41537939269915,153.42419391844874,101.26270894515838],[-357.4113856111006,153.42433674341663,113.02170136982696],[-357.4087789168713,153.42449407035514,113.02187898155897],[-308.29005681789033,112.03599873424712,100.91228560141955],[-308.2855107158061,112.03615606266548,100.91252127746411],[-341.3279586785944,153.41467531514672,99.13511499074086],[-341.32535191427047,153.42413959516344,99.13521753942292],[-446.77571181035347,265.5822899481498,110.8436269819675],[-464.6535440274807,286.5247007331324,113.71810166074923],[-273.40319128932896,69.01045416782559,114.66709166336912],[-308.28606133268056,112.04576317701688,112.6719828877318],[-308.2834563698809,112.045605856296,112.67204911857698],[-358.30981501696044,170.21559488397097,113.02486474657819],[-341.3213582305849,153.42428243719584,110.89487850789827],[-341.3187514615636,153.42443975967382,110.89488136811804],[-406.5578283343061,234.17797436751593,106.25404335695754],[-365.44640655893795,186.4853630801093,109.0663700513902],[-439.62452437660954,272.563009986957,108.52888535859707],[-281.4552957841905,86.45168212223354,114.44322927535424],[-343.1065192865679,165.56168668798975,110.85350309605744],[-429.79904488565336,267.9092134373009,110.73128405533589],[-308.290388111293,137.61169165682716,107.98768091036655],[-308.28584204304843,137.6118490036926,107.98863929516527],[-196.15273800239768,-1.4512710321434952,120.9792640500043],[-280.55439711633227,100.41218945281713,117.37528828219664],[-276.09221406471136,94.5860848232841,119.30289747256833],[-342.2198396680386,177.17773269813404,112.01069725627704],[-308.2863926599229,137.6214561180439,119.74810090543296],[-308.2837876632836,137.62129877887617,119.74744442752397],[-251.96450928007033,77.18209848756788,120.0681102918677],[-308.29044077128174,153.4149299434192,109.11233426610895],[-308.28589464633933,153.41508725937683,109.11208176356382],[-308.2878338664218,153.42439422138384,109.11235642090283],[-308.2832896664378,153.42455303017147,109.11178275112199],[-243.02552298361954,72.50993210259976,117.13108795594898],[-425.4367727992307,291.17841512984785,108.29946110164352],[-279.66756631079204,119.02604655814456,115.30352034299999],[-465.4938649675414,335.2243743844598,114.00811600292641],[-260.0024580671359,95.7588547860752,122.97196902513515],[-308.28644526321386,153.42469437372824,120.8715433738315],[-308.28384030258337,153.4248532000341,120.87165593181062],[-308.2838403232722,153.42453706546831,120.87209778326637],[-308.281233413715,153.42469438589424,120.87202024959792],[-243.02554142103773,89.932561902309,117.52485378715738],[-286.81890632476143,138.79416125029618,120.87753264785351],[-411.0203151303519,290.02432378942456,110.81307457988159],[-245.70017419230953,99.23958734036609,120.28454112564397],[-319.8802430842187,185.33148677670934,120.00603241702721],[-154.2911880296001,-1.4512710321434916,121.87808233392138],[-251.96440698668118,114.37263488031316,117.88344208006275],[-435.85120554328955,335.2243743844598,114.5552341547228],[-406.55792867594243,314.44768136753277,108.39702820760373],[-383.31692061994175,288.8514905693559,108.37259877757266],[-425.4369921836011,335.2243743844598,112.9848280056465],[-342.2197148251579,245.8126850577411,109.34444213144128],[-168.84766691152277,36.4549446049554,123.25208457460562],[-416.7766306034057,335.2243743844598,111.89410847257693],[-236.76072928395965,153.41504737837144,107.55299691595702],[-236.76527511236608,153.42451316299912,107.55323951116661],[-393.14187999285105,335.2243743844598,113.59961593276066],[-236.7612799278199,153.42465450743364,119.31303485742683],[-236.75867466947747,153.42481333286176,119.31311302669239],[-380.64263899847464,328.40935996344206,113.11261411780727],[-385.5651672325497,335.2243743844598,112.94121397270854],[-319.87990706763264,262.10125863252966,112.82976462280978],[-308.2876057376926,264.4279657486322,104.24023724386603],[-308.2759104743607,264.428124565971,104.23999892220019],[-372.48817574304786,335.2243743844598,113.39174605758808],[-79.58371988756396,-1.4512710321435165,119.51302120855802],[-308.2810052849857,264.4282659131426,115.99990107256114],[-308.2764611105063,264.42842473583363,115.99987210288882],[-366.50501283952855,335.2243743844598,113.16548251220625],[-308.28772204269654,278.389587412226,106.72414990986269],[-308.2760268020899,278.3897462419531,106.72439692827461],[-314.51683129170533,280.71679693679164,117.81684276833818],[-308.2811215668687,278.3898875641323,118.48331994626326],[-308.27657741292126,278.39004639801607,118.48372947485232],[-325.236221949082,305.90340616695437,116.17581375000654],[-308.2803819800477,310.93853055231915,102.68804880201999],[-308.2758377921134,310.93868936767547,102.68773247836262],[-308.27638842824786,310.94829724304,114.44760542147276],[-308.27378152732973,310.9481384223314,114.44771239313661],[-308.2803588561324,335.2243743844598,102.19419398766827],[-308.27581468548425,335.2243743844598,102.19424684199946],[-316.5701497323321,335.2243743844598,114.74909910388885],[-308.27729718249145,335.2243743844598,107.64910771327641],[-308.2760700937125,335.2243743844598,107.64897116006722],[-308.27636531902044,335.2243743844598,113.95406429417889],[-308.27375841256264,335.2243743844598,113.95405295568403],[5.3465819147278495,-1.4512710321434943,122.61413204704249],[-283.9343939978507,335.2243743844598,116.67710253974964],[-237.6598803837097,281.86193417648764,122.93852864438595],[12.848875499197362,-1.451271032143496,122.57724613209751],[16.602562794584415,-1.451271032143496,122.73873224375285],[19.510138223279014,-1.4512710321434943,122.61110320807312],[-268.22179489307433,335.2243743844598,115.10356189198227],[14.341540750976417,5.025348430971552,122.90183366590911],[31.153561038064836,-1.4512710321434952,121.45551402685865],[-253.29914817623683,335.2243743844598,116.64582719457951],[-73.98139764875503,128.323867266631,122.07788959293467],[-215.3196489521517,298.1502767926346,117.3754932779098],[-197.44233366254971,277.2081478018377,125.54098063135226],[-233.56360713557984,335.2243743844598,116.83657726270347],[-32.11891075084401,105.05644140144513,120.57621919046896],[63.47178732282396,-1.451271032143496,120.08991905495117],[-196.54091906636256,308.63075518869755,117.45449699303106],[63.47178732282396,12.25279578336365,121.64710270489587],[-185.8288539712119,305.89442676021434,122.82194324625742],[-187.18152859567346,335.2243743844598,117.33296282643536],[-25.861441147643315,153.40592242552253,114.69324180363397],[-25.858835001124813,153.41538744720614,114.69299775603798],[-25.8548406855132,153.41552953987383,126.4527037487388],[-25.852234532921912,153.41568760326913,126.45233063745286],[-177.37736646299223,335.2243743844598,121.82977634069641],[-10.672399678990015,153.4058408393713,111.49762015087424],[-10.6697934744609,153.41530586370908,111.49748008642906],[-10.670344110606475,153.41560603357172,123.2573532671177],[-10.665799243845575,153.41544796843343,123.2576584271812],[1.8510830926771864,180.66862891689343,125.65387495093339],[6.313495589296042,181.82270852868197,122.68164808776682],[15.25239193061235,188.80346173935843,121.66657759006662],[63.47178732282396,136.56333523391822,118.61984572640819],[10.775647666564439,194.63017739956214,125.27116750948053],[63.471787322823964,153.39713973275894,106.71716264077092],[63.47178732282396,153.40660360494948,106.71705626667946],[63.47178732282396,150.42058559313034,118.22621624380388],[63.47178732282395,153.40599542649505,117.55741260054039],[63.47178732282396,153.4068809901156,117.55670024949987],[63.47178732282396,153.4069044711399,118.47682092439243],[63.471787322823964,153.406746862841,118.47720116869137],[-73.97181798434596,305.8945043142152,125.86554447255094],[63.47178732282396,156.2246551281366,118.5283353225767],[63.47178732282396,157.49274517288703,118.4861340838261],[63.47178732282395,161.65766953189993,118.66169917521322],[-83.44536333934988,335.2243743844598,124.38564473930532],[16.15336064528001,223.69808634535326,123.10273456468603],[63.47178732282396,188.82896500856899,119.26290009619237],[-64.38972741715561,335.2243743844598,126.93307978423016],[-32.996381791580475,317.9201943001751,131.13563554901916],[-34.146838951345664,335.2243743844598,130.87798051854827],[32.228783950978226,286.5065934277809,127.42533508412971],[63.47178732282396,264.71385774355196,122.1177950402292],[46.53117402196102,284.17954057857145,122.4711525265135],[1.464039800199103,335.2243743844598,130.66273457676812],[63.47178732282396,303.7325677834757,122.58571561646787],[63.47178732282396,329.4304402083619,126.01564431063771],[58.82910475661193,335.22437438445974,128.6116988157965],[63.47178732282394,335.2243743844598,127.15163110146474]],"pointIndex":[165,169,162,0,166,169,165,0,121,141,176,128,0,96,121,128,0,176,141,162,169,0,170,169,167,0,167,169,166,0,179,194,169,0,177,179,169,170,0,169,194,198,176,0,176,198,202,190,0,128,176,172,0,172,176,184,0,184,176,190,0,128,116,107,0,116,128,133,0,71,128,107,0,133,128,172,0,96,128,71,70,0,184,133,172,0,133,112,117,0,116,133,119,0,133,122,119,0,117,122,133,0,116,111,102,0,119,111,116,0,107,116,102,0,102,71,107,0,56,71,82,0,49,54,71,56,0,82,71,102,0,70,71,64,0,60,71,54,0,64,71,60,0,48,56,44,0,49,56,48,0,56,82,63,0,82,111,98,0,63,82,91,0,102,111,82,0,91,82,98,0,111,109,98,0,122,109,111,0,122,111,119,0,109,122,117,0,109,83,97,0,117,83,109,0,98,109,97,0,91,98,97,0,83,63,91,0,97,83,91,0,100,83,117,0,112,100,117,0,42,56,44,0,56,42,39,51,0,63,56,51,0,63,51,58,0,83,63,58,0,83,58,77,0,100,83,77,0,100,77,95,0,112,100,95,0,112,95,104,0,133,112,104,0,133,104,130,0,184,133,130,0,184,130,182,0,190,184,182,0,190,182,187,0,199,202,190,187,0,199,187,196,0,17,20,23,0,30,25,45,37,0,26,24,23,20,0,24,26,45,25,0,34,26,20,0,67,26,34,0,67,45,26,0,110,52,45,81,0,37,45,46,0,81,45,67,0,47,46,45,0,47,45,52,0,123,110,81,0,80,81,67,0,108,126,123,81,0,90,108,81,0,90,81,80,0,34,88,67,0,67,88,80,0,88,34,69,0,118,88,125,0,88,69,89,0,88,118,93,0,125,88,127,0,127,88,89,0,80,88,93,0,93,90,80,0,93,108,90,0,124,129,126,108,0,118,124,108,0,93,118,108,0,132,129,124,135,0,132,135,136,0,136,135,140,0,144,135,150,157,0,140,135,144,0,135,124,125,0,125,150,135,0,127,150,125,0,125,124,118,0,150,127,137,0,89,99,127,0,137,127,120,0,120,127,99,0,85,99,89,0,89,69,85,0,69,75,85,0,85,92,99,0,85,75,92,0,99,92,120,0,87,120,92,0,120,115,142,0,120,87,115,0,142,137,120,0,142,147,137,0,147,150,137,0,150,147,154,0,161,157,150,154,0,154,147,148,0,148,147,142,0,75,87,92,0,142,115,105,0,142,105,138,0,148,142,138,0,148,138,145,0,154,148,145,0,154,145,151,0,158,161,154,151,0,158,151,155,0,15,20,17,0,20,15,13,19,0,34,20,19,0,34,19,32,0,69,34,32,0,69,32,66,0,75,69,66,0,75,66,73,0,87,75,73,0,87,73,79,0,115,87,79,0,115,79,105,0,113,134,143,0,174,164,134,0,185,174,134,0,134,164,143,0,143,164,149,0,173,168,163,164,0,164,163,160,153,0,164,174,173,0,149,164,153,0,178,174,180,0,174,178,173,0,203,180,174,0,174,185,203,0,191,203,185,0,191,185,189,0,203,207,186,180,0,211,203,208,0,208,203,191,0,210,203,211,212,0,210,207,203,0,180,186,181,178,0,175,178,181,0,175,171,173,178,0,168,173,171,0,212,211,216,0,213,219,216,211,0,213,211,208,0,206,209,215,208,0,208,215,213,0,208,191,195,0,205,206,208,193,0,193,208,195,0,191,189,192,0,195,191,192,0,204,192,189,201,0,209,214,215,0,192,204,205,193,0,215,218,220,219,213,0,217,215,214,0,218,215,217,0,195,192,193,0,143,113,106,0,143,106,139,0,149,143,139,0,149,139,146,0,153,149,146,0,153,146,152,0,159,160,153,152,0,159,152,156,0,134,113,106,0,134,106,131,0,185,134,131,0,185,131,183,0,189,185,183,0,189,183,188,0,200,201,189,188,0,200,188,197,0,29,33,36,0,36,33,43,55,0,8,22,10,0,28,29,36,40,0,35,27,28,40,0,10,22,27,35,0,8,10,6,5,0,5,6,3,0,7,6,10,9,0,35,21,10,0,11,9,10,21,0,40,68,35,0,53,40,36,0,59,68,40,0,59,40,53,0,53,36,62,0,62,36,55,0,53,84,61,0,59,53,61,0,84,53,62,0,59,74,68,0,61,74,59,0,86,74,61,0,61,84,86,0,86,84,101,0,114,86,101,0,11,21,16,0,4,6,7,0,2,6,4,0,1,3,6,2,0,41,55,43,0,55,41,38,50,0,62,55,50,0,62,50,57,0,84,62,57,0,84,57,76,0,101,84,76,0,101,76,94,0,114,101,94,0,114,94,103,0,14,21,16,0,21,14,12,18,0,35,21,18,0,35,18,31,0,68,35,31,0,68,31,65,0,74,68,65,0,74,65,72,0,86,74,72,0,86,72,78,0,114,86,78,0,114,78,103,0],"tags":{"tagA":0,"tagB":0}}}

Decimation doesn't appear to handle aux data correctly/safely. Index out of bounds.
>	iTwinGeom.dll!BentleyM0200::PolyfaceQuery::ClusteredVertexDecimate(double tolerance, double minCompressionRatio, bool doNormals) Line 84	C++
 	iTwinVisualization.dll!Viz::Polyface::Decimate(unsigned __int64 minPointCount, double minRatio) Line 85	C++
 	iTwinVisualization.dll!Viz::PrimitiveGeometry::_GetPolyfaces(BentleyM0200::IFacetOptions & facetOptions, Viz::Output & output) Line 390	C++
 	iTwinVisualization.dll!Viz::SingularGeometry::_GetPolyfaces(double chordTolerance, Viz::NormalMode normalMode, Viz::Output & output) Line 174	C++
 	iTwinVisualization.dll!Viz::Geometry::GetPolyfaces(double chordTolerance, Viz::NormalMode normalMode, Viz::Output & output) Line 275	C++
 	iTwinVisualization.dll!Viz::Tile::MeshGenerator<Viz::QTraits>::AddMeshes(Viz::Geometry & geom, bool doRangeTest) Line 124	C++
 	iTwinVisualization.dll!Viz::Tile::GeometryLoader<Viz::QTraits>::GenerateGeometry() Line 74	C++
 	iTwinVisualization.dll!Viz::Tile::generateAndEncodeTileGeometry<Viz::QTraits>(BentleyM0200::StreamBuffer & tileBytes, Viz::Tile::LoaderContext & context) Line 316	C++
 	iTwinVisualization.dll!Viz::Tile::Loader::ReadFromModel() Line 339	C++
 	iTwinVisualization.dll!Viz::Tile::Loader::Perform() Line 182	C++

@Rock2000 your mesh has the same number of aux data indices as it does vertices. It is expected to have the same number of aux data indices as it does point indices.

So the data is per triangle vertex, not per point? I was going off the iTwin Scientific Visualization sample which builds the wave's aux data based on the polyface point count. And I tried to take the cantilever data from that sample and store that and got the same crash. Maybe those samples are not correct? Or am I horribly misreading them? Anyway, I can adjust that then for my data. Thanks

The aux data indices is not the same as the point indices? I'm passing in the polyface pointIndex as the aux data indices.

I was going off the iTwin Scientific Visualization sample

If you're talking about this sample, the flat mesh has 58806 point indices, 58806 aux data indices, and 10,000 points.

If you look at my previous screenshot (from your polyface), you've got 4124 point indices, 3093 aux data indices, and 3093 points.
The documentation is sparse and unclear, but the code appears to assume that aux data index count == point index count.

Yeah I had misread your first explanation. I thought you said aux data needed to be the same length as pointIndex. But now that I read it correctly, it is very weird because I literally pass the pointIndex as the auxIndex, so I'm not sure how it would end up as point count.
polyface.data.auxData = new PolyfaceAuxData(auxChannels, polyface.data.pointIndex);
Let me poke around a bit more. See if I can step in and see anything.

The documentation is sparse and unclear, but the code appears to assume that aux data index count == point index count.

In addition, the Polyface visitor code assumes the indices for aux data are parallel in structure to the other Polyface index arrays. In other words, the indices for a given facet are found in the same range of every index array in the Polyface.  I'll try to make this clearer in the documentation.

The platform is changing the polyface data somewhere. In my sample data from aux.txt, there are 723 points and 723 pointIndex and 723 auxIndices. I save that geomStream to an element and then read that element back. The geom that is read now has 723 points, 723 auxIndices, but 964 pointIndices. I'm surprised it touched my polyface at all, but maybe that's legit? If so, it feels like there is code that tinkers with the pointIndices but doesn't adjust the auxIndices similarly.
Maybe related, I will want to compress our polyfaces as all the facet vertices are their own points right now (none shared). I was curious if the compress also correctly updated the auxIndices during this process.

Looks like iTwinjs transfers AuxData indices verbatim to flatbuffer bytes, without transforming them into 1-based, 0-terminated format like it does for the Polyface point/normal/param/color indices.
I believe this was a mistake.
When that polyface flatbuffer is deserialized into an imodel-native polyface, it's probably missing the zero after each face loop that the other polyface index arrays have. This is what causes PolyfaceQuery::ClusteredVertexDecimate to crash.
I propose changing the Polyface AuxData index array FB format to be 1-based 0-terminated, exactly how we persist the other polyface index arrays. In native/iTwinjs FB deserialization logic, it should be possible to come up with heuristics to detect invalid AuxData index blocking in existing flatbuffers, and to use the point indices to recover the correct blocking. Serialization would be changed to always write the correct blocking.
As for compress, PolyfaceData.compress does not change the index arrays' size, nor does it compress AuxData. Theoretically it could compress AuxData if there were exactly one channel, but it is not possible in general to compress multi-channel AuxData since all channels share the same indices.

Here's a file containing a polyface with aux data that was created using the existing TypeScript API AnalysisExample.zip, to test against any changes you make to the persistence/serialization layer.

Here's a file containing a polyface with aux data that was created using the existing TypeScript API AnalysisExample.zip, to test against any changes you make to the persistence/serialization layer.

Actually, it looks like the native API must have written the flatbuffer bits stored in this bim file, as mesh in this file has valid aux data. (It's the TypeScript API that has the AuxData serialization error.) I am creating other test cases, though, and using the sandbox aux data for one of them.

I literally pass the pointIndex as the auxIndex
I was curious if the compress also correctly updated the auxIndices during this process.

FYI @Rock2000 if you plan on compressing a mesh that has PolyfaceAuxData comprised of exactly one AuxChannelData, then you should pass a clone of pointIndex as the aux data indices. For the PR, I added aux data compression to PolyfaceData.compress for this very specific scenario, and you'll want compress to remap those two index arrays separately.

TypeScript and imodel-native PRs are merged. Keeping this issue open to track:

[ ] backport to imodel02
[ ] backport to PowerPlatform


“foo” cannot be opened because it is from an unidentified developer.

Files created by or configured to "Open with" SubEthaEdit that reside on an encrypted disk image (created using the Apple DiskUtility) on my new M1 mac (OSX 12.0.1) refuse to open with the following error:
“foo” cannot be opened because it is from an unidentified developer.
macOS cannot verify that this app is free from malware.

Of course there is a work around by using control-click to open the file but this is getting old really fast.
This only seems to be a problem for files residing on an encrypted disk image. Other files that reside on the system disk open with SubEthaEdit without this problem.
If I create the file using SEE on the system disk and configure the file to open with SEE by default that works fine. But if I then copy that file onto the encrypted disk opening it invokes the unidentified developer error.
Has there been any work done to fix this?
It's making me want to abandon SubEthaEdit which I have been using for something like a decade or more.

Can you give me the concrete example? For regular exectable files we mitigated this in 5.2.2 to not cause the apple quarantine flag when saving file.
Unfortunately we have no way to mitigate this for newly created files. there you have to do your open stunt at least once or manually remove the quarantine flag using
 xattr -d com.apple.quarantine <yourfile>

Can you give me the concrete example? For regular exectable files we mitigated this in 5.2.2 to not cause the apple quarantine flag when saving file.
Unfortunately we have no way to mitigate this for newly created files. there you have to do your open stunt at least once or manually remove the quarantine flag using
 xattr -d com.apple.quarantine <yourfile>

These are not executable files.
Example:
touch foo
see foo # add some stuff to the file
# Use the Finder Command-I to get info and then set the file to open with SEE
cp foo /Volumes/MyEncryptedDiskImage
# Use the finder to navigate to  /Volumes/MyEncryptedDiskImage and try to open foo

(I updated the description with additional info just before you posted)

Also I tried this:
xattr -d com.apple.quarantine /Volumes/MyEncryptedDiskImage/foo
xattr: /Volumes/MyEncryptedDiskImage/foo: No such xattr: com.apple.quarantine

Which makes me wonder: It's an older encrypted disk image. Maybe that is the underlying problem? The older image doesn't have newer meta information?

I made a new encrypted disk image on the OSX-12.0.1 system and I was able to get this sorted out. So I think the problem was an Apple issue with older encrypted disk images not supporting the meta attribute  com.apple.quarantine
Sorry to trouble you, but your suggestion of using xattr led me to the fix.
Thanks!

Okay, thanks to alerting me to that potential problem and for the resolve.


Unbreak building httputil on OpenBSD

This effectively allows for building git-lfs on OpenBSD.

I'm glad that this fixes building LFS on OpenBSD. I just have one comment:
So that we don't break building on other platforms, you might consider adding a +build flag to the top of the httputil/certs_openbsd.go file that you added, signaling Go to only build this file on the openbsd platform. Your file would then look like:
// +build openbsd

package httputil

// ...

Other than that, 👍

Ah, I totally forgot about build suffixes. LGTM!

Thanks for the quick merge!


Update INC ONNX export

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[2.0] Bump to php 7.1

This is to start the work planned in #670. In this branch I'll plan to just clean up everything related to PHP <7.1, update dependencies and make the build green.
This is still work in progress! Done, everything is fine!

I've disabled the build on Scrutinizer, it was just a duplication of what we already do on Travis.

I've fixed the "stupid reason". It's now all green! Should I merge?

Since you worked on the scrutinizer.yml file, can we also enable the new PHP Analysis?

After a few back and forth with @ste93cry, we addressed all that needed to be fixed. Only one pending is the fact that Scrutinizer still insists in running CS checks, but it's not in sync with our rules. We can only ignore that for now.


GroupBy.rolling - Integer window type

Will close #493
Two approaches here
First (904646bd77b035bb37d30349005bc950268edca8) alters GroupBy.rolling to simply check window is an integer and raise the exact error dask/dask does currently.
Second (bdb61d9db6e0ddb1eeaa15c3e06a9597b346203a) allows it and only adds tests for the expected failures. Fine to use integer window if only numeric data in the dataframe, otherwise it raises the expected "Cannot aggregate non-numeric type".
If we want the second, I suppose we could follow up with a numeric_only as a convenience?

I think we should be able to allow an integer window even if we have a date time index?

I think we should be able to allow an integer window even if we have a date time index?

Yes, that's right.. when I said non-numeric in dataframe, I should have clarified it's okay to have datetime in the index. The first test case checks this in the second commit https://github.com/dask-contrib/dask-expr/pull/588/commits/bdb61d9db6e0ddb1eeaa15c3e06a9597b346203a.

thx


BLAZBLUE CHRONOPHANTASMA EXTEND [PCSH00161]

App summary

App name: BLAZBLUE CHRONOPHANTASMA EXTEND
App serial: PCSH00161
App version: 1.00

Vita3K summary

Version: v0.2.0
Build number: 3598
Commit hash: https://github.com/vita3k/vita3k/commit/d4c0c499
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: deck
OS: SteamOS Holo
CPU: AMD Custom APU 0932
GPU: AMD Radeon Graphics (RADV VANGOGH)
RAM: 14 GB

Issues

Screenshots

Log
Recommended labels

playable

lack of info (Screenshots and log)


Fix truncated Symbiota notes

Deletes consecutive newlines before textilizing.
Includes test.
Delivers  Pivotal #185214534.

Manual Test

https://mushroomobserver.org/observations?pattern=user%3A2873+notes%3AUBC+date%3A2007-11-10
click Download Observations
select Symbiota
click Dowload
save the resulting tsv file
open that file
Result: the fieldNotes field for row 2 should be

Original Herbarium Label: Lepiota pseudofelina J.E. Lange as in Moser & Breitenbach et al. Herbarium Specimen: UBC F29500

(In the main branch, the fieldNotes field (= MO Notes) of row 2 (= https://mushroomobserver.org/65468) is truncated.
See Pivotal #185214534 for details.

Coverage: 93.654%. Remained the same when pulling 297eadd2842df3eb0c50493ed41c12b0c5058a7f on jdc-symbiota-notes-185214534 into f660a1b2e25d608777a6aa317e5581215da4a5ec on main.

This PR solves one piece of a cascade of issues that originate with user Adolf Ceska.
In some of his Observations, he used consecutive newlines in the Notes.
Example: https://mushroomobserver.org/65468
On Thu 18 May, Dr. Mary Berbee of University of British Columbia herbarium asked us for the Ceska MO records that have UBC accession numbers (FXXXXXX) with their corresponding MO metadata and photographs in a format that would allow us uploading them to a ... Symbiota database. See Berbee email chain.pdf.
It's easy to locate those records with an Observation Search. https://mushroomobserver.org/observations?pattern=user%3A2873+notes%3AUBC. It's also easy to export the results as a Symbiota file.
The problem is that the records with consecutive newlines in the Notes do not export correctly -- the fieldNotes section is  truncated at the double newline. And that's especially bad for UBC because it drops the accession number.
I also noticed that those notes appear to be truncated in other forms of export (e.g., csv). In fact, the notes are not truncated for those other exports. But most (all?) csv parsers will drop the notes when viewing the exported file.
This PR fixes the problem just for Symbiota exports.
Questions

Should we instead somehow attempt to quote the consecutive newlines for Symbiota exports? IMO: No.
(I actually tried to do this but couldn't figure it out.)
Should we alternatively/additionally edit the Ceska Observations that have consecutive newlines to turn them into a single \r\n.  (IMO probably yes, but I think it's non-trivial because of how Notes are stored in the db.)
Should we delete consecutive newlines in other csv exports? (I think that should be in a different PR.) (IMO yes.)

Hi Joe, sorry I missed the meeting today.  Yes, this newlines inside fields in CSV files (or Symbiota files or whatever) is a recurring problem I keep running into.
In my opinion -- just my opinion -- the safest solution is to convert the newlines to something else with a search-and-replace in the SELECT.  That is, something like this:
SELECT REPLACE(notes, "\n", "\\n") FROM ...

I don't know what that would look like in AR.  Or maybe there's a mechanism in the observation download class that allows for some post-processing after the SELECT returns.  If not, we could add it.
Yet another option is to convert it to HTML.  I remember doing that somewhere in some export.  We can't really expect most third parties to understand Textile, and even less our peculiar extended version of it!  So it kinda actually makes sense to do so... only, the problem is that will probably kill the server.  Imagine downloading all observations in the database.  We can actually support that presently... albeit I'd prefer if users did not start doing it regularly!  But imagine now also running Textile on the notes for every single observation.  Yikes!  Oh, I know where I did the HTML conversion: I bet the API processes Textile before serving responses.  That's okay because the API has the ability to limit resource usage.  We don't currently limit the size of downloads.  (And personally I'd prefer not doing so, otherwise we'd have to add the ability to paginate the download, etc.  Much less user-friendly.  Or we could turn it into an asynchronous process -- not a bad idea, and maybe there are gems to help out with that sort of thing, but again a nontrivial development.)
Anyway, the point is, in my experience it is a coin flip whether or not any given spreadsheet reader will be able to understand newlines inside quoted values in CSV files.  So one way or another they need to be encoded to ensure the download is stable and universally accepted.

@pellaea: Sorry I didn't wait for your response before deploying this PR.
(I did the simplest thing I could think of to make the Symbiota export work for UBC.)
I'll review your response to see if I can find an improved solution.

The Symbiota export does custom post-processing on our Notes field.
The key part is
def clean_notes(str)
  str.strip.
    t.html_to_ascii.
    gsub(/\s+/, " ")
end

There's a problem in that Textile can get confused by some combinations of whitespaces.
Examples: \r\n\r\n \r\n \r\n
My solution (fully implemented in #1512, is simply to do the gsub before Textilizing the string:
def clean_notes(str)
  str.strip.
    gsub(/\s+/, " ").
    t.html_to_ascii
end

If it works!...
On Sun, May 21, 2023 at 6:01 AM Joseph D. Cohen @.***>
wrote:

The Symbiota export does custom post-processing on our Notes field.
The key part is
def clean_notes(str)
str.strip.
t.html_to_ascii.
gsub(/\s+/, " ")end
There's a problem in that Textile can get confused by some combinations of
whitespaces.
Examples: \r\n\r\n \r\n \r\n
My solution (fully implemented in #1512
https://github.com/MushroomObserver/mushroom-observer/pull/1512, is
simply to do the gsub before Textilizing the string:
def clean_notes(str)
str.strip.
gsub(/\s+/, " ").
t.html_to_asciiend
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1511#issuecomment-1556136652,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNLGZL4ZB2Y63YBMZJTXHHRXPANCNFSM6AAAAAAYIZWQBY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add electron-redux

Due to how electron works, redux is currently only available in the renderer process, which means we can't dispatch redux actions from the main process. For example, we might want to use menu items to dispatch events to our application.
This has been a long-standing issue with this boilerplate:
https://github.com/chentsulin/electron-react-boilerplate/issues/108
https://github.com/chentsulin/electron-react-boilerplate/issues/118
https://github.com/chentsulin/electron-react-boilerplate/issues/968
electron-redux offers a solution to this problem: run redux in the main process and use IPC to proxy all renderer processes back to the main process.
This PR integrates electron-redux with electron-react-boilerplate and as a demo, allows the counter to be controlled by menu items

I used timesheets as a guide for the implementation, though I wasn't 100% sure on the use of history and initialState. So if anyone has recommendations there, that would be helpful!

This looks very cool, but is electron-redux actively developed or maintained by anyone at this point?

electron-redux seems to be the best solution out there, but if there's anything more actively-maintained, happy to use that instead

I merged this into my own project and it works great with having several React apps/split entry points for renderer processes and a shared state between them.

I'm using this implementation in one of my projects as well and it works great for me too

Any updates to this? It'd be great to have a standard way to use Redux with multiple windows/dialogs sharing application state.

I think this is a standard feature that should be added to ERB. I think users of the boilerplate would expect this to work out of the box. And it also doesn't add much extra configuration. I will start working on this in another PR. Sorry for taking so long on this 😢


Fix warning in ECR container pushes

We're getting this warning from the publish-service container:
*** Authenticating for `docker push` with ECR
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

Admittedly running in a container adds a level of protection, but that's no reason not to fix the warning and reduce log noise.

Closed as 💀


Share screen not ending

When clicking chromes stop sharing screen, the screenshare doesn't stop on the chatroom

Follow the template.


Critical: Add in the UI a way to make sure to use NVIDIA GPU please

Critical: Add in the UI a way to make sure to use NVIDIA GPU please

https://github.com/open-webui/open-webui/discussions/348


Consider porting to use CCXT exclusively.

I'm wondering if it would be of benefit to produce a ccxt-only fork of zenbot, which eliminates the separate exchange extensions and simply uses ccxt to enumerate exchanges.
Work would then be to port upstream any features lost in this change, to be included in ccxt itself.
Making this change would decrease any duplication of effort between the two projects.

logical argument:
In my opinion no. not currently.  ccxt does not fully support websockets,  nor does it support some specific exchange calls (both of these things they are working on).  I have recently used it to get hitbtc exchange online, continuing someone else's work,  but a major portion had to be rewritten in the exchange code, and I couldn't support websockets yet with it, which would reduce call time drastically.
I have also started code to start supporting some of the other exchange supported by ccxt, and ran into error handling issues unique to each exchange (ccxt doesn't map all errors to common results, yes it puts the error in the same property, but the error can have different meanings on different exchanges), so it isn't as easy a just creating a new wrapper, it takes a bit of work and money as to test a new exchange properly you have to trade on the exchange, and to do it in a reasonable time you have to be willing to lose coin at times buying high and selling low :/
Now on a less negative note,  I have been planning on doing what you are saying,  but not by replacing the current exchanges in zenbot,  but creating alternative ones using a common base.  i.e.  gdax and gdaxalt or something like that.  where gdax uses the native and gdaxalt uses ccxt, albeit without using websockets :/ Priorities for exchange implementations would be exchanges not currently implemented in zenbot to expand its exchange support, and creating alternatives for existing ones if interest is still there and ccxt proves itself (don't really doubt that it wouldn't) on the other exchanges (why redo existing if you don't have to).
Due to specifics of each exchange.  and example of this is how getOrder is handled
calling getOrder on gdax will return an order right after you create it. on hitbtc it can be up to 30 seconds after you create the order, till then with results in an error of order not found.  there are other exchange oddities that I ran into that did this, and makes each implementation very specific.
Doing it this way and not relying on ccxt keeps it autonomous as well, if I wanted to implement an exchange not yet supported by ccxt, I can do it without having to push the change to ccxt first and relying on them to accept it.
emotional argument:
I know there are counter arguments in opposite for doing just as you say, but doing so it feels like zenbot becomes a part of ccxt (reliant on it), and not ccxt being just a helper that zenbot uses.
#1346 - Hitbtc working using ccxt

I guess I would say, rather than considering ownership or reliance between ccxt and zenbot, I would consider the entire ecosystem of open source code.  We're all working together to make free tools for everybody to use.
If we can slowly work to migrate features needed for zenbot into ccxt, we allow others making other applications to share in the features we have made.  Similarly, when they add features, we can share in the work they have done.  If work is consolidated into fewer places, it eventually can happen much faster, as people do not need to duplicate effort.
If you ever change your mind and decide it might be nice to port more exchanges upstream to ccxt, I'd be happy to throw some bounty money towards issues that would further that goal.
My situation is that I would like to add features to bitcoin exchanges apis, and my goals don't exactly line up with either zenbot or ccxt, so I am unsure where to contribute the work.


vimls omnifunc  attempt to compare nil with string

nvim --version: NVIM v0.5.0-60c581b
nvim-lsp version(commit hash): a7fdf268b1c51f6395900e437060728701aa8b77
:checkhealth result

## Checking language server protocol configuration
  - INFO: vimls: configuration checked.
  - INFO: gopls: configuration checked.
  - INFO: tsserver: configuration checked.

Operating system/version: macOS 10.15.5
Terminal name/version: Terminal.app
$TERM: xterm-256color

How to reproduce the problem from neovim startup
Just <C-x><C-o> after installing vimls in a vim file.
Throws:
Error executing vim.schedule lua callback: ...vim/HEAD-60c581b/share/nvim/runtime/lua/vim/lsp/util.lua:267: attempt to compare nil with string

This should probably be an issue on neovim I'm assuming (since this is just for the configs)

You got it. I wasn't sure as someone on gitter redirected me to file any lsp related issues here.

See https://github.com/neovim/neovim/issues/12431


MB-4876 Round age field to ceiling on TIO queue

Description
Changes the rounding on the payment queues handler so that it uses math.ceil to round up.
Setup
make db_dev_e2e_populate

Should see days count in the age column at /invoicing/queues/
Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-4876

  Generated by :no_entry_sign: dangerJS against 0233b03b19d5c35123f29d0a72b2e25576dc5e29


GroupConsumer subscribe after init

Hello,
is it possible to subscribe to a topic with the GroupConsumer after the consumer is started?

Yes, you can call subscribe any time.

I meant subscribing to a new topic within a strategy.
For example:
let consumer = new kafka.GroupConsumer(options);
var strategies = [{
    strategy: 'RoundRobinAssignment',
    subscriptions: [],
    handler: handler,
}];
consumer.init(strategies);
strategies.subscribe(newTopicName);

When I call the subscribe function I assume it isn't going to use a strategy and consuming the topic as a group.

Ah, I see, you were talking about GroupConsumer.
With the GroupConsumer you can't subscribe to new topics after it as initialised. You need to create new instance of the consumer.

Ok, that's what I thought. Thank you.


Fix broken links

Purpose
Fix broken links

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


How to call this directly from rust?

Hi, is it possible to run this command directly from rust?

Yes, you can use the html_to_pdf function
https://docs.rs/html2pdf/0.5.1/html2pdf/fn.html_to_pdf.html


add docker build

Hi @zc2638 , have you thought creating the docker image based on scratch? I am wondering if there is anything needed from alpine base image...

If it is based on scratch, although it is an empty image, but it is not conducive to use and debugging.
alpine is more appropriate than scratch if used in CICD.
@BenHirschbergCa


Expanded bots agents to include google tools

@rimonhanna what's the purpose of this PR, what are you trying to fix/improve?
AFAIK the newly suggested bot agents don't have anything to do with public search results.

It partially solves the issue where automated google testing bots would flag the cookieconsent window as LCP speed blocker, maybe there is something that can be done to improve the LCP performance to avoid needing this change at all.


Please Review: SPI DO OENb signal source

https://github.com/efabless/caravel_mgmt_soc_litex/blob/43d0ce33d331ee73d9dcebe197c6ce4da5909ecc/verilog/rtl/mgmt_core.v#L1774C31-L1774C31
This like appears to connect the SPI master controller Data Out Output Enable (active low) to the INVERTED signal of the SPI CS (active low) as a signal source.  But surely with SPI, DO is only active when CS is active and they are both active low signals.  So with this inversion in place it prevents the DO signal from making it to the external pin.
In my Arty-A7 port it was necessary to remove the tilde ~ character.
Maybe this is a left-over from GF180 which may have used Output Enable (active high) signals ?  but sky130_fd_io_gpiov2 cells have Output Enable (active low) signals ?
Maybe as a workaround it is possible to reconfigure the gpio_control for the SPI CS PIN as necessary to achieve pull-down or pull-up, instead on expecting to be able to use the SPI master controller hardware device for this purpose, which I believe is the design intention.

@shalan @mo-hosni @marwaneltoukhy :  Please review.
The comment does not contain a line number but I assume it refers to mgmt_core.v line 1774:
assign spi_sdoenb = (~spi_cs_n);

On the face of it, this is incorrect.  It's possible that the SPI master testbench is written wrong by forcing GPIO[35] to be an output and thereby overriding the SDO enb signal, which otherwise should be driving the oeb on that pin.  I see that the C code for the cocotb spi_master testbench has GPIO[35] set to GPIO_MODE_MGMT_STD_BIDIRECTIONAL, which sounds right, but isn't;  the actual configuration value needed to properly exercise the SDO is 0x1803 (which doesn't have a corresponding named definition).  If the testbench configuration of GPIO[35] is set to 0x1803, you will presumably find that the testbench no longer passes because of mgmt_core.v line 1774 above.
The corrected mgmt_core.v line 1174 should read:
assign spi_sdoenb = spi_cs_n;

(@azwefabless , FYI)

@dlmiles:  Since the caravel GPIO pads have a very specific control interface that is presumably nothing like the GPIO on the Arty, this can be worked around on Caravel by forcing the pin to be an output always, which works if the SPI SDO line is not intended to be shared between multiple pins (normally that isn't done on the SPI master side anyway).

You have the correct line.  It is part of the github link url "L1774" if you know how to decode.
Sure the Arty supports IN, OUT, OEB, INP_DIS, none of the other modes for ANalogue or DMmode are relevant, even if some of the DMmode settings could be implemented, it is not clear for what benefit if your FPGA is already attached to a dev board (such as Arty).
FWIW I found the automatic CS mode (provide by SPI master hardware) to not be useful, it would make CS active during 8-bit of Data Out and de-assert itself immediately (before any reply).  It is not clear to me why that mode even exists to broadcast 8-bit commands into the SPI void (the logic/area could be better used for something else, like some UART divisor bits :) to provide core_clock/baud options.
Having software manually set the CS bit (0x10000) around the SPI transaction worked as expected.  I was only testing with PmodSF3 (32MB serial NOR flash memory N25Q)


New example showing how to build and run a double pulse test simulation in Circuit

Pull Request Template
Description
New example showing how to build and run a double pulse test simulation in Circuit, using components from library. The method to insert a component from a spice model. A picture of the schematic is also added for the gallery. The example is buildig the model available in the Installation examples.
Checklist
Please complete the following checklist before submitting your pull request:

[ x] I have followed the example template and guide lines to add/update an example.
[ x] I have tested the example locally and verified that it is working with the latest version of AEDT.
[ x] I have verified that these changes to the best of my knowledge do not introduce any security vulnerabilities.

@tizianrot good job with this example! there are a few things to improve.
Could you also open the example in Jupyter and use the Jupytext format to see if the cells are splitted correctly and if the headers have a consistent level?
Thanks!


Add support for Google Cloud storage bucket

Along repositories currently supported, Google cloud storage bucket support would be good for restic backups stored in Google bucket.

I've now added support for Google Cloud Storage locations here https://github.com/emuell/restic-browser/pull/82
But this only accepts GOOGLE_ACCESS_TOKEN env variables and not GOOGLE_PROJECT_ID, GOOGLE_APPLICATION_CREDENTIALS env variables, as either tokes or credentials are supported by restic and they are mutually exclusive.
I'm guessing that most people will want to use tokes instead of credentials files. Is this correct? Will this work for you @navilg?


KeyError: 'halfcheetah-medium-v2'

Dear author,
After installation and downloading pretrained models&plans, I still get in trouble with running the command.
python scripts/train.py --dataset halfcheetah-medium-v2
(trajectory) qz@qz:~/trajectory-transformer$ python scripts/train.py --dataset halfcheetah-medium-v2
[ utils/setup ] Reading config: config.offline:halfcheetah_medium_v2
[ utils/setup ] Not using overrides | config: config.offline | dataset: halfcheetah_medium_v2
[ utils/setup ] Made savepath: logs/halfcheetah-medium-v2/gpt/azure
[ utils/setup ] Saved args to logs/halfcheetah-medium-v2/gpt/azure/args.json
Traceback (most recent call last):
File "/home/qz/anaconda3/envs/trajectory/lib/python3.6/site-packages/gym/envs/registration.py", line 121, in spec
return self.env_specs[id]
KeyError: 'halfcheetah-medium-v2'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "scripts/train.py", line 25, in
env = datasets.load_environment(args.dataset)
File "/home/qz/trajectory-transformer/trajectory/datasets/d4rl.py", line 81, in load_environment
wrapped_env = gym.make(name)
File "/home/qz/anaconda3/envs/trajectory/lib/python3.6/site-packages/gym/envs registration.py", line 145, in make
return registry.make(id, **kwargs)
File "/home/qz/anaconda3/envs/trajectory/lib/python3.6/site-packages/gym/envs/registration.py", line 89, in make
spec = self.spec(path)
File "/home/qz/anaconda3/envs/trajectory/lib/python3.6/site-packages/gym/envs/registration.py", line 131, in spec
raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: halfcheetah-medium-v2
Thank you very much for your attention.

halfcheetah-medium-v2 should be registered upon importing d4rl. Could you post your output of:
python -c "import gym, d4rl; print(d4rl); gym.make('hopper-medium-v2')"

halfcheetah-medium-v2 should be registered upon importing d4rl. Could you post your output of:
python -c "import gym, d4rl; print(d4rl); gym.make('halfcheetah-medium-v2')"

(base) qz@qz~$ python -c "import gym, d4rl; print(d4rl); gym.make('halfcheetah-medium-v2')"
Warning: Flow failed to import. Set the environment variable D4RL_SUPPRESS_IMPORT_ERROR=1 to suppress this message.
No module named 'flow.envs'
Segmentation Fault (“Core dumped”)
At first, it told me no module named 'CARLA' and no module named 'flow'
Then, I installed 'CARLA' & 'flow', and now it tells me no module named 'flow.envs'

It sounds like a D4RL installation issue. Running with Docker via these commands should solve it. Alternatively, you could post this stack trace as an issue to the D4RL repo to see if they have seen this before. My guess is that the segfault is unrelated to lacking the CARLA and flow environments; those are probably just installed as separate optional packages.


Not possible to listen to the radio station

Suddenly it is not possible to listen to my favorite radio station: http://www.classicfm.nl/player/classicfm.m3u.
Here is a dump a console output:
D: New preset/file requested (1/0) from www.classicfm.nl/player/classicfm.m3u
D: Connect to new host www.classicfm.nl/player/classicfm.m3u
D: Playlist request, entry 1
D: Connect to www.classicfm.nl on port 80, extension /player/classicfm.m3u
D: Connected to server
D: Read from playlist
D: Playlistheader: HTTP/1.1 404 Not Found
D: Playlistheader: Server: nginx
D: Playlistheader: Date: Sat, 03 Feb 2018 18:26:09 GMT
D: Playlistheader: Content-Type: text/html
D: Playlistheader: Transfer-Encoding: chunked
D: Playlistheader: Connection: close
D: Playlistheader: Vary: Accept-Encoding
D: Playlistheader: Set-Cookie: PHPSESSID=gsosaqf9iq07gfiio93d4ocju0; path=/
D: Playlistheader: Expires: Thu, 19 Nov 1981 08:52:00 GMT
D: Playlistheader: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
D: Playlistheader: Pragma: no-cache
D: Playlistheader:
D: Switch to PLAYLISTDATA
D: Playlistdata: 1ef8
D: Playlistdata: 1ef8
D: Entry 1 in playlist found: 1ef8
D: Playlistdata:
D: Entry 2 in playlist found:
D: Stopping client
D: Connect to new host
D: Connect to  on port 80, extension /
D: Request  failed!
D: Switch to HEADER
For some reason, Content-Type is text / html
I hope some can help. Thanks in advance

404 not found is a server error.  You have to look for a different server hosting classicfm.

Oddly, it's a link from their own website

http://19393.live.streamtheworld.com/CLASSICFM.mp3
I extracted this link from the web page player with web developer tools in chrome . Give it a try


[Phil/Celia] Some 'via XXX' announcements can't be played

Some via annoucements for Phil and Celia couldn't by played, for example "via Epsom" and "via Four Oaks"
"via University", and "via Cobham" announcements were able to play for some reason.

Regression after #120


useradd step fails on Fedora 31 VHD image

useradd: cannot create directory /home/redhat
Traceback (most recent call last):
File \"/run/osbuild/lib/stages/org.osbuild.users\", line 168, in <module>
    r = main(args[\"tree\"], args[\"options\"])
  File \"/run/osbuild/lib/stages/org.osbuild.users\", line 157, in main
    useradd(tree, name, uid, gid, groups, description, home, shell, password)
  File \"/run/osbuild/lib/stages/org.osbuild.users\", line 100, in useradd
    subprocess.run([\"chroot\", root, \"useradd\", *arguments, name], check=True)
  File \"/usr/lib64/python3.7/subprocess.py\", line 487, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['chroot', '/run/osbuild/tree', 'useradd', 'redhat']' returned non-zero exit status 12.

Pipeline: https://osbuildci.cloud.paas.psi.redhat.com/blue/organizations/jenkins/osbuild%2Fosbuild-composer/detail/master/148/pipeline
Full osbuild log: https://osbuildci.cloud.paas.psi.redhat.com/job/osbuild/job/osbuild-composer/job/master/148/artifact/fedora31-image/fedora_31-x86_64-vhd-boot.json.log

I can't reproduce this when run manually on a Fedora 31 VM. 🤦🏻♂

Hmm, I shuffled the test order in https://osbuildci.cloud.paas.psi.redhat.com/blue/organizations/jenkins/osbuild%2Fosbuild/detail/PR-467/1/pipeline/111/ and then the openstack image failed instead.

This seems to be happening less often lately, although I can't explain why.

Happens also on aarch64:
https://osbuildci.cloud.paas.psi.redhat.com/blue/organizations/jenkins/osbuild%2Fosbuild-composer/detail/PR-858/4/pipeline/454

Fedora 31 is EOL


chore: optimize client storage gc log

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #790 (0d3cf2e) into main (cb4be14) will decrease coverage by 0.11%.
The diff coverage is 37.50%.

@@            Coverage Diff             @@
##             main     #790      +/-   ##
==========================================
- Coverage   40.34%   40.23%   -0.12%
==========================================
  Files          94       94
  Lines        7783     7787       +4
==========================================
- Hits         3140     3133       -7
- Misses       4237     4245       +8
- Partials      406      409       +3

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
40.23% <37.50%> (-0.12%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/storage/storage_manager.go
20.77% <0.00%> (-0.12%)
:arrow_down:

client/daemon/storage/local_storage.go
25.37% <100.00%> (+0.56%)
:arrow_up:

client/daemon/peer/peertask_stream_callback.go
62.13% <0.00%> (-1.95%)
:arrow_down:

client/daemon/peer/peertask_base.go
46.34% <0.00%> (-1.22%)
:arrow_down:

client/daemon/peer/peertask_stream.go
55.04% <0.00%> (-0.31%)
:arrow_down:


Fix header IDs

Looks like github does transform them like Example:User -> #exampleuser.
Maybe introduce smth like Grape::Apidoc.new(..., flavor: :github/:bitbucket).

Let's focus on github for now