Towards a better, incremental and error-resilient parser

Would greatly help with #183.
The basic idea is to move from the current Ohm-generated parser to a standalone one, which would be suitable for tools like Language Server or others. Additionally, it would be nice to keep the existing grammar.ohm spec file — it will allow us to check the implementetion of the new parser against an Ohm-generated one.
List of ideas, papers and useful blog-posts (organized by year, in decreasing order):

https://rust-analyzer.github.io/blog/2023/07/24/durable-incrementality.html — uses https://github.com/salsa-rs/salsa
Paper: Fast Incremental PEG parsing
https://rust-analyzer.github.io/blog/2020/09/16/challeging-LR-parsing.html
https://matklad.github.io/2020/04/13/simple-but-powerful-pratt-parsing.html
https://tratt.net/laurie/blog/2020/which_parsing_approach.html
https://matklad.github.io/2018/06/06/modern-parser-generator.html#parsing-techniques

But until then, we must utilize the most out of Ohm's parser, including its incremental parsing capabilities and try to enhance its syntax error reporting clarity locally or in it's upstream repo. It's actually seems to be not that far from giving a structured error message instead of a pre-formed string (although if worst comes to worst, we could parse the resulting string however brittle this may seem).

hey @novusnota this is a great idea and a huge boost for tact infrastructure! I am interested in implementing this part but there are many details for such a big project that need to be settled down before approaching it. here are some of the thoughts and questions I would like to raise and discuss here:

what are the key non-functional qualities required for the parser?
1.1 performance? should it be performance-optimized and be able to possess  N tokens in a second? if yes, is there a desired value for that or a reference performance example (like to be not slower than Ohm)?
1.2 resilience? should it be able to produce a stable AST for the broken syntax?
1.3 do we need a fuzzer to validate pp. 1.1 and 1.2 ?
should it be stateful? keeping in mind an IDE infrastructure pipeline IDE <-> LSP <-> [parser; compiler] ?
2.1 now, here it means incremental parsing is required because we probably do not want to reiterate the whole tree but only the changed branch.
do we need a custom lexer?
a smart internal structure design is required to provide a painless way to reflect tact syntax updates.
is a static AST analyser needed?

The target language is assumed to be ts to keep the variety of used technologies dense.
Since Ohm is currently used, the new parser can adopt and take some approaches from it (to reduce reinventing the wheel phase).

is a static AST analyser needed?

This is definitely out-of-scope for the parser project. There are two static analyzer projects supported by the grants and bounties program:

https://github.com/ton-society/grants-and-bounties/issues/489
https://github.com/ton-society/grants-and-bounties/issues/436

@0xGeorgii this is a big project, which is tightly coupled to #314, and we don't need to rush out the implementation before we prototype some more with Ohm and check off some points from that list with it. Moreover, #183 has to be addressed with the current Ohm parser we have.
That said, Ohm won't be going anywhere even when we'll have a new parser — it's always nice to have a formal specification/reference, so Ohm's grammar.ohm and auto-generated parser would suit as that reference.
Now, to your questions:

1.1 performance?

I think just being faster than Ohm would do, but concrete metrics are up for discussion.

1.2 resilience? should it be able to produce a stable AST for the broken syntax?

Yes, that's the point :)
Note, that this is different from error-recovery in a sense that the parser should just not fall in presence of failures instead of trying to correct some of them (by placing shadowed ending ); when calling functions, for example). Although I'm not sure which strategy would be the most optimal, there's one thing for sure — this parser should work in editor/IDE environments too, where code is, most of the time, in the broken state.
Oh, and incrementality — lexer/parser combo should be able to start from a specified rule and not re-lex/re-parse the whole tree. This is very important for editor/IDE environments with frequent changes of the source code. (We may introduce a debounce or something here, just to keep things simple, but that's still a thing to keep in mind nonetheless).
At the moment, I lean towards having a combined LL (with some tricks) + Pratt (for expressions) parser architecture. But this is not set in stone :)

1.3 do we need a fuzzer to validate pp. 1.1 and 1.2?

Not sure here, but it would be nice.

do we need a custom lexer?

Yes, and it also must be error-resilient — just marking invalid tokens and going forward should be enough.

a smart internal structure design is required to provide a painless way to reflect tact syntax updates.

That's what the Ohm's grammar for — syntax will first be tested in it, then those changed would be matched by the new parser. At least that's how I view it.
Some important questions (IMHO) wasn't asked:

What to do with comments? Especially multi-line ones? Do we attach them to the AST after the first pass, or...
What to do with errors? How could we fine-tune them for: end-users on the CLI, API usage in tools, etc.
How would the API for external tools and CLI would look like?

Spawning @anton-trunov to correct me about our plans and/or my points here :)


[LIEF-12747] Gzip body in Graphhopper requests

Bandwidth reduction
If you create your own client, make sure it supports http/2 and gzipped responses for best speed.

If you use the Matrix or Route Optimization API and want to solve large problems, we recommend you to reduce bandwidth by compressing your POST request and specifying the header as follows: Content-Encoding: gzip.

https://docs.graphhopper.com/#section/Explore-our-APIs/API-Clients

@tiagotex 5k shipments squad will take over the PR


Explicitly specify state advancement in p2p spec

While implementing Altair's p2p spec into code, we realized that Prysm does not advance beacon state up to the particular slot when the object is referencing that slot.
For example, when an Altair block's parent state on phase 0, the node would use that parent state (phase0) to verify the signature, and the signature verification would failed due to fork version miss match. Correct behavior would have been advancing parent state (phase0) up to block's slot then use processed state (altair) to verify block signature.
Just wanted to share this lesson learned after seeing 3 missed blocks post fork boundary in the devnet this morning. Whether we should explicitly define state advancement in the p2p spec is up for debate and I wonder if anyone has an opinion on this

Curious -- what slot does the p2p reference state sit at?

Curious -- what slot does the p2p reference state sit at?

We were using the parent state to verify block signature. In the failure case, parent state slot would be < ALTAIR_FORK_SLOT and the block slot would be >= ALTAIR_FORK_SLOT

in the interest of reducing verbosity in the spec, i'd suggest leaning towards the current style used in the networking specs which implies the state object (rather than say the state transition spec where it is arguably more valuable to be super explicit) -- there is obviously a trade-off here b/t how much the spec spells out and how much content there is to maintain/digest when working w/ client implementations.
would love to hear any other implementer's feedback and happy to make a pass on clarifying anything that has broad support amongst client teams :)


Re-designing OpenWhisk website

Here is the detail list of changes done on the site:
https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Website+Redesign
Also, if you want to pull the source and build it locally, you can do so by following steps on README.md.
Here are some screen shots for your reference:

Please provide your feedback/comments, thanks!

thanks @csantanapr and @mrutkows. I am now merging this PR so that we can add many more improvements to this new design and content. I have created lot of issues to track the upcoming features here:
https://github.com/apache/incubator-openwhisk-website/issues
Please feel free to open more issues for any further feature request or bugs.


Bug in train.py

In the 165 or so lines of code:
Images,target = next(batch_iterator)
Bug Description:
The above code can only read the data set once. After reading through the data set, the program will stop.
Solution:
The code is changed to:

  # load train data
  Try:
      Images,target = next(batch_iterator)
  Except StopIteration:    #Start a new iteration
      Batch_iterator = iter(data_loader)
      Images,target = next(batch_iterator)

You should reload data. what I mean is that you should copy
data_loader = data.DataLoader(dataset, args.batch_size,                                   num_workers=args.num_workers,                                   shuffle=True, collate_fn=detection_collate,                                   pin_memory=True)
to the except.

As @bobo0810 mentioned, this bug is because the batch iterator run through the whole dataset eventually. So, I guess this means that it happens after exactly one epoch? Do I miss something here?
I just wonder why the developers did not implement an approach like for epoch in range(num_epochs): .... Wouldn't that make better sense?

@visor2020  After testing, in fact, do not need to reload the data set。

@bobo0810 however, the weights is not trained and saved by yourself. Is this a fact?

You can see the code in line 122 of voc0712.py, return len(self.ids), the iterator only iterate once, so there have two methods to solve this problem:
1.replacing iterator with the form mentioned by @chi0tzp
2.modifying the function len() in voc0712.py with     def __len__(self):         return self.total_images
the self.total_images is (cfg['max_iter'] - args.start_iter) * args.batch_size

you should change     batch_iterator = iter(data_loader)  to   batch_iterator = None
and then add this to the beginning of the for loop:
if (not batch_iterator) or (iteration % epoch_size == 0):
# create batch iterator
batch_iterator = iter(data_loader)

@bobo0810 @visor2020  hey！ I have a question in train.py ,why there sometimes use 'ssd_net' sometimes 'net':
ssd_net = build_ssd('train', cfg['min_dim'], cfg['num_classes'])
net = ssd_net
if args.cuda:
    net = torch.nn.DataParallel(ssd_net)
    cudnn.benchmark = True

if args.resume:
    print('Resuming training, loading {}...'.format(args.resume))
    ssd_net.load_weights(args.resume)
else:
    vgg_weights = torch.load(args.save_folder + args.basenet)
    print('Loading base network...')
    ssd_net.vgg.load_state_dict(vgg_weights)  #

if args.cuda:
    net = net.cuda()

if not args.resume:
    print('Initializing weights...')
    # initialize newly added layers' weights with xavier method
    ssd_net.extras.apply(weights_init)
    ssd_net.loc.apply(weights_init)
    ssd_net.conf.apply(weights_init)

optimizer = optim.SGD(net.parameters(), lr=args.lr, momentum=args.momentum,
                      weight_decay=args.weight_decay)
criterion = MultiBoxLoss(cfg['num_classes'], 0.5, True, 0, True, 3, 0.5,
                         False, args.cuda)

I can't understand it,can you help me ? thank you

@hust-kevin   torch.nn.DataParallel   return  a  new  model  for  multi-gpu

@bobo0810 thanks for your reply!
I have a another question,when I run train.py, beacuse the evey picture have different amount of object,so the ground truth have diffrent shape, so the dataloader will get error :
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 6 and 9 in dimension 1 at /pytorch/aten/src/TH/generic/THTensorMath.c:3586
can you tell me how to slove this problem

DataParallel

So why not use "ssd_net = torch.nn.DataParallel(ssd_net)"

