chore::> Derive public key from private key using crypto package

Addresses #590 pointer 4

@thiagodeev
were you talking about something like this??

Hmm,
Okay... I thought about this approach when I started working on the issue.. but it was not that appealing to me to create all the fn again. Instead I was thinking to modify the existing func and check whether user is passing a pub_key or not.. if not then do the required computation...
This approach will surely make thing clean but don't you think it will be redundant??
What do you think @thiagodeev ??

This was also my first intention on this feature, but I realized that the MemKeyStore is not a simple privateKey pointer, is literally a "key store", that can store multiple keys and have multiple use cases. If we change it directly, users who are using this feature could be in trouble.
Being so, creating a new abstraction specific to our intention (a Signer), having a new or existing MemKeyStore linked (covering both use cases) and specific methods to it it's a valid approach IMO. What do you think?

Mmmm,
Yeah I think for now we can do that, well, it can always be modified in future by any new contributor.
So, I will separate it...

@thiagodeev have a look

Hi @thiagodeev
Did required changes. Please have a look whenever you find time.

@thiagodeev
Did you find time to review the PR?

Thanks @PsychoPunkSage!
Sorry for the delay in reviewing it.
Are you still available? There's a next phase for this feature and it would be great if you could do it

Thanks @PsychoPunkSage! Sorry for the delay in reviewing it. Are you still available? There's a next phase for this feature and it would be great if you could do it

Hi @thiagodeev
Yes I'm available. I can try to help...


⚠ Bofrost.nl has degraded performance

In abdb47e, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1216 ms

Resolved: Bofrost.nl performance has improved in aa14b2f.


Generic way to import cert and key

The current certandkey_ is linked to configuring the HTTP listener interface. We would like a generic import certandkey_ config so we can import any p12 from the file system into the Certificate Store. Our use case is that we load the key pair using the Find certificate filter and then pass it to Sign Message filter of refer to it in the Sign SAML assertion filter.

@wsalembi  environment variable certandkey_certstore and certandkeypassword_certstore will be used to store the certificate to Gateway certificate store.


How to speed up uploading file to my server by HTTP POST? (IDFGH-8943)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Hi,recently i am using esp-32-S3-WROOM  to upload my file to my serve by HTTP POST,but i think it is a little slow.The file is 70Kb,but spent 1600ms to finish.
So i wanna ask if there is a way to speed up it?
I've tried changing my network,but it doesn't work much.
Thanks.

thx very much  ,this helped me a lot.


[Feature request] Y4M support inside of VVenC

Hello. I've been trying out VVenC recently, and I've noticed that this encoder doesn't support y4m input for some reason.
Are there any plans into bringing y4m support into the encoder? Having to pipe YUV and specifying the data is fine, but it is not optimal and makes the encoding workflow more annoying, even when scripted.
Might as well add in y4m support in VVdec.

Yes please

Y4M input still would be good

This is a corporate codec, not open av1 development, where issue requests are actually analyzed.

@sgmihai I reported you for harassment.
Just as a reference. Fraunhofer is a "Verein", which means it is a public entity that is forbidden from making profit. All money is invested into ongoing and future operations. For this reason alone VVenC cannot be corporate.
It's easy as a user to only demand stuff.  Everyone is welcome to contributed. But open source does not mean we work for the users.
I'm closing this issue because of the negative energy.

If Y4M support really is a blocker for anyone, please refer to: https://github.com/fraunhoferhhi/vvenc/discussions/116


add tips method to command

This method is write text for command with blue color!

@milwad-dev a screenshot to show how it looks would be nice :)

@s-patompong
Yes i forgot to send photo😅

Your pull request is awesome. Yet, we are planning in the future having a new API for console styling. We will consider your pull request by that time.


Newsletters: add 67 (2019-10-09)

[ ] The paragraph starting "We at Optech are saddened to hear these sentiments" is meant to be presented as an Optech group opinion, so please mention if you don't think it accurately reflects your thinking about building on schnorr and taproot, or you think it's otherwise inappropriate for the newsletter.  Edit: removed
[ ] Update RC links (FIXMEs) near merge time

@moneyball asked me to chime in here. While this is your opinion, I think your take is mostly wrong and I don't think you should be dismayed. First I'd like to correct the quote from my talk. What I actually said (slightly cleaned up) is:
We could do OP_SECURETHEBAG as a Tapscript Extension that's how I originally proposed it,
but given that that there may be a long schedule before taproot is ready, and this can be done as
a normal script extension, it might make sense to just do this as a standard OP_NOP upgrade to
get it in a little bit sooner. But that's a question for the community.

The critical part of this being that it's a question for the community to decide the prioritization of upgrades, if any.
We at Optech are saddened to hear these sentiments.  Fewer projects
with a stake in proposed protocol enhancements likely means that those
proposals will receive less testing and have less motivation for
adoption,

Then what you're asking for is for one feature/project to serve as a development subsidy for another.
further slowing their deployment in Bitcoin.

And speeding up the deployment of other exciting features.
Rather than investigating alternatives to schnorr and taproot,

Note that it's not really an alternative to, because the implementation & BIP is not yet stable enough to build features on top of.
we encourage anyone upset at the slow pace of their development to investigate
how you might contribute to getting them implemented in Bitcoin more
quickly.

I'm not upset at the slow pace at all -- engineering something correctly takes time. The feature that I developed doesn't really even benefit from schnorr/taproot directly -- it's just that Tapscript has an easier path to adding new opcodes so should make it slightly more simple to do. But it turns out this isn't the case because to do an OpCode upgrade in tapscript for OP_SECURETHEBAG, it turns out we also probably want to re-write the entire way that scripts are parsed to permit multibyte opcodes.
Further using Taproot for OP_SECURETHEBAG has an additional validation cost and uses more data (causing more congestion and costing users more in fees), so the benefits are not worth the costs.
Furthermore, it's important not to make changes a "pill wrapped in cheese" (how you trick a dog to take meds). Changes should stand on their own, and not need a falsely constructed carrot. This is why we're sensitive to not make soft-fork upgrades during major releases, because you should be able to accept or reject a soft fork proposal whilst otherwise staying on the latest software.
Yes, Taproot is taking a while. If users want to see a congestion control feature available in the near term, their best bet at engendering that is as a separate change not as a post-taproot feature.
Lastly there seems to be a slight insinuation (intended or not) that developers aren't doing work to review taproot. I've extensively reviewed taproot and even refactored it to make it easier for other developers to review -- https://github.com/sipa/bitcoin/pull/116 . Rather than exhort developers to use their time in a manner more consistent with your priorities, it might be worth explaining what you actually think the obstacles are for moving it forward for taproot, it is likely more effective at attracting developer interest. I also didn't get the memo for a taproot meetup/workshop -- but from a review of Kanzure's notes, it doesn't seem that much was discussed in terms of deployment/getting it out to the world. Was there a discussion of deployment or what needs to be done to launch that did not make the notes?
I've heard various folks (who would be in the know) say that the implementation available for Taproot publicly is just an "example" and to not pay too much heed to it, because there would be a lot more to do before it would be ready. But I don't personally know what that checklist is or what the known deficiencies are. Are you guys tracking them?

@JeremyRubin Thank you for taking the time to write a detailed comment.  I've decided to remove this section as it does come across as more critical of you and Zmn than I intended (sorry).  I've privately heard some frustrations from schnorr/taproot contributors with the low amount of contribution they've received from other parts of the community and I worry about them interpreting changes such as your revised BIP and comments such as Zmn's 2p-ECDSA note as a general abandonment of their work.
Some replies to your comments:

Then what you're asking for is for one feature/project to serve as a development subsidy for another.

I'm saying that there's often a synergy created when we work with together with other developers rather than independently from them.  It's often the case that insights from a dependent system can feed back into improvements in the higher-level system and so produce a better overall result for both systems than we'd achieve through independent development.  I thought you were achieving some of that with your ideas for templated taproot with STB.

Changes should stand on their own, and not need a falsely constructed carrot. This is why we're sensitive to not make soft-fork upgrades during major releases, because you should be able to accept or reject a soft fork proposal whilst otherwise staying on the latest software.

We shouldn't be changing Bitcoin for the sake of change alone---changes need motivation.  I agree that if STB is better without taproot, or even if it's roughly equivalent either way, we shouldn't tie their fates together.  But if STB can be better with taproot (which still seems likely to me), I think we're better off doing things in the order that will result in the greatest payoff for the fewest changes.  I think we get a huge confidence boost by using later possible designs to prove the usefulness of earlier proposed designs.

Was there a discussion of deployment or what needs to be done to launch that did not make the notes?

Not that I'm aware of (I didn't attend the sessions myself).

But I don't personally know what that checklist is or what the known deficiencies are. Are you guys tracking them?

I'm not; I don't know if any other Optech contributors are doing so.
Again, thank you for your detailed reply.

I'm saying that there's often a synergy created when we work with together with other developers rather than independently from them. It's often the case that insights from a dependent system can feed back into improvements in the higher-level system and so produce a better overall result for both systems than we'd achieve through independent development. I thought you were achieving some of that with your ideas for templated taproot with STB.

