Support password and workflow list in dashbaord

Add button for navigating between user dashboard and workspace

Add password field for user login and sign up

Support user saved projects display

I went over this PR on a high level, the changes look good. Please work with @YinanDanielZhou to do more detailed reviews.

I asked @MIngjiHan to break this PR into smaller PRs because it contains several features.


[BUG] "Incorrect Checkpoint" during SLC

~When we do a "just in time" valset update, the valset update should happen after the submit logic call instead of before, so that we don't block the submit logic call execution.~
use the in-flight valset for message signing. That was Tyler's original plan after discovering that Paloma doesn't update the deployed valset until after it's been committed.

This should work most of the time, but there are two culprits:

the message will fail to be relayed in case the current valset is considerably different to the one stored on the target chain as it will fail to confirm consensus
the message might fail to be relayed during retries, as the valset update might have been forwarded in the meantime

After looking at the code, I think we should keep the JIT valset update as it is, but use the in-flight valset for message signing. That was Tyler's original plan after discovering that Paloma doesn't update the deployed valset until after it's been committed.

From Tyler:
_The "fix" I was working on for the valset race condition doesn't work.  It actually just makes it worse.  Paloma doesn't mark a snapshot as published to a chain until after the block is committed and the pigeons attest to that.  I didn't think this was the case, but it is.  We don't currently have an easy way in Paloma of distinguishing if a valset is "publishing"
So... asking Paloma what the latest publish valset is ends up being out of date more often than asking the compass contract.  The code that's been committed to Paloma is fine because it just adds a query endpoint.
The code I have for Pigeon just needs thrown away until more work is done in Paloma to expose that a valset is currently being published._

Another from Tyler and I think the solution:
_But this "Incorrect Checkpoint" is because the pigeons are signing it using the valset id as part of a salt.  The pigeons are using the previous valset when the just-in-time valset happens immediately before the submit logic call.
The fix for this is to use the in-flight valset id.  My attempts to push that out before leaving failed though
I'm really surprised we had a new valset so quickly though.  Must still be a good bit of jailing going on_

Input from Tyler after further inquiry:

Sorry for the slow reply.  It's still confusing to me, so I could be partially wrong, but if I remember right, Paloma is generating the bytes to sign and passing it as part of the message. Pigeons then just sign that with their key.
Compass deconstructs the signed data to confirm it looks as expected from each pigeon.
I believe (if memory serves me right) the bytesToSign that Paloma generates for the message has the current valset ID as part of the generated bytes.  Compass then deconstructs using the current valset ID that it has as well.
So... If Paloma builds the bytes using valset ID 4, and at the same time submits a job for valset ID 5 to be created...
Pigeons will all sign bytes including valset 4, but compass ends up trying to deconstruct using the new valset ID of 5 because that valset update went through too...  The bytes don't match.
Hope this helps, and please remember that Paloma code is very confusing and it's possible I'm misunderstanding it as well.
Cheers!
Tyler

I will need to check if this is actually the case and what can be done about it.

After looking at the code a lot more, I believe Tyler might have misremembered some of this. I found no evidence of the valset ID being used in any part of message signing, neither as part of bytesToSign, nor of the actual signature itself, nor the salt. The bytes to sign in the gravity bridge are fairly complex, but even there, I only found usages of nonces, nothing related to the valset at all.
Next, I looked at the code that actually emits the error we're seeing here. It's basically comparing the last stored valset against the one that was sent with the logic call. The consensus is built using this logic. You can see, the message signature is not even considered here. We're building the consensus snapshot using:

the validators
their powers
the valset ID
(and some static information that doesn't change)

I'd say it's safe to say that this error is simply a symptom of the logic call coming in before the valset update has been processed - and since those are not being retried (yet), the call fails entirely.
With v1.9.0, message calls should be retried. Meaning they should catch up with the valset update and be processed successfully eventually.

Getting back to this, yes, Pigeon will query for the compass EVM error and attach it to the message as error data. This won't be retried (yet), but we did talk about the concept of having SLC messages being retried n times before completely removing them.

Okay. So to reflect: We do NOT have retries on SLCs. Yes?
So, we'll need a new ticket for SLC retries?

Okay. So to reflect: We do NOT have retries on SLCs. Yes?
So, we'll need a new ticket for SLC retries?

It depends at what stage the call actually fails.
1.) In case the message was not even attempted to be relayed, i.e. due to Pigeon not able to confirm consensus, the relay attempt should be retried. This was not the case up until recently, and no failure was being recorded, so the message just got "stuck". That is now fixed and will be in v1.9.0.
2.) In case calling the contract goes wrong. This might be related to numerous reasons: missing funds, network problems, or an error returned from the compass contract itself (for whatever reason). Usually, a Pigeon that's not able to relay would not be in the active valset, but sometimes this changes too quickly or just after the Pigeon was selected. This case is different, in a sense that an attempt was actually made - and failed. The failure is recorded on the message, and the message removed from the queue.
My pitch is for number 2. I feel like the system would become a bit more reliable if messages that were actually attempted to be relayed would be assigned to a new pigeon and the delivery re-attempted (i.e. 3 times total). It might still fail due to a compass error, but it would help with RPC endpoint issues or missing funds.

thanks @byte-bandit how much effort would a retry be (one retry only)?

@verabehr Hard to say. Maybe a day or two. The retry logic of messages is currently a bit all over the place, sometimes triggered by Paloma, sometimes by Pigeons.
The way I'd solve this is by hooking into the code that removes a message from the queue, copy the contents and put a new message on the queue with the same parameters. However, I think we only want this for SLC calls at the moment, as compass deployments and valset updates will both eventually be retried implicitly by other components.
I'll see if I can get it into the 1.9.0 release, but since I have to cut the release tonight, it'll be a tight fit.


Render lilypond41a

This PR fixes #173.

[x] Render lilypond41a.
[x] Render part names.
[x] Add stave connectors from the first part to the last part.
[x] Account for brace stave connectors when calculating x, y for rendering.
[x] Render Sarabande_de_Haendel.zip.

vexml

Some progress:
Before:

After:

Sarabande is looking better, but it has a few more issues:

The last thing I'm fixing in this PR is the widths of the second part. It should line up with the first part, but for some reason it doesn't. When I manually change the targetSystemWidth, it proportionally changes and doesn't fill out the whole system for some reason.

@jaredjj3 if you use a single system and add three staves it should work. I believe.

Ah thanks, however, it looks like I need to provide the vexflow.System constructor with a vexflow.Factory (code). I avoided using vexflow.Factory because I wanted maximum flexibility on how things are rendered, so I went with the lowest level structures.
I'll study how vexflow.System.format works and try to apply it to vexml.

I figured it out. So there's this rendering variable called minRequiredSystemWidth and it's used to determine how much to stretch each measure in a given system. The problem was that I was calculating this one for each measure across all parts. However, since each measure doesn't know anything about the other measure's part, we can't compute the minRequiredSystemWidth calculation like it does.

I'll fix formatting in another PR, probably using a simpler score.

Why don't you want to use factory?

This is a really difficult design decision to communicate. Let me know if you still need clarity.
The main issue is that Factory would force me to convert from MusicXML to vexflow objects in a ~specific order. The rendering strategy has been to convert to vexflow objects ASAP when I have enough context. Then, at the end, I can do the same thing factory does: set the context and draw everything.
Ultimately, I don't want vexflow tightly coupled to the implementation of vexflow.Factory. I think that API makes more sense when the developer already knows all the structures that should be written. MusicXML doesn't organize this information in a convenient manner (which is inherent to the complex nature of music), so I don't have the benefit of "knowing" exactly what vexflow objects are needed until I go through the entire MusicXML document — that's why I'm creating vexflow objects ASAP.

@rvilarl, if you're familiar with AWS, I think using this is similar to using ECS, Elastic Beanstalk, RDS, ELB, etc. (Factory) instead of EC2 (vexflow objects). The higher abstractions (ECS, Elastic Beanstalk, RDS, ELB, etc.) are easier to use, but they're not as flexible if you managed the low level EC2 instances yourself. I want the maximum flexibility that vexflow can offer.


SensorTag Library: Barometer calibration

Barometer calibration:

setting value to 2 to obtain calibration value
on success, set value to 1 to do the normal stuff

Implemented calibration procedure. Next step is to implement the pressure calculations based on the calibration data. A translation from Obj-C to JS has to be performed and attention kept to how typecasting to long long affects arithmetic operations.

long long integers on iOS are of length 8 bytes (256 bit). JavaScript integers undergoing bitwise operations are 32 bits long. In the pressure calculations, bit-shifts of more than 32 bits are performed in the Obj-C code, hence the JS calculations has to be rewritten.

small correction - long long is by C-standard 64bit
http://en.wikipedia.org/wiki/Integer_(computer_science)#Long_long
i am sure it is possible to re-work the algorithm to fit within a 32bit
integer. i do not remember the objective-C code off hand; but i am pretty
sure they do not require long long to perform.
http://www.byteworks.us/Byte_Works/Blog/Entries/2012/10/31_Accessing_the_Bluetooth_low_energy_Barometer_on_the_TI_SensorTag.html
has the algorithm in their basic language:
  ! Update the pressure indicator.

  Tr = value(1) BITOR (value(2) << 8)

  S = m_barCalib(3) + Tr*(m_barCalib(4)/2^17 + Tr*m_barCalib(5)/2^34)

  O = m_barCalib(6)*2^14 + Tr*(m_barCalib(7)/8.0 +

Tr*m_barCalib(8)/2^19)
  Pr = (value(3) BITOR (value(4) << 8)) BITAND $00FFFF

  Pa = (S*Pr + O)/2^14

  ! Convert from Pascal to Bar.

  Pa = Pa/100000.0

  PRINT "Pressure: "; Pa; " Bar";

  ! Add the temperature.

  T = m_barCalib(2)/2^10 + Tr*m_barCalib(1)/2^24

  PRINT ", temperature: "; T

