[Discuss] Add basic styling for typographic elements

This adds styling to standard typographic elements without the need to use classes directly on the elements.
Please discuss.

What problem does the pull request solve?

I find having all HTML elements styled in a sensible way really important. I call that "basic styles".
It is important because it makes it easier for non-frontend developers to use the correct markup. It makes the general look and feel more consistent. It reduced the amount of markup and CSS necessary. And it saves time by making simple markup look good by default.
It is similar to what the govuk-govspeak class from GOV.UK Components provides, although that had a different intention.
When I set up my first project with Elements I overcame this restriction in a way which some people didn't like. This PR would make that unnecessary (unless we're using slimmer/static and can use govuk-govspeak).
What does it do?

This adds styling to standard typographic elements (i.e. headings, lists, links, code, strong) without the need to use classes directly on the elements.
This is done scoped under the govuk-basic-styles class which can be added to the body or main or just a single component. That makes it backwards-compatible and people can opt in to use them.
Inconsistently, some basic (but non-scoped) styles already exist for:

tables
paragraphs (spacing)
details/summary
links (although links are styled via govuk_template not via Elements)

After this change, it would stay inconsistent that one type of styles are scoped and others are not. To change that would be a breaking change whether you chose all of them to be opt in or opt out.
This is not a full PR as it is meant to start a discussion. What would be necessary to complete this PR:

[ ] testing
[ ] documentation

Later other missing elements could also be styled (e.g. definition lists or quotes) which you would expect to be styled.
How has this been tested?

This has not been tested yet as this PR was created to have a discussion about the basic idea first. I will test properly and write documentation if people are happy with the basic idea.
What type of change is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Put an x in all the boxes that apply

[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

I like the intention of this PR. For me, coming onboard very recently it's very hard to get your head around all the different gems/packages that include varies components and styles so I'd personally prefer to see a gov.uk normalise file(like normalise.css or reset.css) that includes all these basic rules, since they are gov.uk styles then there shouldn't be a case where someone wouldn't need to use it. I agree that's it's cumbersome to add 'heading-large' to all H1's when we have a strict rules on how H1's are styled anyway.

👍  to the overal idea
As you mentioned it's pretty similar to the  GOV.UK Publishing govspeakcomponent, and preceding .govspeak scope. Both have been used in the past to style non-govspeak content, effectively treating them as a scope like this, so there's a strong need.
Small nitpick on the naming - is there anything more descriptive than govuk-basic-styles? The implementation now (and how govspeak has been used) feels like 'text', 'body-copy' or 'document' -styles. 'basic' feels more ambiguous about what it applies, and something you layer on top of, rather than a scope you opt in to. Like I said, nitpick, but worth some thought on the name when introducing something. Also, you mentioned forms - but that feels a bit beyond what this scope should be doing, and we're hoping to move form UI into components in the future.
One of the things isolated components depend on (including GOV.UK Publishing components, and future GOV.UK Frontend Components) is that element level styles aren't widely applied, or they risk overriding internal styles of a component.
How do you see this working when applied to a main scope, say if you wanted to use components interleaved with basic-style'd content?. I'm thinking of a page like this, https://www.gov.uk/register-to-vote, where there's a button component in the middle of text content. Would the suggested use be like this?:

...

<%= component.button('Start Now', startnow=true) %>

...

For a body scope I can imagine situations in admins/previews/tools where this'd be useful, but wouldn't want anyone using it on service pages, as it would break the header/footer. I think the doc would need to emphasise inline/component use case, rather than on main or body (but still allow them).
Appreciate it's a long reply with a fair bit of detail, happy to chat about this in person if it's more useful :)

gonna ask the question, in an ideal world, should the style not just be on the h1, h2 etc? bootstrap style.
The styles on our website are pretty simple, and in a normal run of things, i don't think we should need to write any css (or use classes for css) i have no idea how we would get to that though without essentially just having an major version number revision

This feels reasonably sensible, and I'd likely use it. However, I'm wary of going down a path of having two ways of doing everything. I feel like we'd get to a point where some pages in a service would use this, and some would use the classes, purely depending on when the page was built. Do we want that?
Other comments:

I have similar usage to this already in the prototype kit. In that case I had some markdown to style, so couldn't use class names. You can see what I came up with here.

We're considering extending markdown support to the rest of the kit, so a .govuk-basic-styles or similar would be useful.

"we have a strict rules on how H1's are styled anyway." - this isn't necessarily true. We have strict rules around body text and hints, etc but heading sizes depend on the page and content. For example, I'd expect a start page to have 48px h1, but within a service I'd likely use 36px. So we'd want to consider carefully what defaults this applies.

gonna ask the question, in an ideal world, should the style not just be on the h1, h2 etc? bootstrap style.

We want to be as close as possible, while balancing maintainability and the ability to iterate frontend code. I think having a 'texty' (or 'prose' as @gemmaleigh suggested) scope, that can be tightly applied, gives us the ability to write 'normal' HTML.
The difficulty to applying element styles globally is that it makes it very difficult to build on top of them. If all h1s are styled one way by default, it makes it much more difficult to create variants (eg, an h1 for a manual) in a way that isn't totally dependant on the implementation of the global style. Thats something we've been actively trying to get away from on GOV.UK, and from research with services would make upgrading more difficult for them.
I think this PR would be a good topic for the next FE meeting, based on the interest :)

One of the things isolated components depend on (including GOV.UK Publishing components, and future GOV.UK Frontend Components) is that element level styles aren't widely applied, or they risk overriding internal styles of a component.

^ @dsingleton took some of my words out of my mouth here.

However, I'm wary of going down a path of having two ways of doing everything.

@edwardhorsford I don't think you can completely avoid that, because the web platfom is a tool that is widely used for different usecases. IMO chiefly among them are Documents and Applications, which have different needs.
To over simplify what I think:

Applications love reusable components.
Documents love implicit base styling.

The difficulty to applying element styles globally is that it makes it very difficult to build on top of them.

@dsingleton I think the reason this is difficult on the web platform is because of how easy it makes it to almost irreversibly override the primitives, and there's no easy way to explicitly request the basic ones afterwards.
I'm not a native developer, but I assume that if you tried to monkey patch the default behaviour of UITextView and every other base class in the iOS toolkit you'd get some confused eyebrows, in most applications. Unless, you were creating a Bootstrap type abstraction layer that makes it easier to create your specific flavour of applications.
While I initially knee-jerkingly had my nose up at this (as a primarily Applications-concerned web developer), I can see how it would be useful and save a lot of time for most of our use cases, which are Documents.

@dsingleton, I'm fine with changing the name, I wasn't too sure about that myself. Although I would be fine with calling it something related to copy/document I would find it a bit odd because we're only giving back the styles we have deliberately removed (i.e. the default browser styles).
On the one hand I think there should be a default styling for form elements as well, but on the other hand I understand that it's not quite the same. Basic styling of e.g. inputs and labels brings the problem with it that you would need to override those in case of checkboxes and radio buttons.
I have already done the changes but deliberately didn't put it into this PR because it's easier to discuss a smaller and more straightforward change.
Do you know of a case where an input field or a button doesn't look like a standard GOV.UK element? Maybe I just don't know the code base well enough to know those cases but I haven't come across one yet.
I mentioned putting the scope on various elements as examples. Although putting it on the body is a possibility, you most likely wouldn't want to do that when using govuk_template. (And you would quickly realise that.) Putting it on main is probably a more realistic scenario, especially for typical apps for documents. In services you could either not apply it at all or only on select sections.
I can see multiple solutions to the isolated components vs global styles issue:

Don't use the basic-styles class if you're relying heavily on components.
Either reset everything per component. That's probably a bit drastic but it's a possibility.
Or reset only what you know you need to reset because those basic styles will be known to you. The downside is that basic styles might change and you would need to re-check this and potentially adjust from time to time.

I personally don't like the idea that components set all the possible styles. There are some basic things they should inherit, e.g. the font, font size and text colour. That way it will be much less code and easier to keep consistent. They should only override those if their styling diverges from that.
I have only ever seen issues with basic styles in rare cases in the past if they include something fancy which is hard to override. I've heard multiple times from other GDS developers that it was causing issues (@dsingleton said "it makes it very difficult to build on top of them"). I'd be interested to know, do you have any real life examples when it was causing problems?
In an ideal world I would also prefer to not use two different ways of styling typographic elements. I would prefer to only style h1 directly etc. But there are two reasons why we shouldn't do that in this case:

We would break a lot of things as such a change wouldn't be backwards compatible.
I know that the removal of all basic styling is quite important to a lot of people. Adding them back only when scoped and giving teams a choice will be the best compromise.

Although @cfq pointed out to me that it will be more difficult to override the basic styles because they are scoped.
E.g. if you wanted to make an h1 look like an h2, you could not simply add a .heading-large class as .basic-styles h1 has a higher specificity. It would be easier to override if it wasn't scoped.
@edwardhorsford, I came up with a similar solution as linked in the description above: https://github.com/alphagov/content-performance-manager/blob/master/app/assets/stylesheets/_base.scss

also curious why this doesn't style body or paragraph with @core-19 as a sensible default.

Paragraphs are already styled accordingly. The @core-19 is on the main element and everything inside inherits it unless it's overwritten. Paragraphs have basic spacing.
@tvararu, your apps vs documents comparison makes sense to me. Maybe I'm only such a strong believer in basic styles because I've never built a proper modern web app (not counting DokuWiki as its main purpose is to provide documents and its "appy" part is not very extensive).

To try and summarise where this is at:
I think everyone agrees some kind of basic-styles scope is useful, and there's solid prior art inside and outside GDS. I think the questions raised are:

With a basic styles scope there's a question on how many elements it should cover?

How would a scope interact with a component system, can they be embedded within a scope?

How does applying a basic styles scope to body/html* affect building isolated components?

(* at this point I think it's actually strongly opinionated reset/baseline set of styles, rather than a scope)

I'm happy to keep the discussion about a body/html scope out of this PR. Although during our frontend meeting it was clear that some people would like to explore that, at least to the extend of experimenting with it. @dsingleton suggested that someone could provide a demo with which we could experiment. I'd be happy to provide that, although it's likely to happen only in 2 or 3 weeks. (I'm in a new team and should concentrate on work within the team at least in the beginning.)
What was also discussed (later after the meeting and in Slack) was to have at least some rudimentary, less opinionated basic styles which should at least let components inherit very basic things for easier consistency, like font, font size and colour.
But again, this is out of scope of this particular PR -- but probably interesting to know for people following this.
I have removed the to do list item "basic styles for form elements and buttons" from the description. I think it makes more sense to potentially discuss that separately in a separate PR.