Comments is wonderful and usefull.


[#1990] improvement(infra): introduce Lombok

What changes were proposed in this pull request?
Introduce Lombok
Why are the changes needed?
Fix: #1990
Does this PR introduce any user-facing change?
No.
How was this patch tested?
CI

@yl09099 cc

LGTM


starts #11

Took a bit because I was testing some stuff.
this is probably the simplest option for now.
But for anything more fancy, a custom window would be better. (though we could reuse default theming)
Also events are not working (scroll, rightclick)

Sorry for the delayed response, the preference for now is to leave file operations up to apps themselves instead of having one single program to handle it


Paginate KNN query result from index

Having added items to my index and being able to query the index to get results. I want to know if it is possible to load results from index incrementally. E.g. by distance to centroid.
e.g:
labels, distances = p.knn_query(d, k =1, end =50)
print labels, distances

labels, distances = p.knn_query(d, k =50, end =50)
print labels, distances

If you, please point me in the direction for this thanks

@OElesin
That would require significant coding.
Simplest way to do it if you add all elements in a single batch of N elements.
To do that you can increase the Mmax0 parameter (it is possible to make it infinite size by having a separate array for each element), keep the timestamp (number of the elements) for each of the graph's connections, and make the elements' levels a decaying function.
After that you can extract the graph for any contiguous subset of N elements starting from zero element to M just by ignoring all links that have timestamp higher than M.


DS-12892: Support Workers Analytics Engine bindings

Closes #2058

please remove the cloudflare-go bump. we handle version bumps outside of PRs automatically. once the library is updated, this PR will be rebased on top of it.

Could we get this in? I saw that cloudflare-go was released.


eos-ripple: run.sh no longer updates firebolt-app-library.json location

What
What does this PR add or remove?
Why
Why are these changes needed?
How
How do these changes achieve the goal?
Test
How has this been tested? How can a reviewer test it?
Checklist

[ ] I have self-reviewed this PR
[ ] I have added tests that prove the feature works or the fix is effective

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


Directives page documentation is broken due to broken references for core library files

Broken Page: https://docs.angularjs.org/guide/directive
Reason: Core library file references are broken. Looking at my developer console several links look like this ...
https://ajax.googleapis.com/ajax/libs/angularjs/null/angular.min.js
Notice the "null" in the URI where the version number is supposed to go.
Changing to https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js gets me the content.

+1

:+1:

Aware and @petebacondarwin is working on a fix

Great to hear you guys are on top of it. Do you have an estimated ETA on fix?

In the meantime, you can use the devdocs: http://devdocs.io/angular/ or use the docs here: https://code.angularjs.org/1.4.8/docs/api/ng/function/angular.extend

Thanks for the links just what I needed

Docs are baaaaack: https://docs.angularjs.org/api

what was the problem? if I may ask...


is it possible to specify alpha transparency when setting a mask object to PIXI.Graphics?

I have a PIXI.Graphics object which I'm using as a mask. I draw to the graphics object as such:
p = []
for pt in intersections
  p.push(new PIXI.Point(pt.x, pt.y))

g = new PIXI.Graphics()
g.clear()
g.beginFill(0x0, 0.5)
g.drawPolygon(p)
g.endFill()

any value I set for alpha transparency (0.5, 1.0, omitted, etc) always draws the pixels at full opacity. Am I doing something wrong, or is mask alpha only supported for sprite based masks?

Pretty sure mask alpha is only supported for sprite masks. The sprite masks use a shader, but the graphics vector masks use the stencil buffer and just "cut" the area.
You could generate a sprite from the graphics and use that as the mask?

You could generate a sprite from the graphics and use that as the mask

Needs to happen at 60fps. The sprite would be the size of the current window. Do you think this is something pixi can do reasonably fast?

Sorry I don't know why I'm asking when I can just code the darn thing up in 5 minutes and try it myself. Thanks for the feedback. :)


[Suggestion/Question] Have it been considered to use NukiHub as a docker container?

I'm looking at the possibility of using NukiHub as a docker container in a NUC, that packages both WiFi + Bluetooth and is running my HA docker installation. This would save the need to yet again support another device (albeit inexpensive).
There are other projects like NukiPyBridge, RaspiNuki, etc. But all of them have several gaps/limitations and are not as mature as NukiHub is (congrats on the amazing project!).
Long story short, has anyone used NukiHub in a Linux host or container environment? I'm researching also the ability to emulate ESP-IDF via QEMU. IF anyone has some pointers, please feel free to share.
Cheers,
anthonws.

Not sure if ESP emulation is a thing (I doubt it), but there won't ever be a way to run Nuki Hub in a Docker container. It's not a Linux software and not easily portable to such an environment.

As already said, I doubt this is possible. Even if you could emulate an ESP32, it would somehow need to interface with the hosts bluetooth and wifi hardware, which would need some tricky wrapper to translate low-level ESP bluetooth API to the hosts bluetooth API.
You'd need to resort to one of the projects mentioned.


[Bug]: HelloWorld NUnit setup ("intro" section in docs) fails with 30seconds timeout

Version
1.46.0
Steps to reproduce
Example steps (replace with your own):

Using macOS, follow same exact steps as outlined in the docs (linked from the README file of this repo):
https://playwright.dev/dotnet/docs/intro
NOTE: use the "NUnit" tab in the docs.

In particular, this is the content of my .cs file:
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Microsoft.Playwright;
using Microsoft.Playwright.NUnit;
using NUnit.Framework;

namespace PlaywrightTests;

[Parallelizable(ParallelScope.Self)]
[TestFixture]
public class ExampleTest : PageTest
{
    [Test]
    public async Task HasTitle()
    {
        await Page.GotoAsync("https://playwright.dev");

        // Expect a title "to contain" a substring.
        await Expect(Page).ToHaveTitleAsync(new Regex("Playwright"));
    }

    [Test]
    public async Task GetStartedLink()
    {
        await Page.GotoAsync("https://playwright.dev");

        // Click the get started link.
        await Page.GetByRole(AriaRole.Link, new() { Name = "Get started" }).ClickAsync();

        // Expects page to have a heading with the name of Installation.
        await Expect(Page.GetByRole(AriaRole.Heading, new() { Name = "Installation" })).ToBeVisibleAsync();
    }
}

Run with dotnet test.

Expected behavior
It should work? No exceptions.
Actual behavior
knocte@knocte-macbook Backend.Playwright % dotnet test
  Determining projects to restore...
/usr/local/share/dotnet/sdk/8.0.201/NuGet.targets(169,5): warning : The folder '/Users/knocte/.nuget/packages/microsoft.testplatform.objectmodel/lib' contains an invalid version. [/Users/knocte/Documents/Code/cosmopolimeet/src/Backend.Playwright/Backend.Playwright.csproj]
  All projects are up-to-date for restore.
/Users/knocte/Documents/Code/cosmopolimeet/src/Backend.Playwright/Backend.Playwright.csproj : warning Undefined: The folder '/Users/knocte/.nuget/packages/microsoft.testplatform.objectmodel/lib' contains an invalid version.
  Backend.Playwright -> /Users/knocte/Documents/Code/cosmopolimeet/src/Backend.Playwright/bin/Debug/net8.0/Backend.Playwright.dll
Test run for /Users/knocte/Documents/Code/cosmopolimeet/src/Backend.Playwright/bin/Debug/net8.0/Backend.Playwright.dll (.NETCoreApp,Version=v8.0)
Microsoft (R) Test Execution Command Line Tool Version 17.9.0 (x64)
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
  Failed HasTitle [30 s]
  Error Message:
   System.TimeoutException : Timeout 30000ms exceeded.
Call log:
  - navigating to "https://playwright.dev/", waiting until "load"
  Stack Trace:
     at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 206
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 532
   at Microsoft.Playwright.Core.Frame.GotoAsync(String url, FrameGotoOptions options) in /_/src/Playwright/Core/Frame.cs:line 796
   at PlaywrightTests.ExampleTest.HasTitle() in /Users/knocte/Documents/Code/cosmopolimeet/src/Backend.Playwright/UnitTest1.cs:line 16
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

Failed!  - Failed:     1, Passed:     1, Skipped:     0, Total:     2, Duration: 38 s - Backend.Playwright.dll (net8.0)

Additional context
No response
Environment
- Operating System: [macOS Ventura 13.6.1]
- CPU: [arm64]
- Browser: Chromium
- .NET Version (TFM): [net8.0]

Your OS looks supported - could you set the DEGBUG=pw:browser,pw:api env var? This might yield more debug information.
Are you by any chance in some corp environment where you need e.g. a proxy in order to access the internet? This would explain it why the navigation to playwright.dev fails.

Closing as part of the triage process since it seemed stale. Please create a new issue with a detailed reproducible or feature request if you still face issues.

Surprisingly enough, when I tried to reproduce this again (with and without the DEBUG env var suggested), I couldn't.


[$500] Android/mWeb/Safari - Setting - The save button doesn't get disabled when the profile photo is removed without uploading  @adeel0202

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in with any account in NewDot
Go to Settings
Go to Profile
Click on the Edit Photo icon
Select any photo
Click on the photo
Click on the Remove Photo option
Click on the Save button

Expected Result:
The button is disabled after saving the profile
Actual Result:
The button is not disabled after saving the profile
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platform:

Where is this issue occurring?

Android
Mobile Web/Safari

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/177440248-e6cb2396-cffc-4a27-9003-f46a9174a751.mov
https://user-images.githubusercontent.com/93399543/177564633-149f8c27-fb12-4a86-893e-e8a80f588f04.mp4
Expensify/Expensify Issue URL:
Issue reported by:  @adeel0202
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1654609173650399
View all open jobs on GitHub

Proposal:
The reason is isAvatarChanged remains true in the condition mentioned in this issue. To solve this issue, we can either move this.setState({isAvatarChanged: false}); out of the if statement.
https://github.com/Expensify/App/blob/95d831d67e5d44a0b1fec5b6e1ad560242d4b914/src/pages/settings/Profile/ProfilePage.js#L179
Or do following changes in updateAvatar() function
https://github.com/Expensify/App/blob/95d831d67e5d44a0b1fec5b6e1ad560242d4b914/src/pages/settings/Profile/ProfilePage.js#L157-L159
   updateAvatar(avatar) {
        this.setState({avatar: _.isUndefined(avatar) ? {uri: ReportUtils.getDefaultAvatar(this.props.myPersonalDetails.login)} : avatar},
        ()=>{
            if(this.state.avatar.uri === this.props.myPersonalDetails.avatar){
                this.setState({isAvatarChanged: false});
            } else {
                this.setState({isAvatarChanged: true});
            }
        });

    }