Agreed -- love to see synergy. The feedback I received on templated taproot was that it would be worth investigating as an option (because of how it would work, can't quite be a soft fork) well after taproot has been largely adopted and we're looking for a second upgrade to get, i.e., graftroot or other incompatible changes (maybe a 3-5 year timeline). If that's the case, I don't think it makes sense to completely hitch OP_SECURETHEBAG onto that.

We shouldn't be changing Bitcoin for the sake of change alone---changes need motivation. I agree that if STB is better without taproot, or even if it's roughly equivalent either way, we shouldn't tie their fates together. But if STB can be better with taproot (which still seems likely to me), I think we're better off doing things in the order that will result in the greatest payoff for the fewest changes. I think we get a huge confidence boost by using later possible designs to prove the usefulness of earlier proposed designs.

The main benefit of doing OP_SECURETHEBAG with taproot is that you can look up an arbitrary branch more efficiently compared to O(N) OP_IF branches if you're doing a more complicated script. This is a benefit that could be found with MAST as well, it's not strictly speaking unique to Taproot. The delaying/non-consideration of MAST is a result of similar thinking -- we can make this just a part of Taproot, so it's good enough/better. Perhaps this is in the spirit of the one change with the greatest payoff, but I'd rather see more regular progress and availability of features rather than never-ending pursuit of perfection. Further, as we try to cram everything together into one, changes take longer. Taproot could be just taproot without MAST, and you would be able to use a MAST script with Taproot to achieve the same effect, and the review and audit efforts could be separate. Composeability also keeps individual components simpler, whereas the spec for taproot is already quite complex.

Pushed edits for feedback from @jonatack, @jnewbery, and @instagibbs (thanks!).
@bitschmidty I commented out the 0.19.0rc1 announcement as those binaries aren't available yet and I'm starting to doubt that they'll be up by press time tomorrow.  However, I left in the link so it should be easy for you to uncomment at merge time if you see they're available.  I also left in the FIXME on the LND link, although it's current as of this comment.  You can find LND's latest RC at https://github.com/LightningNetwork/lnd/releases and you can get a direct link to it by clicking its title.

ACK ccaa3d364af4abf3dd77b4dc3d82ddfd51a3d18b.
Looks great. Thanks Harding!

ACK ccaa3d364af4abf3dd77b4dc3d82ddfd51a3d18b

Bitcoin Core and LND drop the latest RC
Name is ZmnSCPxj but just call em Z
Regarding noinput and anyprevout
Causing some discussion there is no doubt
Core GUI getting default bech32
In a little while the RPC too
Thanks to @instagibbs @JeremyRubin @jonatack and @jnewbery for all the reviewing
and of course on lead guitar our man Dave @harding


Audit rewrite

This pull request is for an audit-time rewrite of the course. I will let the team know once it's ready for review.
To do:

[ ] make responses nice
[ ] include gates
[ ] include branch protections
[ ] figure out event for importing a LL course

TODOs that are left:

[ ] Gates
[ ] General: Should course planning start in config instead? As commented code? Or, how will/should we move them to the config? Is transition in step 10 enough?
[ ] Visuals would be good in step 5, mapping user behavior to events
[ ] Visuals in step 7, for 3 phases of each step
[ ] Template, first-response branch should have template, and also first-feedback branch
[ ] Step 8 needs more examples, especially in template
[ ] Template should be checked for anything that won't be used or edited and will stop course from working
[ ] 13: real examples, links, plus one inline
[ ] 14 and 15 need troubleshooting guide

As requested... my notes
Where to start
This could be a very personal thing, but I always seem to have an issue with how courses start.  When you are presented with the repository the first thing you see is the contents of the README.md and it rarely tells the learner how to begin.
We seem to forget that the person taking this course may not be used to communicating through issues, or maybe they are brand new to GitHub and they don't even know there is an issues or pull requests tab.
So my first thought on this course when I begin is "okay... I'm here... now what?"  I worry that this drives people away from Learning Lab simply because the way we write the courses can be hard to figure out.
If I didn't have the level of intimacy with Learning Lab that I do, I never ever would have known to look for either a pull request or an issue to being this course.  I actually would have started by clicking one of these:

Prior knowledge
In the first pull request Choose a topic for your course the learner is presented with this information:

Prerequisites
GitHub knowledge: For this course, you'll need to know about GitHub. If you need a refresher on the GitHub flow, check out the Introduction to GitHub course.
Webhooks & the GitHub API: You'll also need a general understanding of webhooks and the GitHub API. Try the Getting started with GitHub Apps course.

If I was the learner and enrolled in this course, spent time figuring out how get started, and then ended up finding out that I need this prior knowledge I am prone to be turned off by this experience.
This prerequisite section could be placed in the course-details.md that way the learner knows what they need before spending the time enrolling in this course.
Merging learning objective
I totally get that the purpose is to have the learner leave with something they can use in the future, but at this point it may be confusing to them to have these learning objective live as a file in the repository.  A course-planning.md is not a required file for a Learning Lab course, and therefore may be better served as being explained rather than required as a step in this course.
By having the user edit this file we seem to have created busy work for the sake of it.  Is there a better way to convey this information without creating or editing files arbitrarily?
We even have a step that is literally just clicking the merge pull request button.  If we are calling on the bot to respond, or take action in some way, shouldn't it be to have the user do something more meaningful that clicking that button?
There are no more edits after they add their goals to the course-planning.md so why not just handle this for them?
It seems as though the platform is putting itself down.  It responds saying it's incapable of knowing what the user just typed and then asks them to click the button after they make whatever commits they want... which it just admitted it has no idea how to check.
These were three steps that could be better served in an initial first issue which would require less work, and potential breakage, from the bot.  If we think about how the Universe workshops went, we took this approach to those learning labs.  Making this change also removes some of the branch clutter on the template repo, making the initial landing for the learner less confusing.
Creating a template repo

There are a lot of potential variables when creating a repo.  Especially because we use the term template repository.  This is another place where we need to consider the learner and what they may not know.
Look at all the options on this form:

Now which of them are needed for a Learning Lab template repo?  Which can be ignored?
Could we provide the learner some context on what options they may need to check or not select as they create their template repo?  Public vs Private anyone?
Side note:  We automatically merge this pull request for them once they edit the requested file, yet in the previous step we make them press the button.  We should aim for consistency on this in my opinion.
Broken Image
Located in the 3 phases of a step response is an image that does not render

Course metadata
We should probably include line numbers instead of x, y, z in this activity:

Those are my initial thoughts and notes as I went through this course.  I'm more than happy to help with editing the files along the way, ran out of time for the moment, but can tackle it next week.

Uploading this for ease of linking during this phase of development

@mattdavis0351 Thank you for taking so much time to go through the course and write feedback. 💖 I've made some changes, but have mostly been focused on gates so far this morning. I plan to address the rest of your feedback via commits but I wanted to thank you here, and respond to some of your notes.

Where to start
This could be a very personal thing, but I always seem to have an issue with how courses start. When you are presented with the repository the first thing you see is the contents of the README.md and it rarely tells the learner how to begin.
We seem to forget that the person taking this course may not be used to communicating through issues, or maybe they are brand new to GitHub and they don't even know there is an issues or pull requests tab.
So my first thought on this course when I begin is "okay... I'm here... now what?" I worry that this drives people away from Learning Lab simply because the way we write the courses can be hard to figure out.
If I didn't have the level of intimacy with Learning Lab that I do, I never ever would have known to look for either a pull request or an issue to being this course. I actually would have started by clicking one of these:

💯 I see your point here. I think the intended user flow is for the user to click the "Start" button from their course, but you're right - if they end up in their repository on the home page, they could be lost. I've edited the course so that:

the pull requests will be open at the beginning, reducing the number of open branches to 1 (unavoidable because of course flow unfortunately)
I plan to edit the template with a link to the first pull request in the README.md

In the first pull request Choose a topic for your course the learner is presented with this information:

Prerequisites
GitHub knowledge: For this course, you'll need to know about GitHub. If you need a refresher on the GitHub flow, check out the Introduction to GitHub course.
Webhooks & the GitHub API: You'll also need a general understanding of webhooks and the GitHub API. Try the Getting started with GitHub Apps course.

If I was the learner and enrolled in this course, spent time figuring out how get started, and then ended up finding out that I need this prior knowledge I am prone to be turned off by this experience.
This prerequisite section could be placed in the course-details.md that way the learner knows what they need before spending the time enrolling in this course.
Merging learning objective

👍 I hear you here. I've added the prerequisites to the course description doc so that they will come up before a user registers.

I totally get that the purpose is to have the learner leave with something they can use in the future, but at this point it may be confusing to them to have these learning objective live as a file in the repository. A course-planning.md is not a required file for a Learning Lab course, and therefore may be better served as being explained rather than required as a step in this course.

I see what you mean. This is something I've been going back and forth about, of if it's necessary. I definitely don't want to confuse the learner with more work than necessary, but I also think it's very impractical to expect a beginner author to be successful when jumping straight into the config file and yaml.

By having the user edit this file we seem to have created busy work for the sake of it. Is there a better way to convey this information without creating or editing files arbitrarily?

Ouch! This stings a bit - I'm sorry to hear that this step came across as busy work or an arbitrary decision on my part. I think this is one of the most important pieces in course planning, and I was trying to find a way to help the author through it. A fast way to low quality courses is steps that aren't thought out, and I want to foster that thought process within the user. I am going to continue thinking of ways to make this feel less like busy work, and instead make it feel like the important process of thinking through the steps that you'll be asking learners to complete and how they correspond with what it is you're trying to teach. Right now I'm leaning towards the same steps, but in comments in the config - I'd love help brainstorming other ways to show the importance of this step!

We even have a step that is literally just clicking the merge pull request button. If we are calling on the bot to respond, or take action in some way, shouldn't it be to have the user do something more meaningful that clicking that button?
There are no more edits after they add their goals to the course-planning.md so why not just handle this for them?

Yes - we do have this step. In my mind, this is a meaningful step because it allows the user to continue editing their planning file until they feel it's ready. I imagine a flow where we merge automatically once there has been one edit to a file. That doesn't inspire the thoughtfulness or opportunity to iterate on the learning goals and steps. The reason that the trigger is a merge is because I wanted to create an environment for the user to come back and think about their steps, and really put the time into it before being forced to move on. By giving them the power to merge, we give them the power to say when they're done. Maybe I can make this more clear by adding in to the response another link to edit the file, and calling out this purpose more specifically. What do you think?

It seems as though the platform is putting itself down. It responds saying it's incapable of knowing what the user just typed and then asks them to click the button after they make whatever commits they want... which it just admitted it has no idea how to check.

I don't know if I understand this point. With the audience of course authors in mind, I think about my own curiosity when designing a course, and about the questions that other course authors have asked. A lot of questions revolve around gates and what is possible to check. I chose to be very up front about what is being checked here so that authors more fully understand Learning Lab's current capabilities. It's not ideal, but it is how it works now, and I don't see any benefit to making that less clear.

These were three steps that could be better served in an initial first issue which would require less work, and potential breakage, from the bot. If we think about how the Universe workshops went, we took this approach to those learning labs. Making this change also removes some of the branch clutter on the template repo, making the initial landing for the learner less confusing.

I would love to know more about what you mean here. My first reaction is that yes, things could be less work, but the point isn't to make it easy. The point is to teach the learner how to practice the process of creating a course. The current published version of this course is definitely less work, but I don't think it does a very good job of bringing the learner through these thought processes. Does that make sense?

There are a lot of potential variables when creating a repo. Especially because we use the term template repository. This is another place where we need to consider the learner and what they may not know.
Look at all the options on this form:
Now which of them are needed for a Learning Lab template repo? Which can be ignored?
Could we provide the learner some context on what options they may need to check or not select as they create their template repo? Public vs Private anyone?

💯 I totally see what you're saying here. I'm brainstorming a few ways to make this easier, including giving them the specific step by step instructions for creating a repository from scratch, creating an actual template repository for them to use as a base, and also creating a new learning lab course that specifically teaches "creating template repositories". 🤔

Side note: We automatically merge this pull request for them once they edit the requested file, yet in the previous step we make them press the button. We should aim for consistency on this in my opinion.

👍 I hear what you're saying, and I think it relates to some of my earlier comments. This didn't happen by accident, but is instead a way of trying to guide the learner to either think more about a certain topic and then decide when they're done, vs a much more simple step that shouldn't require any additional tweaking. Hopefully addressing the first "user merge" as described above will help this step feel less inconsistent and more intentional.

Located in the 3 phases of a step response is an image that does not render

✅

We should probably include line numbers instead of x, y, z in this activity:

✅
Thank you again, @mattdavis0351!  I'm going to keep working on this this afternoon to address the rest of the gates, the things discussed here, and some other tweaks to the template repository.

For my own planning, here's my checklist of what needs done still:
General:

[ ] Step 14: find how to use the import event as the actual event trigger
[ ] Step 14: Add a "helps" trigger with troubleshooting help
[ ] More explicit instructions on creating a template repository
[ ] When we tell the user to merge, tell them what to do in terms of being thoughtful and possibly editing their steps again, and add a link

Major flow changes:

[ ] Remove course planning - opt for editing in comments in the config instead
[ ] Step 10: Add event at another time, add type on line 32.
[ ] Step 12: Break into 2 steps, one with gate part.

Gates:

[ ] Line 106: Can we validate that a template repo exists?
[ ] Lines 125 and 137: Can we validate that events have been committed?
[ ] Line 149: Test gate for label being applied (unhappy path, of options 2, 3, and 4)
[ ] Line 159: Fix gate for help label, including if it's applied with other labels
[ ] Add gate to step for event being added to config
[ ] Add gate for step of "else" response being added to config

Template:

[ ] The readme should point to the first PR
[ ] Check comments after each line for accuracy
[ ] Template, first-response branch should have template, and also first-feedback branch
[ ] Step 8 needs more examples, especially in template
[ ] Template should be checked for anything that won't be used or edited and will stop course from working

@JasonEtco and @githubtraining/learning-engineering, could you help answer any of these questions?

Step 14: How can we use the import event as the actual event trigger? Is there any way to check fo attempted import, and give different messages based on the success of the import?
Line 106: Can we validate that a template repo exists? (User references repo, can we go out and check that there's no 404 there?)
Lines 125 and 137: Can we validate that events have been committed?

When the learner first commits an event, they have the choice of any actual event. Ideally there’d be a way to search the config file for a match to any of the possible  events. My understanding of regex is that would be a nightmare of ORs. Is there any way to do this with a reusable object - like does an array of the possible events or types of Learning Lab actions exist that we could compare with or use as a part of the regex?

Line 149: Test gate for label being applied (unhappy path, of options 2, 3, and 4)

I want to have the gate pass only if labels 2 and 3 are applied - how can I make sure it won't pass if 4 is also there?

Line 159: Fix gate for help label, including if it's applied with other labels

How can I give a help response if a help label is added, regardless of if other labels are present?

I would ❤for this to have one more review, ideally from @mattdavis0351, before shipping. I think the other items above are non-essential for shipping, but I'd like to open issues for them individually.
@mattdavis0351 once you hav a chance to read through my notes above, based on our convo yesterday, I'm looking forward to your next review! :octocat:  Here's the most recent version.

Thank you @crichID!! I have gone through and made changes for all of your notes. But, I am still confused by the flow error in step 5. I'm going to go through the course now and try to recreate that, and I'll post findings here. 👀

@crichID I found the culprit - the instruction in step 5 was linking to the wrong file. Not only did I correct the URL, but I also deleted that file from the template repo. 👍 I'm sorry I hadn't caught that before asking you to go through the course!
The most recent version can be found here and is ready for you to go through 😊.


Discord now requires Intents for bots

I could not get the bot to work as written, as discord now apparently requires intents.
I was able to get them working with the following additions:
import discord
from discord.ext import commands
right after imports:
intents = discord.Intents.all()
intents.message_content = True
bot = commands.Bot(command_prefix='.', intents=intents, help_command=None)
With "all" enabled we might not need to the message content=true, but I don't feel like with fighting with it more at the moment.
In addition to the above we also need to be sure "bot" is consistent throughout, not so much an issue in this code as is but if adding new events, use bot, not client.
finally, the biggest headache of them all, for me:
def init(self, maxlines) -> None:
super().init(maxlines=maxlines, intents=intents)
self.maxlines = maxlines
Once intents are added, without maxlines=maxlines, intents=intents in the super init, there are all sorts of odd errors, and if you try fixing them one at a time you eventually loop and continue following the error trail.  I'd like that week of my life back.
I think those were all the changes i made regarding intents.
Of course this all assumes you also remember to set them up on your bot developer portal page.

Having issues with this aswell, However Im not experienced at python.
Do you mind sharing an updated version of the script?

hey, sorry for inactivity - there is a PR open to fix this issue, and once i verify what i have to change about the setup process / docs i'm gonna merge it soon and the issue should be fixed. whenever i run the bot i use my old setup i did before this intents change, which still works, so you could probably workaround this temporarily by installing an older version of discord.py


fixing fpsWhen in a post-0.15 future

This is retargeting PR https://github.com/elm-lang/core/pull/198/ towards the future branch.

Does this mean we are not going to have a future with a separate stream concept?

 Do you happen to know which commit corresponds to the future branch so we can tag it?

Oh. I'm not even sure I know how git is working, so "a commit corresponding to a branch"? Well, my best guessing would go like that: My branch in which I was working for this PR here, and which was diffed against the future branch to make this PR, currently ends with this commit. So maybe that is the one you are looking for. It seems that would make sense, because it happened one day before the current master branch has a commit titled "Get rid of Stream module, revert to 0.14 style Signals".

 It has the exact same diff against my "fixing branch" as is shown in this PR here.


agent0: use pyperdrive for slippage previews

we should swap the preview slippage contract calls in the HyperdriveInterface to use Pyperdrive instead

The latest interface includes an ability to turn off preview_before_trade so that we reduce the number of RPCs and increase speed. If we do not want to preview (i.e. preview_before_trade==False) then we should use the hyperdrive-sdk. Else, we should use a preview call.
https://github.com/delvtech/agent0/blob/69e077cedfd097794cc53ee631ccd6a70f14c6f3/lib/ethpy/ethpy/hyperdrive/interface/_contract_calls.py#L181

We decided not to do this because the preview method also catches solidity errors.


The logic of the definition of Branch.addListener is wrong

if the user passes in a single event in the format of a function, we should treat it as if it's addListener(null, thatEventParameter), but we are not nullifying event, which means we are treating it as if it's addListener(thatEventParameter, thatEventParameter)
Ref: https://github.com/BranchMetrics/Smart-App-Banner-Deep-Linking-Web-SDK/blob/master/src/3_branch.js#L1196

@scotthasbrouck I noticed you tried to fix it in your PR here https://github.com/BranchMetrics/Smart-App-Banner-Deep-Linking-Web-SDK/pull/89/files#diff-62bfec11557113bfc806c4dd99734a79R1234 .
Unfortunately this broke the tests (which means the tests probably need updating as well). Given the existing complexity of that PR I decided to create this issue and address it specifically in a later PR. Let me know if you think otherwise. :)
BTW thanks for the attempt. I appreciate it regardless!


Setter bug

Trying to get examples/optimization/hybrid_sizing_problem.py running with the recent changes to HOPP. Ran into issue #207 . When that issue is resolved we may be able to complete with pull request to get the noted example running.

@jaredthomas68 is this meant to still be a draft?


Cache and Eviction Strategy: Offline First

Related Issue
#21
Description
Added offline First features.
fetchWeather function from the repositiory is responsible for fetching weather data. It first checks if there is cached weather data available and if it is still valid. If so, it emits the cached data as a ApiResult.Success result. If not, it makes an API request to fetch the weather data. If the API response is successful, it converts the response to a WeatherEntity, inserts it into the local cache using the weatherDao, and emits the converted data as a ApiResult.Success result.
Finally, in the onCompletion block, it schedules a background worker (UpdateWeatherWorker) using WorkManager to refresh the weather data periodically after 15 Minutes.
How Can It Be Tested
The Test function passes and emits ApiResult.Success when fetchWeather contains the expected mapped weather data.
Screenshots (If Applicable)
N/A
Additional Comments
I also added a notification utility, so when there's a newly refreshed weather update, client gets a notification.
Checklist

[ x] New tests were added/Existing Modified

There seems to be an issue when I run the app, I'll hold off on the merge for now

@odaridavid yes. There's a problem with the room relations. I am waiting for @jumaallan to help me out.


Service Fabric Third Refresh release -NET SDK Link broken

On
https://github.com/Azure/service-fabric/blob/master/release_notes/Service-Fabric-70CU3-releasenotes.md
The link for the .NET SDK below gives a 404
https://download.microsoft.com/download/8/b/2/8b21dcf8-4909-4aaa-8dcb-64c0a37a2d9c/MicrosoftServiceFabricSDK.4.0.466.msi

@tbertenshaw  Looking into it. Will update release notes by EOD tomorrow.

@tbertenshaw  Resolved download link in https://github.com/Azure/service-fabric/blob/master/release_notes/Service-Fabric-70CU3-releasenotes.md

@tbertenshaw Based upon @athinanthny response, any concerns in closing the issue?

Can close now thanks. Latest download link works.


Is there anyway to delete data bags after deployed?

Data tags may contain sensitive information, even I can use encrypted data bag, the name will leak some information, Is there any way to delete it after deployed?

Do you mean data bags?
Do you have an example in which the name leaks information?

Yes, Sorry about the typo.
I have lots of nodes, If one of the node is compromised, The hacker will know all my data bag names.
For example, I use data bag to deploy ssh authorized_keys, the hacker will know all the admins who can access the nodes.

There is currently no way of doing that. It could be added though. The difficult part would be only deleting encrypted ones. Alternatively, all data bags could be deleted every time, you just accept the rsync cost on every deploy

No need only delete encrypted ones, delete all is better. also this feature can be toggled, like:
fix node:test --delete-databags


WIP: move olm components into controlplane NS

works in conjunction with:
https://github.com/operator-framework/operator-marketplace/pull/396
https://github.com/openshift/operator-framework-olm/pull/69
which exclude olm bits from CVO management when using hypershift.  We will need to figure out the merge order we want to do this in.
Known limitations:

the operator-lifecycle-manager-packageserver clusteroperator resource isn't being created/managed correctly.  In theory hypershift should be creating it (and the above PRs should make the CVO stop creating it), but it doesn't seem to be working quite right for me.

the catalog pods for the default catalogsources are created in the guest cluster.  Ideally we want them created in the controlplane NS.  @ecordell has some prototype work that addresses this, but i think we'll want to stage that in after we get everything else working correctly.

obsoleted by https://github.com/openshift/hypershift/pull/265


Use pytest.raises() instead of try/catch with assert 0

This is somehow more readable, and improve consistency along the tests (currently there are assert 0/False along with pytest.raises)

im :+1: on this, can someone else merge tho?

Thanks!


Add/amber dna [4]

implements amber dna parameters to polyply and updates the pattern matching in the topolgy

@pckroon could you have a quick look at the failing dev test. I don't think its code related but it seems the scipy optimizer is not loaded correctly

You're being bitten by https://bugs.launchpad.net/lxml/+bug/1904900.
There is no scipy on pypi for py3.10, so it tries to build it from source (I think?). It's unclear to me why it take scipy 1.6.1 instead of 1.7.1 though. And I guess 1.6.1 lists a build-dependency on cython that's too old.
Collecting scipy
  Downloading scipy-1.6.1.tar.gz (27.3 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'

@pckroon I see but the strange thing is it should install 3.8-dev but it actually just installs the latest version. I think that is a bug with respect to the installation/setup actions workflow as well

LGTM, apart from the failing tests ;)
Apparently some functions were passing arguments to _expand_inital_coords (note the typo) that are no longer available.


Update type declaration of httpWriteResponse to match definition in http.h

Fixes #380

So the prototype should indicate that httpWriteResponse is returning an int, not http_state_t.

:) As long as they match.