👍  I'm happy with this as a scope 'texty' content. I think it would make sense to update the name to like text or prose and make it more explicit. But otherwise
If folks want to apply it at that level they still can, but we should make clear we're not supporting that, and the potential risks. @gemmaleigh: where's a good place in elements docs for that?
I think the outstanding steps here are agreeing a name, and documenting the usage. I think thats it, and then this is mergable?

@dsingleton suggested that someone could provide a demo with which we could experiment.

I think some code demos would help focus the discussion :) I'd be interested in seeing how:

Using the scope on body affects the header and footer of govuk_template
Existing GOV.UK Elements components (like forms or phase banners) would work within a scope like this.

I guess finding a good name is the most difficult bit of this PR. ;-)
It should definitely start with govuk-, options following that could be:

typography
prose
copy
document
text
styled
...?

Regarding the documentation, I think it either belongs to the top or the bottom of the Elements typography page. I'm leaning towards the top.
I will update this within the next few days.

In the interest of readability, something like .govuk-styled-text or .govuk-text-styles?

In the frontend meeting the majority just decided to go with govuk-prose.

Sorry for the long wait. I have finally found some time to finish this.
I have renamed the class to govuk-prose and added some documentation and examples.
A couple of things I was unsure of when I wrote the documentation:

Is the bottom the right place or should it be at the top?
I'm not very happy with the heading "Use styling automatically". Can anyone think of something better?
Should we warn people about adding the class to their body? Or is it enough not to mention it and having a simple example with a div?

I have just had another stab at this. A few weeks ago I met with Jen Lambourne, a technical writer here at GDS, to discuss improvements to the documentation for this PR. Unfortunately I forgot some of the things she said and the notes she sent me were not complete.
She said she'd prefer it if that section was at the top:

I would put close to the top so that users can see how to handle the correct thing automatically without manually working through the doc and then finding out they could have automated it at the end.

If you're unhappy with that, I'd suggest moving the section to the bottom again but leaving a paragraph where the section is now and linking it to the bottom section.
About warning people to not put the class on the body or not:

Always warn/repeat if it's going to cause issues. No harm in warning them and having a simple example.

I tried to rephrase the text about which elements are affected. I hope it's clearer now, but am not sure it's clear enough.

I've renamed this section to 'Scoped typographic styles'.
I'd like it to sit underneath lists - as i'd prefer it if examples of each of these were shown first, before an example of using a the .govuk-prose class - combining the examples above - headings, lists, links.
I'm still wary of this as it'll mean these styles are harder to override, as @cfq mentioned.
Here's a screenshot of the updated example:

I have decided to give up on this. There seems to be too much resistance.
If anyone else wants to keep on fighting for this and wants to provide arguments and tests (like mentioned above "put other component code in the prose code as a proof of concept"), please feel free to adopt this PR.

Hi folks 👋
I unsubscribed from notifications for this PR 😢 - but it's still showing up in my https://github.com/pulls/mentioned
It looks like this PR isn't actively owned, a tag out of date, and is conflicting with master. Any chance the PR could be closed? Leaving the branch for someone to pick up in the future? 😄

Hey David! :)
We're investigating a similar feature in GOV.UK Frontend with https://github.com/alphagov/govuk-frontend/blob/master/docs/installation/installing-with-npm.md#global-styles and we'll be investigating this use case more.
So I'll close this out for now, thanks everyone. :)

💖


node.reparent() not preserving global position and other weird behavior

Thanks for the fix to collision normals being reported from inside collision shapes, I haven't had a chance to test it yet; I've been wracking my brain on some other problems:
When using node.reparent(new_parent,true) with the flag set for keeping global position it has some odd behavior, in my main project the objects appear to go to (0,0,0) of the parent, in a minimal reproduction project they go somewhere else that's not (0,0,0).
To combat this I tried changing the global_transform of the object to position it back where it was after doing node.reparent(), but this had no effect 95% of the time. This is very odd asynchronous behavior. So I resorted to using await get_tree().process_frame before setting the object transform, this is not preferable as it causes unintended consequences with scripts waiting for the reparent script to finish.
None of this happens in default godot physics, with the flag set the objects stay in place and with the flag not set you can immediately position them/set velocity etc after the reparent and it works.
To reproduce:

Run the attached project and click with the mouse on the floor to spawn a cube
Move the camera with WASD Ctrl Space Arrow Keys to move the cube somewhere
Click the mouse on the floor again to parent the cube to the root node, the cube will fall in place as expected with godot physics
Install jolt and test the scene again, the cubes will go to a spot outside the platform when being reparented

jolt test1.zip

This is very strange.
What's especially strange is that it's seemingly random, which makes it difficult to debug. Even the act of stopping on a breakpoint seems to introduce enough time for something to correct itself, preventing the bug from manifesting, which smells like a race condition of some sort.

When using node.reparent(new_parent,true) with the flag set for keeping global position it has some odd behavior, in my main project the objects appear to go to (0,0,0) of the parent, in a minimal reproduction project they go somewhere else that's not (0,0,0).

What it looks like to me is that the node randomly gets reparented as if keep_global_transform would be false, meaning only its local transform is preserved.
I'll need to do some more digging at another time. I'm really struggling to think what I could even have done wrong here. There's really not much I have control over in this scenario. I just move the body where Godot tells me. But as you point out I'm unable to reproduce this with Godot Physics, so clearly there must be some kind of discrepancy somewhere.
Very odd.

Well, I found it. Thankfully it was something specific to only this problem, and not the sign of a broader issue.
I'll try to have a new release out when Godot 4.2-stable is released.

Awesome, thanks!


MacOS Catalina Music app

Would you update to Catalina Music app?

It works perfectly already.

Its only works with Spotify it doesn't see music app

I have the same issue since i've updated to Catalina, probably related to the new Music App

On Catalina:
2019-10-16 09:50:47.954 SpotMenu[12833:710505] [Crashlytics] Version 3.11.1 (134) 2019-10-16 09:50:51.552 SpotMenu[12833:710505] Can't find app with identifier com.apple.iTunes 2019-10-16 09:50:51.627 SpotMenu[12833:710505] Can't find app with identifier com.apple.iTunes 2019-10-16 09:50:51.693 SpotMenu[12833:710505] [Crashlytics:Crash] Warning: NSApplicationCrashOnExceptions is not set. This will result in poor top-level uncaught exception reporting.

This is a pretty bad issue, could we get an update?

This commit 5e119e606c475f1bd8410d293cbc621ad9087e7b adds support for the Music app in Catalina. I will try to release an update as soon as possible.

you can try this build

you can try this build

Nice this working but don't sending artworks to the app

Just downloaded and tried the latest build above - does work in Catalina but when quit music app also quits Spotmenu.  Also sometimes shows artwork sometimes doesn't and scrolling of info in menu bar is distracting if too many characters e.g. when select artist/album/song title.

@kmikiy can we expect a release for this anytime soon? 😄


Great Work and one concern about using own data

Dear authors,
Thank you for starting this fantastic work. I noticed that some beam-related data need to be extracted from external software (i.e., Eclipse). If I understand correctly, if users do not have access to the Eclipse system, they can not use PortPy to run their own data?
Thank you again for the open-source effort in radiotherapy.

Hello Riqiang,
Thanks for your interest and kind words. What you said is correct. At this
point, the user can use the data provided in the package (10 lung patients
now, would expand to 100 very soon). In the future, we plan to integrate
the package with some Monte Carlo dose calculations and other widely used
commercial systems so the user can use their own data set and system.
Best
Masoud
On Mon, Jul 17, 2023 at 8:15 PM RiqiangGao @.***> wrote:

Dear authors,
Thank you for starting this fantastic work. I noticed that some
beam-related data need to be extracted from external software (i.e.,
Eclipse). If I understand correctly, if users do not have access to the
Eclipse system, they can not use PortPy to run their own data?
Thank you again for the open-source effort in radiotherapy.
—
Reply to this email directly, view it on GitHub
https://github.com/PortPy-Project/PortPy/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTXCTYEJQVE6UVD3Q3FNVLXQXISLANCNFSM6AAAAAA2NUG2QU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I see. I appreciate the clarification. Also look forward to future versions.


Try to improve OSCALLoaderForm structure

Currently, the onUrlChange() is fired whenever any character is typed.
This is sorta undesirable because it can result in various re-rendering
happening in a few places prematurely.
As-is, this doesn't work. It seems like the actual value received by
OSCALLoader "lags" behind the input value by one form submission.
Relies on #490

Relies on https://github.com/EasyDynamics/oscal-react-library/pull/490

With 490 merged, I believe this can be addressed.
I'm glad that were handling this now! I noticed a major slowdown here too when adjusting the form URL, and was thinking it was related to the onChange event. Looking over the code limiting the amount of re-rendering and testing the branch, it appears everything works well.

It looks like the oscalUrl is not actually being changed to the new value here? I am unsure why the setter of something initialized from useState would lag behind one value.
https://github.com/EasyDynamics/oscal-react-library/blob/feature/make-form-behave-predictably/src/components/OSCALLoader.js#L130-#L132

I will wait for @kylelaker to review my change and take it out of draft, but I think this should be fixed. There was a weird issue where we were reloading before the state had a change to actually update.

Thanks for helping with this @tuckerzp. I approve of the changes you've made here; I think you should feel free to mark this PR as approved as well (if you do approve).


Use small square for ts

It would make sense to use the small square for a ts, so you have visual glue for the upgrade to the PI, as the lab has a small circle and the ac has a big circle

I think it the bottom can be a square, with a triangle at the top.
something like <polygon points='-0.3,-0.3 0,-0.45 0.3,-0.3 0.3,0.3 -0.3-0.3 />` in line height of https://github.com/donkeytech/gaia-viewer/blob/master/src/components/Building.vue


Doc: Fix typo on README

Fix known typo clinet (must be client)
This doesn't change any code.

Thanks for contribute!


Minimum_version as well as Maximum_version must be optional

another important change required for 0.6.0 version.
Minimum_version as well as Maximum_version must be optional.
All must be possible.

[ ] Minimum and Maximum version defined.
[ ] Only Minimum version defined.
[ ] Only Maximum version defined.
[ ] Default: no Minimum, no Maximum version defined.