Upwork Job

This is duplicate of #8037

How is this duplicate? The other issue is about the save button getting disabled/unclickable after removing the profile picture and uploading again. This one is about the save button NOT getting disabled/unclickable after uploading a picture and then removing it.
Both have completely different steps and different issues so doesn't look like a duplicate to me.

Also, the other issue was closed because it was not reproducible anymore. This issue is still reproducible.

My proposal:

Results

Ya @adeel0202 this is not a duplicate but similar to that one.
Let's hold on to this issue, this needs to be discussed before accepting any proposals.
cc: @thienlnam

Doubled the price!
Please submit a proposal for eventual reporting bonus @adeel0202

Just want to make sure my understanding of this issue is correct

Select a new profile picture (Don't hit save)
Remove the profile picture
Hit Save
The save button should have been disabled in 3 because the profile picture did not change?

I think this is a valid issue, feel free to review proposals @Santhosh-Sellavel

Proposal

Here for this issue, currently, we don't have any validation regarding the latest selected profile vs the old saved profile what actually need to do is to compare both profiles and check if we have changed "isAvatarChanged" and also to check latest vs previously saved profile is same or not

Solution

Here my suggestion is to add one more logical condition to check whether the user has changed picture in the current state and compare both previous saved profile vs the latest local upload (yet to save as latest)

https://github.com/Expensify/App/blob/95d831d67e5d44a0b1fec5b6e1ad560242d4b914/src/pages/settings/Profile/ProfilePage.js#L213-L218
Change to below condition for very last logic line number 218
 && (!this.state.isAvatarChanged || this.props.currentUserPersonalDetails.avatarUploading || this.state.isAvatarChanged && this.state.avatar.uri === this.props.currentUserPersonalDetails.avatar);

this.state.isAvatarChanged && this.state.avatar.uri === this.props.currentUserPersonalDetails.avatar
condition is simple to check very first if user has upload new picture (isAvatarChanged) + compare new photo (this.state.avatar.uri) with old profile pic (this.props.currentUserPersonalDetails.avatar)

Result
iPhone
https://user-images.githubusercontent.com/47522946/179966699-ac5aba74-7d54-4951-8116-ec6542bb21f4.mp4
Web
https://user-images.githubusercontent.com/47522946/179967020-93e4d939-e63d-4e58-ac97-3f2afad585a4.mov
cc @Santhosh-Sellavel

Hey @thienlnam, I saw that there were some similar issues about button being disabled/enabled and the consensus was according to design (it is some internal design doc, was mentioned by @roryabraham) we should keep the button always enabled and we should only disable it when there is some process going on (e.g. user saves profile now we should disable the button until the profile gets updated) we does the same at some places e.g. workspace general settings

What about the cause, where a user who had a Picture A set as an avatar a long time back, now decided to change it to Picture B but before hitting Save the user would like to stick to Picture A itself. What should the user do now?

They can just exit out without saving and it won't change their profile picture
@roryabraham Is there a preference here? I'm along the lines of we should only enable the button if there is a change that would be made.  On the profile picture currently if you change your name the 'Save' button is enabled, but if you change it back to what it was, the 'Save' button gets disabled

@roryabraham Is there a preference here? I'm along the lines of we should only enable the button if there is a change that would be made. On the profile currently if you change your name the 'Save' button is enabled, but if you change it back to what it was, the 'Save' button gets disabled

Yeah @Puneet-here is correct. See the New Expensify Forms doc:

Submit buttons shall not be disabled or blocked from being pressed in most cases. We will allow the user to submit a form and point them in the right direction if anything needs their attention.
The only time we won’t allow a user to press the submit button is when we have submitted the form and are waiting for a response (e.g. from the API). In this case we will show a loading indicator and additional taps on the submit button will have no effect. This will also ensure that a form cannot be submitted multiple times.

For now we should try to keep consistent with these guidelines.

Okay sweet, in that case we don't need this issue - works as expected

@roryabraham I still think this is a bug. @Puneet-here would be correct if this issue was happening in the workspace-settings screen, where the save button is always enabled. This issue is in the profile-settings screen where the save button is always disabled and only gets enabled when there are some unsaved changes. In this case, there are no unsaved changes, and still save button is enabled.
Also on this screen, when there are unsaved changes and the button is enabled then after pressing the button, the changes get saved and the button is disabled again indicating that the changes are saved and there are no unsaved changes now. However, in this scenario, the save button gets enabled and never gets disabled even after pressing the button multiple times.
This is inconsistent behavior on the same screen and looks like a bug to me. If you still think this is not an issue, you can ignore it.

This issue is in the profile-settings screen where the save button is always disabled and only gets enabled when there are some unsaved changes. In this case, there are no unsaved changes, and still save button is enabled.

cc @luacmartins I think we're still in the process of implementing these new form changes right? Seems like we can ignore for now until your issues come out?

Yes! We can ignore this. We are currently refactoring the Profile Page to use Form as part of this issue.

Upwork post removed


Merge v0.6.6

Merge v0.6.6

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 7 committers have signed the CLA.:white_check_mark: iproudhon:x: dependabot[bot]:x: williambanfield:x: tessr:x: creachadair:x: roysc:x: marbar3778You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #36 (4239e73) into main (61d2bc1) will increase coverage by 15.45%.
The diff coverage is 81.61%.

@@             Coverage Diff             @@
##             main      #36       +/-   ##
===========================================
+ Coverage   53.59%   69.05%   +15.45%
===========================================
  Files          33       27        -6
  Lines        2028     2314      +286
===========================================
+ Hits         1087     1598      +511
+ Misses        826      666      -160
+ Partials      115       50       -65

Impacted Files
Coverage Δ

boltdb_iterator.go
94.59% <ø> (ø)

cleveldb_iterator.go
100.00% <ø> (ø)

remotedb/grpcdb/server.go
0.00% <0.00%> (ø)

memdb.go
62.40% <51.72%> (ø)

boltdb.go
50.36% <66.66%> (ø)

util.go
47.27% <70.00%> (ø)

prefixdb.go
58.11% <70.58%> (ø)

rdb_batch.go
68.18% <72.72%> (ø)

badger_db.go
80.61% <80.61%> (ø)

cleveldb.go
69.56% <82.60%> (ø)

... and 41 more

Impacted Files
Coverage Δ

boltdb_iterator.go
94.59% <ø> (ø)

cleveldb_iterator.go
100.00% <ø> (ø)

remotedb/grpcdb/server.go
0.00% <0.00%> (ø)

memdb.go
62.40% <51.72%> (ø)

boltdb.go
50.36% <66.66%> (ø)

util.go
47.27% <70.00%> (ø)

prefixdb.go
58.11% <70.58%> (ø)

rdb_batch.go
68.18% <72.72%> (ø)

badger_db.go
80.61% <80.61%> (ø)

cleveldb.go
69.56% <82.60%> (ø)

... and 41 more

@iproudhon , please use "Merge pull request" when merge.


jest --init does not enable collectCoverage

🐛 Bug Report
Not sure if a bug or if my thinking is just wrong.
During init, when prompted for coverage report, in case of positive answer the generated config has not collectCoverage set to true. Additionally, in case of negative answer it still asks for which provider to choose, which shouldn't really matter in that case and consequently not asked.
To Reproduce

Run jest --init
Do you want Jest to add coverage reports? … yes

Expected behavior
Config file should have collectCoverage: true.
envinfo
  System:
    OS: Linux 5.11 Arch Linux
    CPU: (8) x64 AMD Ryzen 5 PRO 3500U w/ Radeon Vega Mobile Gfx
  Binaries:
    Node: 14.16.0 - /usr/bin/node
    npm: 7.10.0 - /usr/bin/npm
  npmPackages:
    jest: ^26.6.3 => 26.6.3

I think it makes sense to still ask about coverageProvider as you might want to use --coverage later even if you don't want it in config.
Not putting it in when responding positively sounds like a bug, though. Wanna send a PR fixing it?


Try to Flash switch but get: decryption failed or bad record mac

Hello,
i today get my new switches from nooie https://www.amazon.de/dp/B07V47PJWX
Like someone mentioned, they can be flashed OTA. I tried it with my RPi, wir an used and a brand new system, but it doesn´t work. These are my Logs:
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
The switch stops flashing, after hitting Enter, but then this happens and nothing more.
Sending SSID                  vtrust-flash
Sending wifiPassword
Sending token                 00000000
Sending secret                0101
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................

****loops over and over again***

SmartConfig complete.
Resending SmartConfig Packets
..............
Device did not appear with the intermediate firmware
Check the *.log files in the scripts folder
Do you want to try flashing another device? [y/N] n

I tried some ideas from fixed issues, but nothing helped...

Unfortunately from the udp log I can tell it is likely that this device is not running on the ESP82xx and therefor you won't be able to install firmware like Tasmota which is built only for the ESP.


New merkle roots

Changes Merkle Root definitions to use BIP-340+ style tagged hashes.
Replaces Witness Merkle Root with Identiy Merkle Roots for identifying "identical" nodes in a dag (not implemented in C yet).
Renames Witness Merkle Root to Annotated Merkle Root (now only for debugging purposes).

Also verified the amr for elements schnorr in https://github.com/ElementsProject/simplicity/blob/0624dd723850969c084492a4f86bd86bbcfb8112/C/primitive/elements/checkSigHashAllTx1.c

I've renamed the prefix from Simplicity to Simplicity-Draft so all the IMRs for the jets need to be updated, and the AMRs and CMRs double checked again.

Thanks.  I think I'll wait for @sanket1729 to rerun his CMR / AMR computations with the amended prefix.

@roconnor-blockstream @apoelstra  verified the new CMR/AMR computations for hashblock, schnorr0 and schnorr6 and elements sighash


Binary LTL Operators

Until
Example: a form with a few mandatory fields and a button. I'd like to be able to say that the button is disabled until all fields are filled in with some value.
Release
Example: TODO, find a good example
Bad example: release is the dual of until, so the same example can be reused here; release the requirement that the button must be disabled when all fields are filled in.
(¬(until p q) = release (¬p) (¬q))

Yeah, I think these can go in. And release can be an alias in the PureScript code for the dual until which would be a foreign function.
Would you be interested in submitting a PR?

Yeah, I think it would be fun to have a go at it. I might try it live on stream on Friday evening!


Release google-gax v0.25.4

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/gax-nodejs/releases/tag/v0.25.4

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Node version in Readme

The Readme states that using "Node 10" is a requisite for building the project. However the vite version specified in package.json  (^3.0.4) Requires node " "node": "^14.18.0 || >=16.0.0"" (https://github.com/vitejs/vite/blob/v3.0.4/packages/vite/package.json).
Building with node 10 causes an error as ESM is not supported.
It would be great to update this, since I am trying to find a version in which all the dependencies are solvable.

This is true Rohan, the readme does need some updates, I'll be updating it this week!


On disk format for courses

Propose and finalize on disk for authoring courses.
Format for course.yml:
name: sample-course # required
title: Sample Course # required

short_description: This is a sample course for use to clarify the course.yml format # optional
description: | # required, markdown
    This is a longer description in markdown format. The course instructor can use codeblocks and italics to highlight
    the ideas in the course.

authors:
    - alfa # we'll find an authors/alfa.md
    - bravo # authors/bravo.md

outline: # could be called 'chapters' ?
    - name: getting-started
      title: Getting started
      lessons:
        - getting-started/how-to-use-sample.md
        - getting-started/more-about-sample.md
    - name: intermediate-sample:
      title: Intermediate Sample
      lessons:
        - intermediate-sample/more-use-cases-of-sample.md
        - intermediate-sample/more-reading-about-sample.md

We may be able to reuse some of the structure from monschool-website repo.
https://github.com/fossunited/monschool-website/blob/main/courses/self-hosting-101/course.yml

I feel, after what we discussed, the outline definition in course.yml is repetitive. If an author wants to move a chapter from one module to another, they would have to both change the YAML and move the chapter.md file to another directory.
One way to get around this is to use a draft: true in the top yaml. We can use the directory structure to infer modules and chapters. Further sub-directories won't be considered.
Another way would be to let the authors structure it themselves by mentioning the paths to lessons (like the monschool website).

If an author wants to move a chapter from one module to another, they would have to both change the YAML and move the chapter.md file to another directory.

I think that is fine.
It is good to have a single place to look at the structure of the course and course.yml is serving that purpose. It is okay to having to change in two places in the rare case of moving lessons around.

One way to get around this is to use a draft: true in the top yaml.

How would that help?

We can use the directory structure to infer modules and chapters. Further sub-directories won't be considered.

The issue is that the ordering can't be specified.

Another way would be to let the authors structure it themselves by mentioning the paths to lessons (like the monschool website).

I didn't get this. Can you please explain?

The issue is that the ordering can't be specified.

I completely lost track of that.

I didn't get this. Can you please explain?

Like how it is done in the monschool YAML, author will have to give the complete path to the lesson file, and can mix and match.
chapters:
  - name: week0
    title: "Week 0: Getting Started"
    description: Some reading material will be shared to ignite interest in Self Hosting.
    lessons:
      - week0/why-self-host.md
      - week0/what-things-can-you-self-host.md
      - week0/course-outline.md

I think this or the one we discussed are both good enough.

Lessons are saved as markdown files.
Title of lessons will be the first h1 of the lesson, or defaulting to the title-cased version of the filename.
The course.yml should look like:
name: sample-course # required
title: Sample Course # required

short_description: This is a sample course for use to clarify the course.yml format # optional
description: | # required, markdown
    This is a longer description in markdown format. The course instructor can use codeblocks and italics to highlight
    the ideas in the course.

authors:
    alfa:
        full_name: Alfa Zeta # required
        photo: /assets/img/authors/alfa.png # optional
        about: | # markdown, optional
            Alfa is X at Y, and has done Z.
    bravo:
        full_name: Bravo Charlie # required
        photo: /assets/img/authors/bravo.png # optional
        about: | # markdown, optional
            Bravo is L at M, and has done N.

outline: # could be called 'chapters' ?
    - getting-started:
        - how-to-use-sample
        - more-about-sample
    - intermediate-sample:
        - more-use-cases-of-sample
        - more-reading-about-sample

I think one disadvantage with doing it like this is that it becomes harder to set the module titles to something else.
like if we want to have a module called "Why self host?" with a question mark, we would have to make some special arrangement.
One idea that came up during our discussions was another YAML dictionary for mapping names to titles. With a key called "chapters" or "modules".
I think either that, or we could structure outline like:
outline:
  - why-self-host:
      title: "Why self Host?"
      lessons:
        - lesson-1
        - lesson-2
        - lesson-3

But then I think it would make sense to just use a separate key for the name as well rather than use it as the key itself. i.e.
outline:
  - name: why-self-host
    title: "Why self host?"
    lessons:
      - lesson-1
      - lesson-2
      - lesson-3

What do you think?

name: sample-course # required
title: Sample Course # required

short_description: This is a sample course for use to clarify the course.yml format # optional
description: | # required, markdown
    This is a longer description in markdown format. The course instructor can use codeblocks and italics to highlight
    the ideas in the course.

authors:
    - alfa # we'll find an authors/alfa.md
    - bravo # authors/bravo.md

outline: # could be called 'chapters' ?
    - getting-started:
        - how-to-use-sample
        - more-about-sample
    - intermediate-sample:
        - more-use-cases-of-sample
        - more-reading-about-sample

The reason for not using this and using paths was to make the user quickly understand what is the path for each lesson.
My preference is go with what we have in monschool-website, with complete path (including.md) for lessons.

We can call it outline instead of chapters.

The reason for not using this and using paths was to make the user quickly understand what is the path for each lesson.

It would have been a simpler representation, yeah. But okay, the monschool representation is good enough and will cover all that we need it to do.

Updated the issue description with updated format

I'm not sure about the naming for fields for Author.
We are using a name field for other elements (like lesson-name, chapter-name that are like slugs).
We have one for Author too, that they put in the config.
If we call that the author name, then we have to structure the frontmatter keys differently (call it full_name or something, which would get confusing).

maybe, we can call the one that is in the config as nickname and the actual full name as name, so that a file authors/alice.md would look like:
name: Alice Bob
photo: assets/img/authors/alice.png
---

First name is Alice and last name is Bob.

We use key when it is unique in the system. So for course and author, we can go with key and use name for chapter.

Thanks for the hint. That makes sense.

done.


Create unit tests for /packages/api

Motivation
We are moving all the p0tion coordinator infrastructure to a single server application (API). This new API was built using NestJS and we are missing unit tests.
Details
Write unit tests for each route (endpoint) in the different modules (auth, ceremonies, circuits, participants, storage and users). Remember to check the following:

There is some data (circuits, zkeys, etc) that could be used from @actions or duplicate it into /api
The functions should finalize correctly in normal scenarios
Some unit tests might require concurrent requests to check everything works as expected

Hey @NicoSerranoP!
I'm interested in this issue and would like to request assignment. Let you know if I have any question.


User/luyaof/sdncertupdate

Description
Summary of changes:

[New] New-SdnNetworkControllerCertificate to generate self-signed certificate for NC
[New] Get-SdnNetworkControllerInfoOffline to retrieve NC Cluster Info (Node List, Auth Type etc) from Cluster Manifest files when NC Down due to Certificate Expire.
[New] Start-SdnNetworkControllerCertificateUpdate to update Network Controller certificate when Network Controller down.

Change type

[ ] Bug fix (non-breaking change)
[ ] Code style update (formatting, local variables)
[x] New Feature (non-breaking change that adds new functionality without impacting existing)
[ ] Breaking change (fix or feature that may cause functionality impact)
[ ] Other

Checklist:

[x] My code follows the style and contribution guidelines of this project.
[x] I have tested and validated my code changes.

Cancel this PR as moved to feature branch


tests: Bluetooth: "fix" resume2 bsim test

This test assumes that the link-layer will have the same amount of peripheral slots as central slots.
Force the usage of the Zephyr Link Layer for this one test.
E.g. nCentrals == nPeripherals == BT_MAX_CONN
This might not be true for other controllers:
In nordic's case, the Softdevice Controller takes BT_MAX_CONN as the total number of slots, peripherals + centrals.
In that case, nCentrals = BT_MAX_CONN - 1, nPeripherals = 1.
That test is not designed for this case.

it has to work everywhere

Please make it work then

As an aside, I am also in favor of deprecating the auto-resume feature entirely.

I think this is the best option as well. The stack-initiated scanning feature often cause issues, and significantly increases the complexity of the host.
Furthermore it clearly has had the effect that (nearly) all samples do bt_le_scan_stop before calling bt_conn_le_create, so in the scan recv callback we often see 3 (blocking) HCI calls:

Scan stop (from app)
Create conn (from app)
Scan start (from host)

The resume2 test exists to verify that change, so we remove it as well.

PS. We can of course repurpose the test to specify the old behavior.


Add ability to use SageMaker FileSystemInput

Add the ability to use FileSystemInput by specifying a dictionary in sagemaker_inputs. This is needed for using EFS or FSx on SageMaker.
https://aws.amazon.com/blogs/machine-learning/speed-up-training-on-amazon-sagemaker-using-amazon-efs-or-amazon-fsx-for-lustre-file-systems/
Testing
Tested submitting a SageMaker job with SageMaker inputs data .tsv file with the following format
sample_fsx_accelerate.tsv.txt

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


Add open source enthousiast event

The most dangerous (-ly boring) of them all

Nice one marien!

WOooooOOOoooOOOooOOO

*free software, open source enthusiasts would recommend MIT.

You died, you were bored to death by the open source enthousiast.

:p


Push Notifications Stuck @ verbose: _PushStatus : sending push to 1 installations - but dont get delivered.

Below is my code to send push notification , though it's success it doesnt get delivered to device.
Parse.Push.send({
where: {
"deviceType": {"$in": ["ios"]}
}, data: {
"title": "Registration",
"alert": "Push Notification working"
}
}, {
useMasterKey: true,
success: function() {
console.log("Push was Successful");
res.json("true")
},
error: function(error){
console.log(error)
}
});
Configuration:
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'XXXX',
masterKey: process.env.MASTER_KEY || 'XXXX', //Add your master key here. Keep it secret!
serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
clientKey: process.env.CLIENT_KEY || 'XXXX',
liveQuery: {
classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
},
restAPIKey:"skillz",
verbose: true,
push: {
ios: {
pfx:'certs/services.p12',
topic: 'com.XXX.Skillz',
production:false,
passPhrase:'push'
}
}
});
Verbose Logs attached screenshot.