the only thing here that would potentially overflow would be the 2^34. you
could in fact get around this by using floats and converting the << and >>
to multiply and divide...  it would probably still give similar values; i
doubt the IEEE implementation would produce that many overflows.
should still be able to do this in pure javascript - and we should try!
On Sun, Apr 5, 2015 at 7:20 PM, Eric Svensson<EMAIL_ADDRESS>wrote:

long long integers on iOS are of length 8 bytes (256 bit). JavaScript
integers undergoing bitwise operations are 32 bits long. In the pressure
calculations, bit-shifts of more than 32 bits are performed in the Obj-C
code, hence the JS calculations has to be rewritten.
—
Reply to this email directly or view it on GitHub
https://github.com/evothings/evothings-examples/issues/135#issuecomment-89739033
.

--
// Aaron Ardiri

Thanks.
Maybe you're right about long long being 64 bits. I might have misinterpreted this article: https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Major64-BitChanges/Major64-BitChanges.html .

Haha, no it was rather that I was tricked by someone else, of course an 8 bytes integer is 64 bits ^__^

That article states the the alignment of long long increases from 4 to
8 bytes.
The size of long long was always 8 bytes.
// Fredrik
Eric Svensson wrote:

Thanks.
Maybe you're right about long long being 64 bits. I might have
misinterpreted this article:
https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Major64-BitChanges/Major64-BitChanges.html
.
—
Reply to this email directly or view it on GitHub
https://github.com/evothings/evothings-examples/issues/135#issuecomment-89743305.

Yes as I said I was tricked into believing that 8*8 was 256, haha ;)

Here's how I implemented the pressure calculations in JS. Please help me with rewriting it to avoid the overflow.
instance.getModelOneBarometerValues = function(data)
{
	var t = evothings.util.littleEndianToInt16(data, 0)
	var p = evothings.util.littleEndianToUint16(data, 2)
	var c = instance.barometerCalibrationData

	var S = c[2] + ((c[3] * t)/(1 << 17)) + ((c[4] * (t * t))/(1 << 34))
	var O = (c[5] * (1 << 14)) + (((c[6] * t)/(1 << 3))) + ((c[7] * (t * t))/(1 << 19))
	var Pa = (((S * p) + O) / (1 << 14))
	var pInterpreted = Pa / 100.0

	return { pressure: pInterpreted }
}

                                                                                Will have a look when I wake up tomorrow.Enjoy easter now :)// Aaron                                                                                Sent from my BlackBerry 10 smartphone.                                                                                From: Eric SvenssonSent: Sunday, April 5, 2015 20:09To: evothings/evothings-examplesReply To: evothings/evothings-examplesCc: ardiriSubject: Re: [evothings-examples] SensorTag Library: Barometer calibration (#135)Here's how I implemented the pressure calculations in JS. Please help me with rewriting it to avoid the overflow.

instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t)/(1 << 17)) + ((c[4] * (t * t))/(1 << 34))
var O = (c[5] * (1 << 14)) + (((c[6] * t)/(1 << 3))) + ((c[7] * (t * t))/(1 << 19))
var Pa = (((S * p) + O) / (1 << 14))
var pInterpreted = Pa / 100.0

return { pressure: pInterpreted }

}
—Reply to this email directly or view it on GitHub.

just a quick question; what are the ranges of the calibration data? c[0] et
al.. are they 32 bit integers?
On Sun, Apr 5, 2015 at 8:09 PM, Eric Svensson<EMAIL_ADDRESS>wrote:

Here's how I implemented the pressure calculations in JS. Please help me
with rewriting it to avoid the overflow.
instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t)/(1 << 17)) + ((c[4] * (t * t))/(1 << 34))
var O = (c[5] * (1 << 14)) + (((c[6] * t)/(1 << 3))) + ((c[7] * (t * t))/(1 << 19))
var Pa = (((S * p) + O) / (1 << 14))
var pInterpreted = Pa / 100.0

return { pressure: pInterpreted }

}
—
Reply to this email directly or view it on GitHub
https://github.com/evothings/evothings-examples/issues/135#issuecomment-89748648
.

--
// Aaron Ardiri

///Calibration values unsigned
@property UInt16 c1,c2,c3,c4;
///Calibration values signed
@property int16_t c5,c6,c7,c8;

ok. here is a small pattern i have released - which may come in useful for
solving this.
int main()
{
fprintf(stdout, "%d\n", 1000 / (1 << 3));
fprintf(stdout, "%d\n", 1000 >> 3);
}
both of these result in the same number.. 1000 / 8 - with a result of 125.
looking at the functions below, we should be able to update them accordingly
instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t)/(1 << 17)) + ((c[4] * (t * t))/(1 << 34))
var O = (c[5] * (1 << 14)) + (((c[6] * t)/(1 << 3))) + ((c[7] * (t

t))/(1 << 19))
var Pa = (((S * p) + O) / (1 << 14))
var pInterpreted = Pa / 100.0
return { pressure: pInterpreted }
}

which would result in the above being re-written as:
instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t) >> 17) + ((c[4] * (t * t)) >> 34)
var O = (c[5] << 14) + (((c[6] * t) >> 3)) + ((c[7] * (t * t)) >> 19)
var Pa = (((S * p) + O) >> 14)
var pInterpreted = Pa / 100.0

return { pressure: pInterpreted }

}
assuming that the values would not overflow; i think the use of >> and
<< will force the javascript compiler to keep the values as integers
and not treat them as floats. so, we may need to update the algorithms
to remove them - we could try the above; and see if we are lucky.
instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t) / 131072) + ((c[4] * (t * t)) /<PHONE_NUMBER>4.0)
var O = (c[5] * 16384.0) + (((c[6] * t) / 8)) + ((c[7] * (t * t))

/ 524288.0)
var Pa = (((S * p) + O) / 16384.0)
var pInterpreted = Pa / 100.0
return { pressure: pInterpreted }

}
these should; theoretically be the same calculations but using
floating point mathemetics instead.
(>> x) is basically the same as (divide by 2^x) and (<< x) is
basically the same as (multiply by 2^x)
On Sun, Apr 5, 2015 at 9:31 PM, Aaron Ardiri<EMAIL_ADDRESS>wrote:

just a quick question; what are the ranges of the calibration data? c[0]
et al.. are they 32 bit integers?
On Sun, Apr 5, 2015 at 8:09 PM, Eric Svensson<EMAIL_ADDRESS>wrote:

Here's how I implemented the pressure calculations in JS. Please help me
with rewriting it to avoid the overflow.
instance.getModelOneBarometerValues = function(data)
{
var t = evothings.util.littleEndianToInt16(data, 0)
var p = evothings.util.littleEndianToUint16(data, 2)
var c = instance.barometerCalibrationData
var S = c[2] + ((c[3] * t)/(1 << 17)) + ((c[4] * (t * t))/(1 << 34))
var O = (c[5] * (1 << 14)) + (((c[6] * t)/(1 << 3))) + ((c[7] * (t * t))/(1 << 19))
var Pa = (((S * p) + O) / (1 << 14))
var pInterpreted = Pa / 100.0

return { pressure: pInterpreted }

}
—
Reply to this email directly or view it on GitHub
https://github.com/evothings/evothings-examples/issues/135#issuecomment-89748648
.

--
// Aaron Ardiri

--
// Aaron Ardiri

Nice, your second proposed solution seems to work well! I agree with your reasoning about why this works.