Hello Thomas,
This enhancement is implemented in pull-request #60
Thank you,
Son


Additional empty character when using OutStream.Write

1. Describe the bug
When writing a text to a stream using the OutStream.Write function, an additional empty character is always appended to the end of the stream. I have already looked with a hex editor and it is a simple 00 character
2. To Reproduce
I have simulated the behavior by writing the same text once via the codeunit DotNet_StreamWriter and once via OutStream.Write into a stream. If you then display the length of the streams, the OutStream.Write version is always one character longer
pageextension 50100 CustomerListExt extends "Customer List"
{
    trigger OnOpenPage();
    var
        myText: Text;
    begin
        myText := '0123456789';
        Message(Format(WriteTextToStreamWithStreamWriter(myText))); // output = 10
        Message(Format(WriteTextToStreamWithOutStreamWrite(myText))); // output = 11
    end;

    local procedure WriteTextToStreamWithStreamWriter(myText: Text): Integer
    var
        DotNet_StreamWriter: Codeunit DotNet_StreamWriter;
        TempBlob: Codeunit "Temp Blob";
        OStream: OutStream;
    begin
        TempBlob.CreateOutStream(OStream);
        DotNet_StreamWriter.StreamWriter(OStream);
        DotNet_StreamWriter.Write(myText);
        DotNet_StreamWriter.Flush();
        exit(TempBlob.Length());
    end;

    local procedure WriteTextToStreamWithOutStreamWrite(myText: Text): Integer
    var
        TempBlob: Codeunit "Temp Blob";
        OStream: OutStream;
    begin
        TempBlob.CreateOutStream(OStream);
        OStream.Write(myText);
        exit(TempBlob.Length());
    end;
}

As mentioned, this is by design.


Unit tests

I try to testing my code (used this lib) and I have some problem.
How to create some mock server for amqp?
My tries:

Use newServer and newSession from client test (for this I must copy all your lib in my tests).
Use https://github.com/NeowayLabs/wabbit and their FakeServer, but this lib response "connect refused" all time.
Use net.Listener, but response with amqp format - it's another problem.

How to use this lib in unit tests?