Add isPressed

As far as I understand the logic, it is not possible to detect the isPressed state of the button.
I would typically use the onTapDown/Up/Cancel events from the gesture detector, but it would be easier if it would be directly provided by this package since it is very common (and would avoid using two GestureDetectors for every buttons)!
class _PressableState extends State<Pressable> {
  bool _isPressed = false;
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTapDown: (e) {
        setState(() {
          _isPressed = true;
        });
      },
      onTapUp: (e) {
        setState(() {
          _isPressed = false;
        });
      },
      onTapCancel: () {
        setState(() {
          _isPressed = false;
        });
      },
      child: FocusableControlBuilder(
         ....
      ),
    );
  }
}

Thanks

Good call. Want to add a PR for it?


Data base on drizzle studio cant access

Describe the bug
after doing the steps till the end ... i tried to access it using drizzle kit studio... but it says on terminal it needs to be updated and when i run the update install of drizzle kit studio even if it is up to date ... it still say it need to be update
To Reproduce
Steps to reproduce the behavior:

do all the steps
run drizzle kit studio
it will say update your drizzle kit studio
update drizzle kit studio
it will still say it need to be update
i tried 0.20.0 drizzle kit studio
but it says "url"  or "host", "database" are required for database connection

Expected behavior
3 of language doesnt load after doing all the steps to guide due to drizzle kit not updated
Desktop (please complete the following information):