https://github.com/evothings/evothings-examples/pull/137

                                                                                +1 awesome :)                                                                                Sent from my BlackBerry 10 smartphone.                                                                                From: Eric SvenssonSent: Monday, April 6, 2015 01:57To: evothings/evothings-examplesReply To: evothings/evothings-examplesCc: ardiriSubject: Re: [evothings-examples] SensorTag Library: Barometer calibration (#135)Nice, your second proposed solution seems to work well! I agree with your reasoning about why this works.

—Reply to this email directly or view it on GitHub.

Barometer has been tested OK on both CC2541 and CC2650 with the refactored TI SensorTag library. Closing issue.


Identity cards (aka Attestations)

Identity cards (aka Attestations)

[ ] Review attestation schema and confirm data is available to support designs
[ ] If no cards, then show divider under header section
[ ] If one card, then card is full width of primary column
[x] If multiple cards, then cards are half width
[x] Simple lockup with title, checkmark, and subtext
[ ] Hover to reveal outbound links
[ ] "About" links to respective term in Gov Docs Glossary (coming soon)
[ ] "Attestation" link to respective EAS page
[ ] For Top 100 Delegate, "Profile" links to delegate profile on vote.io
[ ] Hover over checkmark for tooltip explaining "Attested by Optimism Foundation"

Find a list of attestations here: https://www.notion.so/ed7359bbbc1d4403aea3768043f39f06?v=623e1d357e4640abbca8aa223d43192a&pvs=4

Figma

12.17
Fix styling and spacing on cards:

[ ] Card radius should be 12px
[ ] Title should be 16pt (1 rem)
[ ] Spacing between cards horizontally and vertically should be 12pt


Orphaned attachments (images) are visible in 'Nuke orphaned files' but not visible in 'Nuke orphaned attachments. Why?

Hi!
Just noticed: some attachments (images) are visible in Nuke orphaned files but not visible in Nuke orphaned attachments. Why this happens?
Nuke orphaned files:

Nuke orphaned attachments:

MacOS, NO 1.2.5, Obsidian 1.5.11

Could you provide a minimal vault that i could use to debug this?

No need for this: I have found a reason for this behaviour. Here is my Obsidian Files and Links config:

Attachment folder path is set to assets, while actual folder was named Assets. This does not prevents Obsidian to work as expected, but breaks NO Nuke orphaned links command. If I change the attachment folder name in Obsidian config to Assets - NO starts to work as exected. If I change it back to assets - NO could not find the orphaned attachments.
So - this is a case sensitivity issue.

This is intended behavior of the plugin, but it is weird that obsidian is case insensitive
The reason for difference between 'Nuke Orphaned Files' and 'Nuke Orphaned Attachments' is cause of different APIs used, first reading the files using the attachment path, latter reading only obsidian cached data


[App Request] Authelia

App Information

Name: Authelia
Short Description: Authelia is an open-source authentication and authorization server providing two-factor authentication and single sign-on (SSO) for your applications via a web portal. It acts as a companion for reverse proxies by allowing, denying, or redirecting requests.
Official Website: https://www.authelia.com/
GitHub Repository: https://github.com/authelia/authelia
Docker Image: authelia/authelia

Why do you want this app?
Authelia is a robust authentication and authorization solution that brings enhanced security features to user access management.
Firstly, Authelia's multifactor authentication capabilities provide an additional layer of protection, ensuring that only authorized users can access sensitive data and applications. This aligns with the increasing need for heightened security measures in today's digital landscape.
Moreover, Authelia's support for single sign-on (SSO) streamlines the user experience by allowing seamless access to multiple applications with a single set of credentials. This not only enhances user convenience but also reduces the risk associated with password fatigue and potential security vulnerabilities.
And Authelia secures the machine's reverse proxy, enabling users like me to secure access to web services.
Additional information?
No response

This would be very useful. I'm running casaos on my pi to make it simpler to manage and I would like to move authelia from unraid to better separate the services.
Hopefully this gets added soon!

I'll try to make it, I need it myself.

@TheFlomax   Authelia is built. I'm having a problem integrating it with nginx reverse proxy at the moment.
I'll try to see if it works with swag.
if it works, would you like to try it?

I only integrated it with nginx Proxy manager so I cannot really help trying with swag. I was planning to copy my config from unraid and see how that works

You can try and share your config, I can't integrate it with nginx proxy, I'm missing files (proxy.conf, authelia-authrequest.conf) that nginx can't find, I've searched for the files myself in the mapper folders, I can't find them, uninstall reinstall still the same for the moment.
integrating it with swag is pretty straightforward, I've got the config running under dsm. The most complicated part will be for the user, who will have to define a few environment variables.

@TheFlomax   Authelia is built. I'm having a problem integrating it with nginx reverse proxy at the moment.
I'll try to see if it works with swag.
if it works, would you like to try it?

I don't have swag, but I can test it with Caddy.

@TheFlomax if you want to test it, here's the link to add it to the app store
https://github.com/ProBreizh35/CasaOS-AppStore/archive/refs/tags/beta_V_0.0.2.zip
I changed the default port to 9095 instead of 9091 because 9091 is busy at the moment.


[Enhancement] Customize placement of "Read More"

I really like the Read More feature when rendering the episode descriptions in the episode rows.  For some of my episode descriptions I'd like to insert the Read More prompt earlier than the 600 character mark (I believe I'm interpreting that limit correctly when viewing the row.html partial.  I can think of a couple of ways to accomplish this:

Add an optional configuration parameter for an episode to override this value
Make use of some special variable that could be inserted in the episode's description text to indicate where to put the Read More link (something like a wildcard)

Certainly not an urgent feature but down the road it might be nice to have it.

I can definitely see where it would be useful to set your own truncate value; it should be fairly trivial to do (the truncate code is super simple compared to how I was doing it in another theme), so I'll we'll work on it!

Okay I read this again, and I misunderstood the requirement. You would like more control over where the summary occurs. I believe there is a way to handle this natively in Hugo; I'll dig into it. The issue that I think occurs is that the "summary" won't show up (or it does show up, I don't recall) in the description.
I understand that a 600 character truncate on description is opinionated (and was arbitrary) so maybe it can be something that is optional per epiosde. I also wonder if your description is over this amount if it's took long in general :)

I had some time to think more about it.  For one case, it would be great to just be able to customize the 600 limit on a per-episode basis.  Though my other want would be to enable the "Read More" link to appear after the entire episode description, no matter how many characters it happens to be.  That would make it a convenient way for the user to bring up the detailed notes right after reading the description.  Might be too esoteric so I understand if that's not what you plan to build in.

FYI I finally got my site up-to-date with your lastest-ish theme files and it looks fantastic!

Looks great! Amusingly enough, I added the "list of guests" page to the theme today, before looking at your site. Great minds think alike!

So thinking this through...the idea is that there is a new frontmatter element like this:
+++
Description = "Seed money learning curve client beta accelerator handshake non-disclosure agreement pitch startup burn rate early adopters innovator. Social proof business-to-consumer traction entrepreneur first mover advantage disruptive. Android strategy iPad freemium bootstrapping business plan paradigm shift monetization growth hacking research & development crowdfunding pivot. Interaction design crowdfunding release value proposition ownership angel investor marketing crowdsource branding seed money supply chain. Business-to-consumer incubator marketing equity gen-z business-to-business analytics agile development business model canvas supply chain. Focus holy grail business-to-consumer marketing beta advisor funding. Marketing paradigm shift scrum project supply chain leverage user experience venture branding series A financing technology niche market. Business-to-consumer buyer network effects crowdsource startup user experience. Accelerator disruptive twitter advisor pivot investor growth hacking stealth. Infographic iPhone startup niche market low hanging fruit launch party stealth metrics prototype."
author = "Matt"
date = "2016-04-25T04:09:45-05:00"
episode = "7"
episode_image = "img/episode/april.jpg"
explicit = "no"
guests = ["jdoe", "jsmith"]
images = ["http://www.google.comimg/episode/default-social.jpg"]
podcast_duration = "1:08:22"
podcast_file = "arrested-devops-podcast-episode053.mp3"
title = "april fools"
youtube = "X56Bt2zDNyA"
truncate = "600"

+++

And it will truncate that particular episode at that level.
I'm wondering if it's better to make this a global configuration value; rather than doing it on a per-episode basis (having done 85 episodes of ADO, I can't imagine trying to puzzle out where I want it to cut off for each one) but rather saying "OK, Matt, I see why you like it to truncate at 600 runes, but I prefer 900". So if it's set in config.toml, it uses that value, but if not, it uses the default. I think that would be simpler.
I suppose it would be possible to do both, as well...allow a global override, but also a per-episode override? Thoughts?

Hey sorry for getting back to you late on this.  Ideally I'd prefer both ways (global override but also an optional per-episode option in the frontmatter).  I certainly don't want to force others (especially yourself) to have to make this config in each episode's options retroactively!


Create 0000-01-02-johncschuster.md

add header to file

Can you merge this PR for me?

Hello @hollenberry / @hectorsector! Nice to meet you!
It looks like Github Learning Bot is stuck at merging my PR, and I'm unable to do it. Would you mind merging the PR for me?
Thanks! ❤

Hey @johncschuster ! Unfortunately @hectorsector and I don't have any permissions here, but I think it looks like you're set up and ready to merge!
If you're having any issues troubleshooting, mind dropping us a line in https://github.community/t5/GitHub-Learning-Lab/bd-p/learn ?
This forum is monitored daily and the best way to get at a reliable and quick response ✨ . Good luck, keep it up!


VIC 5.0 classic never skips forcing records

VIC 5.0 classic never skips forcing records - the first record in the forcing file will be used on the first step of the simulation, regardless of the date/time that the simulation is supposed to start.
The variable global.forceskip[i] is supposed to contain the number of records of forcing file i to skip before storing them in the atmos[] array.  global.forceskip[i] is initialized to 0 (as in 4.2).  But the value of global.forceskip[i] is never computed.  In 4.2, the values are computed in make_dmy.c.  In 5.0, make_dmy.c was overhauled to use date2num(), but it appears that the overhaul omitted the section that computed global.forceskip[i].

closed via #344

This issue still appears to be open... but should be closed...


RequestTimeTooSkewed Error in CPP

hi,
I am developing an application in mfc c++. I have stored my data in S3 bucket and am trying to pull that using aws cpp sdk . When skew time is more than 15 minutes I get generic error "Unable to connect to endpoint " or "403 forbidden" . I would like to get more specific error saying there is "time skew". Is there any function in cpp that can give me.
please let me know if there is any function like that or try to implement in next release.

Hello,
Can you give me any more details (platform, OS version, SDK version) how you are developing?  When I do an S3 Get with a bad value for my system clock, I get "RequestTimeTooSkewed" as the exception name.

hi,
I am developing an application in MFC C++ where I use S3 to get content of
storage. I am using Windows 7. I am using latest sdk.
When am trying to download an .xml file from S3 with clock skew greater
than 15 mins. I get error description in .xml file and sdk writes
RequestTimeTooSkewed error into log file but in cpp code I didn't find any
function which gives detailed description instead it says "unable to
connect to end point".
In simple words, If there is time skew then I want a function which is
gives error description as "RequestTimeTooSkewed" instead of generalized
error description.
Thanks & Regards,
Kusumuru.
On Mon, Aug 29, 2016 at 1:00 PM, Bret Ambrose<EMAIL_ADDRESS>wrote:

Hello,
Can you give me any more details (platform, OS version, SDK version) how
you are developing? When I do an S3 Get with a bad value for my system
clock, I get "RequestTimeTooSkewed" as the exception name.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aws/aws-sdk-cpp/issues/282#issuecomment-243202920,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUJvswx_HLPDr5r9VElm_gdOfswuUN8pks5qkx5SgaJpZM4JoxqE
.

I'm experiencing similar problems (Android/iOS). Not sure if it is the same issue, but I'm always receiving an UNKNOWN error type (100). Tested with 403 errors (such as RequestTimeTooSkewed) and 404 errors (trying to download non-existing resources).
Debug log shows (same for 404 errors):
[DEBUG] 2016-09-02 20:44:50 AWSClient [0x16e3eb000] Request returned error. Attempting to generate appropriate error codes from response
[ERROR] 2016-09-02 20:44:50 AWSClient [0x16e3eb000] No response body.  Response code: 403
[DEBUG] 2016-09-02 20:44:50 CurlHttpClient [0x16e84b000] Returned http response code 403
[DEBUG] 2016-09-02 20:44:50 CurlHttpClient [0x16e84b000] Returned content type application/xml
[DEBUG] 2016-09-02 20:44:50 CurlHttpClient [0x16e84b000] Releasing curl handle 0x112598000
[DEBUG] 2016-09-02 20:44:50 CurlHandleContainer [0x16e84b000] Releasing curl handle 0x112598000
[DEBUG] 2016-09-02 20:44:50 CurlHandleContainer [0x16e84b000] Notifying waiting threads.
[DEBUG] 2016-09-02 20:44:50 AWSClient [0x16e84b000] Request returned error. Attempting to generate appropriate error codes from response
[WARN] 2016-09-02 20:44:50 AWSErrorMarshaller [0x16e84b000] Encountered Unknown AWSError
XML_ERROR_EMPTY_DOCUMENT
Unable to generate a proper httpResponse from the response stream.   Response code: 403:

hi ,
I am using Windows platform,  Os is windows 7, Aws cpp Sdk Version is 0.14.4 . It would be great if I display "RequestTimeTooSkewed" Error to my customer instead of displaying generalized error "Unable to connect to end point" when the connection failed due to time skew.
I hope it get fixed in next release and let me know if you have any queries.
Thanks & Regards,
Kusumuru.

I just pushed a fix for this. The way it works is as follows. If we recieve a signing error, we check the date header returned from the server. If it's off, we automatically adjust the clock skew and retry the request. Once it is adjusted the first time, the client will have the correct timestamp. This should happen invisibly to the user without any errors surfacing.
Feel free to reopen if you still have problems or have any further questions.


[FEATURE] log level toggle with a control command

Is your feature request related to a problem? Please describe.
Right now the only way to change the log and tracing level in the wasmcloud host is to update the environment variable or flag and restart the process. This means that if you're trying to actively debug an issue as it is occurring, you will need to redeploy your host which may mask any issues or make it harder to reproduce a problem
Describe the solution you'd like
The wasmcloud host should support a control interface command to toggle the verbosity of the logging level at runtime. There is plenty of prior art in this space, ex. NATS now supports a command to dump a pprof with a SYS topic command.
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.

Another possible alternative: using a feature flagging library of some kind. I recently learned about https://openfeature.dev/, but still need to evaluate it to see if it could work

@thomastaylor312 I don't have a strong preference as long as it's something that can be changed at runtime. I proposed the control interface topic since it's what we have now, but if something like OpenFeature works better then I'm all for it


Add unseal

Add defaults for UBUNTU_VERSION and VAGRANT_PROVIDER
Update docs
Add unseal shortcut

The intended purpose is to simplify the subsequent unseals or unseal the other 2 Vault servers
VAULT_UNSEAL_KEY=<vault-unseal-key> make unseal

Thanks for the PR @rchenzheng. I just left a comment to make sure documentation is up-to-date.
Otherwise, looks good!


GCC8 on Ubuntu 18.10 segfaults a lot

might have been down to python 3.7 also, to confirm

reopen if seen


Duplicate Key Warnings when opening Problems View and the Settings editor

(likely a duplicate, filed again for discussion)

Duplicates #16674


Visible numerical element position for Gradient, Colorize and anything else that uses gradients.

Would be fantastic to see the position value of the gradient elements somewhere. Even if it only shows up on the extended double-click view. So you can have that perfect center or perfectly sized lines , for example.

Yes, I hope this will be implemented. Also tonality node, colorize node and other similar nodes should have this improvement :)

Yes, I hope this will be implemented. Also tonality node, colorize node and other similar nodes should have this improvement :)

Time to celebrate, it has been implemented. Could be improved, but still very helpful.


Reach parity with Sublime Text's plugin as much as possible

Figure out which shortcuts can be added that's missing
Investigate potential behaviors that can be added

Closing this since this is almost as close as I can get before being disruptive just to mimick some of Sublime Text's version's things


rustc-ice-*.txt files are watched, causing infinite loop of recompiling

Newer versions of rustc (possibly nightly only?) automatically produce log files named like rustc-ice-2023-08-21T15:55:30.315378Z-2018.txt if the compiler panics. If cargo watch is used and the compiler panics, this will create an infinite loop as cargo watch sees the new file from each run and recompiles.
It would probably be good to ignore these files automatically.

Thanks! Added in 8.4.1


python311Packages.aioopenexchangerates: 0.4.6 -> 0.4.7

Diff: https://github.com/MartinHjelmare/aioopenexchangerates/compare/refs/tags/v0.4.6...v0.4.7
Changelog: https://github.com/MartinHjelmare/aioopenexchangerates/blob/v0.4.7/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 284725 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.openexchangerates
python311Packages.aioopenexchangerates
python311Packages.aioopenexchangerates.dist


Convert project.notes into hidden machine-readable field

Project.notes should be converted into a machine-readable field similar to sites.notes.
See #264
This will involve:

[x] Combining notes into description
[ ] remove text box from project edit page

Manually deleted content  of notes field on these projects, and appended the content onto the description.
1017
1023
1024
1026
1031
1036
1037
1038
1041
1047
1055

:tada: oh, righto then, that was all?
Well, I'll remove that field from the project edit page then.

Yeah only a few had notes that had been changed. We've not used project notes for anything officially.
Real easy cut-paste edit in pgAdmin's table editor

Should staging also be cleaned up?

Yeah, I checked; no records on staging have non-empty notes.


Update build tools version

we should follow this https://github.com/react-native-community/react-native-camera/pull/1380 instead

fixed here https://github.com/corymsmith/react-native-fabric/pull/177


Cross referencing to other similar content

It would be very helpful to have a page like this for every MS Defender product and links between them to make it very easy for operational teams to get this info. It is scattered in many places and anything you can do to consolidate Ops Guidance would be appreciated. It would also be great if this could be exported as a CSV so that it could be added to other systems such as Planner or Service Now.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 070967c0-919e-30de-b3c6-9c1ea3f41be5
Version Independent ID: 070967c0-919e-30de-b3c6-9c1ea3f41be5
Content: Security Operations Guide for Defender for Office 365 - Office 365
Content Source: microsoft-365/security/office-365-security/mdo-sec-ops-guide.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@chrisda Please help us in resolving this issue. Thanks

Definitely a good idea, but monumental in scope and time, and not really trackable via a GitHub issue.


Add Regex Support to Enso

Summary
Data often comes in totally arbitrary formats. In order to properly clean it up it's common to write ad-hoc parsers using regex. This makes it very important that we integrate regex support into Enso in an intuitive and seamless fashion.
Value
Users will be able to use regex for cleaning their data.
Specification

[x] This all needs to be done in a unicode-aware format. This means that we have to be careful as ICU4J doesn't provide that support, but Java's inbuilt one requires some configuration.
[x] Implement Text.Span start end that contains span data in text, demarked by grapheme clusters.
[x] Check the parser implementation to ensure that it does raw strings properly enough for regex. Modify the parser to properly support raw text.
[ ] Add .utf_16 and .from_utf_16 methods to Text.
[ ] Implement Regex.Engine to track the engine and any engine-specific configuration. These also need to provide a method to convert from Regex.Option to the engine's internal options.
[ ] Implement Regex.Option to contain all the regex options that are common.
[ ] Implement type Regex as follows:

[ ] A representation of a precompiled regular expression.
[ ] It should track the textual representation of the pattern.
[ ] It should track the engine that it uses.
[ ] It should track the options it was compiled with.

[ ] Implement type Regex.Mode = First | Integer | All | Full that describes how many matches to make. First finds only the first match. Limit is the maximum number of matches to make. All is to match as many as possible, and Full only matches if the entire input is matched by the regex in one go.
[ ] Implement the type Regex.Match, which contains:

[ ] Regex.Match.group : (Integer | Text) -> Text ! No_Such_Group_Error, that provides a mechanism to look up groups by index or by name.
[ ] Regex.Match.groups : (a : Any) -> Vector (Text | a), that returns a vector of the text that matches all groups, with the result for groups that didn't participate in the match (optional ones) as the value of a (defaults to Nothing).
[ ] Regex.Match.named_groups : (a : Any) -> Map Text (Text | a), that returns a map of named groups, keyed on the group name. The value for groups that didn't participate in the match (optional ones)  is a (defaults to Nothing).
[ ] Regex.Match.start : (Integer | Text) -> Integer | Nothing ! No_Such_Group_Error, that returns the index in the text where the group given by either index or name started, or Nothing if that group did not match but does exist.
[ ] Regex.Match.end : (Integer | Text) -> Integer | Nothing ! No_Such_Group_Error, that returns the index in the text where the group given by either index or name ended, or Nothing if that group did not match but does exist.
[ ] Regex.Match.span : (Integer | Text) -> Span ! No_Such_Group_Error, that returns the span for the provided group. If the group did not match, returns Nothing for each index.
[ ] Regex.Match.start_position : Integer, that gets the start position for the operation.
[ ] Regex.Match.end_position : Integer, that gets the end position for the operation.

[ ] Implement the module Regex:

[ ] Provide Regex.compile : Text -> Regex.Engine -> Vector Regex.Option -> Regex, that compiles the provided Text to a regex.
[ ] Provide Regex.escape : Text -> Regex.Engine -> Vector Regex.Option -> Text, that escapes all characters in the input regarded as special characters by the Regex.Engine. This is useful when you want to programmatically match on a literal string that may contain metacharacters.

[ ] Implement the following extensions on Text, where this is considered to be the input text. Where the matcher is a Text, it should be compiled to a Regex on the fly. If options or specific engines are needed, a regex should be precompiled (this fact should be clearly documented).

[ ] Text.match : (Text | Regex) -> Regex.Mode -> Vector Regex.Option -> Range ->  Regex.Match | Vector Regex.Match | Nothing, that takes a text or regex and tries to match it against this. The Mode should default to All. The Range is the start and end position for the operation.
[ ] Text.find : (Text | Regex) -> Regex.Mode -> Vector Regex.Option -> Range -> Text | Vector Text | Nothing, that finds the text of each of the specified matches in the string. The Mode should default to All. The Range is the start and end position for the operation.
[ ] Text.split needs to have Regex added to it, and also have the Text pattern treated as a regex. It should have an additional argument added (of type Regex.Mode) that specifies how many splits to make. The existing split types should just wrap regexes.
[ ] Text.replace needs to have Regex added to it, and also have the Text pattern treated as a regex. It should have an additional argument (of type Regex.Mode) that specifies how many splits to make.

[ ] Write specific tests using unicode graphemes to check that all regex operations behave properly.
[ ] Add the following regex operations on Column:

[ ] Column.match : Text | Regex -> Column Boolean that creates a boolean column corresponding to matches.
[ ] Column.parse : Text | Regex -> Vector Text -> Table, that creates a table with columns of the given names and values of the given groups.
[ ] Column.replace : Text | Regex -> Column, does text replacement in a textual column.

[ ]  Add the following operations on Table:

[ ] Table.match : Text -> Text | Regex -> Text -> Table, that matches on the specified column, and adds the resultant boolean column with the provided name to the table.
[ ] Table.parse : Text -> Text | Regex -> Vector Text -> Table, that adds columns with the specified names containing the groups matched.
[ ] Table.replace : Text -> Text | Regex -> Table, that performs a replacement "in place" on the specified column.

Acceptance Criteria & Test Cases

[ ] Enso has comprehensive regex support.

In the future we probably want to expand replace to allow placeholders for accessing groups in the match (e.g. $1, $2, ${name}).

After discussion with @wdanilo, we've decided to simply ignore the issue with indices being offset for now, and instead explicitly say that these indices are only usable with the results of .utf_16 being called on the Text.

The operations on Table and Column will be delivered in a separate issue, also accompanied by:

[ ] Comprehensive documentation of the regex syntax.
[ ] Comprehensive examples.


Enhancment: Replace starlette's CORSMiddleware with our own implementation

This is part of #612. Some details have already been laid out there.

I think I can take it

@seladb wassup? any progress?

Hi @Goldziher! I'm currently busy creating a new release for PcapPlusPlus (my other open-source project) so I don't have much time to contribute to Starlite. Then I'm planning to take some time off. If someone wants to take this issue please feel free to do so. Otherwise, I hope I'll be able to get back to it by the end of November

hi, ok thanks. No I would like to get this done within the next week or so. So I will take this over.


Better links for full deployment examples

It is easier to read when inside the folder than just seeing the readme as this readme refers to files in the folder.

Thanks!


KIC Konnect Set Up  instructions

Where is the problem?
https://docs.konghq.com/konnect/getting-started
What happened?
I wanted to set up kong konnect following instructions in https://cloud.konghq.com/eu/gateway-manager/[namespaceid]/view-connection-instructions but it is not working my deployment ends up with logs:
 Retrying kong admin api client call after error {"v": 0, "retries": "22/60", "error": "making HTTP request: Get \"https://localhost:8444/\": dial tcp <IP_ADDRESS>:8444: connect: connection refused"}

And when I check the official chart in artifacthub the values.yaml doesn't even correspond to the one given in instructions. It is very confusing.
the documentation should contain up to date instructions for KIC set up.
What did you expect to happen?
successful set up of connect or at least some instructions to help debug, these are the first steps to getting started and not well documented, frustrating !
Code of Conduct and Community Expectations

[X] I agree to follow this project's Code of Conduct
[X] I agree to abide by the Community Expectations

@iam-robi From the URL KIC tries to call admin APIs, It looks like KIC is not running in "Gateway Discovery" mode: https://docs.konghq.com/kubernetes-ingress-controller/latest/production/deployment-topologies/gateway-discovery/#main.
How did you deploy your KIC and Kong gateway? Are you following the instructions? If so, I would like to see the status of helm releases by helm list releases -n kong and status of pods in the release by kubectl get pods -n kong.

@iam-robi I'm closing this issue it seems like the problem may be fixed. please reopen if you are still having an issue.


Bump ODBC driver and Ruby versions (drop 2.6, pick up 3.1)

Update the Snowflake ODBC driver that the GitHub Actions use, and drop testing support for Ruby 2.6, picking up Ruby 3.1 in the process.

Huh looks like GitHub actions are confused by the removal of 2.6 and are still waiting for it? Odd!

Huh looks like GitHub actions are confused by the removal of 2.6 and are still waiting for it? Odd!

Yeah, it automatically tried starting that as soon as the PR was opened, before the changes went through I guess 😅 but its not blocking us here!

Updated the branch protection to require 2.7 and 3.0 tests (left 3.1 optional until after this goes in so it doesn't block my other PR).


Handle inrush current wrt. OCP

For resistors drawing, say, 400mA, the current limit needs to be set to 600mA or the OCP will kick in immediately when enabling power.
The inrush current needs to be handled, eg. by accepting inrush current > I_limit for a short period of time.

Yes, I have seen the spikes too. Someday I will look into this, perhaps a ramp of a few ms could solve this.

I was thinking of this problem just recently. Perhaps having a fixed period of ~30ms and then in the settings you can adjust the percentage overcurrent it will allow for that period


Ignore functions that cannot be executed during recovery.

https://github.com/wrouesnel/postgres_exporter/issues/52

Coverage remained the same at 51.815% when pulling f339ba4a96b79cb0c79f3a0c4343a5fcd1e10491 on tgxworld:skip_wal_functions_when_in_recovery into 1fa394d4888ed8893e275b1686507fe4c3ff1172 on wrouesnel:master.


What is the difference between user.userRepos and user.repos?

The former is awful for performance; it seems like they're roughly the same thing.

userRepos() and repos() are very similar. The only difference is that repos() retrieves the repositories of the authenticated user while userRepos() retrieves the repositories of the username provided. The reason for the difference in performance is that userRepos() was doing the right thing while repos() wasn't. To be precise, userRepos() was retrieving all the repositories of the test user that we employ for our tests. repos() was only retrieving the first page (e.g. the first 100 repositories).
The issue with repos() has been fixed in commit adcfbdda4a640b7234b6e196d46023404528f106.
In addition to that,  userRepos() has the problem that it didn't allow a user to specify the same options that we support in repos(). This has been fixed in commit 2373a36cc26e6cfe7fd9e8e2cdc00894cb8d3ac2.

@AurelioDeRosa :tada: Awesome, thanks for clarifying that!


updated style to fix issue with carousel expanding beyond modal

@mleeBoeing @blynch11p

:+1:

:+1:


Integration with Gatsbyjs

Given that Ponzu appears in the top-5 Headless CMS - https://headlesscms.org/, it will fantastic to have Ponzu-Gatsbyjs integration (similar to NetlifyCMS / Strapi)
References:

Gatsbyjs - https://www.gatsbyjs.org/
From React-Europe-2018 talk by @KyleAMathews - https://drive.google.com/file/d/1Zw-apX8HPnnWgL1hOENquDUeTnKkNlD4/view
Gatsby Strapi plugin example: https://www.gatsbyjs.org/packages/gatsby-source-strapi/?=stra

That sounds cool - I had started a JS / Typescript client for ponzu, based on the official Go client (https://github.com/ponzu-cms/go-client) but was distracted from the project. I'd love to see someone take the lead on it.
Do you have a proposal as to how you'd see this done? I have not used Gatsby but am familiar with the project. Ponzu exposes a very simple HTTP API, so writing a wrapper around some npm HTTP module would probably be fairly straightforward. This way, it could be integrated into other front-end frameworks as well.

Or another idea would be to offer GraphQL APIs natively (alongside REST APIs)?
There are some possible candidate Go libraries compared (listed in the 1st reference) and some discussions whether Models should be statically typed. Not sure which one would pan out better for Ponzu, having a pre-defined Schema would greatly reduce complexity?
References

https://github.com/vektah/gqlgen
https://news.ycombinator.com/item?id=16352611

interested...   how is this project going?   can I help out on this?

@vinceyoumans - I don't think anything has started yet, so feel free to jump in however you see fit! If @ramkumarkb has any direction, maybe you could coordinate.

Closing this issue. There's been no activity. Please reopen if need to.


Use IFileDialog for folder selection on Windows

If windows is XP or lower, use legacy approach.
In legacy folder select fix not specifying that wchar_t* is provided for title and default path.
Fix C2065 and C2100 error when compiling using MSVC 14.0
Add platform specific default folder to example.cpp

Thanks. I merged your branch into a separate branch, because there are a few things I would like to clean up first.

That's okay. But looks like we can't use <VersionHelpers.h> when compiling for XP. If I choose XP support, VisualStudio says that it couldn't find this header. Since in this case we're not using win 8 sdk.
So maybe just include necessary function directly (like here https://stackoverflow.com/a/27324801)?


proposing font changed bool

a script sometimes needs to know if a font object has been edited
so I would like to propose:
return a bool (or None)

True: the font has changes
False: the font has no changes
None: could not detect changes, or there is no change registry (fe RFont without an ui)

font.isEdited
font.hasChanged (this was somehow implemented in robofab)

use case: http://forum.robofont.com/topic/482/detect-unsaved-changes-via-script/3


Overflow Exception In Trap Handling

I'm experimenting with a better way to handle traps and I've come across what looks like a bug in the current implementation.
I modified Trap.wat to cause a stackoverflow instead of using unreachable. I expected that to cause a TrapException of type StackOverflow, instead I'm seeing an OverflowException:
Xunit.Sdk.XunitException
Expected a <Wasmtime.TrapException> to be thrown, but found <System.OverflowException>: "
"System.OverflowException with message "Arithmetic operation resulted in an overflow."
     at System.UIntPtr.op_Explicit(UIntPtr value)
     at Wasmtime.TrapFrame..ctor(IntPtr frame) in C:\Users\Martin\Documents\dotnet\wasmtime-dotnet\src\TrapException.cs:line 50
     at Wasmtime.TrapException.FromOwnedTrap(IntPtr trap) in C:\Users\Martin\Documents\dotnet\wasmtime-dotnet\src\TrapException.cs:line 179
     at Wasmtime.Function.Invoke(ReadOnlySpan`1 arguments, Span`1 resultsOut) in C:\Users\Martin\Documents\dotnet\wasmtime-dotnet\src\Function.cs:line 2218
     at Wasmtime.Function.InvokeWithoutReturn(ReadOnlySpan`1 arguments) in C:\Users\Martin\Documents\dotnet\wasmtime-dotnet\src\Function.cs:line 2063

This is coming from this code in the TrapFrame constructor:
FunctionOffset = (int)Native.wasm_frame_func_offset(frame); // <-- Exception Here!
FunctionName = null;
ModuleOffset = (int)Native.wasm_frame_module_offset(frame);
ModuleName = null;

Native.wasm_frame_func_offset returns a UIntPtr (platform dependent, 64 bits on my PC) but it's being cast into an int (always 32 bits).
Should FunctionOffset be converted into an nuint instead? If so should the same change be made to ModuleName?

The overflow exception was fixed in #153, which included the change to use nuint instead (see here).

Thanks for verifying this!


000_toolbar download not working.

Try download 1.7.10 version. it say 000_Toolbar not found. But when you go in the browser same address toolbar found.

Duplicate of https://github.com/KSP-CKAN/CKAN/issues/1544


Created template for enhancement issue

Please suggest changes,if any @sharmaaditya570191

The template should appear when the user tries to open a new issue on github. Please make the required changes for that.

@sharmaaditya570191 Okay I'll do the required changes.

@sharmaaditya570191 I did the required amendments.Kindly have a look at my new pull request
https://github.com/sharmaaditya570191/BossY/pull/42


buildPython*: wrap setuptools in hook for catching conflicts

By default buildPython* runs a hook for detecting conflicting packages.
This hook needs pkg_resources which is part of setuptools.
Before this commit, setuptools was simply added to the build. This meant
that when setuptools was forgotten to be added to the build, the build
and installation would still succeed because of this package from the
hook. During runtime (and cross-compilation) one would notice the
missing package.
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Does this also fix the pythonImportsCheck issue reported in https://github.com/NixOS/nixpkgs/issues/133032 ?

It will fix the cases where the build system is not setuptools. If the
build system is setuptools it will still be missed. We could maybe
introduce a HOST_PYTHONPATH here like mkDerivation does with.
On Wed, 10 Aug 2022, 21:44 Stefan Frijters, @.***>
wrote:

Does this also fix the pythonImportsCheck issue reported in #133032
https://github.com/NixOS/nixpkgs/issues/133032 ?
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/185815#issuecomment-1211189329,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQHZ33YN32Z5DVSLKKORJDVYQBALANCNFSM56BPFIXA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Bisect claims that 13bb0f49f7afe8296452d70e7782ac1d67b064da buildPython*: wrap setuptools in hook for catching conflicts broke python3Packages.pdm-pep517 in staging as:
$ nix build -L -f. python3Packages.pdm-pep517
...
python3.10-pdm-pep517> ----------------------------- Captured stderr call -----------------------------
python3.10-pdm-pep517> Traceback (most recent call last):
python3.10-pdm-pep517>   File "/build/pdm-pep517-1.0.4/tests/fixtures/projects/demo-cextension-in-src/setup.py", line 3, in <module>
python3.10-pdm-pep517>     from setuptools import setup
python3.10-pdm-pep517> ModuleNotFoundError: No module named 'setuptools'
python3.10-pdm-pep517> =========================== short test summary info ============================
python3.10-pdm-pep517> FAILED tests/test_api.py::test_build_with_cextension - pdm.pep517.exceptions....
python3.10-pdm-pep517> FAILED tests/test_api.py::test_build_with_cextension_in_src - pdm.pep517.exce...

The expression of that package should be fixed.

My attempt at fixing python3Packages.pdm-pep517: https://github.com/NixOS/nixpkgs/pull/191230

Getting past python3Packages.pdm-pep517 I now see similar import failures in mypy (or is it pip?):
nix build --no-link -f. -L mypy
python3.10-mypy> Sourcing python-remove-tests-dir-hook
python3.10-mypy> Sourcing python-catch-conflicts-hook.sh
python3.10-mypy> Sourcing python-remove-bin-bytecode-hook.sh
python3.10-mypy> Sourcing pip-build-hook
python3.10-mypy> Using pipBuildPhase
python3.10-mypy> Using pipShellHook
python3.10-mypy> Sourcing pip-install-hook
python3.10-mypy> Using pipInstallPhase
python3.10-mypy> Sourcing python-imports-check-hook.sh
python3.10-mypy> Using pythonImportsCheckPhase
python3.10-mypy> Sourcing python-namespaces-hook
python3.10-mypy> Sourcing python-catch-conflicts-hook.sh
python3.10-mypy> unpacking sources
python3.10-mypy> unpacking source archive /nix/store/mcqjn6vd5qs39ijj2slpikmm5z8b6286-source
python3.10-mypy> source root is source
python3.10-mypy> setting SOURCE_DATE_EPOCH to timestamp 315619200 of file source/tox.ini
python3.10-mypy> patching sources
python3.10-mypy> configuring
python3.10-mypy> no configure script, doing nothing
python3.10-mypy> building
python3.10-mypy> Executing pipBuildPhase
python3.10-mypy> Creating a wheel...
python3.10-mypy> WARNING: The directory '/homeless-shelter/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
python3.10-mypy> Processing /build/source
python3.10-mypy>   Running command Preparing metadata (pyproject.toml)
python3.10-mypy>   Preparing metadata (pyproject.toml) ... done
python3.10-mypy> ERROR: Exception:
python3.10-mypy> Traceback (most recent call last):
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 167, in exc_logging_wrapper
python3.10-mypy>     status = run_func(*args)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
python3.10-mypy>     return func(self, options, args)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/commands/wheel.py", line 145, in run
python3.10-mypy>     requirement_set = resolver.resolve(reqs, check_supported_wheels=True)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 75, in resolve
python3.10-mypy>     collected = self.factory.collect_root_requirements(root_reqs)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 506, in collect_root_requirements
python3.10-mypy>     req = self._make_requirement_from_install_req(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in _make_requirement_from_install_req
python3.10-mypy>     cand = self._make_candidate_from_link(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 215, in _make_candidate_from_link
python3.10-mypy>     self._link_candidate_cache[link] = LinkCandidate(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 291, in __init__
python3.10-mypy>     super().__init__(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 161, in __init__
python3.10-mypy>     self.dist = self._prepare()
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 230, in _prepare
python3.10-mypy>     dist = self._prepare_distribution()
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 302, in _prepare_distribution
python3.10-mypy>     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 428, in prepare_linked_requirement
python3.10-mypy>     return self._prepare_linked_requirement(req, parallel_builds)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 497, in _prepare_linked_requirement
python3.10-mypy>     dist = _get_prepared_distribution(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 58, in _get_prepared_distribution
python3.10-mypy>     abstract_dist.prepare_distribution_metadata(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata
python3.10-mypy>     self.req.prepare_metadata()
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/req/req_install.py", line 526, in prepare_metadata
python3.10-mypy>     self.metadata_directory = generate_metadata(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata
python3.10-mypy>     distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir)
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_internal/utils/misc.py", line 706, in prepare_metadata_for_build_wheel
python3.10-mypy>     return super().prepare_metadata_for_build_wheel(
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py", line 188, in prepare_metadata_for_build_wheel
python3.10-mypy>     return self._call_hook('prepare_metadata_for_build_wheel', {
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py", line 332, in _call_hook
python3.10-mypy>     raise BackendUnavailable(data.get('traceback', ''))
python3.10-mypy> pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
python3.10-mypy>   File "/nix/store/xbxx4rybspani1wxp7aph1925z2f8prp-python3.10-pip-22.1.2/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 89, in _build_backend
python3.10-mypy>     obj = import_module(mod_path)
python3.10-mypy>   File "/nix/store/7c5cm1a4vndgrygb9yfnwafgad9qaifa-python3-3.10.7/lib/python3.10/importlib/__init__.py", line 126, in import_module
python3.10-mypy>     return _bootstrap._gcd_import(name[level:], package, level)
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
python3.10-mypy>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
python3.10-mypy> ModuleNotFoundError: No module named 'setuptools'

Proposed possible pip fix as https://github.com/NixOS/nixpkgs/pull/191279


Need to generate a better starting page

Currently, there ware no index.md that the root calling should start from. As a part of fixing #91, I created it empty, and made it redirect to Getting-Started/01-introduction as used to be.
But this not a good practice, There should be a beautiful starting page with general info and visuals.
I created this issue to make content for it.

duplicated, see #204


Crunchyroll subtitles wrong language

Checklist

[ x] I'm asking a question
[x ] I've looked through the README and FAQ for similar questions
[ x] I've searched the bugtracker for similar questions including closed ones

Question

Hi, i cannot seem to get crunchyroll to download proper subtitles, im trying to download softsub (i dont like hardsub) and i use Youtube-dl -f best --write-sub --embed-subs then url but it always downloads spanish subs, is there a good way to get it to download all subs or at least just eng subs?


Accept other process than only convert

CloudConvert accepts other processes.
From API docs

Other possible values are info, combine, archive and extract.

I personally would like to use info process.
I'll setup a PR for accomplishing that.

Thank you for the PR. I'll be doing some upgrades this week to add more features including the ones in the PR. In the meantime, my advice is to use your fork as the git origin in the Gemfile.

Hi Edwinv, after testing my PR directly from by clone I realized that the change is not a simple as it sounds and the current implementation doesn't work well.
I would like to help you on extending the gem but unfortunately the next two weeks are a tight time to me.
Best.


update fuzz_linearizer

included non-reduce kernel and kernel with variables. green msg when everything passed. it's possible that creating rawbufs failed due to memory error, included that in failure cases

on tiny9
testing ast 13
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(409600,), strides=(1,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.uchar, st=ShapeTracker(views=(View(shape=(409600,), strides=(1,), offset=3535760512, mask=None, contiguous=False),)))
409600
Memory access fault by GPU node-1 (Agent handle: 0x559f9aee7a40) on address 0x7f5267e00000. Reason: Page not present or supervisor privilege.
[2]    51603 IOT instruction (core dumped)  FUZZ_N=100 PYTHONPATH=. python test/external/fuzz_linearizer.py

i think that's a disk tensor stuff, and disk tensor load should not be included in the kernel dataset

it looks like the one that involved Variables are having COMPARE_ERROR, likely the way we compare is wrong
on M1 Max, time FUZZ_N=1000 PYTHONPATH=. python test/external/fuzz_linearizer.py
have
tested=1000
COMPARE_ERROR: 10
COMPILE_ERROR: 44

some compile errors are due to temp too big (similar to test_failure_3), and others are internal errors
on tinybox it segfaulted at kernel 434.
@flammit fyi.


More support AMD models pls

Pls. Add old models AMD. (RX560-RX590)

Yes pls add it

just install hackintosh (macos 13.4 ventura or up) if you cpu is intel and gpu is amd, mine is working perfectly with macos

mine is rx 560 too, it can leverage MPS accelerator in macos, so it can utilising gpu in macos.

I have RX5600xt and training is very slow, took me couple of hours for just one epoch


Getting certain or all error level logs reported using Error Reporting

I am trying to get (some) error level logs reported to Error Reporting service. It doesn't seem to be happening when I use this library. To get reported an error log entry must have a context object attached to it: https://cloud.google.com/error-reporting/docs/formatting-error-messages
Does this library support attaching such a context so that the error gets reported?

Unfortunately, the logging structures used by Stackdriver differ based on some of their components/features.
In this case, the documentation you linked, states the following:

When logging error data from App Engine, Kubernetes Engine or Compute Engine, the only requirement is for the log entry to contain the full error message and stack trace. It should be logged as a multi-line textPayload or in the message field of jsonPayload (see the LogEntry reference).

Since this library outputs JSON format, you need to follow the part I highlighted from the quote.
The JSON format described on that page is for the "report" API, which is not what is used by this library, as that's less related to logging and more to error reporting:

When sending error data via the report API or when using custom logs, the following JSON structure must be used.

So:

this library uses the "LogEntry" format
which differs from the "reporting" format
the examples located here show you how you can use the error reporting functionality using this library.

I hope that helps clear things up for you.

Using stackdriver's Reporting API would have required a lot of code change in all my projects. I was searching for a solution which integrated with logging by using a log format which generates an error report. (All my projects use a common zap logger).
The "reporting" log format specifies that adding the keys serviceContext and context (with source code details) to the json log would generate an error report.
I know that this library uses the LogEntry format, but I couldn't find one which uses the reporting format. But these two formats don't seem to clash with each other (there are no keys in common). So I have added error reporting support in my fork by adding ServiceContext() and ErrorReport() as zap fields, and allowing the logger to be configured in a way so that all logs with error level and above would generate an error report. The default behavior remains unchanged.
You can read the changes to the library API: https://github.com/karixtech/zapdriver/blob/error_reporting/README.md#using-error-reporting
And you can see the diff here: https://github.com/blendle/zapdriver/compare/master...karixtech:error_reporting
I have already integrated this with one of my services, and error reporting is working. If you think this feature addition would be within the scope of this library, I would be happy to send a PR.
PS: I would have used the Reporting API if the logging method had not worked for me.

Thanks for the extra details. Having this implemented does sound interesting.
One question: does this mean that you can keep using the default logging API and get error reporting as well?

We currently use the Kubernetes with fluentd for logging and reporting. But from this comment it seems this is a stackdriver backend feature and not a part of fluentd plugin. So using the logging API should work.
From the docs for error reporting format:

The following payloads will be correctly processed by Error Reporting if sent to the report API or logged in LogEntry.jsonPayload

{
  "serviceContext": {"service": "worker"},
  "message": "Cannot process job: Missing attribute 'userId'",
  "context": {
    "reportLocation": {
      "filePath": "cleanup.js",
      "lineNumber": 42,
      "functionName": "processJob"
    }
  }
}

Which is the format I went with instead of putting the stacktrace in message field.
So adding these extra fields to LogEntry.jsonPayload would generate an error report.

Alright. That sounds good 👌
I briefly looked at your changes, they look mostly okay to me. There are some things we might want to clean up a bit, but we can discuss that once you’ve created a PR.


Language submenu

Align the languages submenu with the bottom of the Languages menu list item. (Language list ascends up from the bottom)
(PS I would normally recommend the alignment be to the top of the item and descend downward, but since this is at the bottom of the screen, we ought to push content up instead of down)
Browser metadata
Path:      /home?dao=eth:0xD26c85D435F02DaB8B220cd4D2d398f6f646e235
Browser:   Firefox 125.0 on Mac OS 10.15
Viewport:  1342 x 910 @2x
Language:  en-US
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved
Originally posted by @nicolaus-sherrill in https://github.com/decentdao/fractal-interface/issues/1678#issuecomment-2101495585

@nicolaus-sherrill where should the language menu appear on mobile? on mobile. the entire menu itself is full screen, so there's no room at the right.

Closed via https://github.com/decentdao/fractal-interface/pull/1753


Spell check

What is the purpose of the change

ClickUp Task
ClickUp Task URL
Brief Changelog

Testing and Verifying

Documentation and Release Note

Thanks!


Customizable padding

monaco-editor version: 0.16.0
Browser: Electron 4's version of Chrome 69
OS: macOS 10.14
I've recently replaced CodeMirror with Monaco in an app of mine and one thing I missed that I wasn't able to achieve was adding some custom padding to the editor.
As you can see in the gif below the rendered Markdown has some padding to it, while the editor has ~0.

I'd like to add to the editor the same padding that I have in the rendered Markdown, but I think this is impossible to achieve currently, I tried the following:

In order to add some padding to the left I added an empty decorations gutter (lineDecorationsWidth: 10). The problem is that if you disable line wrapping and scroll the editor to the right that empty gutter remains there, fixed, creating kind of an awkward border.

In order to add some padding to the right I told the editor that the scrollbar was like 20px wide and then resized it manually to 10px via CSS. This doesn't work when line wrapping is disabled, and although I haven't checked it I think it might mess up the position of the minimap too.

In order to add some padding to the top one has to add a custom "view zone". This solution doesn't have any critical drawbacks, but it was pretty awkward to implement as things like "scroll to the top" didn't really work with it, i.e. scrolling to the top doesn't scroll to the very top, and had to be overridden.

Is there's a way to implement this that I'm missing?
If not could something for implementing this be added? There are "view zones" that can be used for adding some padding on the Y axis, perhaps there should be something similar but for the X axis too?

@alexdima The ~recent addition of the "padding" option partially addresses this issue.
I'd be great if a "left" padding could be specified too, because otherwise eventually given enough lines of code a state will be reached where there's no padding at all between the line numbers column and the rest of the interface:
https://user-images.githubusercontent.com/1812093/103419794-7c6db000-4b8c-11eb-868e-25ac9b7deb18.mp4

@fabiospampinato As a workaround, you could use lineNumbersMinChars to define how many chars the line numbers should reserve.

@fabiospampinato As a workaround, you could use lineNumbersMinChars to define how many chars the line numbers should reserve.


Integration of trackpoint - possible?

The design of the redox keyboard without any cables looks really, really nice and I would love to replicate that as the cables have always been a source of problems and tend to get in the way. However I had promised myself that my next keyboard would integrate a trackpointer as that is one of the key things I really miss having used IBM/Lenovo laptops for a long time.
Incorporating a trackpointer is supported by the QMK firmware and is relatively well documented for directly connecting a salvaged trackpointer to the teensy board. Background info:
QMK_docs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_ps2_mouse.md
walkthrough with pinouts and the like: https://github.com/alonswartz/trackpoint#tmk-firmware-changes-and-tweaks
example on ergodox: https://geekhack.org/index.php?action=dlattach;topic=82599.0;attach=138751;image (I would leave out the mouse-buttons & put the trackpointer between fgv keys instead)
Looking through the code for the redox-firmware I struggle to see whether integrating a trackpointer with the wireless version would be feasible although the Core51822B in the transmitter seems to have the UART still free; yet I guess that would still need (a lot of?) dedicated code to get the PS/2 key codes to the Arduino board. Something that is probably beyond me.
As I personally would find it a great enhancement/feature. Do you have any insights in whether integrating a trackpointer in the wireless version is even feasible? If yes: how hard would that be?

Pretty hard. You'll need to:

Modify the PCB
Modify the case
Add a booster circuit (the transmitters are 3V,  the trackpoint seems to work on 5V)
Add the code to handle the trackpoint
Modify the data sent to the receiver to handle the trackpoint
Modify the code of the receiver to send this data to the Arduino
Adapt the Arduino Firmware accordingly

This without considering that you cannot directly use the QMK support for the trackpoint because of the technique used to send the keyboard states over the air. The receiver communicates the keyboard state to the arduino through UART, so you need to find a way to send the trackpoint data through the air, and to communicate it to the Arduino.

Thanks for looking into this and your answer is as I feared. The amount of new code needed would make this a major project seeing I have little experience with programming Arduinos. I'll stick with the wired option for the next build for now. :(


Trace: No data received, I can not see any metrics tracked in dashboard as well

Any reason for this? Everything run just fine but I got no traces in APM.

I am also getting this error. Any idea how to fix it?

I think this is because the dd-agent is looking at /proc from the host, not from the working containers.


Pylance doesn't honor VSCode display language

See #4579. My LANG is set to de_DE.UTF-8, the display language in VSCode is set to "en":
srittau@blitz:~$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=

Still, pylance's error messages are in German, meaning that I need to reverse-translate the message to divine their meaning. It's also impossible to copy & paste the error messages when collaborating with non-German speakers. pylance should follow VSCode's language setting, not the system language. Or at least provide some way to override it.
Environment data

Language Server version: 2024.5.1 (pyright version 1.1.360, commit 4bc8428d)
OS and version: Ubuntu 24.04
Python version (& distribution if applicable, e.g. Anaconda): any

Does the workaround mentioned here work for you? https://github.com/microsoft/pylance-release/issues/4579#issuecomment-1696059319

@StellaHuang95 This seems to work around the problem, indeed.

Thank you for confirming. It seems that Pylance isn't picking up the language properly here. We'll investigate to see what might be causing the issue.

I'm not entirely sure it this is the same issue, but I had a similar problem.
Also working on a German Windows environment and VSCode refused to change language to English.
What fixed it for me is installing the German Language Pack (and then setting the language to English).


first draft of the yoga production guide

That's a very good start :-)
Perhaps we could provide an example of production ready implementation in our examples ?


Minor but annoying bug in German named-day rules

The way it was this matches many "d" or "D" e.g. at the start of a text - which is not a valid abbreviation for "Dienstag".
Only a very small change, but this avoids many (annoying) false positives in my texts.

Thanks!


fix(explore): Icons width

SUMMARY
It reverts a change of width and margin introduced in #14674 and adjusts the width of the icons in the options labels.
Fixes #14697
BEFORE

AFTER

TEST PLAN

Open a chart in Explore
Make sure the icons have proper paddings in the controls

ADDITIONAL INFORMATION

[x] Has associated issue: #14697
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

We had a discussion with @michael-s-molina to discuss the reason for the original change. By reverting the changes as I did in this PR, the related issue gets fixed but the padding of the icons in the GROUP BY control will be slightly affected. In order to avoid the back and forth, I'll resolve that problem as well in this PR and I'll update the status.

/testenv up

This should be good to go now. CC @michael-s-molina @rusackas

@geido Thanks for the fix. I have only a small suggestion to increase the margin-right of Metrics and Group by to gridUnit * 2 because the f icon is really small. This is how it will look like:
Before:

After:

@michael-s-molina thanks for reviewing! can you review/test this PR locally with drag and drop enabled and on screen resize?  Thanks! 🙏

@michael-s-molina thanks for reviewing! can you review/test this PR locally with drag and drop enabled and on screen resize? Thanks! 🙏

https://user-images.githubusercontent.com/70410625/119173745-0c2dd100-ba3e-11eb-9e94-9b2160332816.mov

Im still seeing this issue on master. in table chart. @geido

appears that there are 2 separate icon issues, one in Explore select, one in Table formatter(which I reported). the second one was not fixed. please push a quick fix ASAP @geido
@rusackas @michael-s-molina  Please refer to the original issue when doing local testing. thanks!


Can i integrate custom B2C login page?

Hi,
I am creating a Cordova iOS app. I tried to use the below options,
var options = {
                authorities: [{
                    type: 'B2C',
                    authorityUrl: 'https://url.b2clogin.com/url.onmicrosoft.com/B2C_1_endpoint2',
                }],
                scopes: ["https://yyy.onmicrosoft.com/B2CAPI/openid", "https://yyy.onmicrosoft.com/B2CAPI/read", "https://yyy.onmicrosoft.com/B2CAPI/user_impersonation"],
            }

Upon triggering signInInteractive I am getting the default Microsoft login screen.
Also is there way i can give redirect URL for iOS app like msauth.com.bundle.mobileapp://auth and the cache location as localstorage similar to the options in msal.js?

Hello, and thanks for your questions!
Sometimes to get MSAL to redirect to your organization's login screen instead of the default Microsoft one, you need to add a domain hint to your options object which, in your case, would look something like this:
var options = {
    authorities: [
		{
			type: 'B2C',
			authorityUrl: 'https://url.b2clogin.com/url.onmicrosoft.com/B2C_1_endpoint2',
		}
	],
    scopes: [
		"https://yyy.onmicrosoft.com/B2CAPI/openid",
		"https://yyy.onmicrosoft.com/B2CAPI/read",
		"https://yyy.onmicrosoft.com/B2CAPI/user_impersonation"
	],
	authorizationQueryStringParameters: [
		{
			param: 'domain_hint',
			value: 'your-tenant-guid'
		}
	]
};

By default, in iOS, it should be redirecting you to msauth.com.bundle.mobileapp://auth as-is, but you can control whether, upon redirect, to try to look in either the device's authentication broker (such as the Microsoft Authenticator app) or the browser's cache, which I assume is usually localstorage, by adding this flag to your options object:
brokerRedirectUri: true/false

My documentation says this is Android-only, but that's not true anymore as I did add handling of it to iOS's code, too. But it's more of a suggestion in either Android or iOS as the operating system looks at what's on your phone and tries to put the MSAL library in a stable configuration, but it will follow your hint if it can.

Hi Wrobins, Thanks for answering my question.
Where can I find the domain_hint and tenant_guid?
domain_hint is this the part of authority URL which I specified earlier. If that's the case, should it be {tenant_name}.b2clogin.com or {tenant_name}.onmicrosoft.com? I tried both but it still loads login.microsoftonlline.com
tenant_guid
whether tenant_guid and tenant_name are the same?

Hi Wrobins, Thanks for answering my question.
Where can I find the domain_hint and tenant_guid?
domain_hint is this the part of authority URL which I specified earlier. If that's the case, should it be {tenant_name}.b2clogin.com or {tenant_name}.onmicrosoft.com? I tried both but it still loads login.microsoftonlline.com
tenant_guid
whether tenant_guid and tenant_name are the same?

Hi again,
'domain_hint' is the actual string literal to use, which is the key that you're setting in the request parameter. 'your-tenant-guid' is going to be a string in the format abc12345-abc1-1234-1234-abc123d4e56f or something similar. You can find it in your Azure portal under App Registrations>Your app as the "Application (client) ID".

Hi,
Facing the same issue and your suggestions above dont resolve it. Been trying to debug it for days now. It just keeps on sending me to login.microsoft and serves the generic page without my custom IDP
Below is my options object
options: {
clientId: 'CLIENTID';
    authorities: [
        {
            type: 'B2C';
            authorityUrl: 'https://xxx.b2clogin.com/xxx.onmicrosoft.com/B2C_1_AppSignupSignin';
            default: true;
        }
    ],
    authorizationQueryStringParameters: [
        {
            param: 'domain_hint',
            value: 'CLIENTID / TENANT ID'
        }
    ];
};

If you could please help.

Figured it out. For anyone else facing this, audience param is required.

@mustay My application is working fine for ios, But for android I am getting below error after closing and reopening the application.
"No cached accounts found for the supplied homeAccountId and clientId"
Do you have any idea? How can I solve it?
Thanks in advance!


Selection menu doesn't show after entering text then clearing/deleting

After https://github.com/flutter/flutter/issues/33293 was merged, a commenter pointed out that this similar problem still exists.
Steps to reproduce

Run an app with a TextField (see below for an example).
Long press the field and the selection menu should show (correct).
Type some text and long press outside of the text to show the menu again (correct).
Delete the text so the field is empty and long press again.  The menu won't be shown (incorrect!).

Code
import 'package:flutter/material.dart';\

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(),
      title: 'Text Field Test',
      home: MyApp(),
    );
  }
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("TextField Test"),
      ),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          mainAxisAlignment: MainAxisAlignment.center,
          child: TextField(),
        ),
      ),
    );
  }
}

I think the root problem is that the selection overlay in editable_text.dart needs to be present to show the menu, but it's constantly destroyed and recreated at weird times.
When the longpress happens in the cleared field, the selection overlay does not exist.  selectPositionAt is called, but it doesn't call _handlePotentialSelectionChange because the old and new selection is the same.
However when the longpress happens after entering text, the old and new selection is different, so the overlay gets created and can be shown.  The only difference in the old and new selection is the affinity, which seems like it's a total fluke that the menu correctly shows in this case.
I think we need to dig into exactly why the overlay is created and destroyed so much, and why the ability to show the selection menu depends on that.  It seems like it should be refactored and simplified.  Otherwise a hack around that weird affinity change might work.

Happens to multiline TextFields (maxLines > 1) at the beginning of every new line, too.

@masewo Thanks for that, I hadn't noticed that case.

Is there a way to get this work properly for now?
I have to make this work for my clients.
Please help.

@rikiyanuar I'm unaware of a workaround, but I plan to take a look at fixing this in Flutter soon!  It seems like this is affecting a lot of people.

I've got a PR out with a working fix.  Hopefully it will go into the master channel next week.

This should be in the master channel now, and will be in the next release (>v1.8.3).

Unfortunately, if the TextField is inside a modal, like a Dialog or a BottomSheet, the first time it is opened the copy/paste is showing, but if you close it and open the modal again, the copy/paste menu won't show. I'm in master up to date.

Hmm that's strange.  @yaymalaga Can you open a separate issue and include the code for a minimal app that reproduces the bug?

@justinmc Here you go: https://github.com/flutter/flutter/issues/37798. Can you confirm this behaviour?

Yes I reproduced it with those steps.  Thanks for opening the issue.  I'll post over there.


Schema for assertionMethod public key

Adds a new Frequency schema for Public Key Announcement with keyType 2 (assertionMethod), which DSNP uses for off-chain signatures.
Internally to this code, the existing keyType 1 Public Key schema has been labeled publicKey_keyAgreement, and this one publicKey_assertionMethod. The data format is identical for these; the only difference in practice is that keyAgreement uses x25519, and assertionMethod uses ed25519.
The deployment script has been changed so that a caller receives back the set of schemas and their IDs in case this is immediately useful, for example for announcing a public key.

Just wanted to mention that for keys that can be used for encryption + signing we can use also somehting like XEd25519 mentioned in https://signal.org/docs/specifications/xeddsa/

Just wanted to mention that for keys that can be used for encryption + signing we can use also something like XEd25519 mentioned in https://signal.org/docs/specifications/xeddsa/

Interesting, I hadn't seen that before.
The tooling around Verifiable Credentials is pretty heavily slanted toward using ed25519 currently, though the architecture is open to other security suites. But if we see demand for XEd25519 or others we can add them to the spec.


[Pixabay] Search Music, Search Sound Effects, Search Photos[?], Search Vectors[?], Search Illustrations[?]

Extension
https://www.raycast.com/tonka3000/pixabay
Description
Expand the search categories:
Right now there is search Videos and search Images.
It would be great to be able to search Music and Sound Effects.
(Not as important) Maybe break down Images into:
-Photos
-Illustrations
-Vectors
Who will benefit from this feature?
Anyone who might be looking to find and use copyright-free music and sound effects.
Likely a large number of the users who already use the extension.
Anything else?
No response

Hi @escoolioinglesias ,
Searching for music is not possible via the API, only images and videos AFAIK.
Switching between photo, illustration and vector should be doable via the menu in the top right corner.
Greetings