There are no test packages or test helpers nor any interfaces bundled in this repository. Back in 2019 #387 was opened which was aiming to implement interfaces for all public methods but it never got merged. Depending on your needs you could use that as an inspiration.
If you have trouble using wabbit but still want to use it you should ask for help in that repository. There are no open issues addressing connection refused so it's probably not an issue with the package since Ii think it's quote widely used.
You could create your own interfaces with the methods you use from the library and attach where needed instead of any amqp type. This is quite common and by defining your own interface you can easily generate mocks with e.g. minimock or gomock.1
A third alternative is to look into existing wrappers for this library. amqp-rpc (not only for RPC even though it's name) is a complete wrapper around this library which has methods to be used both as a receiving server or a calling client. The wrapper uses a function which is invoked before every message is sent that can be overridden for unit tests.
A fourth alternative would be to actually use a real server in your tests. Depending on what your needs are it might be the best way to do testing. You could use docker for local testing and development and rabbitmq-action for GitHub actions or rabbitmq service in Travis.
1 Example
type Publisher interface {
    Publish(exchange, key string, mandatory, immediate bool, msg amqp.Publishing) error
}

func somethingThatWillPublish(p Publisher) {
    // ...
    p.Publish("", "", false, false, someMessage)
    // ...


Guidance on signing artifacts in language SDKs

The Collector is already signing released images using Sigstore. I think we want to do the same for language SDK releases in general.
I would like to start implementing this in the JavaScript SDK using the npm provenance feature, which is built-in to the npm package manager itself and makes it easy for users to verify how a published package was built.
I am looking for a guidance from the Security SIG on

whether signing should be implemented by language SDKs
minimum requirements (e.g. does the npm provenance feature fulfill what we are looking for)

While Maven Central doesn't support sigstore/cosign like npm does, I did attempt to implement it for the java sdk repo:
https://github.com/open-telemetry/opentelemetry-java/pull/6531
It would be nice if I could get validation for my approach from the Security SIG, or guidance on what I need to change.

@martinkuba, I like very much what I read about NPM with the document you provided me. I wasn't able to find the code behind it, but the documentation has the right things in place: code is signed via github's oauth token, establishing a link between the released artifact and the build, the key is ephemeral (one per build), and the results are stored in the transparency log.
They even have a summary of those available for users to verify, which I find inspiring: we could have something like that as well!
https://www.npmjs.com/package/sigstore#provenance

@tylerbenson , I commented on the PR, and I think you could consider using the Gradle integration. It could be easier to maintain, but your integration doesn't look wrong. I'd appreciate if you could provide some steps for users to perform a verification though, especially given that the tooling around it doesn't seem to support sigstore yet (maven, in particular).

I'm closing this, but if you need more info, let me know.


split function is not working as it should.

local test = "a, b, c, d, e";
local sp = split(test, ", ");
sp should be equal to ["a", "b", "c", "d", "e"] instead it is ["a", " ", "b", " ", "c", " ", "d", " ", "e"].

This is a standard squirrel function. Therefore, if that's how it behaves then probably that's how it was meant to behave. I cannot judge how something from the Squirrel language behaves.
If you want, you could use the alternate methods that the plugin provides:
local exp = SqStr.Explode(',', false, "a,b,c,d,e");

foreach (k, v in exp) printf(v);

local imp = SqStr.Implode(',', exp);

print(imp);

However, keep in mind, that these work with character delimiters and not string delimiters. You can find more info about them on the wiki. Also, please remove the useless space after each delimiter.


wierd error ** On entry to DGEBAL parameter number  3 had an illegal value  ** On entry to DGEHRD  parameter number  2 had an illegal value  ** On entry to DORGHR DORGQR parameter number  2 had an illegal value  ** On entry to DHSEQR parameter number  4 had an illegal value

Hi, so i have a weird issue running on windows with the cmd. i 'm new to twint and i have to use it for a social sciences paper for school.
i install it with:
git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt

the same occurs in both python 3.6 and 3.9. (double checked) and still got the exact same message.
i did Updated Twint with pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;
I ran (checked different usernames possibilities)
twint -u username
and i get :
C:\Users\Pierre\twint>twint u- pierre45167
 ** On entry to DGEBAL parameter number  3 had an illegal value
 ** On entry to DGEHRD  parameter number  2 had an illegal value
 ** On entry to DORGHR DORGQR parameter number  2 had an illegal value
 ** On entry to DHSEQR parameter number  4 had an illegal value
Traceback (most recent call last):
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python39\Scripts\twint-script.py", line 33, in <module>
    sys.exit(load_entry_point('twint==2.1.21', 'console_scripts', 'twint')())
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python39\Scripts\twint-script.py", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\importlib\metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "c:\users\pierre\twint\src\twint\twint\__init__.py", line 14, in <module>
    from . import run
  File "c:\users\pierre\twint\src\twint\twint\run.py", line 4, in <module>
    from . import datelock, feed, get, output, verbose, storage
  File "c:\users\pierre\twint\src\twint\twint\get.py", line 16, in <module>
    from .output import Tweets, Users
  File "c:\users\pierre\twint\src\twint\twint\output.py", line 6, in <module>
    from .storage import db, elasticsearch, write, panda
  File "c:\users\pierre\twint\src\twint\twint\storage\elasticsearch.py", line 2, in <module>
    from elasticsearch import Elasticsearch, helpers
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\elasticsearch\__init__.py", line 36, in <module>
    from .client import Elasticsearch
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\elasticsearch\client\__init__.py", line 22, in <module>
    from ..transport import Transport, TransportError
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\elasticsearch\transport.py", line 23, in <module>
    from .serializer import JSONSerializer, Deserializer, DEFAULT_SERIALIZERS
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\elasticsearch\serializer.py", line 35, in <module>
    import numpy as np
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\numpy\__init__.py", line 305, in <module>
    _win_os_check()
  File "c:\users\pierre\appdata\local\programs\python\python39\lib\site-packages\numpy\__init__.py", line 302, in _win_os_check
    raise RuntimeError(msg.format(__file__)) from None
RuntimeError: The current Numpy installation ('c:\\users\\pierre\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\numpy\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86

If any of you had the issue or had ideas...
(i checked if there was other issues but nothing came out)

this isn't actually a twint issue, it's related to numpy.
numpy1.19.4 has this bug on windows.
first uninstall the current numpy installation using:
pip uninstall numpy

Then install the previous version using:
pip install numpy==1.19.3

this isn't actually a twint issue, it's related to numpy.
numpy1.19.4 has this bug on windows.
first uninstall the current numpy installation using:
pip uninstall numpy

Then install the previous version using:
pip install numpy==1.19.3

this isn't actually a twint issue, it's related to numpy.
numpy1.19.4 has this bug on windows.
first uninstall the current numpy installation using:
pip uninstall numpy

Then install the previous version using:
pip install numpy==1.19.3

thank you so much !! Hope i didn't bother you too much you saved me on this one, i don't know i would have done otherwise.

Thanks a lot, helped me as well!

Thank you! you save my project!

thank you so much! Finaly find the solution here

Thank you so much！

Muito Obrigado! @himanshudabas

Thank you. It worked. 👍 :)

Good thank u

Thank you, it works!!

thankyou it works

Thanks

Thanks!

We need at highest Python version 3.8.5. With Python 3.9, there is a problem using numpy 1.19.3.

Run into the same problem today, trying to use numpy and maxpluspy, this helped me. Thank you.

Thanks It really 💯% working

Thank you it works!!

You don't have to manually uninstall the previous installation. pip install numpy=1.19.3 would automatically uninstall the previous installation. just to save your 2 seconds.

Thank you!!!

Thank you helped a lot!!

grande

Gracias!

this isn't actually a twint issue, it's related to numpy.
numpy1.19.4 has this bug on windows.
first uninstall the current numpy installation using:
pip uninstall numpy

Then install the previous version using:
pip install numpy==1.19.3

thank you so much !! Hope i didn't bother you too much you saved me on this one, i don't know i would have done otherwise.

holy smoke that helped, my script not even use numpy (only pandas) but was not able to run before downgrading to .19.3

Thank you sooooooooooooo much it helped

Thanks a lot. It saves me a lot of time

thanks a lot!! you saved the day.

Thank you, it works for me also..

Thank you, it works for me also..

Hi,
I was facing the same error! A simple & perfect solution. Thanks!!

Hi,
I was facing the same error! A simple & perfect solution. Thanks!!

thankyou this has helped me a lot

thankyou this has helped me a lot

And yet another thank you!


Hostname should be a per request thing

Your Environment

verdaccio version: 5.7.0
node version [12.x.x, 14.x.x]: 14.18.2
package manager: [npm@7, pnpm@6, yarn@2] docker
os: [mac, windows@10, linux] docker
platform: [npm, docker, helm, other] docker

Describe the bug

Currently, verdaccio hostname is not a per request thing. Seems the hostname from first req is persist forever.
To Reproduce

$ docker-compose down
$ docker-compose up -d
$ curl http://aaa:4873/foobar | grep tarball
"tarball": "http://aaa:4873/xxx.tgz"
$ curl http://bbb:4873/foobar | grep tarball
"tarball": "http://aaa:4873/xxx.tgz"

$ docker-compose down
$ docker-compose up -d
$ curl http://bbb:4873/foobar | grep tarball
"tarball": "http://bbb:4873/xxx.tgz"
$ curl http://aaa:4873/foobar | grep tarball
"tarball": "http://bbb:4873/xxx.tgz"

Expected behavior

$ docker-compose down
$ docker-compose up -d
$ curl http://aaa:4873/foobar | grep tarball
"tarball": "http://aaa:4873/xxx.tgz"
$ curl http://bbb:4873/foobar | grep tarball
"tarball": "http://bbb:4873/xxx.tgz"

$ docker-compose down
$ docker-compose up -d
$ curl http://bbb:4873/foobar | grep tarball
"tarball": "http://bbb:4873/xxx.tgz"
$ curl http://aaa:4873/foobar | grep tarball
"tarball": "http://aaa:4873/xxx.tgz"

Screenshots, server logs, package manager log

Configuration File (cat ~/.config/verdaccio/config.yaml)

Environment information

Debugging output

$ NODE_DEBUG=request verdaccio display request calls (verdaccio <--> uplinks)
$ DEBUG=verdaccio* verdaccio enable extreme verdaccio debug mode (verdaccio api)
$ npm -ddd prints:
$ npm config get registry prints:

Contribute to Verdaccio

[ ] I'm willing to fix this bug 🥇

You might need to reveal what's behind your logic, if you don't provide the host header the url returned for the tarball would be whatever you have in the storage and that's by design.

You might need to reveal what's behind your logic, if you don't provide the host header the url returned for the tarball would be whatever you have in the storage and that's by design.

@juanpicado

two different hostnames, points to one same instance
two hostnames are different, because they are from different network

@juanpicado

that's by design
Is there a way to alter tarball host, according to client's per connection HTTP_HOST?

You can read logic here https://github.com/verdaccio/verdaccio/blob/5.x/src/lib/utils.ts#L145

@juanpicado
It's weird. I just checked the source.
Get different result outside docker using v6.0.0-6-next.30, that result is expected.

First request using <IP_ADDRESS>
Without docker, v6.0.0-6-next.30, second req
$ curl x.x.x.x:14873/foobar |grep tarball
"tarball": "http://x.x.x.x:14873/foobar.tgz"

With docker, 5.7.0, second req
$ curl x.x.x.x:24873/foobar |grep tarball
"tarball": "http://<IP_ADDRESS>:24873/foobar.tgz"

Seems 5.X has this bug, v6.0.0-6-next.30 fixed it.
Wish for v6 docker image.
Thanks. :)


Add release info to the metadatafile for AQA-Cert

Add release info for AQA-Cert
Fixes: https://github.com/adoptium/TKG/issues/260
Signed-off-by: Jerome Ju<EMAIL_ADDRESS>

Latest Grinder link: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/3654/
Also would like to ask on which platform may contains the release info file path? Thanks

re: https://github.com/adoptium/TKG/pull/272#issuecomment-1045529211 Every hotspot build would have a release file (for every platform).

Thanks @smlambert!
As discussed and pointed during the meet, I've been trying to locate the release info under {JAVA_HOME}/build/release:
https://github.com/JeromeJu/TKG/blob/release_test_1/src/org/openj9/envInfo/JavaInfo.java#L167-L176 should be correct referring to https://github.com/adoptium/aqa-tests/blob/master/get.sh#L586-L601.
Following up on that, I've been trying to look into the directory under {JAVA_HOME} for hotspot,  and it didn't seem to have the /build/release path according to Grinder 3667
https://github.com/JeromeJu/TKG/blob/release_test_1/src/org/openj9/envInfo/JavaInfo.java#L178-L184

re: https://github.com/adoptium/TKG/pull/272#issuecomment-1046258663 - as part of your investigation, you could download a build from https://adoptium.net/ , unpack it locally to find the release file (to be familiar with the directory structure).
When I do so for mac when I unpack the build, the release file is not in a /build directory, but at the top-level of JAVA_HOME.

From a quick look at your Grinder,

I see the release info got printed out in shell script in Grinder 3667. It means the file is there. Please check your java code.

your branch is out of date. I still see the old error in java -version:

Thanks for the guidance!

I've updated the current PR
As pointed for the build, I've also followed the JAVA_HOME/release, however, I wasn't able to access 'JAVA_HOME/release'
Therefore, I 'ls' through 'JAVA_HOME' to investigate, and got the following results:  #3713

DETECTED_JAVAHOME_FILES=ASSEMBLY_EXCEPTION
LICENSE
THIRD_PARTY_README
bin
lib

Also when I remove the check for the 'JAVA_HOME/release', it shows: #3704

DETECTED_RELASE_INFO=cat: /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/jre/release: No such file or directory

The printed JAVA_HOME is /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/jre

Right, so the release file you are looking for will be up one level from that location.  The pseudocode would be "If javaHome string endsWith(jre), then strip it off to get the path to the file".  It may not always be true that JAVA_HOME will point to jre dir (as in some versions of java, it may not be present).  You will have to run tests with a few different JDK_VERSION in Grinders, like JDK_VERSION=18.

I think we can avoid jre issue by using TEST_JDK_HOME. Could you try to get TEST_JDK_HOME?
String TEST_JDK_HOME = System.getenv("TEST_JDK_HOME");

Thanks @llxia and @smlambert, according to Grinder link, TEST_JDK_HOME shall fix the path for java.home.

Rerun Grinder after changing the naming and the typo! Please let me know if it looks fine. Thank you for the pointers!


[Bug]: Pack download cannot be cancelled if at 0KB/s

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
discord: .jole
Version Info
Latest available release
What operating system are you seeing the problem on?
Windows
Bug Behavior
If downloads for whatever reason are at 0KB/s, the cancel download action is unresponsive. Tested in both Rebirth and Til Death. While there's active download traffic, cancel applies instantly as you'd expect
Found out after trying to test theme edits with extremely long downloads, intentionally slowing the speed to a halt through preferences
Expected Behavior
Cancel regardless of current download speed
Reproduction Steps

Set maximumBytesDownloadedPerSecond to something stupidly low like under 50 to get effectively 0KB/s
Can't cancel download if speed is showing 0KB/s

Anything else?
No response

done bb09eb1010a68bf9112e343a88388e3e4a9be257


Localization data for Home Page

Set up the various Home Page contents in 'src/localization/en.js'

I think this was completed by #531, at least for the model it was at the time.


Fix server error flashing

flash-errors was not included in some views where server popup is used due to which server popup is not displayed.
Steps to reproduce: When you try to Add/Edit/Delete a Chart, server popup will not be displayed.
Popup is displayed after applying the patch:

You're right. Thanks.


Fix CSS and JS on Eureka Dashboard

The dashboard interface was broken after changes in
https://github.com/spring-cloud/spring-cloud-netflix/pull/4075.
Bootstrap has changed a lot since version 3.
This patch converts dashboard's CSS to Bootstrap v.5 API.
Also, remove unnecessary JavaScript. Table striping and tab activation
is done completely in Bootstrap now. While at it, remove IE support.
It is not supported in Bootstrap v.5 anymore.
It's probably OK now to remove jQuery all together now, but I was not sure if it is not used elsewhere.
This pull request should be applicable to main branch too.

I only just now noticed that someone else already prepared a patch for this issue https://github.com/spring-cloud/spring-cloud-netflix/pull/4092 . However, to anyone applying these patches, my version is more complete.

ping

@OlgaMaciaszek , @spencergibb : do you need me to change anything in my pull request? I'm not sure if I did something wrong or this project is dead?

Hello @ViliusS - thanks for submitting the PR; will review this week.


Show/Hide Decades (hijri ummalqura calendar)

Hi,
Thank you for this awesome calendar.
I just have one issue: I am using ummalqura calendar and I want to hide or disable decades option, when I click on the month > then year > then decades, it loads the decades with gregorian years (2017-2024 , ...) I want to display hijri decades or just hide or diable decades option.
Please help,
Thank you

The decades is a bootstrap-datetimepicker issue. Considering that this script is only an interface, I chose to leave the decades option as it is for for the sake of keeping dependencies intact. Otherwise, it would be more reasonable to fork bootstrap-datetimepicker or create something similar instead of implementing an interface.

could you please help me out.I need only only the date in Arabic not Date&Time.Is it possible to disable the time??

Hi,
could some one plz help me out.I need only the date not date&time.and the format,autoclose are also not working with locale.Your quick response would be highly appreciated.Thanks in Advance.

// Umm ALqura Calendar
$('#div').datetimepicker({
format: 'DD/MM/YYYY',
locale: {calender: 'ummalqura', lang: 'ar'}
}).on('dp.show dp.update', function () {
$(".datepicker-years .picker-switch").removeAttr('title')
.css('cursor', 'default')
.css('background', 'inherit')
.on('click', function (e) {
e.stopPropagation();
});
});
this will disable the decades view.


Add Essentials and Essentials 2 profiles

Same profile, one just has an extra button for those who want it

Looks good.
Thanks for creating the profiles.


SSAO and SSIL Break with Odd Resolutions

Godot version
4.0 rc 3
System information
Windows 11, Vulkan, GTX 1050 Ti 528.24
Issue description
SSAO/SSIL at full Res breaks when using Non-Even Resolutions (Half res works just fine)

Steps to reproduce
Set Viewport to Non-Even Resolution and Disable Half Size, and look at a Plane from a distance
Minimal reproduction project
N/A

I also get these beautiful ones.  Is this the same issue, a known one, or should I report it?

I also get these beautiful ones.  Is this the same issue, a known one, or should I report it?

This appears to be the same as https://github.com/godotengine/godot/issues/56724.

This issue has not been solved in RC6, just heavily mitigated, odd resolutions still cause SSAO/SSIL at full res to produce streaking artifacts similar to OP, just much weaker and more centered around the middle of the screen.

cc @BastiaanOlij

This one is really starting to do our heads in :) Talking to clay about how we could finally put this to bed but we really need some solid MRP for this as we fix one thing and another problem returns that doesn't show up in the tests we're using.
Talking with @clayjohn about this but the zest of my theory is as follows:
The root problem here is that we're slicing the screen into 4 for each effects buffer for performance reasons.
So say as a worst case example a screen resolution of 999x599 becomes 4 times 250x150 (of 125x75 at half resolution).
The original problem causing the weird artifacts in the border were caused because the way the sizes are calculated resulted that we were only populating at a resolution of 249x149 ending up with only calculating data for 996x596 of the image, leaving a border of 4 pixels at the bottom and right side of the image with whatever data was there before. You start to notice issues especially when resizing as the data there will be left overs from other textures freed up and totally not suitable for what we're doing.
So that was fixed ensuring that we render to the full 250x150 resolution of each slice, the problem now is that our effects buffers have a total screen size of 1000x600, one pixel to many, I suspect that the streaking is caused because some of the processes will stretch the source image by 1 extra pixel, while others just see the extra pixel as outside of the source image.
The effect is worsened if you run SSAO at half size and SSIL at full size, or vise versa, because of the way we calculate size that way where I think we do a rounding that no longer matches the buffer size which is now the first mip of the full size.
Still trying to figure out how best to fix this.