OS:Ryzen 3400g
Browser opera gx

Additional context
thank you good sir since you really help me for my capstone T^T i only downgraded the version since i saw 0.20.0 version working from others

Hi!
It seems like you're encountering a problem with Drizzle Kit Studio's update process. A few users have also reported similar behavior. Here's what you can try:

Clear any cached or previous installs of Drizzle Kit Studio. Sometimes, remnants of previous versions may cause conflicts. You can try uninstalling and reinstalling it cleanly.

Manually verify your version by running drizzle --version in the terminal to make sure you're on the latest one.

Check your configuration: The error regarding "url", "host", and "database" suggests that Drizzle Kit Studio might not be receiving the correct connection parameters. Ensure that these are properly set in your environment variables or connection configuration.

Try downgrading: Since you mentioned that version 0.20.0 worked for others, temporarily downgrading might be a good workaround until the update issue is resolved.

Also, could you please share screenshots of the terminal or error messages you're seeing after attempting the update? This will help us better understand and troubleshoot the issue.


FileSystemException while building project

Dart SDK Version 2.2.0
Windows 10

run "webdev serve" on my project (that worked well in dart 1.x) give me lots of errors like this:
`webdev serve
Creating build script, took 13070ms
[INFO] Setting up file watchers completed, took 19ms
[INFO] Waiting for all file watchers to be ready completed, took 458ms
[INFO] Building new asset graph completed, took 7.1s
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms
[SEVERE] build_modules:module_library on "my-long-path".dart:
FileSystemException: Cannot create file, path = '"my-long-path".dart_tool/build/generated/
"my-long-path".module.library' (OS Error: Impossibile trovare il percorso specificato.
, errno = 3)
[SEVERE] build_modules:module_library on "my-long-path".dart`
already tried the workaround of registry settings as issue #27825 but with no luck.
of course I can shorten path names, but it's a really huge project with many branches, will be a big problem that can delay dart2 migration

Can you elaborate a bit more on which part of the Dart SDK you are using, dart2js or the dart VM, also were you using the IDE or was this done on the command line. It would be great if you could detail the steps you took after installing the Dart SDK to get to this error.

I believe this relates to webdev and build_runner
@jakemac53 @natebosch - what would be the correct repo to move this bug to? https://github.com/dart-lang/webdev/?

@sigmundch - no, this is an SDK issue. If the VM cannot handle long file names there isn't a whole lot we can do about it on the build system side. Switching to relative paths could be risky for us and it's not clear to me it would be possible in all cases.

Can you elaborate a bit more on which part of the Dart SDK you are using, dart2js or the dart VM, also were you using the IDE or was this done on the command line. It would be great if you could detail the steps you took after installing the Dart SDK to get to this error.

I'm using IntelliJ, but I run "webdev serve" from command line. To reproduce, just create a path longer than 260 chars (including .dart_tool/build/generated/ ...)

/cc @bkonyi

MAX_PATH is defined as 260 characters on Windows. If you're using a path longer than that, you need to prefix it with \\?\ as stated here. We'll have to investigate whether or not this prefix is something we can automatically do on Windows without any unintended side effects.


Improve highest-rated-comment

Align highest-rated-comment style with GitHub

Redesign highest-rated-comment jump to comment button (like hidden comments)
preview-hidden-comments is also changed slightly to align with it