Any help is really appreciated.

I'm seeing the same thing:
[36mverbose: _PushStatus cNL4EPyC2I: sending push to 23 installations

Then a bit later later:
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to 79496a7ee986a82c27fd040cd637ad98c3ddbdb8a2b8b2814dab1bb0ed99e926
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 745b26f55c4dd55562b427dcbb8e0dd5725a90df8426dcb6292707c9ba86721b
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to eba894a3e20b715ae2894b7bad8a4ecca9023bc636daa66d635cdf3db4ae117e
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 0bac0df144b2d2a4917f1952827ebe8dd6331395d502db59a1dfa950e4e9edf5
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to ceedf6070dbaa6cdd058a694f19af42d6b2189ab2b1f8ce0a49796f11d0f131e
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to ccf8cffcfd5790be267b1a909915f03449f320db0012d54e51052c5b025acbcb
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to c13bce9c934664f128f8a5aec1c0811ae1d1c4890840f3c005a4962e886190f0
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to e9de7523b75c41c492b30555e6af6293a82b51f4d70046b324099117c0399e0a
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to 002913831b9a780652b4eb0ed4435ca320ff380317387797e1708b4ed937d4b0
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 3384ec05e653e23bf618f4e060df2f4083a1e8342c3d18e59d8f5908001588b5
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to a4f8566370325a27cd344e70ce3a7cde7c24007e673f3b085c7f7622237dc3a0
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 2f748cbddac934c8d9dc8d0700c2436ea0bb58749b15a54f6bd88590558ad3f5
verb parse-server-push-adapter APNS APNS Connection 1 Notification transmitted to f842f75932b2a556017e6bbf7d124bdb9d9e08e31e89bb76b52ff43a6f24f6cb
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 70cd2b8be9e1251a50a87065c317e4bc36e800ce1c245a136fcce420fa524a77
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 8fa5059c61bb3589e239d95ec9dddf7311771a42d86de5b41391090181769bd5
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to c8294a2448ad743122145eab3b7425d35e1afcacb8900266898c0e68ca2e6113
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to f8c4f7d3d4695c30d52494ccff8780a562883f96a47b0e262816632b41dd9380
verb parse-server-push-adapter APNS APNS Connection 0 Notification transmitted to 66cead39b20a9e1f8266ea20e465a4403d3179c1a21b9c0c448d8fd433959501
verbose: _PushStatus cNL4EPyC2I: sent push! 0 success, 0 failures


add search into leftnav of Account Dashboard experience

Let's put search functionality (back) into the Account Dashboard experience and keep the behavior and styling that exists now: http://db.tt/cholvoRI
Sorry about that - I must have misread indifference as dismissal. :-P My apologies.
Let's only have search in the leftnav of the Account Dashboard Experience, otherwise people will use it to search for documentation and new apps.

We should probably rethink this a bit, it doesn't work especially well there.  Maybe as another app or something, I don't really know.  I did some preliminary work and tossed it in the search branch.  It doesn't really work since there's a ton more code we'd have to convert over from the old dashboard to get it totally functional, but at least you can play around with how it looks and feels there.

https://github.com/LockerProject/Locker/tree/search

Okay how about this? http://db.tt/7nGImV9B

I used the same styling as the "See all" page so hopefully it's easier to implement and will also be more consistent with the new experience.

This hasn't been implemented yet.


optimized(monitor): keep 2 precision of reduced value

What this PR does / why we need it:

Does this PR need to be backport to the previous release branch?:

3.10
/area monitor

/hold

/hold cancel


Launch in full screen mode

Is there any possibility to launch the player directly in full screen mode ?
Tried "controller.enableFullScreen();" in initState And in Build method.
Its giving "mainContext" not initialised
This is the issue
in _PodBaseController =>  late BuildContext mainContext;

Thank you for filling issue 🤗
To Support FulllScreen Initially
In Pod player <= 0.0.8
@override
  void initState() {
    controller = PodPlayerController(
      playVideoFrom: PlayVideoFrom.network(
        'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
      ),
    )..initialise().then((_) => controller.enableFullScreen());
    super.initState();
  }

In Pod player >= 0.1.0
@override
  void initState() {
    controller = PodPlayerController(
      playVideoFrom: PlayVideoFrom.network(
        'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
      ),
    )
      ..initialise()
      ..enableFullScreen();
    super.initState();
  }

I hope this https://github.com/newtaDev/pod_player/issues/57#issuecomment-1204787817 fixed your issues
Im closing this issue, Please feel free to reopen if still any issues exists


Bug in instruction_following_eval

@lehougoogle
Thank you for your excellent work on the instruction-following ability. However, I've noticed a bug in your code.
In the build_description method within your code, specifically when handling the Instruction type RepeatPromptThenAnswer, a parameter named prompt_to_repeat is required. However, I observed that in your kwargs, this parameter is missing.
Although there is an attempt to address this issue through this line, it seems there's a mismatch in the parameter name (prompt_to_repeat should be used instead of prompt).
I managed to resolve this issue in my implementation with the following code:
if isinstance(instruction, RepeatPromptThenAnswer):
    instruction.build_description(prompt_to_repeat=record["question"])
else:
    instruction.build_description(**record["kwargs"][index])

And by the way: These two methods((removeprefix and removesuffix)) were introduced in Python 3.9.
Maybe you should declare it in the readme?

just noticed the same. it seems that the prompt_to_repeat is in the first line of prompt.
I fixed it with
if isinstance(instruction, instructions.RepeatPromptThenAnswer):
  instruction.build_description(prompt_to_repeat=inp.prompt.split("\n")[0],**inp.kwargs[index])
else:
  instruction.build_description(**inp.kwargs[index])

.. in test_instruction_following_loose() and test_instruction_following_strict()

Hi all,
The prompt sets are updated. It should work now!


Fixed #1026; jagged slicing of multidim NumpyArray.

@jpivarski I fixed the test for windows, but disabled auto-merge so that you'll get the final sign off.


Download link data is wrong?

https://drive.google.com/drive/folders/1vTHiIelagbzPO795yhOdNUFh9u2XxZP-?usp=share_link
I download all data and then unzip，i found the number is not as the same as the readme
Can u provide the newest download link？

I apologize for the delayed response. I believe the data in the link is up to date. Could you please provide more details on what specific data is missing or insufficient?


jwt is burned if context already loaded

The app doesn't allow loading an identity with the same name, but it will start enrollment and consume the JWT before it errors. It would be better if it checked for the colliding name first or just allowed two identities with the same name.

In console, create identity "testid" and download "testid.jwt"
In app, add identity "testid.jwt"
In console, delete identity "testid"
In console, create identity "testid" and download "testid.jwt"
In app, add identity "testid.jwt"
In app, observe error "context already loaded"
In app, forget identity "testid"
In app, add identity "testid.jwt"
In app, observe error "enrollment failed" (because JWT was already burned)
In console, re-create identity "testid" and download "testid.jwt"
In app, add identitity "testid" SUCCESS

This is a service thing, should be in the tunnel repo.


Linux Academy Support

I hope to make youtube-dl supported to this site
https://linuxacademy.com

Carefully read new issue template and provide all requested information.

@Ayman97 Please try https://github.com/vassim/linuxacademy-dl. It's still in its early-alpha but damn cool and useful!

@stalledstalin88  Thanks alot , i will try it for sure 👍


Add project proposal doc

@suprajakosuri01 - kindly use markdown for word documents, as it is easy to preview on GitHub.


Errors while building : /modules/dreamview/backend/BUILD

excute bash apollo.sh build,  and I failed with below error prompt:

One thing I noticed is that you are using root@in_dev_docker. If you follow the README.md, you should be able to login docker dev environment without using root.
remeber to logout and login your system after bash docker/scripts/install_docker.sh

ran docker ps and access was denied after bash docker/scripts/install_docker.sh, assume those prior logout and login steps contribute no effect to work out the docker without sudo. I'm I ignoring anything visible in the guideline since I'm totally new to the docker environment. @startcode

This looks like an internal compiler problem that might be due to limited system resource, e.g., insufficient memory. See https://github.com/tensorflow/serving/issues/13 for reference. It probably doesn't have anything to do with whether the user is root in docker.

I agree with @siyangy that it is likely the resource problem. We just used a way to restrict the resource that bazel can consume.
@lostinet can you pull the latest code and try again?  Thank you.

@lostinet You can run dmesg to see if an OOM led to the compiler meltdown: https://stackoverflow.com/questions/30887143/make-j-8-g-internal-compiler-error-killed-program-cc1plus

ERROR: /apollo/modules/dreamview/backend/BUILD:5:1: C++ compilation of rule '//modules/dreamview/backend:websocket' failed: gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g '-std=c++0x' '-DUSE_ESD_CAN=false' -MD -MF ... (remaining 54 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 4. gcc: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions. INFO: Elapsed time: 292.062s, Critical Path: 279.05s
here's one more trial and error.
@startcode @siyangy

ERROR: Error during action cache initialization: Failed action cache referential integrity check: Validation mismatch: validation entry 8007 is too large compared to index size 4615. Corrupted files were renamed to '/root/.cache/bazel/_bazel_root/540135163923dd7d5820f3ee4b306b32/action_cache/*.bad'. Blaze will now reset action cache data, causing a full rebuild. INFO: From Writing file modules/localization/proto/libcamera_parameter_proto.a-2.params: external/glog/src/logging.cc: In static member function 'static void google::LogMessage::Fail()': external/glog/src/logging.cc:1489:1: warning: 'noreturn' function does return [enabled by default]  }  ^ ERROR: /apollo/modules/control/tools/BUILD:31:1: C++ compilation of rule '//modules/control/tools:control_tester' failed: gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g '-std=c++0x' '-DUSE_ESD_CAN=false' -MD -MF ... (remaining 91 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 4. gcc: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate.
here's one more trial and one more error.
@startcode @siyangy

while dmesg
there is a hint: out of memory: Kill process 60171(cc1plus) score 244 or sacrifice child.
@siyangy

Yeah that confirms the failure was due an OOM. How much memory do you have in your system?

Also, as @startcode suggested, you can pull the newest code that limits the bazel job number to 10. We have verified internally that it could solve the similar compiler failure you have run into.

well, just noticed my 16GB memory on MAC assigned merely 1GB to its virtual machine (Ubuntu).
anyway, OOM error removed with updated codes!
@siyangy

显示build失败,是否必须用制定的java 版本,并且必须在对应目录下面?

@wadewang6 Can you create a new issue for this problem? This thread is a different problem and has been closed.
Thanks.


Setting multiple cookies

It used to be that I could set multiple cookies in one call with something like this
http://httpbin.org/cookies/set?city=Dublin&district=Sandymount

But now for some reason, this no longer works. Only the first value is set.

works for me
curl -s -I "http://httpbin.org/cookies/set?city=Dublin&district=Sandymount" | grep ^Set-Cookie

Set-Cookie: city=Dublin; Path=/
Set-Cookie: district=Sandymount; Path=/


Create hotspot option

In case there is no wifi available, the program should use the wifi adapter to create it's own hotspot that others can connect to

Closing without resolution. This issue either affects too few users or there are too many issues with higher impact to be working on. It is possible to re-open or re-visit this issue at a later time. If you feel this issue is important, please give a thumbs-up reaction to the first post. You may track this issue from the pinned meta-tracker at the top of the issues home page.

can be solved once we have connect : )


Feature proposal: Install given Angular version

That's actually a feature proposal. I have a library and want it to be compatible with let's say last 3 Angular versions. There is a breaking change in the compiler, so I have to manually install proper version for every Angular package separately. Instead I'd like to have a command like ng version 4 that will install Angular4 packages. The final use case is to have publishing scripts like:
"publish:4": "ng version 4 && npm run build && npm publish --tag v4",
"publish:5": "ng version 5 && npm run build && npm publish --tag v5",
"publish:6": "ng version 6 && npm run build && npm publish --tag v6",

I was googling for "angular version manager" but unsuccessfully. What do you think?

If you want version X of angular, then install version X of the CLI.
We feel that the latest version of Angular is always the most appropriate one to use.


Failed to install ESP-IDF 5.0 because of 403 Forbidden error (IDFGH-7477)

When I run install script on "master", it failed to download the file below because server resturns "403 Forbidden" error
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt
Destination: /home/mike/.espressif/espidf.constraints.v5.0.txt.tmp
WARNING: Download failure HTTP Error 403: Forbidden
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt to /home/mike/.espressif/espidf.constraints.v5.0.txt.tmp
ERROR: Failed to download, and retry count has expired
Traceback (most recent call last):
File "/home/mike/SDKs/esp-idf/tools/idf_tools.py", line 2476, in
main(sys.argv[1:])
File "/home/mike/SDKs/esp-idf/tools/idf_tools.py", line 2468, in main
action_func(args)
File "/home/mike/SDKs/esp-idf/tools/idf_tools.py", line 1971, in action_install_python_env
constraint_file = get_constraints(idf_version)
File "/home/mike/SDKs/esp-idf/tools/idf_tools.py", line 1889, in get_constraints
raise DownloadError()
main.DownloadError

Yes, I have the same problem

Yes, I have the same problem

Hi @mike-2020, @FanhuaCloud. Please try again. It was an issue with mirroring between servers and it has been fixed. We are sorry for the inconvenience.

Hi @mike-2020, @FanhuaCloud. Please try again. It was an issue with mirroring between servers and it has been fixed. We are sorry for the inconvenience.

Thanks, it works fine now.

I'm seeing this issue again now - unable to complete the download : Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt

I can see it's working fine, pls try again.

Yep, working now.  Thanks!
On Mon, Dec 5, 2022 at 5:21 PM MichaelWu @.***> wrote:

I'm seeing this issue again now - unable to complete the download :
Downloading
https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt
I can see it's working fine, pls try again.
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/9047#issuecomment-1338531228,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI2KUZJDVAQEB6HUFLIJPDWL2IK3ANCNFSM5XGRHUDQ
.
You are receiving this because you commented.Message ID:
@.***>

I'm seeing this issue again now - unable to complete the download :
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.1.txt

@yusuhua where did you access this? I tried from several overseas servers, working fine.

still fail


Identify useful Slack API methods

There are a number of methods that could come in handy.
If any in particular catch your eye, open an issue with...

A suggested function name
A link to the method
Example scenarios this might enable

This should be in contributing.md, closing...


cpu profiler: cause my program 'feign death'

Hello , gperftools is a very good project. I like it. But I met some problem.
The program is 'feign death' and cpu hold turn to zero.  Now It only can be exit by kill process.
I don't know why and How to fix it.
But when I run without profiler. It run ok. Can you help me?
running with
env LD_PRELOAD=libprofiler.so CPUPROFILE=info.prof ./shengxin_test
//shengxin_test is c++

Likely one of the cases described here: https://github.com/gperftools/gperftools/wiki/gperftools'-stacktrace-capturing-methods-and-their-issues
If you post backtraces I'd be able to tell.
But the good news (I'll update wiki page soon-ish) is that if you have gcc 12 or later and glibc 2.35 or later, libgcc backtrace capturing method is 100% perfect. (covers ubuntu 22.04 and later, fedora 36 or later and most recent debian stable; doesn't cover rhel 9 sadly)
Do switch via environment variable TCMALLOC_STACKTRACE_METHOD=libgcc
E.g. like this:
$ TCMALLOC_STACKTRACE_METHOD_VERBOSE=t TCMALLOC_STACKTRACE_METHOD=libgcc ./stacktrace_unittest

Closing, but do reopen if you can add something.


[BUG] Inconsistent Historical Block Hash Retrieval On Smart Contracts

Bug Report: Inconsistent Historical Block Hash Retrieval On Smart Contracts
Summary
The blockhash() function is only returning the hash for the immediate parent of the current block, while returning 0x0000000000000000000000000000000000000000000000000000000000000000 for other recent block numbers within the expected range of 256 blocks. The issue was identified when attempting to retrieve the previous 10 block hashes via a smart contract.
Environment

NodeJS: v22.4.1
Ethers: 5.7.2
Node URL: https://evm-rpc.sei-apis.com
Contract Address: 0xFF720A74656ce29A07ADF1c249e1Ca3978f8A251
Smart Contract Function: blockhash()

Steps to Reproduce

Deploy a smart contract on the Sei Network that attempts to retrieve the previous 10 block hashes using the blockhash() function.
Call the contract's function to retrieve and display the block hashes.
Observe the returned values for block hashes.

Expected Behavior

The blockhash() function should correctly return the hashes for the previous 10 blocks, including the immediate parent and preceding blocks within the last 256 blocks.

Actual Behavior

The blockhash() function correctly returns the hash for the immediate parent of the current block (i.e., block.number - 1), but returns 0x0000000000000000000000000000000000000000000000000000000000000000 for other recent blocks within the last 10 blocks.
This behavior indicates that only the parent block's hash is accessible, while the hashes of other recent blocks within the expected range are not being returned correctly.

Impact

This issue limits the functionality of applications that rely on retrieving multiple recent block hashes, such as those used in randomness generation, historical data verification, and other decentralized applications (dApps) that require accurate and consistent block state information.

Recommendation

Investigate the configuration and state management of the Sei Network’s EVM implementation to ensure that the blockhash() function is fully compliant with the expected behavior on EVM-compatible chains, allowing retrieval of block hashes for the last 256 blocks.

Example Code
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract BlockInfo {
    function getBlockInfo()
        public
        view
        returns (
            uint256 currentBlockNumber,
            bytes32 currentBlockHash,
            uint256 previousBlockNumber,
            bytes32 previousBlockHash,
            bytes32[10] memory lastTenBlockHashes
        )
    {
        currentBlockNumber = block.number;
        currentBlockHash = blockhash(block.number);
        previousBlockNumber = block.number - 1;
        previousBlockHash = blockhash(block.number - 1);

        for (uint i = 0; i < 10; i++) {
            if (block.number > i) {
                lastTenBlockHashes[i] = blockhash(block.number - i);
            } else {
                lastTenBlockHashes[i] = bytes32(0); // Fill with zeroes if block number is out of range
            }
        }
    }
}

const { ethers } = require('ethers');

async function main() {
    // Initialize the JSON-RPC provider
    const jsonRpcProvider = new ethers.providers.JsonRpcProvider("https://evm-rpc.sei-apis.com");

    // Contract address where the BlockInfo contract is deployed
    const contractAddress = "0xFF720A74656ce29A07ADF1c249e1Ca3978f8A251"; // Replace with your contract's address

    // ABI for the BlockInfo contract
    const blockInfoAbi = [
        "function getBlockInfo() view returns (uint256, bytes32, uint256, bytes32, bytes32[10])"
    ];

    // Initialize the contract
    const blockInfoContract = new ethers.Contract(contractAddress, blockInfoAbi, jsonRpcProvider);

    // Call the getBlockInfo function
    console.log("Fetching block information...");
    const blockInfo = await blockInfoContract.getBlockInfo();

    // Destructure the returned values
    const [
        currentBlockNumber,
        currentBlockHash,
        previousBlockNumber,
        previousBlockHash,
        lastTenBlockHashes
    ] = blockInfo;

    // Display the fetched block information
    console.log("Last 10 Block Hashes:");
    lastTenBlockHashes.forEach((hash, index) => {
        console.log(`Block ${currentBlockNumber - index}: ${hash}`);
    });
}

main().catch(console.error);

Fetching block information...
Last 10 Block Hashes:
Block 96624165: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624164: 0x41f44db7e77c0bdb5bc8ea6e7ecf058991d7ada158d94f4a7491f5fae6024ffc
Block 96624163: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624162: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624161: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624160: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624159: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624158: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624157: 0x0000000000000000000000000000000000000000000000000000000000000000
Block 96624156: 0x0000000000000000000000000000000000000000000000000000000000000000

thanks @lordshisho we'll take a look!


Can't run quickstart example (OpenAI gym) when installing from pip

When running the quickstart given in the README or the one in examples/openai_gym.py itself, I am getting some errors.
Command I am running and output:
$ python3 examples/openai_gym.py CartPole-v0 -a examples/configs/ppo.json -n examples/configs/mlp2_network.json
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
Traceback (most recent call last):
  File "examples/openai_gym.py", line 140, in <module>
    main()
  File "examples/openai_gym.py", line 89, in main
    network=network
  File "/usr/local/lib/python3.6/site-packages/tensorforce/agents/agent.py", line 239, in from_spec
    kwargs=kwargs
  File "/usr/local/lib/python3.6/site-packages/tensorforce/util.py", line 173, in get_object
    return obj(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'states'

The one in the file itself (which specifies a different config file and -n & -m flags) or the async example also does not work.
This seems to happen with any TensorForce/Gym version combination installed via pip, but does not occur when installing from source (git clone ... && pip install -e .).
I am running:

Python 3.6.4 on macOS 10.13.3
Tensorforce <IP_ADDRESS> (Installed as tensorforce[tf])
Tensorflow 1.6.0

Not sure if examples are intended to be run only when installing from source, but just pointing your attention to this in case someone else gets stumped by the quickstart command.

yep the pip version needs updating, will do soon, should work from master

new pip version up, we were holding out bcause prioritized replay in pure tensorflow is complicated, but I guess that will be 0.4.1 then. Closing now, reopen if still doesnt work


Panic upon unsupported provider id

Description
go-spacemesh panics if the provider id is unsupported. For example, the following happens when provider id 0 is used on a machine without OpenCL. E.g. PoST data has been generated elsewhere, and then you try to run a node with that PoST data on a machine with no GPU:
2023-08-12T06:20:19.609Z        ERROR   24ce5.atxBuilder        Fatal: goroutine panicked. Stacktrace: goroutine 369312 [running]:
runtime/debug.Stack()
        /root/.go/src/runtime/debug/stack.go:24 +0x65
github.com/spacemeshos/go-spacemesh/log.Log.Panic({0xc0001e0f50?, {0x19fd97c?, 0xc0024bb1c0?}}, {0x1b59980, 0x19}, {0xc002c53dc0, 0x1, 0x1})
        /go-spacemesh/log/zap.go:46 +0xd7
github.com/spacemeshos/go-spacemesh/activation.(*Builder).StartSmeshing.func1()
        /go-spacemesh/activation/activation.go:222 +0x1e3
golang.org/x/sync/errgroup.(*Group).Go.func1()
        /root/go/pkg/mod/golang.org/x/sync@v0.3.0/errgroup/errgroup.go:75 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
        /root/go/pkg/mod/golang.org/x/sync@v0.3.0/errgroup/errgroup.go:72 +0xa5
        {"node_id": "24ce5e6ee13ff06078a5fb3a10079dc9bc33dc5ac0706198ce346a4bd7e447c5", "module": "atxBuilder"}
2023-08-12T06:20:19.610Z        PANIC   24ce5.atxBuilder        initialization failed: invalid provider ID     {"node_id": "24ce5e6ee13ff06078a5fb3a10079dc9bc33dc5ac0706198ce346a4bd7e447c5", "module": "atxBuilder"}

It appears that some pre-validation of the provider id option wouldn't harm, as well as maybe some documentation updates regarding the possible values, e.g. 0 for GPU and<PHONE_NUMBER> for no GPU (or can -1 be specified as well?)
Steps to reproduce
Run go-spacemesh with provider id 0 on a machine without GPU and OpenCL, e.g. when reusing instructions for running go-spacemesh found on the web
Actual Behavior
Panic logged by go-spacemesh.
In the option description when running go-spacemesh -h, there is no explanation what --smeshing-opts-provider values are supported, other than -1 is the default:
      --smeshing-opts-provider int                     (default -1)

Expected Behavior
go-spacemesh exiting with no panic but rather a proper error message regarding unsupported option value.
Some explanation of what values are supported in general and on the current system would be quite helpful, too
Environment
Please complete the following information:

OS: Ubuntu 22.02 amd64
Node Version: v1.0.15
Smapp version (if applicable): no smapp

Panic location in the code:
https://github.com/spacemeshos/go-spacemesh/blob/fd9046c042e77a8dff53e6e8fa067d86d2ad420f/activation/activation.go#L222

@fasmat @poszu @pigmej someone knows if this still the case?

This is resolved for v1.1.0 and later versions.
Provider ID is now optional and not needed if initialization is complete.

i will close it then


Why is there a default nonce value here?

Would be good to use a named variable to help those reading the code understand
https://github.com/covidgreen/covid-green-backend-api/blob/211f61c9d4615338a97ce74fe73a2c8cd713719b/lib/routes/register/index.js#L178

This is used during testing when we allow calls to the refresh end point that do not contain a refresh end token. options.security.allowNoToken must be true to execute this logic

ok thanks for the explaination


404 Not Found nginx

I enter https://v2.yiff.rest/furry/kiss?notes=disabled
I get
{"images":[{"artists":[],"sources":[],"width":1153,"height":1280,"url":"https://v2.yiff.media/furry/kiss/a039b38fe7cc9e3c8da29f38e3670788.jpg","type":"image/jpeg","name":"a039b38fe7cc9e3c8da29f38e3670788.jpg","id":"a039b38fe7cc9e3c8da29f38e3670788","ext":"jpg","size":113694,"reportURL":null,"shortURL":"https://yiff.rocks/a039b38fe7cc9e3c8da29f38e3670788"}],"$schema":"https://schema.yiff.rest/V2.json","success":true,"notes":[]}

and then I go to the images.at(-1).url and I get "404 Not Found nginx"

I'm surprised there's anyone out there actually using this api, this has been fixed

Thank you!


eSEL Test case automation - Remove IPMI tool dependency and enable inband / external IPMI way of testing

@SrideviRamesh As discussed in today's scrum, We need to do following:

[ ] Remove IPMI Tool copy dependency

[ ] Enable the same code via inband (Host) / external IPMI

Using Inband IPMI Standard Command to remove IPMI tool dependency.. will be enabling five TC in tests/test_esel.robot


Add increase() function

Required for all non-trivial PRs

[x] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated
[x] Sign CLA (if not already signed)

Required only if applicable

[ ] InfluxQL Spec updated
[ ] Provide example syntax

Solves #7076.
 Why would you choose this language? ಠ_ಠ

I think you're also going to have to modify the ast validation functions and add some test cases for that.

@jsternberg, if you mean me by “you’re going to”, then I’m only noting, that I’m totally happy with just this patch, and, as I said, I’ve already had enough of Go. =) So do feel free to take this over, I’ll be happy to use more polished implementation!

Ok, I'll ask any remaining questions in the other issue so I understand exactly what's required. Since you've signed the CLA, I can pull from your branch and finish whatever work is required when I have time.
Thanks for your initial work with this!

Thank you, too!

@jsternberg Close now that #7388 is merged?

@jwilder I think increase() is supposed to be a different function than cumulative_sum(). I hadn't looked into it yet, but I think the point was that this was supposed to cumulatively sum them, but not subtract when the counter resets.

@jsternberg, @jwilder, @e-dard, so the new cumulative_sum is a proposed solution to this? From a quick look at its code, it does subtract when counter is resets (which is relatively often). Then, there’ll be a huge spike in the derivative…
To cite #7076:

It’s exactly increase() in Prometheus → https://prometheus.io/docs/querying/functions/#increase.

Perhaps, this PR should still be open, just like #7076.


Update a few XML doc parameter names

Update a few parameters in the XML doc comments to match their C# parameters.

thanks for your contribution.


Recommend Google as the docstring format

Having any documentation is better than no documentation. Likewise following a format is better than not. However choosing a format can be intractable.
We chose Google style because the majority of people preferred it.
Since type hints exist (and we will be recommending their usage) the type information format of either doesn't concern me much.
NOTE: This PR started off recommending sphinx format

You can use RST syntax in Google-style docstrings, too (e.g. here, generating this).
And I don't mind the indentation -- it helps readability.

You can use RST syntax in Google-style docstrings, too (e.g. here, generating this).
And I don't mind the indentation -- it helps readability.

This will fail PR due to what appears to be a bug in pydocstyle. I made an issue here: https://github.com/PyCQA/pydocstyle/issues/523

This will fail PR due to what appears to be a bug in pydocstyle. I made an issue here: https://github.com/PyCQA/pydocstyle/issues/523


dsh --new DynamicOutputComponent APP_DIRECTORY_NAME DYNAMIC_OUTPUT_COMPONENT_NAME DYNAMIC_OUTPUT_COMPONENT_POSITION DYNAMIC_OUTPUT_FILE_NAME

Implement new dsh command:
dsh --new DynamicOutputComponent APP_DIRECTORY_NAME DYNAMIC_OUTPUT_COMPONENT_NAME DYNAMIC_OUTPUT_COMPONENT_POSITION DYNAMIC_OUTPUT_FILE_NAME
Note: Shorthand will be:
dsh -n oc APP_DIRECTORY_NAME DYNAMIC_OUTPUT_COMPONENT_NAME DYNAMIC_OUTPUT_COMPONENT_POSITION DYNAMIC_OUTPUT_FILE_NAME
Example: Create an DynamicOutputComponent for the starterApp named FooBar whose position is 4.2 and whose output is generated by the  "HelloWorld.html" Dynamic Output File
dsh --new DynaimcOutputComponent starterApp FooBar 4.2 "HelloWorld.html"
Shorthand example:
dsh -n doc starterApp FooBar 4.2 "HelloWorld.html"
Command MUST do the following:

Verify APPDIRNAME is the name of an existing App in the App's directory, if not show error and exit
Verify the App's OutputComponents directory exists, if not create it
Verify an DynamicOutputComponent with same name does not already exist, if one does, show error and exit.
Create new OutputComponent file in App's OutputComponents directory, using specified parameters
Show new OutputComponent file's contents and exit 0

"1. Verify APPDIRNAME is the name of an existing App in the App's directory, if not show error and exit"
Implemented in commit:
5b826e06c27dda2bdc4d195fa2d2e5c4eec24872

"1. Verify APPDIRNAME is the name of an existing App in the App's directory, if not show error and exit"
Implemented in commit:
5b826e06c27dda2bdc4d195fa2d2e5c4eec24872
Note: New tests were implemented to test this in commit 8a61eddc11d1570e53927acb02f56eadd7f886c1

The followiung tests MUST be implemented for dsh --new DynamicOutputComponent:
 testErrorIfAppDoesNotExist() | implemented in commit 8a61eddc11d1570e53927acb02f56eadd7f886c1
testErrorIfSpecifiedAppDirectoryNameIsEmpty() | implemented in 8a61eddc11d1570e53927acb02f56eadd7f886c1

Comment above is false, Dsh merge #23  does not close issue, it only partly addresses it.


Layout table Bindings is broken

@djeffa commented on Wed Mar 27 2019
The layout of the table in the Bindings paragraph is broken and only shows a texted based table that isn't aligned

Documentdetails
⚠ Dit gedeelte niet bewerken. Het is vereist om problemen te koppelen tussen docs.microsoft.com en GitHub.

ID: 1df5e2bd-489d-19b2-87d3-d993ebb82021
Version Independent ID: 9e9d9ded-8f40-22be-4654-48c87f2c59e8
Content: Overzicht van Azure Functions runtime-versies
Content Source: articles/azure-functions/functions-versions.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@CeciAc commented on Wed Mar 27 2019
Hello, @djeffa
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

@CeciAc Keeping this issue close for now. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Unable to load some archived shows

Hey, great app thanks for sharing it ;)
I noticed I am somehow unable to play some archived shows. It happenf for example with the following link:
https://www.nts.live/shows/ben-sims
Any Idea what could be causing this?

Do you have a specific show that does not work? The link you posted is to a list of episodes, not to a specific show, so NTS Desktop has nothing to play.
If you use a specific episode (like https://www.nts.live/shows/ben-sims/episodes/ben-sims-8th-september-2024) it should work. It does on my machine!

@filo87 I've updated the app to correctly play shows that use SoundCloud, maybe that solves your issue?


[LORA] Optimization (configuration, datasets, etc) and testing

Description

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make unit-testing and make integration-testing successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

Codecov Report
Attention: Patch coverage is 44.55446% with 112 lines in your changes are missing coverage. Please review.

Project coverage is 66.83%. Comparing base (34830a7) to head (bd941a9).
Report is 1488 commits behind head on main.

Files
Patch %
Lines

superduperdb/ext/llm/model.py
44.44%
50 Missing :warning:

superduperdb/ext/llm/training.py
33.33%
44 Missing :warning:

superduperdb/misc/hash.py
50.00%
9 Missing :warning:

superduperdb/backends/mongodb/artifacts.py
12.50%
7 Missing :warning:

superduperdb/backends/local/artifacts.py
80.00%
1 Missing :warning:

superduperdb/ext/llm/vllm.py
50.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1823       +/-   ##
===========================================
- Coverage   80.33%   66.83%   -13.51%
===========================================
  Files          95      125       +30
  Lines        6602     9227     +2625
===========================================
+ Hits         5304     6167      +863
- Misses       1298     3060     +1762

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Modify the box coordinate while resize the image

Hey zzh8829,
Maybe I miss this part, and i realize that you have resize image function while parse_tfrecord and transform_image, did you modify the box accordingly while resize the image?
Maybe I miss it, and maybe that's the possible reason that someone can't get good result while train their own data.
Thanks, and as always, appreciate for your nice code

He is resizing without padding, and as such there is no need to modify the bounding boxes, because the bounding boxes are relative.
Say you have a corner which is 1/5 into the picture from top and 1/10th from the side. Say the picture is 10x5.
If you resize this to 5x5, the box will still be 1/5th of the picture from the top as we havent changed this, the pixel value will be the same (1). The image is squished in the y-coordinat to 5 from 10, effectivly meaning that 1/10th is no longer pixel 1, but pixel 0,5 (we are halving the pixel value because of the squish. Its easier to imagine if you sit down and draw it on a paper with small squares.

@Morgensol
Yes, you are right.
If without padding resize, that's enough and not necessary to modify it any more. Thanks


TinyMCE init and the case of the disappearing content

So, this one came as a surprise to me.
Created a barebones Blazor Server app, added the TinyMCE editor to a page, and then wired up its config to a javascript function.
Blazor code (can't get much simpler than that)
<Editor JsConfSrc="editorConfig" />
Javascript config
window.editorConfig = {
    height: 500,
    toolbar: 'undo redo | bold italic',
    menubar: false,
    init_instance_callback: function (editor) {
        editor.setContent('testy testy');
    }
};

FYI, I've also tried
setup: function (editor) {
        editor.on('init', function (e) {
            editor.setContent('
This is content set via the init function
');
        });
    }

Simple as could be.  Yet when I load up the page, I can see the content in the editor flash for an instant, then it vanishes without a trace.
If I add a button to the page (which I click after the editor is loaded) as so:
<button onclick="tinymce.activeEditor.setContent('testy testy')">
click to set some nonsense in the editor
</button>

The content stays on the screen.
I am assuming this is related to the init logic and some race condition whereby the editor is receiving the content I want set and then inexplicably clears it once the editor is fully initialised.
Browsers Attempted:

Firefox 105.0.3 (64-bit)
Edge 106.0.1370.42
Chrome 106.0.5249.103

I can provide my ridiculously simple example Blazor app if need be.

Here's a public repo with example code.
https://github.com/chrissmithptml/TinyMceBlazorInitSad

@chrissmithptml  I haven't looked at the repo but definitely sounds like a race condition. My question is why are you trying to set the editor content on init? Why not use the Value property? Or use variable binding to edit the content instead of doing activeEditor.setContent.
For example:
<Editor @bind-Value="someVar" >
<Button @onclick=@"someVar='New content'" >
...
someVar = "Initial content"

Not sure about the syntax since I don't have an environment at hand

@jscasca good question.
That's what I have at present, but I noted a few performance issues with this, much of it related to Blazor Server / SignalR lag.
So I am building an app which is really a writer's tool, with each chapter of a book represented on the left and the editor on the right.  So every time the user switches from chapter to chapter, the content in the editor is being updated with their chapter's html.
Now, when it comes to Blazor Server, with the use of SignalR as the bridge between the server and the web browser means

I set the value of the editor when the page (aka the chapter they're editing) loads
Blazor Server has to pass that down the wire via SignalR to re-render the client-side editor
Lag lag lag

Depending on the size of the chapter they're editing, the lag can go from miniscule to irritating quite quickly.  In order to remove this lag, I was able to prove that simply having the client-side javascript call an API endpoint via fetch to get the chapter contents and render them in the TinyMCE editor via the setContent(chapterContents) method was infinitely faster (almost no lag at all).
I bumped into this init issue in that the first render of the editor meant the chapter contents were NOT displaying but all subsequent clicks on other chapters and the contents rendered fine.
Thus how we got here :)
I am simply trying to make sure it's "not just me".  Is the behaviour I'm seeing accurate?

As the issue is happening even when I use a purely Javascript solution

Blazor calls javascript function via IJSInterop
Javascript does a fetch of the html from a REST API
Javascript tries to set the value on the editor via setContent(fetchedContent)

It seems to me this might go beyond Blazor and just be an underlying issue with the TinyMCE init method, but I could be wrong about that.  Good to find out.

The Blazor component will try to set the editor value after initialising. So what is happening is that the init function runs and after the component set the value to a blank editor.
In any case, I still recommend setting the Value property as the initial value (not binding). and work client side all your changes. E.g <Editor Value="your iniital Value" >

Why not use the Blazor WebAssembly instead?

I'll see what I can work out using the Value attribute.  I reckon I can trick it / detect if it's first load or not.
RE: WebAssembly.  Too late, I'm afraid.  We've dumped heaps of time into server-side, so no turning back.  Just one of the caveats of signalr, I guess.
Cheers.

Fair. If you look at the component code you'll see it hooks into the init event to set the initial value asynchronously. So that might be hard to hijack. You can probably hook once into the setcontent event to detect the first value setting or wait after the init event. Good luck!


em / rem support

It would be great if this could have em and/or rem support not just pixels.

+1

any thinking around this. I also really want to get this working with rem's


[epic] v1.0.0 Proposed release blockers

Approved Release Blockers

[ ] https://github.com/operator-framework/operator-controller/issues/921
[ ] https://github.com/operator-framework/operator-controller/issues/944
[ ] https://github.com/operator-framework/operator-controller/issues/923
[ ] https://github.com/operator-framework/catalogd/issues/288

Proposed Release Blockers

[ ] https://github.com/operator-framework/operator-controller/issues/967

Non-blockers

[ ] https://github.com/operator-framework/operator-controller/issues/945
[ ] https://github.com/operator-framework/operator-controller/issues/955
[ ] https://github.com/operator-framework/operator-controller/issues/914

Resolved

[x] https://github.com/operator-framework/operator-controller/issues/961

I took the liberty of moving a few of the release blockers to non-release blockers:

#945 is an e2e test. There is no indication today that the actual behavior related to reconciling ClusterExtensions due to ClusterCatalog changes is incorrect.
#955 does not change end-user facing APIs for functionality. It can be fixed after 1.0.0.
#914 is a performance and UX issue, not an API or functionality change, so we can technically wait until after 1.0.0 to fix it. But I also still think that going out with this as a known issue would be a signal to users that we are unnecessarily rushing 1.0.0.

Added https://github.com/operator-framework/operator-controller/issues/987 as a proposed release blocker (but this can be changed)

And added #970 as a proposed release blocker.

I don't think #869 is a release blocker because it is not a functional or API change. It is an optimization for reducing disk read/write/usage.

@joelanford Just a heads up that I removed #1088 from this epic to be tracked in the v1 API review epic


seafile-client: 8.0.6 -> 8.0.7

Description of changes
minor bugfix release, fixing crashes and a buffer overflow
Changelog

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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

The source hash doesn't match now.  As it did succeed on OfBorg, I'm not sure what's wrong.  Could be a force-push or something else.

BTW, if you wanted to auto-backport the PR to 21.11, there's a different pair of labels for it: https://github.com/NixOS/nixpkgs/labels?q=backport

The hash change was caused by re-tagging the release and moving the tag to a follow-up commit, I asked upstream to please not do it anymore. https://github.com/haiwen/seafile-client/issues/1414
I'll do a follow-up PR, fixing the hash and using the new tag.


How to configure Devise to use omniauth-azure-activedirectory

Can you provide guidance on how to setup Devise with the use of this library?

Related to https://github.com/plataformatec/devise/issues/4208