Problem here is that it's not something that one can make a good MRP for, as camera positions, and viewport resolutions matter, and fixing one part likely breaks some other scenario.

I've encountered this problem with SSAO and SSR (and SSIL i think). However, in my case, it only happens when MSAA 3D 2x is enabled (4x and 8x work ok). Since no one else has mentioned MSAA in any of the linked issues, i'm wondering if it's something different and i should open a new issue with a MRP and more info.

It is a different issue, there have been reports with corruption with MSAA and some screen space effects, on AMD Polaris for example.
I haven't encountered any issues like this with SSR, only SSAO and SSIL (which are using the same underlying logic more or less)


unit_manager.py will not run

trying to get the unit manager to run, but get an error that chat_manager.py can't find the API_KEY.
Made an .env file and tried different locations for it, to no avail.
Also set an export in .bash_profile not working either.
What am I doing wrong?

@Quenos hi could you provide what branch you a running and the exact error message?
Chat manager never creates a client, it is only passed one, so it should not throw an error due to API_KEY.
Would you mind letting me know what OS you are using too?

You may have to run unit_manager.py as a module like <python_path> -m agents.tool_maker.unit_manager

@Quenos I have merged a PR that should have fixed this issue following the updated README


Remove Ununimplemented

Went to reimplement something from the Slackbot, only to find about the third of the so called unimplemented commands were no longer so.

calendar.py - Largely implemented by /whatsdue;
channel_log.py - Unneeded as channels creation is less dynamic on the Discord compared to the Slack;
coin.py - Implemented by by /coin;
dominos.py - Implemented by /dominoscoupons;
emoji_log.py - Unneeded as emoji creation is less dynamic on the Discord compared to the Slack;
emojify.py - Impractical to implement on the Discord due to the restricted emoji slots;
history.py - Pinning culture is different on the Discord than on the Slack, and so won't need transferring. Also, this never really worked any way. It could be reimplemented into the Starboard, I guess;
id.py - Unneeded as getting a use ID is much simpler on Discord;
link.py - Brute force interface to the bot's database, unneeded;
pastexams.py - Implemented by /pastexams;
wavie.py - Discord prompts users waving to new members;
whoami.py - Similar to id.py, unneeded;
xkcd.py - Implemented by \xkcd.

Also removed cookbook.py, as it's implemented by /repo find.

I'm actually of the opinion that we should remove the entire unimplemented folder, as was previously discussed internally.
Now the bot is pretty much running entirely on the newer application command system, creating new commands looks a bit different to the Slack bot and any remaining useful commands might benefit from a rewrite to support Discord's unique features. Any commands that might be useful can be migrated to issues and linked to this repos history or directly to the Slack bot history

FWIW, after the Slackbot migrated from JavaScript to Python, there were a whole bunch of commands that weren't initially transferred, and similarly chucked into an unimplemented folder. An issue was made for these commands as a whole, but after a year or so, the last eleven commands had their own individual issues created.

Also, the remaining non-Discord/Slack Python code is of variable usefulness; the URL that ascii.py uses, for example, no longer exists.


E2e Tests with Protractor

It is even possible to use protractor in React projects? If so, this gives an extra layer of testing to fill in any cracks that may be missed by unit tests. :)

Hi Jim,
yes it is possible. Personally I have used webdriver.io instead of protractor, but both need to just be set up as with any other project.
However, we will not include it into the base generator, as it should be as slim as possible.

ok good to know. thanks.


Error when building from source

Uploading...
Converting to UF2 ( 0x10000000 )
Wrote 2161664 bytes to E:/source/GP2040-CE/.pio/build/raspberry-pi-pico\APPLICATION.uf2
*** [upload] UnicodeDecodeError : 'utf-8' codec can't decode byte 0xd0 in position 129: invalid continuation byte
Traceback (most recent call last):
File "C:\Users\Fream.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Action.py", line 1318, in execute
result = self.execfunction(target=target, source=rsources, env=env)
File "C:\Users\Fream.platformio\platforms\wizio-pico\builder\frameworks\uf2conv.py", line 337, in dev_uploader
drives = get_drives()
File "C:\Users\Fream.platformio\platforms\wizio-pico\builder\frameworks\uf2conv.py", line 201, in get_drives
for line in to_str(r).split('\n'):
File "C:\Users\Fream.platformio\platforms\wizio-pico\builder\frameworks\uf2conv.py", line 195, in to_str
return b.decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 129: invalid continuation byte
My env
windows11
python3.9

This looks like a Platform.Io issue (scons-local-4.4.0 specifically), as we do not do anything in the code at this point.
What Windows 11 language / localization are you set to?

‘Use Unicode UTF-8 for worldwide language support’ is enabled in Windows Region settings

Perfect thank you for the info.
Yeah this is part of wizio-pico, which we can't currently update as it breaks LWIP. I'll put some more time into seeing if there's anything we can do about this.

Closing here, will re-open on the new GitHub if still wanted


Release ruby and other bindings when core is released

Over in https://github.com/grpc/grpc/issues/36464 , there were a few days between when core 1.63.0 was released and the ruby gem for 1.63.0 was released cc https://github.com/grpc/grpc/issues/36464
Looking back at the grpc gem on rubygems, it is missing other core releases:

1.61.2
1.62.1
1.62.2

@jonyscathe said there was a delay for python as well with 1.63.0 https://github.com/grpc/grpc/issues/36464

if we're not publishing a patch release in ruby it's because the patch doesn't affect ruby

Thanks for confirming! I was looking over the release notes, and did realize after I posted that there weren't ruby specific changes in those releases.

Note the core release itself is already a manual process overall, most of it is automated but requires a human to upload the final packages (removing that final human step would be a bit tricky/risky to set up)

I understand. I was wondering if you know where the automation for ruby releasees are? I checked all over the repo, and couldn't find anything

There is a collection of scripts, a fair amount of indirection, and some internal scripts, so the automation logic a little hard to point out completely. https://github.com/grpc/grpc/blob/0ecee5ad3fe69fd4a6a8e82761e7c65113518b8f/tools/run_tests/artifacts/artifact_targets.py#L459 is a breadcrumb.

if we're not publishing a patch release in ruby it's because the patch doesn't affect ruby.

I am looking at https://github.com/grpc/grpc/releases/tag/v1.64.0 which did get a release, but doesn't have anything for Ruby. Do changes to Core mean that all the bindings would also get a release

Following some more of the breadcrumbs:
https://github.com/grpc/grpc/blob/0ecee5ad3fe69fd4a6a8e82761e7c65113518b8f/tools/run_tests/artifacts/artifact_targets.py#L245-L275
https://github.com/grpc/grpc/blob/0ecee5ad3fe69fd4a6a8e82761e7c65113518b8f/tools/run_tests/artifacts/artifact_targets.py#L459-L466
https://github.com/grpc/grpc/blob/0ecee5ad3fe69fd4a6a8e82761e7c65113518b8f/tools/run_tests/artifacts/build_artifact_ruby.sh#L50-L60
That all produces the gems, but I have yet to see something that pushes to rubygems.org


1.12.0 Does not contain all commits from branch 1.1.x

Version 1.12.0 does not contain the last commits and fixes on the 1.1.x branch. Would it be possible to release one final version 1.x before 2.0? That way 1.x.x developers adding the package with a from: 1.12.0 version don't run into already fixed issues.

Good point. I have one other fix that should probably be merged, and I'll do another release

Done


有些老歌的 musicId 不是纯数字的