Only add highest-rated-comment link if the fist timeline item is the best comment
Previous logic is to check if the first 3 timeline items contain the best comment.
However changes are the first 3 timeline items could be many events like references, label and assignment changes, etc. (e.g. https://github.com//ytdl-org/youtube-dl/issues/30568, previously the link to highest-rated comment isn't created).

Changes

Test URL
Before
After

highest-rated-comment button

highest-rated-comment comment

preview-hidden-comments comment

Alternative design using labels:

💯
Labels look good

Switched to labels. I kept using "Highest-rated" instead of "Best" which looks more opinionated than needed. GitHub itself uses two-word labels as well (e.g. "Public archive").

Let's YOLO it if it works well for you


fix(constraints): ensure constraints are non-null

Description
Fixes: https://github.com/juju/terraform-provider-juju/issues/466
Juju does not distinguish between null constraints and empty-string constraints. However, null is not considered by terraform to be a computed value, whereas the empty string is.
Since the constraints schema marks constraints as a computed field, this means if we insert null into state it will be considered uncomputed & on the next apply terraform will attempt to compute the constraints by setting them.
This leads to bugs since subordinate applications cannot have constraints applied.
Since we know that subordinate applications cannot have constraints, on Create or Read we can easily 'compute' the constraints ourselves as "".
Type of change

Bug fix (non-breaking change which fixes an issue)

Environment

Juju controller version: 3.4.5

Terraform version: v1.9.5

QA steps
Manual QA steps should be done to test this PR.
provider juju {}

resource "juju_application" "telegraf" {
  name  = "telegraf"
  model = "test"

    charm {
    name     = "telegraf"
    revision = 75
  }

  units = 0
}

$ juju bootstrap lxd
$ juju add-model test

$ juju deploy ubuntu
$ juju deploy telegraf --revision=72 --channel=latest/stable
$ juju relate ubuntu telegraf

# Wait for active/idle status on the two charms

$ terraform init
$ terraform import juju_application.telegraf test:telegraf
$ terraform apply
juju_application.telegraf: Refreshing state... [id=m:telegraf]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # juju_application.telegraf will be updated in-place
  ~ resource "juju_application" "telegraf" {
        id        = "m:telegraf"
        name      = "telegraf"
      + principal = (known after apply)
      + storage   = (known after apply)
        # (4 unchanged attributes hidden)

      ~ charm {
            name     = "telegraf"
          ~ revision = 73 -> 75
            # (3 unchanged attributes hidden)
        }
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

juju_application.telegraf: Modifying... [id=m:telegraf]
juju_application.telegraf: Modifications complete after 1s [id=m:telegraf]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

^ notice that the apply runs successfully, and constraints do not appear as (known after compute)

Base on the conventional commits, this should be a fix, not a chore. Please update the commit message and PR title.

Yes thanks, I forgot that fix is a commit type, so was assuming bug fixes counted a chores. Updated

This statement from the PR description is incorrect. Since the constraints schema marks constraints as a computed field, this means if we insert null into state it will be considered uncomputed & on the next apply terraform will attempt to compute the constraints by setting them.

How so?

The plan listed in the QA steps should really have revision = 72 based on the juju deploy step. Then:
$ terraform plan
juju_application.telegraf: Refreshing state... [id=test:telegraf]

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.

I don't think so. This won't verify the bug reported (https://github.com/juju/terraform-provider-juju/issues/466) will be fixed.
The point of these QA steps are to verify that we can run a charm refresh on an imported subordinate. As we see above, if we set the revision to 72 in the plan no upgrade is run

on the next apply terraform will attempt to compute the constraints by setting them.

Terraform is not attempting to compute the constraints. The problem is that the Update code was making the wrong check and finding that Unknown and Null are different values of a terraform string. Instead we should have been comparing the two strings as go strings where Unknown, Null and no value terraform strings all reported as "".  The 2nd part was to ensure that the computed schema attribute was always satisfied by placing an empty string.

/merge


Clean up system tests after running Super Scaffolding test setup script

Closes #651.
This fixes the application platform test, but I'll still have to work on the partial tests.

Okay, this takes care of the system tests.
I went ahead and added the Super Scaffolding partial system test to CircleCI since we didn't have it running before.
I based some of the code off of #343, but made it a little more precise when cleaning up the test file generated in the Super Scaffolding partial system test.


Allow listing of groups (also recursively)

This commit is in reference to: https://github.com/casey/just/issues/2195
It took me some time to implement this feature, with getting to understand the layout, trying to parameterize it to remove code duplication and going on vacation.
With this commit it should be possible to list all occurences of a group. If a submodule and a group has the same name the submodule takes precedence.
It was a nightmare to rebase this. I hope it is working as intended still (at least the tests should pass :D)
Let me know if you like it or not, and if you would like anything changed.

I can look into making it less confusing (although most of what i have done is to not repeat too much code between listing of a group and of a submodule), but looking at it again it can probably be done in a better way.
Regarding the --group, either I have completely misunderstood you or you shifted your opinion since I opened https://github.com/casey/just/issues/2195 :
https://github.com/casey/just/issues/2195#issuecomment-2192821668

Yah I think looking at the implementation, and how much simpler just --list --group FOO would be made me change me ind.

Sorry to flip flop!

its all good. I will try and see to it.


validateLoginCredentials logs misleading output on missing API key

if (apiKey == null || apiKey.isEmpty()) {
      logger.error("Environment does not exist");
      throw new ClientException("Please Provide Valid API Key");
 }

output shows  'Environment does not exist' - this is not a useful message. The exception message is much more useful.

created a pull request, validateLoginCredentials logs misleading output -- fixed


Error values in the output of percent_fold_change

The columns percent_fold_change in the data.frame output computed by find_markers() produces "#DIV/0!" values when the denominator is 0.

@RachellyN , can you update to the latest pegasus and give it another shot?

@RachellyN , can you update to the latest pegasus and give it another shot?


Turn off sorting

It would be nice to be able to turn sorting off for certain columns. For instance, on your demo page, the column with the edit controls in it is sortable, which really doesn't make sense. I have something similar (checkbox select row) and I don't want that column to be sortable.

Yeah, makes sense. Maybe it would make sense to flag the columns to skip or something. A proposal is welcome.

A "sortable" property in the column definition that defaults to true (to keep current compatibility) is what I was thinking.

@jphamilton Sounds good. Want to do a PR?

This is probably a good incremental step. However, if you're up for tackling it, I would suggest you introduce a comparator per column which would be able to generate more complex sort orders. The sorting algorithm should be stable, so that a no-op comparator would give the correct results.

@eviltoylet, @bebraw  Sorry, I've been out of town. I will try to tackle a PR. I think we are talking about 2 different issues, though. I just want to turn sorting on/off and it sounds like you want to be able to create more complex sorts. Or am I missing something?

@jphamilton No worries. PR based on your need and we go from there. :+1:

This has been solved in the current beta. You literally attach sorting functionality per column making the problem disappear.


Issue with getBlockByNumber("pending")

Issue noticed by the Aleth team:

The only client that supports getBlockByNumber(“pending”) seems to be besu. geth+retesteth does not support
aleth+retesteth could not import multiple transactions besu work with multiple transactions.
here is what I got on importing one transaction through importRawTransaction but without mininglooks like besu return genesis when asked for “pending” block with unsettled transaction
The “pending” is a valid argument. Geth and aleth support it.
Pending is a block with imported transactions but yet not sealed on top of the previous block

Probability: Occasional
Severity: Moderate

Related comments from an old issue:

Currently we treat the "pending" argument the same as the "latest" argument, which is to say our pending state is our latest state with no alterations. We should investigate what it would take to alter this.

If we are mining, then the pending state would be our candidate block we are mining or preparing for signing. This may not always be available in the cases were the consensus algorithm has a round-robin type setup where we only mine on turn. But those also tend to have fallbacks for when a producer fails to produce a block, and we need to keep our state handy.

If we are not mining then we should consider creating a temporary state including as many of the transactions in the pending pool as are reasonable. This could be tricky because the pool could contain contradictory or mutually exclusive transactions, such as duplicate nonce or TXes that drain a common resource. And how much CPU time should be spent producing these transactions.

Finally we need to plumb this data into the JsonRpc classes, likely through BlockChainQueries.

I don't think this is relevant given that Besu is unlikely to add pending block support. If that's not the case, feel free to copy/paste this into a new issue. cc: @sajz


chore: close sidenav on nav item click

Use ngFor to loop through nav items on the sidenav. Add click event handler for each item to close the sidenav.
Note: did not add click handler to md-nav-list so that clicking the <hr> element is no-op

LGTM


Deploying a Feature Flag with Custom Filters but Disabled using az cli

When deploying a feature flag with custom filters and the enabled property set to false using az appconfig kv import results in the custom filters being dropped when viewing the feature flag json using 'Advanced Edit' in the Feature Manager section of the App Configuration resource in the azure portal.
With no enabled property set using custom filters:
Feature Management Section of appsettings.json:
{
  "FeatureManagement": {
    "AccountInformation": {
      "EnabledFor": [{
        "Name": "RequiredConditions",
        "Parameters": {
          "RequiredClaims": [{
            "accountpackageid": "Premier"
          }],
          "RequiredRoles": [
            "AccountOwner"
          ],
          "RequiredPartnerIds": [{
            "sapphire_partner": "15000"
          }]
        }
      }]
    }
  }
}

Json from Advanced Edit:
{
  "id": "AccountInformation",
  "description": null,
  "enabled": true,
  "conditions": {
    "client_filters": [{
      "name": "RequiredConditions",
      "parameters": {
        "RequiredClaims": [{
          "accountpackageid": "Gold"
        }],
        "RequiredRoles": [
          "AccountOwner"
        ],
        "RequiredPartnerIds": [{
          "partner_id": "1000"
        }]
      }
    }]
  }
}

With enabled property set to false:
{
  "FeatureManagement": {
    "AccountInformation": {
      "Enabled": false,
      "EnabledFor": [{
        "Name": "RequiredConditions",
        "Parameters": {
          "RequiredClaims": [{
            "accountpackageid": "Gold"
          }],
          "RequiredRoles": [
            "AccountOwner"
          ],
          "RequiredPartnerIds": [{
            "partner_id": "1000"
          }]
        }
      }]
    }
  }
}

Viewing with Advanced Edit:
{
  "id": "AccountInformation",
  "description": null,
  "enabled": false,
  "conditions": {
    "client_filters": []
  }
}

Is there something I'm missing on the ASP Net Core side of things with the appsettings properties for setting custom filters and having the feature flag be set to a disabled state by default when deployed to the Azure App Configuration resource?
Is this intended behavior? Is there a workaround?

Hello @nexaddo, if you want to import a feature flag which is disabled but also has custom filters, you can do this in two steps:

Use az appconfig kv import command to import your feature flag to App Config with all filters.
Use az appconfig feature disable command to disable the feature flag without losing its filters.

Hope that helps!

Hello @nexaddo, if you want to import a feature flag which is disabled but also has custom filters, you can do this in two steps:

Use az appconfig kv import command to import your feature flag to App Config with all filters. Now your AppConfig store has a feature flag that is enabled and has all your custom filters.
Use az appconfig feature disable command to disable the feature flag without losing its filters.

Hope that helps!

Thank you! I'll give that a try and see if that gets us where we want to be.

Issue hasn't had any updates. Please feel free to ping if there's still any concerns.


State timeline panel Type value typo

Hi -
I am a big fan of your work on the grabana lib and very happy to see it become an official Grafana supported project.
I was doing some testing with the Go side of this sdk and think I found a typo.
The statetimeline type name is currently "statetimeline"  and Grafana 10.3.3 expects "state-timeline"
https://github.com/grafana/grafana-foundation-sdk/blob/v10.3.x%2Bcog-v0.0.x/go/statetimeline/panel_builder_gen.go#L30
I attempted to track down where this value was injected during the code generation, but wasn't very successful.

Hey!
Glad you find this repository useful and thanks for reporting this issue :)
A fix is in the works and should land here in the coming days.


Consider adding GitHub pages problems to "Common Issues"

Is your feature request related to a problem? Please describe.
I just spent an hour or two debugging a very frustrating problem. My KaTeX math expressions were rendering great locally, but failing when I uploaded my blog to GitHub pages.
It turns out the problem is that GitHub pages overrides the kramdown math_engine to "mathjax". For some reason, this causes $$math$$ to be rewritten to <script type="math/tex>math</script>, making it disappear from the page. But this only happens when the blog is deployed to the live site. Locally everything works fine, making this even more difficult to debug.
I was only able to solve this problem by rewriting all my math to use a different delimiter (++) and changing the KaTeX configuration to use this new delimiter.
This issue is described in more detail here: https://github.com/github/pages-gem/issues/307
Describe the solution you'd like:
I suggest adding a note to "Common Issues": https://katex.org/docs/issues.html
You can link to this bug if it's helpful: https://github.com/github/pages-gem/issues/307
Describe alternatives you've considered:
If you want to make the guidance less GitHub Pages-specific, you could just say that KaTeX will never rewrite math to <script type="math/tex"></script> (assuming this is actually true), so if you see this in your DOM it means that something else rewrote it before it got to KaTeX.

Thanks for the tip! I've never tried KaTeX on Github Pages but I think that's a very important target.
Did you try the [mathtex-script-type contrib plugin] (https://github.com/Khan/KaTeX/tree/master/contrib/mathtex-script-type)? It sounds like that is worth trying, maybe allowing you to use normal delimiters?

I wonder if might also want to look at having the auto-render extension have an option that allows rendering of <script type="math/tex">math</script> tags. 🤔


fix: Improving the ui for when "additionalProperties": true

Description
The new adaptive forms UI doesn't adapt well to objects with "additionalProperties": true: the gray box with icon shouldn't be there in nested ui. This is the case for the Microsoft.HttpRequest body's property for example.
This PR addresses this issue (see screenshots of before and after).
Task Item
closes #4535
Screenshots
Before (See body property):

Before (When adding key value pairs):

After:

Coverage increased (+0.004%) to 55.045% when pulling 90ca4475d141290c432632c797f27102b904e64f on leugene/issue4535 into 67bc81790413667ab751b9918a4f6a5dda535efe on main.


Roadmap - v9

We'll start to create the roadmap for next major release of ReduxForm.
Based on that I want to ask help for the community to create this roadmap.
Please, help us and put here your ideas.

Current tasks for v9:

[ ] Bump for Redux v7 #4431
[ ] Move docs for Docusaurus.

As soon we get more ideas, the current tasks will be update.

Hi there, (sorry for my bad english, I'm trying hard to do my best on it)
I have two 'questions/suggestions' :
A. I'm used to follow the https://semver.org/ for bumping versions, and genuinely like it.
In a nutshell, semver is :
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
As I can see, Redux-Form is not following it (always backward compatible except for the v5-v6).
Am I wrong ? If not, what do you think to embrace it with the v9 ?
B. Keeping the same API, and everything the same, but re-write redux-form by using react-final-form behind to merge the efforts on both projects ?
Cheers :beers: - zazapeta

@zazapeta I wasn't following redux-form close to check that, but what examples do you have about not following semver? Anyway, is the plan to follow it from now.
About rewrite redux-form, that's not the plan, basic because redux-form codebase is too large, has differences between react-final-form (like immutable) and for me, doesn't make sense to keep a library written in top of another, which benefits we could have instead of improving react-final-form? This kind of movement is too dangerous and doesn't match with the future plans for redux-form.

Hi @renatoagds,
Thanks you for your answers.

This kind of movement is too dangerous...

I can't agree much more !

which benefits we could have instead of improving react-final-form ?

I do not have any answers....... >_>
Shamefully, I'm feeling a little bit stupid now....... 😳😳😳 :see_no_evil:
Advice for me:  Next time, think twice before posting
Anyway,
Thanks you again (and sorry wasting your time) !
:beers: - zazapeta

Maybe just a small thing, but it would be great if the action creators could be exported in seperate files as the rest of redux form, so you can only require the actions you need.
https://redux-form.com/6.7.0/docs/faq/bundlesize.md/

Honestly the most important to me is just drawing a line under all the showstopping bugs, and secondarily getting up to date with react and redux.
Personally, being out of date doesn't affect me, as I'm on Expo, and restricted to a land without hooks, but that's (hopefully) a short term thing.
Any new features can for sure wait as far as I'm concerned.

@Asday Agreed that we should fix bugs and get a stable v8. But that can't stop us thinking in the future and that's the point that I want to focus in this issue. IMO we could parallelise both works.

Two things I missed a lot in some projects were:

The ability to set errors explicitly on a field or on the form via a redux action, without having to take the way over stopSubmit. There I always need to take extra steps to not lose the existing errors on other fields than the one I want to update.
The ability to trigger the revalidation of a field or the whole form from outside. I often have the case, that when the user changes a value in one field it might invalidate an other field's value.

I'm fairly sure your second case is already what happens - synchronous validation happens on every onChange event.

@matoilic Could describe which cases do you need to import from individual cases? Just to have a proper scenario for this feature.

https://github.com/semantic-release/semantic-release

Move https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/redux-form in this repo, fix them and keep up to date with every change

One more ambitious idea. Maybe extract all redux logic, and have to packages redux-form, react-redux-form, or even angular-redux-form ))

@iamandrewluca Can you explain more what's your idea with commit guidelines links? About extract redux logic, looks like a good idea. It could be combine with the core rewrite.

commit guidelines links
Writing commits and keeping a format like angular does makes easier to generate CHANGELOG from commits, also version number increasing, and publishing made easier.

https://www.youtube.com/watch?v=ZXyx_1kN1L8

Also maybe we can move to hooks underneath main components.

Last night I had an ideea. When rewriting core, a feature could be to decouple at user preference from redux, and just use react/useContext/useReducer.

A lot of good suggestions to improve redux-form. But I would suggest focussing on proper react-redux v7 compatibility and removing the usage of deprecated React APIs. Before starting to build new functionality, it might be useful to lay a clean and stable base with v9 and postpone the rest to v10.
For me, redux-form is currently the main blocker why I can't upgrade to react-redux v7 in projects which use it. And probably there are a lot of other devs out there in the same situation. Or did I understand #4431 wrong and redux-form is already compatible with react-redux v7?

@matoilic it's not compatible, we're blocked with redux update on that same issue

We are using in production this versions, and didn't encountered any issues yet.
"react-redux": "^7.1.0",
"redux": "^4.0.4",
"redux-form": "^8.2.4",

@renatoagds current tasks are strictly for v9, or some of them can be implemented even in v8, if will not be breaking changes?

Also myabe we should create a public chat (slack, discord, gitter...) for redux-form? Don't know any existing one.

@iamandrewluca

current tasks are strictly for v9? Or some of them can be implemented even in v8, if will not be breaking changes?

is not strict for v9, which one to you think is possible without breaking changes?

Also maybe create a public chat (slack, discord, gitter...) for redux-form? Don't know any existing one.

It's already a gitter channel, if you search there you'll find

Deprecate/remove Field/Fields/FieldArray Instance API because of bad practice
using a ref on Field/Fields/FieldArray should be passed down straight to component

Move examples to another repo

Closing this issue, since we'll enter RF in maintenance mode and avoid big changes in the current codebase.


General Questions

Hello,
we are going to use the central IDP to authenticate doctors based on their HBA and SMCB cards.
As a preliminary work, we look at the reference implementation of the IDP and have a few questions and comments about it:

Can you please provide the .puml files as pictures?
Is there a communication with the Authenticator App or is this omitted?
From the workflow-base.puml it looks like that the IDP is called from the Authenticator app and not directly from our application. Or is the phrase Authenticator in the diagram misleading.
If not, how can we start the process via the Authenticator?
What is the reason behind the regex for the state query parameter?
E.g. Keycloak passes CAJ6m-Dqt01-WTPyBIY0JwIW_DlxOaAhRof9wuH-UPs.zB7aqDc2-2U.account-console which doesn't match the regex.
In your documentation Java 11 is mentioned, but Java 17 is mandatory since v21.0.0

Best regards

Hi,
besides all your other questions, if you would like a more elaborative Examples on how to implement the Authentication, look hier:
https://github.com/gematik/api-vzd/blob/feature/sample-fhir-search/samples/directory-samples-java/auth-samples/src/test/java/de/gematik/directory/samples/ownersignin/OwnerSignInSample.java
https://github.com/gematik/api-vzd/blob/feature/sample-fhir-search/samples/directory-samples-python/directory_samples/search_api_idp.py

Thank you @spilikin for the additional information.

I also found out how to call the Authenticator, passing the challenge_path to the ref-idp server.
It would be nice to have a working example for this documented.

...

1. Can you please provide the [.puml files](https://github.com/gematik/ref-idp-server/tree/master/doc) as pictures?

2. Is there a communication with the Authenticator App or is this omitted?
   From the workflow-base.puml it looks like that the IDP is called from the Authenticator app and not directly from our application. Or is the phrase Authenticator in the diagram misleading.
   If not, how can we start the process via the Authenticator?

3. What is the reason behind the regex for the [state query parameter](https://github.com/gematik/ref-idp-server/blob/master/idp-server/src/main/java/de/gematik/idp/server/controllers/IdpController.java#L99)?
   E.g. Keycloak passes _CAJ6m-Dqt01-WTPyBIY0JwIW_DlxOaAhRof9wuH-UPs.zB7aqDc2-2U.account-console_ which doesn't match the regex.

4. In your documentation Java 11 is mentioned, but Java 17 is mandatory since v21.0.0

...
Hello,

These puml were just used for development and not updated. Anyway, you can use an online viewer like this:
https://sujoyu.github.io/plantuml-previewer/
Communication with the authenticator app is omitted as our goal was only to provide a reference implementation for the server. But the gematik authenticator team has the necessary infos on this topic.
The state parameter may have at most 32 base64url characters.
You are right, there is a statement "OpenJDK 11"  in idp-testsuite/README.md. Thank you for this finding, we will fix this.

Regards, Robert


Add base_url  in telegram bot for reverse proxy user(api.telegram.org)

Add reverser proxy for telegram api
just add base_url config
Example configuration.yaml entry
telegram_bot:

platform: polling
api_key: YOUR_API_KEY
base_url: TG.YOUR_DOMAIN.COM/bot
allowed_chat_ids:

12345
67890

Hi @CraneJen,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Why does the normal base url not work?

On Fri, Feb 22, 2019, 00:32 Paulus Schoutsen<EMAIL_ADDRESS>wrote:

Why does the normal base url not work?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/21266#issuecomment-466067594,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE_vTWuKi53TBokc16qAMuBp-vGVTVLeks5vPsoGgaJpZM4bH0Uz
.

That is already in and is calling url. IMOH we respect other country law and don't help to break the law from your country.


Data dump

Option for users to download a big, fat dump (probably zipped CSVs) of all their data to easily migrate from one instance to another, e.g. from Wakapi.dev to self-hosted or vice versa.
Still undecided, if we want restore functionality as well (i.e. upload and import the dump again) or if it would be sufficient to add precise documentation on how to import these dumps directly to the database.
Potentially relates to #321, #323.

MySQL: https://dev.mysql.com/doc/refman/8.0/en/select-into.html
Postgres: https://www.postgresql.org/docs/current/sql-copy.html
SQLite: Looks like there is no way to directly dump a query into a file without using the CLI

Decided to use Wakapi's already existing import functionality for this.


Demo query not working

When running the demo query:
{
  hero(episode: "NewHope") {
    name
    friends(species: DROID) {
      name
    }
  }
}

I get the following error:
{
  "data": {
    "hero": {
      "name": "Luke Skywalker",
      "friends": null
    }
  },
  "errors": [
    {
      "message": "Collection not known to Traversal demo_graphql_characters please add 'WITH demo_graphql_characters' as the first line in your AQL (while executing)",
      "locations": [
        {
          "line": 4,
          "column": 5
        }
      ]
    }
  ]
}

Can you clarify which version and release (i.e. docker/Ubuntu/etc) of ArangoDB you are using and how you installed the service? Also whether you're using it in single-server or cluster mode.
The service is part of my development installation of ArangoDB and has been working since the initial development version of ArangoDB 3.1 all the way to the latest development snapshot. I haven't had a chance to try it on the official 3.1 releases but it still works for me, so I'd like to be able to reproduce the problem before merging the fix.

Hello,
I use a fresh Arangodb 3.1.8 official docker image in cluster mode (3 agents, 3 db masters, 3 coordinators, 0 db slaves)
The error seems related to an invalid AQL query. My pull request only applies the modifications proposed in the error message. I tested it, it fixes the bug.

I think this may have to do with the query being run in a cluster. I'm surprised the query doesn't also result in an error in single-server mode. Thanks for reporting this.

Okay, I've confirmed the problem and the solution. As I suspected this only occurs in cluster mode.

@pluma can we consider this issue fixed?


PoC: Media metadata

As a developer I need to investigate how media metadata can be attached to an item so that I can elaborate a strategy to address this issue.
Acceptance criteria

Basic control center information is correctly updated when playing several medias in a row.
Metadata is displayed on iOS and tvOS with the same approach (automaticallyPublishesNowPlayingInfo on iOS 16).
Metadata can be updated periodically.
Metadata can be filled beforehand if readily available.

Tasks

[ ] Retrieve metadata by PlayerItems and attach the to the AVPlayerItems they deliver.
[ ] Publish metadata to the now playing center with the same approach on iOS and tvOS.
[ ] Update metadata during playback.
[ ] Metadata can be made available earlier if already available (currently we can have Letterbox display readily available metadata when using play media APIs vs. nothing when using play URNs API).

Investigated in #201, except the metadata retrieval part. Likely performed by observing the current item and subscribing to its data updates, rather than getting data for all items loaded into the player (which would load data unnecessarily).
Closed since redundant.


Parser blocks trying to read non-existing body when parsing headers separately

This is a followup to #257. The fix for that bug unfortunately introduced another bug, which can be observed using the same examples: coroutine version callback version.
The problem is that for requests without a body, the parser will block and wait for data. This can be tested with a simple curl http://localhost:8081 which hangs indefinitely. When reading a complete http::request<http::string_body>, everything works fine.

I can reproduce it, thanks for the example. At this point its starting to look like I have to add one hack on top of another...the design of split parsing was not well thought out. We might just have to say that this feature does not function correctly. I am in the middle of building a new parser. I will address it there. Unless you have a suggestion on how we might fix this robustly in the current version.

I see. I haven't had the time to look deeper into the parser, and since it's soon to be replaced, I don't think it makes sense to start now.
We'll just wait for the new parser, and try to get by with reading whole requests in the meantime.

@mika-fischer I could use your help now!!

This immediate issue seems to be fixed with the http branch. Concerning the general design, I'll comment in #154.

Actually, a have to take that back, it seems this, or rather #257 is back with the http branch...
All body sizes larger than 875 bytes when used with curl cause beast to hang waiting for more data. This happens with split header and body parsing, but also when reading the whole request at once.
New code: https://gist.github.com/mika-fischer/f01cb90e5b6d3ee0fa506c0c2a0fa28a
Test with:
dd if=/dev/zero of=test.bin bs=1 count=875
curl --data-binary @test.bin -H 'Expect:' http://<IP_ADDRESS>:8090
dd if=/dev/zero of=test.bin bs=1 count=876
curl --data-binary @test.bin -H 'Expect:' http://<IP_ADDRESS>:8090

Actually, I have to take that back, it seems this, or rather #257 is back with the http branch...

That's amazing, I managed to reproduce the same defect in completely rewritten code! Here's the fix:
https://github.com/vinniefalco/Beast/commit/a2a9893d98ed51755c64cc55eca85b774dc78312
Thanks for providing a reproducible test case, that made it very easy to track down!

Thanks, I'll test it soon. Maybe it would make sense to add this as a test, i.e. send requests with increasing body sizes and see whether they are parsed correctly?


preview feature risks

ASB has a number of preview features in it
We wasted an entire day when one of them "disappeared"
Need to document the features and have a risk mitigation plan

I added a note to the Hack Guide for awareness


The component "text" take no effect with "value" attribute

Please view this demo

As per the documentation, value attribute is just for getting the content of the text component. Setting the value is straight forward and the value attribute is not used for that. Please refer:
http://dotwe.org/vue/568f2a6242bf05e51f1bf9d6cbf221d0


Why was Python 3.5 dropped in 4.3.0?

Thanks for an excellent library! I was just wondering why Python 3.5 is no longer supported since version 4.3.0?

The problem is that the wheel is named timezonefinder-4.3.1-py3-none-any.whl, thus it will try to install it on a device running Python 3.5 even though it will fail with the following error message:
ERROR: Package 'timezonefinder' requires a different Python: 3.5.3 not in '>=3.6'

I believe you have to make 3 copies of the wheel and name them: timezonefinder-4.3.1-py36-none-any.whl, timezonefinder-4.3.1-py37-none-any.whl and timezonefinder-4.3.1-py38-none-any.whl. If support for Python 3.5 really is dropped on purpose.
Please see: https://www.python.org/dev/peps/pep-0491/#file-name-convention

Thanks, also for pointing this out!
That is, because I started using f'' format strings and numpy is soon also dropping the support for python 3.5:
https://numpy.org/doc/stable/release/1.18.0-notes.html
Even though the PEP 491 FAQs say:

[...] it may still use the py3-none-any tag [...]

the version tags for the specific versions are now included in the wheels. Please check and reopen if the issue remains.

@MrMinimal64 thanks for fixing it so quickly! I have a bunch of shipped devices that failed to update due to pip failing to install your package.

you are welcome! may I ask in what context you are using the package?

@MrMinimal64 it's used for the time shown in UI for the following boat: https://candelaspeedboat.com/ :)

cool, keep up the good work! glad I could help.

@MrMinimal64 I was wondering how much difference the timezone data including ocean would make? For now since it's not an offshore boat I do not expect it to make any difference.

This is the data in use: https://github.com/evansiroky/timezone-boundary-builder
I am planning to make timezonefinder modular and offer both data versions in the future (v5.0, #87, #88, #89). I am not sure though when this is going to get released.

Yeah I saw that. Unfortunately it is not that easy for me to update to a newer version of Python in the boats that has already been shipped.

Yeah I saw that. Unfortunately it is not that easy for me to update to a newer version of Python in the boats, as I will have to do that manually for all of them then.

I think when you create your own fork and remove all f'' format strings the code should run under py3.5
Then you could also manually parse the ocean data yourself.
I am sorry about the inconvenience.

No problem. For now I will just stick with 4.2.0, as do not think there will be any practical difference, as people will stay close to the shore.
I will just use version 5 when we make a bigger boat :)

Ok. Be careful though, as the timezone data does change slightly from time to time.
Let me know when your big flying bot is ready, then I will work hard to release v5.0 :)
Greetings to beautiful Stockholm!

It's not used for anything critical. For now just a clock shown in "admin" mode in the UI.
Haha I'll ping you when the boat is ready and the only thing left is using timezonefinder v5.0 :)

@MrMinimal64 btw it turned out it that the issue was due to a problem with piwheels: https://github.com/piwheels/piwheels/issues/208.
I got him to remove the wheels from piwheels https://github.com/piwheels/packages/issues/109, as they were just duplicates of the ones on pypi and pypi implements the data-requires-python attribute, so it seems like it was only an issue for Raspberry Pi users.


As a user, I want to kick off a new pipeline run from the pipeline list view

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This feature is achieved with the "Run pipeline now" button.


CoordinateRangeMutable: Adjust based on CoordinationRange

Since the CoordinationRange was adjusted in #4316,
CoordinateRangeMutable should also try to maintain the same architecture as CoordinationRange.

Hi @CoderPM2011, thanks so much for this PR!
I'll be honest, I'm having an extremely difficult time reviewing this because it appears to be very breaking and touches so many files 💀
Could this have been less breaking and affected only one file if CoordinateRangeMutable.Min and CoordinateRangeMutable.Max remained as properties? I'm 100% behind adding Value1 and Value2 as new names and allowing them to be inverted, but it's not super clear whether all these modified files and breaking changes are necessary to allow for that feature.
I'm trying to get through about 200 issues over the next [however many days that takes], so it's not really time effective for me to put too much effort into this one at the moment. Any insight you have about how to simplify this PR would be really helpful!
Thanks!

Since the original Min and Max could represent inversions by themselves, and since many classes rely on this feature, they were renamed Value1 and Value2 to preserve this feature.

This class may not be so well adjusted.😣
In fact, I have tried other methods before, but then gave up. 😵

Change it to struct, like CoordinateRange
This will lead to changes in the way Min and Max assignments are written.
Contains CoordinateRange and replaces internal logic with CoordinateRange
It's a bit complicated to implement, and I forgot if there were any other reasons.😓
Adjust the getters and setters of the Min and Max attributes to automatically set Value1 and Value2, but return the real Min and Max like CoordinateRange.
After implementation, this logic seems to be untenable.

Maybe use the previous version of the CoordinateRange schema instead.🤔
But it will still be different from the current version.😥
https://github.com/ScottPlot/ScottPlot/blob/f0279f28c203218415f6f7b0a51606dab76bc36d/src/ScottPlot5/ScottPlot5/Primitives/CoordinateRange.cs#L12-L14

After implementation, this logic seems to be untenable.

It seems like you put a lot of time into looking into this, and the problem is more complex than it seems at first!
I notice there's a Range, IndexRange, CoordinateRange, and I was reminded today we even have PixelRangeX and PixelRangeY 🤪 Maybe some day in the future we can redo all the range functions at once, and lean on a lot of shared logic and an extensive test system?
That seems like a lot of work, but maybe one day when we get through the backlog of open issues that may be a good target for refinement 🤔
I'm inclined to close this issue for now, and reference it when this topic gets picked up again. What do you think? I feel bad suggesting closing PRs that people have put a lot of effort into, but it seems I'm unable to give this topic the attention it deserves presently and it may be a better experience for both of us if we pick it up again when after the larger open issues are resolved and we can take as long as we want to work on it.

Following-up, working on #4471 this is a minefield of really hard to predict side effects
Automatically rectifying ranges is required for things like axis rules
Not automatically rectifying ranges is required for things like saving and recalling axis limits for inverted axes
Let's not take any action right now, but I'm thinking a better solution to this overall problem is to leverage the type system to split out an AxisRange type specifically for working with axis limits and giving it some strict rules and features that don't apply to more general purpose types like CoordinateRange


Logo fixes

I initially only wanted to fix that the logo breaks layout with increased font size (#232).
But because I found a couple of small issue around the logo (invalid, never executed, non-standard or confusing code), I fixed and refactored a few more things. One of the changes includes changing the dimensions of the logo. The "new" logo (both versions) were done and provided to me by @markhurrell.
Three known issues with the new logo:

gov.uk_logotype_crown.png was not transparent before but is now. I don't know if that is intentional. I will ask Mark when he's back.
I have intentionally not changed the IE8-and-under version of the logo as it doesn't look broken. Please let me know if you think that is important to do.
The only reason why the logo needs some fiddly pixel-pushing is because the logo itself includes whitespace. I will ask Mark when he's back if we could change that. (I would probably better create a new PR for that case.)

I looked at the git history for most of my changes, please refer to the commit messages for further information (history and rationale).
Before/after screenshots
These screenshots were all made from Firefox on Mac.
The visible change is that the logo is grew 1px on both sides. Its bottom is still vertically aligned with the "G", so that it grows 1px to the top and 1px to the right. But the top space was removed again from an containing div, so the height dimensions of the left-hand elements should be exactly the same as before (except for the image itself), the width got pushed 1px to the right.
Screen logo before:

Screen logo after (hardly any changes, only the logo is bigger):

Print logo before:

Print logo after (a few more changes, for the better I think):

Browser tests
I tested in a lot of browsers via BrowerStack and it generally was fine. Some probably ignorable issues I found with this change:

iPhone 4 was not perfectly aligned, but iPhone 4S is
Kindle was not perfectly aligned either but that has other general issues as well
Galaxy S5 Mini (4.4.) dropped the "GOV.UK" below the logo, but Galaxy S4 (4.4) was fine again

What I didn't test: Because I don't know what else could potentially affect the header (other included elements or certain modifications) I didn't test any of that. It would be great if someone could let me know what else there is and how I can test it.

Is there a reason why gov.uk_logotype_crown.png is using 1-bit transparency instead of translucent edges?

Also, did we consider moving to an SVG crown? Would be good to document why we decided not to here.

Regarding the transparency, I don't know. I can use graphic tools to a degree but felt not confident enough doing something with an image as important as the logo. That's why I asked Mark to make them. Let's ask him about the transparency when he's back.
We talked about using an SVG but if we wanted to do that, I think that should be in a separate PR. All of these commits here are fixing one thing or another. Using an SVG logo would be more of a feature than a bugfix.

hey both, used the 1bit transparency out of habit (was an old IE thing right?). it's on a black background so thought might as well put it on a black matte. happy to do it again with full transparency if you prefer.
being nit-picking, the GOV.UK looks like its sitting a tiny bit low on the new version (I guess this is because there's more whitespace around the top of the search bar now). could we shift it up a pixel or two?

IE6 and lower. I think we can do full translucency now :)

@markhurrell, sorry, I think I might have missed a pixel or so from the top when making the screenshot. Because nothing has changed on the dimensions at all, except what I described earlier:

The visible change is that the logo is grew 1px on both sides. Its bottom is still vertically aligned with the "G", so that it grows 1px to the top and 1px to the right. But the top space was removed again from an containing div, so the height dimensions of the left-hand elements should be exactly the same as before (except for the image itself), the width got pushed 1px to the right.

I validated that by making a screenshot (together with bits of the chrome) and measuring the pixels while zoomed in.
I guess it's probably best if we could look at it together on a real screen (and not a screenshot) to be sure. I can also push some pixels around at the same time if I need to. That should be the quickest to resolve any potential issues.

[full transparency PNG attached above]

@markhurrell, are you sure that is the correct image? I just put it into the folder and my git doesn't show me that there is any difference.
On another related note, I have made a new before/after gif which shows both versions after each other, together with the browser canvas on the side to make sure you can see the correct dimensions. (Sorry for the bad quality.)

@robinwhittleton the 1-bit transparency could be a side effect of using ImageAlpha incorrectly.

nope I did it deliberately because I care about ie6 users bruh
--
Mark Hurrell
Head of Design for GOV.UK
Government Digital Service
On 23 August 2016 at 17:13, Alex Torrance<EMAIL_ADDRESS>wrote:

@robinwhittleton https://github.com/robinwhittleton the 1-bit
transparency could be a side effect of using ImageAlpha incorrectly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alphagov/govuk_template/pull/237#issuecomment-241787544,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABfCZRhRGq1ZQ7bxRuzfMZTJA_muglwPks5qixwygaJpZM4JiSJ0
.

I have updated the logo with the new one Mark provided. (Sorry, I didn't see any changes in git because I failed to copy the file correctly into the corresponding folder.) I also updated the one for IE8 and under (I just halved the new one).

Looks good, only thing I've noticed is that on the print styles in Chrome the logo is not as expected.
Before

After

@nickcolley, I believe this should fix that issue: alphagov/govuk_frontend_toolkit/pull/328

The other PR was merged, but I'm not sure how long it takes for the frontend toolkit to be packaged and released.
@nickcolley, now that that last issue is fixed, would you rather a) wait with the merge of this PR until the other change is live, or b) merge this now anyway, or c) undo the offending two lines and then merge this and make the print change in another PR which can wait until the toolkit has been released?

@selfthinker we should wait till upstream is up to date then update it here to fix the issue I think?

@nickcolley, as we investigated and found that govuk_template uses a 16 months old frontend toolkit and I don't think it's worth the hassle, I have removed the offending line and left a comment in the CSS accordingly.
I hope this can now be merged?

LGTM 👍


Coverage fails with os.fork and os._exit

Originally reported by Marc Schlaich (Bitbucket: schlamar, GitHub: schlamar)

It is a common pattern to exit a child process with os._exit after a fork (ref). However, in this case coverage for the child process fails.
Example:
import os

def child():
    a = 1 + 1
    assert a == 2

def main():
    pid = os.fork()
    if pid:
        _, systemstatus = os.waitpid(pid, 0)
        assert not systemstatus
    else:
        child()
        os._exit(0)

if __name__ == '__main__':
    main()

Test run:
$ coverage run -p cov.py
$ coverage combine && coverage report -m
Name    Stmts   Miss  Cover   Missing
-------------------------------------
cov        13      4    69%   6-7, 16-17

Bitbucket: https://bitbucket.org/ned/coveragepy/issue/310
This issue had attachments: coverage_issue310.tar.gz.  See the original issue for details.

I am not sure why is this "exotic". Using os._exit is the recommended way to exit from a forked child. Anyways, I was able to workaround this by simple patching the os._exit function using unittest.mock.patch and coverage.Coverage.current like this:
_os_exit = os._exit

def _exit(status):
    cov = coverage.Coverage.current()
    cov.stop()
    cov.save()
    _os_exit(status)

with patch('mypackage.os._exit', new=_exit):
    mypackage.function_that_uses_os_fork()

"exotic" wasn't intended to mean "low-priority", but "needs research into a thing I am not familiar with."  Thanks for sharing a workaround.