{"musicId":"track-343292","musicName":"你好吗?","artist":[["at17","11001"]],"albumId":"33838","album":"Kiss Kiss Kiss" ....

我看 flac 打包的时候也没用到这个 musicId，是不是干脆解析的时候去掉呢？
diff --git a/crates/ncm_meta/src/music_meta.rs b/crates/ncm_meta/src/music_meta.rs
index 3a44d64..efdb914 100644
--- a/crates/ncm_meta/src/music_meta.rs
+++ b/crates/ncm_meta/src/music_meta.rs
@@ -1,41 +1,13 @@
-use miniserde::{de, make_place, Deserialize};
+use miniserde::Deserialize;

 #[derive(Deserialize, Debug)]
 #[allow(dead_code)]
 pub(crate) struct MusicMeta {
-    #[serde(rename = "musicId")]
-    pub music_id: MusicId,
     #[serde(rename = "musicName")]
     pub music_name: String,
-    pub artist: Vec<(String, MusicId)>,
+    pub artist: Vec<(String, String)>,
     pub album: String,
     #[serde(rename = "albumPic")]
     pub album_pic: String,
     pub format: String,
 }
-
-make_place!(Place);
-#[derive(Debug)]
-pub(crate) struct MusicId(u32);
-
-impl de::Visitor for Place<MusicId> {
-    fn string(&mut self, s: &str) -> miniserde::Result<()> {
-        let value: u32 = s.parse().map_err(|_| miniserde::Error)?;
-        self.out = Some(MusicId(value));
-
-        Ok(())
-    }
-
-    fn nonnegative(&mut self, n: u64) -> miniserde::Result<()> {
-        let value = n as u32;
-        self.out = Some(MusicId(value));
-
-        Ok(())
-    }
-}
-
-impl de::Deserialize for MusicId {
-    fn begin(out: &mut Option<Self>) -> &mut dyn de::Visitor {
-        Place::new(out)
-    }
-}

To maintain compatibility, we need to support both numbers and strings types, as there are instances where the music_id parsed from the old ncm is of numeric type.
The music_id is not used, but there is a field of the same type in artist, so we need to use artist, and therefore we cannot skip the definition of MusicId.
I downloaded this song from both the macOS and Windows clients, and found that the musicId is simply a number or a string composed of numbers. Could you please inform me of the client you are using, or share your ncm file with me? This would facilitate my subsequent modifications and allow me to add it to the test.
P.S. If you don't need to write the meta back to the FLAC/MP3, you can add the --dump parameter.

文件100M左右，放在国外网盘了，免注册直连的：
https://small.fileditchstuff.me/s10/kempHPQdwlWAygXNsIpQ.ncm

The music_id is not used, but there is a field of the same type in artist, so we need to use artist, and therefore we cannot skip the definition of MusicId.

我觉得艺术家那边那个 musicId 好像也没啥用啊，我试过多个艺术家合作的歌曲，也能在生成的 flac 得到正确的元数据。
而且你看我发的那个 JSON 片段，musicId 的那个数字，跟 artist 的数字也不一致，如果哪天网易再改一次 musicId 成 UUID 的形式，这 JSON 解析又得再改一次了。

P.S. If you don't need to write the meta back to the FLAC/MP3, you can add the --dump parameter.

用 ncmc 的主要原因就是您开发的这个工具是唯一现在能正确让 flac 显示封面的😊

Although the second parameter of the artist tuple is not used, it cannot be skipped during deserialization.

artist 的 tuple 里都是 string ，不影响反序列化啊。
vorbis_comment
                    .set_artist(music_meta.artist.into_iter().map(|ar| ar.0).collect::<Vec<_>>());

这里不是只取了 0 位置的 string 吗？后面也就丢弃了。
我按前面这样改完编译也没报错，执行也正常。

Hello @UnderCooled ,
I'm developing unit tests to cover more scenarios and require additional examples similar to these. Could you provide me with the client and version number you're using? This will help me gather more examples independently.

It was "3.0.0.Beta（64位）（Build:202739）Patch: 2d493c1".
It is "3.0.0.Beta（64位）（Build:202825）Patch: dcedbae".
OS: Windows 11

Just realized that the bitrate of this song is 3999000, did you use the option "超清母带" for downloading?
Could you help me by checking and exporting their JSON using ncmc dump mode to see if the issue is unique to "超清母带" only?
Because I cannot put such a huge file into the code repository, if possible, please help me download the songs in this playlist using the same download options, thank you.

不是SVIP，所以也不是超清母带的，我很怀疑元数据里那个码率是不是以前网易云乱写的，当年网易云”无损“文件也都故意做到很大。

比方我这个 Ashokan Farewell 这么老的曲子，看元数据的话也会看到码率出现这种 3999000 的：
// Bronn Journey - Ashokan Farewell.ncm
{"musicId":"27552475","musicName":"Ashokan Farewell","artist":[["Bronn Journey","813183"]],"albumId":"2635049","album":"Journey Home","albumPicDocId":"109951166964728488","albumPic":"http://p3.music.126.net/fTGLR7OCjVvxrTKKcwk8Ng==/109951166964728488.jpg","bitrate":3999000,"mp3DocId":"30401e7e0589efab2d6070fcecb79e00","duration":250866,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-6.2311,"privilege":{"flag":1277957}}
// Buddy Greene - Ashokan Farewell.ncm
{"musicId":"1381969851","musicName":"Ashokan Farewell","artist":[["Buddy Greene","249874"]],"albumId":"80773072","album":"Harmonica Anthology","albumPicDocId":"109951164263506494","albumPic":"http://p4.music.126.net/Tf3eDYrxoByOvSNgF9sxGA==/109951164263506494.jpg","bitrate":3999000,"mp3DocId":"b3b2f768ecd88daf2aafcdb320da759d","duration":172564,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-4.4058,"privilege":{"flag":1540101}}
// International String Trio - Ashokan Farewell.ncm
{"musicId":"1450422584","musicName":"Ashokan Farewell","artist":[["International String Trio","35227577"]],"albumId":"89866783","album":"Appalachia","albumPicDocId":"109951165011613124","albumPic":"http://p3.music.126.net/iEuhYsdrvkpj1FmlII8Lnw==/109951165011613124.jpg","bitrate":999000,"mp3DocId":"20a522063468177a844c78a2ba92f1f1","duration":201280,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-4.1216,"privilege":{"flag":1081349}}
// Justin King - Ashokan Farewell.ncm
{"musicId":"18496175","musicName":"Ashokan Farewell","artist":[["Justin King","36728"]],"albumId":"1697704","album":"Le Bleu","albumPicDocId":"109951165107537399","albumPic":"http://p4.music.126.net/3PYzA5dW3c-GHmJ9Oo4VBg==/109951165107537399.jpg","bitrate":999000,"mp3DocId":"03fc629289c7c57e20b750d5d05db520","duration":85053,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-4.0303,"privilege":{"flag":1081349}}
// Kort & Beth McCumber - Ashokan Farewell.ncm
{"musicId":"1467333409","musicName":"Ashokan Farewell","artist":[["Kort & Beth McCumber","36226053"]],"albumId":"93293873","album":"Greetings From McCumberland Gap","albumPicDocId":"109951165189746171","albumPic":"http://p3.music.126.net/27Kvjf_-YcRlkwyepLScoA==/109951165189746171.jpg","bitrate":3999000,"mp3DocId":"d7b19ac43453fd71ab528e64bff552ca","duration":177640,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-3.7275,"privilege":{"flag":1277957}}
// Music Lab Collective,Valentina Lisitsa - Ashokan Farewell.ncm
{"musicId":"1859865982","musicName":"Ashokan Farewell","artist":[["Music Lab Collective","1156013"],["Valentina Lisitsa","66284"]],"albumId":"130141087","album":"Classical Relax","albumPicDocId":"109951166161957704","albumPic":"http://p4.music.126.net/rD-VzCOrYPGYghsDf_boLw==/109951166161957704.jpg","bitrate":3999000,"mp3DocId":"190e00802b584284df02f4d56a78a596","duration":292946,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-2.2547,"privilege":{"flag":1294596}}
// Nashville Chamber Orchestra,Paul Gambill - Ashokan Farewell.ncm
{"musicId":"25234301","musicName":"Ashokan Farewell","artist":[["Nashville Chamber Orchestra","12263313"],["Paul Gambill","283242"]],"albumId":"2222285","album":"100 Best Relaxing Classics","albumPicDocId":"6625657069970141","albumPic":"http://p4.music.126.net/pz6Bziyr_jnIv6IvcS6lsQ==/6625657069970141.jpg","bitrate":3999000,"mp3DocId":"853bc59c4a63c456e2d77f848a22def4","duration":310891,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":0.2027,"privilege":{"flag":1278212}}
// Piano Lads - Ashokan Farewell.ncm
{"musicId":"561723975","musicName":"Ashokan Farewell","artist":[["Piano Lads","13098188"]],"albumId":"38849650","album":"Piano Songs: America the Beautiful","albumPicDocId":"109951166733305930","albumPic":"http://p4.music.126.net/BGZlZJnZjJB5MjFenxuqQQ==/109951166733305930.jpg","bitrate":999000,"mp3DocId":"eef5e32191f3068000a08e8762320f36","duration":197360,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":1.0053,"privilege":{"flag":1081349}}
// Shaan Ramaprasad - Ashokan Farewell.ncm
{"musicId":"1459613176","musicName":"Ashokan Farewell","artist":[["Shaan Ramaprasad","35787211"]],"albumId":"91820528","album":"Ashokan Farewell","albumPicDocId":"109951165104089525","albumPic":"http://p3.music.126.net/U_22kzQhyEwHt8bhLQ-TTQ==/109951165104089525.jpg","bitrate":3999000,"mp3DocId":"7a15a71667e1ea271b398ec505a63e10","duration":179200,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-2.4169,"privilege":{"flag":1278213}}
// The O'Neill Brothers - Ashokan Farewell.ncm
{"musicId":"19287248","musicName":"Ashokan Farewell","artist":[["The O'Neill Brothers","45354"]],"albumId":"1769880","album":"Harvest","albumPicDocId":"109951166890147357","albumPic":"http://p3.music.126.net/xUjerDGJTOBDzjO30gDjCg==/109951166890147357.jpg","bitrate":3999000,"mp3DocId":"c0bca78f2f19a67d3bd8941a2dd2255e","duration":265306,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":-5.6104,"privilege":{"flag":1278212}}
// The United States Army Strings - Ashokan Farewell.ncm
{"musicId":"464712943","musicName":"Ashokan Farewell","artist":[["The United States Army Strings","12545159"]],"albumId":"35265342","album":"UNITED STATES ARMY STRINGS: United States Army Strings","albumPicDocId":"18172728184694410","albumPic":"http://p4.music.126.net/VZ_ZVLqSDmNgauyVxuEUKA==/18172728184694410.jpg","bitrate":999000,"mp3DocId":"066f0eeb7f10f70d017c0cf11693272f","duration":249653,"mvId":"","alias":[],"transNames":[],"format":"flac","fee":8,"volumeDelta":0,"privilege":{"flag":1081348}}

左边是 ffprobe 的结果，右边是 dump 元数据 JSON 里写的。

而且 musicId 不是纯数字的其实非常少见，这首也是我朋友转换失败发我的，他用的网易云客户端跟我的一样，大多数都是正常的数字。
再比如说这个元数据里的码率，感觉也是随便标一标。
所以元数据中这些没什么用的字段，就当作字符串”跳过“就行了，这样程序本身兼容度反而还好一些。

我刚才试了下，感觉英文歌日文歌，应该都不会有这种非数字的情况，无论新歌老歌。中文歌有的太老直接就给flac下载了，能得到 NCM 格式的，我也没找出来……


CTV Support

No sure I got this completely right :)

@sanket1729 thank you so much for the detailed review! :+1:
W.r.t. safety I think that it should be treated as safe -- but maybe there's a safety property I'm not aware of.
There are two reasons why I think it should be s:
Similarity to signing
CTV is conceptually similar to signing a transaction with ANYPREVOUTANYSCRIPT. So the template hash commits to all the outputs that have to be created. Strictly speaking, what is committed:

All scriptsigs (not witnesses stacks)
All sequences
All outputs
locktime
versions

inputs

which input index the coin can be used at

What's missing from that list is which outputs specifically are being spent and what their script was.
Desirability of script with just a CTV
It's often the case that you just want a CTV and no other keys because you can use that as a node in a transaction graph which enforces some timeouts or does a fan-out. CTV is definitely safe in these contexts as the funds are guaranteed to go to your next intended utxo.

Based on the description above, I agree that CTV should be s.


chore: fix linting and typing errors

Update dependencies as well (mainly foundry-vtt-types)
D20Roll.toMessage uses the same type signature as Roll.toMessage, which was the only way I could figure out to make TypeScript happy without just telling it to shut up

Removed the nix stuff :+1:


chore: assign googleapis/api-compute as codeowners

Assign @googleapis/api-compute as codeowners.
This is required for https://github.com/googleapis/synthtool/pull/1201

@m-strzelczyk Please use this link to join the team.

It looks like api-compute is teamsync managed so folks who join manually will get removed. @bcoe Could you add the Compute folks to the group that's synced to api-compute?

@busunkim96 @parthea reach out in chat Monday, and I'll make sure the right folks are in the mdb group.

this team shoudl have the appropriate folks now, let me know if there are any issues.


Update the format of date and time dipayed in Last refrehsed at tag

Describe the task
The format of date and time displayed to the user in  Last refrehsed at  shows timetamp as 2022-07-14 16:00:00, this format is not easy to understand and require efforts. Hence the date and time format need to be improved.
The changes are required in the Project details page and Check FTE page, refer screenshot for reference

Expected behavior
The date and time format available should be as Last refreshed at : Day of the week DD-MM-YY  HH:MM am/pm
Refer screnshot for date and time format sample

References
Specify any reference material / links

The task is complete please refer screenshot


exp/ingest: Add package godoc and examples

Add simple summary of ingest package features.
Add usage examples.
Add ingest/io.EOF equal to io.EOF so users don't need to include standard io package just for EOF variable.
Add ledgerbackend.SingleLedgerRange in case user wants to prepare a single ledger range.

@abuiles fixed.


"Posts" Requirements Epic

User can publish new content in a Post.

~User can include images and formatting in content.~

~Q: OBIP indicates images are linked suggesting they are not included in the body. Are we not putting images inline? No.~
~Q: Are formatting/images allowed in the status? No rich formatting expected.~

User can post only title for short content.
User can post title with long-form body for large content.

Posts can attached Tags with a folksonomy.
Posts can be included in "channels" (which are different from tags but ALSO an folksonomy).

Q: How is this different from Tags?

Posts are timestamped at the time they are published/edited.
Posts are editable and deletable.
~Post history is traversable.~ (This is more about traversing a series of posts, not traversing a single post's changelog.)
User can view Posts from others (or their own).

Collection of Posts and Reposts can be viewed by PeerID in a list (without associated comments.)

All content for collection included.

Single Posts and Reposts can be viewed by slug including associated comments and reposts.

Q: Do we need to show who reposted the content or posted the comment?

Content from others can be hidden.

Q: What is the effect of hiding for the local user. Is this the same as blocking a peerID but only for one post? Local blacklist that hides the content in local view?

Interactions with the content are tracked with the content.

Comments are counted.

Q: Can reposts have comments or are comments appended to the original content? (Commands are applied to the content which received the action (and not the original).)

Reactions (Likes) are counted. (Concern?: Reactions/Like actions are not data on the network and are communicated to a specific endpoint.)
Reposts are counted. (Concern: Repost counts are going to be lost just like Reaction counts (which are solved by posting a Like to a specific endpoint available from the crawler.)

Interactions produce notifications. (Note: these interactions are displayed alongside the Follow/Unfollow notifications.)

Repost notification indicates who, when, and the title of the original content.
Comment notification indicates who, when, and the content of the comment.
Reaction notification indicates who, when, and the title of the original content.

Posts can be indexed by search providers.

Q: What is indexed?
Q: Are we mirroring content that falls off the network? (High content loss could create bad UX.)

Many of these questions are answered in the issue I created for the PR: https://github.com/OpenBazaar/openbazaar-go/issues/1235

I think the "channels" concept is an overloaded version of "tags" and is still not clear to me what use case requires them to be separate. Your example from the PR:

For example, one could imagine a channel called sneakers. [...] I am selling Yeezy Boost 700 "Wave Runner" sneakers. To promote my content, I'd publish posts with channel addresses like sneakers, sneakerheads etc, and tag my post with 700 "Wave Runners" or Australia (to try and get the attention of Australian buyers).

My counter example would be to put all of those strings into tags. My example gives the same benefits and no drawbacks that I see. I can construct a view which only shows content with tags sneakers AND australia for consumption purposes. Or just one or the other. And promotion using tags vs channels is unclear why I'd choose one or the other. Seems I could promote a "tag" just as easily as I could a "channel address".

Not sure what you looked at in Weibo, but here's how they do it:
In this feed, the 'category' is set to Movie. Weibo crawls all the posts made on their network and creates predefined categories.
Individual posts can be tagged with a topic that doesn't influence whether or not they end up in a specific category.

The difference between what Weibo is doing and what I'm proposing is that the content found in categories (channels in our case) is user-defined in that a user can select where their post can be addressed to. Adding tags to the post allows for more granular filtering of posts by a tag within a channel.
This is an example of how a user picks a category in Weibo:

I think we can probably close this @placer14


Refactor Edit to Update and modify EditCommand syntax

Refactors all classes and instances of edit to update.
Modifies syntax of edit command to update command as listed in UserGuide.

Resolves #88

Json Storage is also updated correctly.

Showing original transaction in status message failed CI due to outdated tests, working on it. In the meantime this PR can be merged if there are no issues.


deselect the selection of folder when selecting the files on that folder

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.78.0
OS Version: Windows 10

title unless they select that folder again, this is even happening source control, etc

/gifPlease

So you're not holding shift here or anything?

yes im but look at source control section. i can even select the unselection

This looks like it is working as intended to me, I'm not sure what I'm missing. What cases does the current implementation prevent?

it lights that unselectable

I still don't understand. What does the bug break?


Weird terminal behavior

Windows Terminal version
1.20.11781.0
Windows build number
10.0.22631.0
Other Software
No response
Steps to reproduce
When we create a lot of tabs in terminal. It ends up leaving a weird trail of icons when minimized.

They're related to terminal because as soon as i terminate or close terminal they disappear.
Expected Behavior
These should not appear
Actual Behavior
These appear

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #15219 for more discussion.
/dup #15219


Feature/new table #212

Description
Improved styling and added unit tests for new table
Testing instructions
Add a set up instructions describing how the reviewer should test the code

Review code
Check Travis build
Review changes to test coverage
npm start
navigate to localhost:3000/PANDA:SEQ1/table
view the new table!

Agile board tracking
connect to #212
closes #212

Codecov Report

Merging #382 into version1 will increase coverage by 3.01%.
The diff coverage is 91.3%.

@@             Coverage Diff              @@
##           version1     #382      +/-   ##
============================================
+ Coverage      81.3%   84.32%   +3.01%
============================================
  Files            80       79       -1
  Lines          2990     2921      -69
  Branches        522      506      -16
============================================
+ Hits           2431     2463      +32
+ Misses          482      403      -79
+ Partials         77       55      -22

Impacted Files
Coverage Δ

...PanelViews/attributeView/archiveTable.container.js
81.81% <ø> (ø)
:arrow_up:

src/malcolmWidgets/table/table.container.js
92.85% <ø> (ø)
:arrow_up:

src/malcolm/reducer/table.reducer.js
95.45% <ø> (ø)
:arrow_up:

src/malcolmWidgets/checkbox/checkbox.component.js
100% <ø> (ø)
:arrow_up:

...malcolmWidgets/table/virtualizedTable.component.js
92.13% <91.3%> (+29.17%)
:arrow_up:

...s/attributeSelector/attributeSelector.component.js
96.07% <0%> (+1.96%)
:arrow_up:

Continue to review full report at Codecov.

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


first-line-indent option destroys styling in list of references

Description
Not sure if this is a bug; seems to be related to https://github.com/typst/typst/issues/2639. When I specify a first-line-indent other than 0pt, this messes up the formatting in my list of references (using chicago-author-date).
typst file:
#set par(first-line-indent: 1.8em)

See #cite(<bruederle2018>, form: "prose") or #cite(<easterly2003>, form: "prose") for details.

#bibliography(
  "literature.bib",
  title: "References",
  style: "chicago-author-date"
)

literature.bib
@article{bruederle2018,
  title = {Nighttime Lights as a Proxy for Human Development at the Local Level},
  author = {Bruederle, Anna and Hodler, Roland},
  date = {2018-09-05},
  journaltitle = {PLOS ONE},
  volume = {13},
  number = {9},
  pages = {e0202231},
  doi = {10.1371/journal.pone.0202231}
}

@article{easterly2003,
  title = {Tropics, Germs, and Crops: How Endowments Influence Economic Development},
  shorttitle = {Tropics, Germs, and Crops},
  author = {Easterly, William and Levine, Ross},
  date = {2003-01-01},
  journaltitle = {Journal of Monetary Economics},
  volume = {50},
  number = {1},
  pages = {3--39},
  doi = {10.1016/S0304-3932(02)00200-3}
}

Renders to:

There is an easy fix using #show bibliography: #set par(first-line-indent: 0pt) but I think this behavior might be surprising to many.
Reproduction URL
No response
Operating system
macOS
Typst version

[X] I am using the latest version of Typst

I think we can add set par(first-line-indent: 0pt) to bibliography's default show-set rules, since it's usually not a continuous stream of text. Though it can be a problem if one annotates their bibliography, but then they can manually re-enable it.

Great! I would suggest doing the same with the spacing parameter.

For some reason, my suggested workaround using #show bibliography: set ... does not work to reset the spacing when I set the overall properties via #show par: set... (see example below). I don't know if the latter is valid syntax at all but it helps to target spacing only in the normal paragraphs while leaving math unchanged.
Does a show-rule for par take precedence over one for bibliography?
#show par: set par(first-line-indent: 1.8em, spacing: 0.65em) // does not affect math
// #set par(first-line-indent: 1.8em, spacing: 0.65em) // does affect math

See #cite(<bruederle2018>, form: "prose") or #cite(<easterly2003>, form: "prose") for details.

#lorem(30)

$ "outcome"_i = alpha + beta "UNGA"_i + gamma "GDP"_i + epsilon_i $

#lorem(30)

#show bibliography: set par(first-line-indent: 0pt, spacing: 1.2em)

#bibliography(
  "literature.bib",
  title: "References",
  style: "chicago-author-date"
)

Just FYI, I took this question to Stackoverflow because I think it is more general than just the styling of the list of references.


Gora-490 Added mising package-info.java for all gora modules

This is brilliant @cguzel thanks so much!


No srt output

After one hour past, I just get a blank srt file.Why?

Me too.

me too

Do this program need to be online? And get access to Google server?
If it is, I think I know why I get blank files, because in china you can't access Google.

I have just figured the problem by VPN. This program works well!

Glad you figured it out -- I'll make a note to throw an error if you have no internet connection.


Add strings for new VK_KHR_maintenance2 depth/stencil layouts

This is fine but bear in mind that VK_KHR_maintenance2 isn't whitelisted in the extension list, so it won't be reported as supported to any applications. I need to go through and make sure I can support the other features added - it'll need some serialisation of pNext structures I think.

Hah, that'd explain why I'm not seeing those layouts used where I was expecting them :) Fair enough.

Should it be safe for me to whitelist it locally if the only thing I'm using from it is those new layouts?

That should be safe, but I don't make any guarantees :smile:.

Yep, seems to work OK. Feel free to close this and just leave it to whenever you add full support for maintenance2.

OK. I do plan to do another pass on vulkan extensions soon, since I think there are a few now like maintenance2 that I should be able to support without too much difficulty and are in common use.


Fix getVar() method when trying to get JSON variable that does not exists

Description
Fixes #4906
Checklist:

[x] Securely signed commits
[x] Unit testing, with >80% coverage
[x] Conforms to style guide

The failing test is irrelevant to the PR.


Styling of ToggleButton Background and Foreground property not working

Describe the bug
I am trying to use a style on ToggleButton while FluentTheme is being used.
In its unchecked state the background and foreground are styled accordingly.
In its checked state the FluentTheme design takes over. Interestingly, the F12 tool shows that the proper colors as defined in the style are applied over hover or when ischecked but they are not being rendered.
To Reproduce
<UserControl.Styles>

    <Style Selector="ToggleButton.test2:unchecked">
        <Setter Property="Background" Value="Red"/>
        <Setter Property="Foreground" Value="Blue"/>
        <Setter Property="FontSize" Value="16"/>
        <Setter Property="Padding" Value="10"/>

        <!-- Nested style for the checked state -->
        <Style Selector="^:checked">
            <Setter Property="Background" Value="Green"/>
            <Setter Property="Foreground" Value="Yellow"/>
        </Style>

        <!-- Nested style for the pointer over state -->
        <Style Selector="^:pointerover">
            <Setter Property="BorderBrush" Value="Purple"/>
            <Setter Property="BorderThickness" Value="2"/>
        </Style>
    </Style>

    <Style Selector="ToggleButton.test2:unchecked:focus-within:focus:pointerover">
        <Setter Property="Background" Value="Green"/>
        <Setter Property="Foreground" Value="Yellow"/>
        <Setter Property="FontSize" Value="10"/>
        <Setter Property="Padding" Value="10"/>
    </Style>

</UserControl.Styles>

        <ToggleButton Classes="test2">
            <materialIcons:MaterialIcon Kind="Car" Width="24" Height="24"/>
        </ToggleButton>

Expected behavior
See above
Avalonia version
11.0.10
OS
Windows
Additional context
No response

This may or may not be related to #12857 and #12930.

See https://docs.avaloniaui.net/docs/guides/styles-and-resources/troubleshooting#selector-with-a-pseudoclass-doesnt-override-the-default


waerror-as-factor

why do we need this change?

we dont need constructor that does not extends from Error, and Gerror use case is as factory.

So factory function is the recommended practice? OK that's acceptable to me.


[cuda] Use command segments in graph command buffer impl

This commit switches the graph command buffer to use command segments to handle recording. This is a prelimiary step for better dependency analysis and handling. The reasons are:
In a CUDA graph, buffer management and kernel launches are represented as graph nodes. Dependencies are represented by graph edges. IREE's HAL follows the Vulkan command buffer recording model, which "linearizes" the original graph. So we have a mismatch here. Implementing IREE's HAL using CUDA graph would require rediscover the graph node dependencies from the linear chain of command buffer commands; it means looking at both previous and next commands sometimes.
Due to these reasons, it's beneficial to have a complete view of the full command buffer and extra flexibility during recording, in order to fixup past commands, or inspect past/future commands.
Note that this does not improve the descriptor and push constant handling yet and also does not really change the node serialization. Those are addressed in future commits.
Progress towards https://github.com/openxla/iree/issues/13245

Coming back to this--given the concerns, I'll drop this for now until later I can have rationale/data to support it. I'll rebase patches (https://github.com/openxla/iree/pull/14525, https://github.com/openxla/iree/pull/14526) depending on this one and land them first.


Release Version Planning / Roadmap

Hi @displaylink-emajewsk or anyone else at DisplayLink.
I have a question about the new way of providing official releases that is being observed.
There is a new release for Ubuntu on Synaptics site, v5.4.1. It contains a tarball of the evdi devel branch. Is this the plan from now on when it comes to releases of the DisplayLink driver?  Are there going to be no more tagged/released versions of evdi to work with? Are releases going to always be based on the devel branch?
Even though this site says the latest release is 1.9.1 and the evdi being bundled with the latest DispalyLink driver once compiled says 1.9.1, they are not the same code.  This is going to create confusion.  There is a disconnect now between releases on this site and what is being distributed as far as versioning of evdi.
Can you update the community on the current roadmaps or plans?  This will be helpful for the OS variants that have tried to support your drivers on other platforms when it comes to the planning and organizing of releases. It would be nice to understand how to support the releases with minimal effort or what adjustments need to be made to our current processes.
Thank you,
Michael
(member of displaylink-rpm)

Very wel put @elguero !
I am one of the maintainers of DisplayLink for NixOS, and the disconnection between EVDI and DisplayLink gives me a headache each time that DisplayLink updates. :)
Consistent tagging for evdi would be nice.

The fact that nobody from DisplayLink has even bothered to respond to this request really speaks volumes as to their commitment and continued collaboration with the open source community.
Also there has been a v5.4.1 release for Ubuntu on 6 Sep and yet nothing has flowed through here, no updates, tags nor releases.
It feels like it's time to look at alternative hardware that don't require DisplayLink drivers. I've done this before for Broadcom networking equipment and quickly dumped them and replaced them with Intel equipment that has far better support on Linux, out of the box.

I spent more than 320€ to buy a useless docking-station, Sad to say, but the support by display-linlk is not existing and i expect that it will never come back. By this all ttatements on the linux compatibility made by the manufactors of docking-stations  a dirty advertiging lie.
Instead of buying an exprensive docking-station (that enbales more than one USB-DP supported display) it would be better, to buy a simple mini-pc, connect it over USB (o a direct crosslink-IP cable) and then to use RDP (inside Wayland) or Xrdp the display the contents of the remote computer.

Okay guys, I get the frustration. We didn't intend to create confusion and difficulties in packaging evdi in other distros.
Re 1.9.1, thanks for the flag - must be something in our process that we can improve to avoid those kind of things from happening.
What we package in our full driver is supposed to be released as source here, and tagged correctly so the release on GitHub always matches the code we ship in the driver. Consistent tagging is definitely something we want to get better at.
As for the transparency of the development, this is something we are discussing as well. As you can see when we do release, this project is often being worked on in another internal repository (you can tell by the dates of commits that appear), and the GitHub remote is getting updated some time before we bake the full driver for DisplayLink. There are still some complexities to resolve before we can always just work here on GitHub, together with the community - but I can say that is definitely the goal.
Branching strategy that doesn't seem consistent lately is also a result of those discussions happening.
We expect to land a few key fixes to evdi to enable newer kernels again soon, and we are hoping to follow with a full driver release in December. @elguero and @eyJhb - we would love to make your work easier, so we'll be in touch with more concrete updates when we get nearer to the release. Thanks for your support in enabling more distros, it is truly appreciated.

Having the same issue with Displaylink! :(

Version 1.10.0 of evdi (https://github.com/DisplayLink/evdi/tags) works perfectly with DisplayLink 5.5 Beta (https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu) in Slackware64-current.  I am currently using it with a Dell D3000 USB 3.0 docking station, with 3 monitors

Okay guys, I get the frustration. We didn't intend to create confusion and difficulties in packaging evdi in other distros. Re 1.9.1, thanks for the flag - must be something in our process that we can improve to avoid those kind of things from happening. What we package in our full driver is supposed to be released as source here, and tagged correctly so the release on GitHub always matches the code we ship in the driver. Consistent tagging is definitely something we want to get better at.

Hi, just a gentle reminder to tag/release your 5.6 code please, as I notice that there's been an official release on 20 May, but not seeing any new tags/releases here.

@ztoufie evdi 1.11 tag has been pushed alongside 5.6, but you're right about the missing release page. Thanks!


external/libjpeg-turbo: optimization

missing optimized code using V extension, using portable C fallback for now.

We (Andes Technology) are working on this item now.
If we done the imlementation, we will contribute the source.

We (Andes Technology) are working on this item now. If we done the imlementation, we will contribute the source.

great to hear! it looks like we (Android) haven't been doing a good job of updating from chrome (https://chromium.googlesource.com/chromium/deps/libjpeg_turbo is our upstream), but Chrome has been doing a good job of keeping in sync with the "true" upstream, so it shouldn't be a problem to pull your fixes when they're in!


Validation

Once https://github.com/mapbox/mapbox-sdk-py/pull/96 and https://github.com/mapbox/mapbox-sdk-py/pull/97 is in master
Before merging, one last thing:

[ ] unpin the requirement branch, back to master

closes #20 and closes #19

@perrygeo looks good to me. Go ahead and merge after making the requirements adjustment.

The only problem with going to Choices is that I was relying on them to unit test catching the SDK's ValidationError. Address it later?

:+1: