Doc-Coordinate Conversion: "Customize a coordinate format" Pro and ArcMap .pdfs do not have same content

How you customize/alter a coordinate format is the same for Pro and ArcMap addin's so the same content should be used for both the Pro addin .pdf and the ArcMap addin .pdf.

@elinz ready for verification with next build of pdf. I'm going to look at the other coordinate conversion topics as well for consistency.

@Dbarnes1 The content isn't correct concerning decimal places.
0 represents a digit. # represents a significant digit. This I believe only applies to degree based formats.
The default for DD is Y0.0#####N X0.0#####E where 0 after the decimal represents a digit; # represents a significant digit. So the default DD format would display at a minimum a single decimal place, but can display up to 6 decimal places if these numbers are significant.
I believe # has different meaning for the other non-degree based formats.

@elinz thanks for checking, I'll add this correction to the documentation and I'll let you know.

corrected this issue, let me know if my statement is correct.

@Dbarnes1 The .pdfs in the today's latest build still have the old content.

@elinz @joebayles updated the doc with an actual example, not just a format example. Let me know what you think.

@Dbarnes1 looks good, except in your first example, it would return 45.2N, 40.3W.

@joebayles good catch, i'll update that.

No sweat.
Incidently, if you updated it to 45.002 and 40.300, it would return 45.002, 40.3.
@elinz is that good?

@joebayles thats a better example, I'll put that

@Dbarnes1 I assigned this back to you because I wasn't sure if you finished all the changes. Thanks.

changes have been finished and are available to verify. @elinz fyi


Mercury and shouldComponentUpdate

I'm new to React and Immutable data structures in JS. I've been looking into Mercury along with Morearty and Omniscient.
How does Mercury decide to attempt to re-render the view? Is it just based on change events from observ-struct? Is there a concept of avoiding the vdom diff calculations if the data hasn't actually changed?
Omniscient and Moreatry both override shouldComponentUpdate. Does Mercury need or already have a similar pattern?

Mercury had mercury.partial which uses vdom thunks.

Thanks for the speedy response. Thunks page in the docs explains it greater detail!


better generics

hi,
the generics call of ssharp is very bad with the |´s. so can you make it optional?

I second this, but I cannot see how to do it with the LR parser.


 I see there are similar commits so try to commit from separate branch not from master

@sai-prasad-1 be aware before you commit your changes. I see there are similar commits so try to commit from a separate branch, not from master

ooh sorry i will that asap


MWPW-120502 - PDF Viewer Config

Move PDF Viewer client ids into env-specific config

Resolves: MWPW-120502
Test URLs:

Before: https://main--bacom--adobecom.hlx.page/drafts/methomas/pdf-viewsdk?martech=off
After: https://methomas-pdf-stage-config--bacom--adobecom.hlx.page/drafts/methomas/pdf-viewsdk?martech=off&milolibs=methomas-move-pdf-config

Note: With the feature branch url, the PDF will show an error "Preview not available: This application domain is not authorized..." because the Viewer's client id is specifically for "main--bacom--adobecom.hlx.page". We'll verify once it's merged into main. Any other errors should be flagged though.

Companion of https://github.com/adobecom/milo/pull/319


Seedy-Threepio.Theseus2000 version 3.6C

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

This package's main application is an interactive console:

@wingetbot waivers Add Validation-Executable-Error Validation-Domain

Close with reason: Stale pull request;


Demo

Yesterday swiping from the side on the screen on mobile worked perfectly on the demo website. Today it seems to no longer be working. Tested multiple devices.

Wops! I broke it today trying to fix another bug. Fixed with the 5.0.12.


vnstat date/time issue

I'm having an issue with vnstat....
The graphs on the vnstat tab work well however the time is 7 hours behind.
My system date/time and locale are correct.
Running vnstat from the command line shows the correct (system) time.
Is this a pearl thing??

I'm sure it isn't a pearl thing ;p htpc manager is written in Python. The charts etc are from JavaScript. What way are they off?

Whoops. I meant Python, not Pearl.
At any rate I seem to have solved this. As per the screenshots, vnstat via the command line was showing the correct time, i.e. 17:08. The vnstat Tab in HTPC Manager was showing the time as being 7 hours behind.
Whilst checking everything I noticed that the time and date of the attached switch was incorrect, although not by 7 hours. After correcting the switch, its working correctly this morning.
Go figure....


Scripts

Branch to handle scripts used to analyse the instruction trace of running a Spike program

Found an issue where the instruction names that are beyond a certain character count end up joining the first operand in the instruction which is probably messing up some analysis as the parsing doesn't detect this; will look at ways of getting rid of this issue tomorrow.


In Swift 3 mode, allow "tuple unsplatting" in certain cases.

Swift 3.0 allowed constructing an enum or calling a function-typed property with multiple arguments even when a single argument of tuple type was expected. Emulate that in Swift 3 mode by wrapping in an extra level of parentheses when the situation comes up.
Last vestiges of fallout from SE-0110. Hopefully last, anyway. A nice follow-up to this commit might be to warn in Swift 3 mode when this happens. I'll file an SR for that.
rdar://problem/30171399

@swift-ci Please test

Hack looks good, but @DougGregor should take a look as well.

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 2ca89a589db52d95d4bc36c11808f9943c81924b
Test requested by - @jrose-apple

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 2ca89a589db52d95d4bc36c11808f9943c81924b
Test requested by - @jrose-apple

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 2ca89a589db52d95d4bc36c11808f9943c81924b
Test requested by - @jrose-apple

Filed SR-3767 for the potential warning.


Replace Mimic

Mimic has always caused us minor inconveniences. It is not maintained frequently and is now causing dependency conflicts.
Reviewer: I don't have any particular concerns about the code, although double checking thread synchronization code can never hurt.
Goals (in descending order):

don't break code already using hyperion_test
ease of use
flexibility/composability (possible future extraction from hyperion)
performance

Finished in 3.82 seconds (files took 0.30277 seconds to load)
144 examples, 0 failures

Nice job keeping it lightweight and fast


Use newer format for setting GitHub output

What changed? Why?
Deprecated set-output Command:
The use of ::set-output has been deprecated and now replaced with  $GITHUB_ENV. This is a potential improvement, thank you.
Notes to reviewers
How has it been tested?
Yes

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

@zencephalon please this PR is ready to be reviewed and merged


Added FolderStruct and TBF

To be filled files = TBF

Hi @ddneves.
Thank you for your thoughts. 👍
As we have spoken before, this will not be merged.
For the record:

Folder division: Right now, I will stay with just the 'modules' folder. When we have much more modules then we can think in some sub-division. People can and should use the search box to try to find stuff if they don't know what module they want/need.
TBF: I don't like that approach, sorry. I will explain why. I want people arrive on the repository and can search and therefore find things with information, even if only the header with the basic information (i.e without any blog posts or videos). This way, at least they could jump to the module repository and try to find more.


[Feature Request] Preview Block Math in Source Mode

I really like the inline math preview function, and it works even in source mode. However, there's no math preview for block math in source mode (since it's default in preview mode I think). It would be nice to have a preview similar to that of inline math.

I am considering creating this.
@artisticat1 was there a reason you didn't do it?
I don't want to waste my time in case there is something weird/hard about this ^^


DBZ-3052 Adding build commit sha with link to changes.

@gunnarmorling @mdrillin First pass at adding in the commit sha

Thanks a lot, @brbrown25!
@rk3rn3r @mdrillin, could you take a look at this one?

Looks like footer is overlapping main Wizard buttons.

[ ] fix overlapping footer
[ ] class -> className

I'll knock these out today. thanks for the speed review everyone!

@uidoyen it's a little closer, no longer overlapping but still not quite where I feel like it should be. I'm not that familiar with patternfly so not sure if there is a better way to get the footer placed, open to suggestions.

@brbrown25 thanks for submitting this!  Sorry I didnt pick up on it before, but I think the patternfly design recommendation is to use an about dialog instead of putting the build info in the footer.  I added a comment to the JIRA .  @gunnarmorling you ok with that approach?

@brbrown25 thanks for submitting this! Sorry I didnt pick up on it before, but I think the patternfly design recommendation is to use an about dialog instead of putting the build info in the footer. I added a comment to the JIRA . @gunnarmorling you ok with that approach?

no problemo, thanks for the opportunity! Once we agree on next steps I'll give this an update.

@gunnarmorling https://github.com/gunnarmorling you ok with that
approach?

Yes, absolutely. Let's stick to the Patternfly recommendations wherever
they exist and they make sense for us.

I'll knock this out tomorrow morning!

@mdrillin I've pulled in the latest master and switched to a modal, i didn't play with the sizing our anything. another option could be to have a tooltip that is activated by a click. although I think this modal approach is nice since there is some additional information that could be added over time

I think this looks good.  Please remove Footer in appHeader, then we are good to go.  Thanks!

@mdrillin thanks so much! I've collapsed things down and removed Footer


fix route authentication demo APP

refactor route authentication by making each route able to be protected by guards
acceptance Criteria:

[ ] all routes are available to navigate  via react navigation
[ ] route can be protect by a guard
[ ] global provider for logging out exist

reference:
https://github.com/remix-run/react-router/tree/dev/examples/auth

1 points to previous sprint
2 to new sprint

previous sprint: 1
new sprint: 1


Resolve merge conflict

This resolves the merge conflicts

I merged Tinche/cattrs into forward-def-support and resolved the conflicts. which is probably why this is showing such a large diff.


Remove Travis status badge or repleace it with Jenkins one

The reason is we no longer use Travis. For me we should remove it instead of replacing with Jenkins because it not useful. We already required all PR to be able to merge only if CI succeeded. So that mean the master branch is rarely to have errors.

I agree. Please implement thank you!

I take it this has been implemented? I can't see a Travis status badge in the README

Weird. I still see it.


"menubar" example does not work

no method named add_delimiter found for type &mut cursive::views::Menubar in the current scope
--> src/main.rs:69:10
|
69 |         .add_delimiter()
|

Thank


GH-26 eclccPath setting has invalid cwd.

Fixes GH-26
Signed-off-by: Gordon Smith<EMAIL_ADDRESS>

Fixes:  https://github.com/GordonSmith/vscode-ecl/issues/26


map and listBind and weak references

I want to bind an ObservableList<T> to and `ObservableList.
I wrote a mapping (map) from the first list to an intermediate one, then i use listBind between the intermediate and the target. The problem is that if i don't keep a strong reference on this intermediate list, it is garbaged and the binding is dispose.
I wrote this simple test that fails:
public class ListMapTest {
    @Test
    public void test() throws InterruptedException {
        ObservableList<String> source = FXCollections.observableArrayList();
        source.addAll("1", "2", "8");

        ObservableList<Integer> intermediate = EasyBind.map(source, Integer::parseInt);

        ObservableList<Integer> target = FXCollections.observableArrayList();
        EasyBind.listBind(target, intermediate);

        assertEquals(Arrays.asList(1, 2, 8) , target);

        intermediate = null;
        System.gc();
        Thread.sleep(1000);

        source.addAll(2, Arrays.asList("3", "5"));
        assertEquals(Arrays.asList(1, 2, 3, 5, 8), target);

        source.remove(1, 3);
        assertEquals(Arrays.asList(1, 5, 8), target);
    }
}

Unfortunately, this is the expected behavior. It is a problem that comes with weak listeners. You get the same problem with bindings from JavaFX. See also my blog post on this. In the design of EasyBind, I chose weak listeners, because that is what JavaFX does.
In ReactFX, I implemented a different approach, where the mapped list would register a normal (strong) listener on the source list and clean it up when its own listener is removed. So I would suggest you try ReactFX, namely LiveList.map. There is currently no equivalent for listBind in ReactFX. You could still use EasyBind for that, or just use bindContent from JavaFX (which does not return a Subscription).


improvement SteamMasterID & SteamMasterClanID

may be?
"SteamMasterID": [id1,id2,...]
"SteamMasterClanID": [id1,id2,...]
ps: many people can not work with bots on 2 main account

and can be renamed to:

and can be renamed to:
SteamMasterID -> UserWhileList
SteamMasterClanID -> GroupWhileList

I do not see any point of this, care to elaborate when it can be useful?

The use of commands without switching accounts
In a big farm is very easy to get a limit of 500$ (use the !loot for 2 account would help)
and more :)

Why would you need to switch account?
Multiple looting is not valid argument, there is already #412 about this.
Still waiting for practical use of allowing more than 2 people (SteamOwnerID and SteamMasterID) to be able to execute commands, as well as bots joining more group than one.

I kinda see a point in the switch accounts argument. I myself play CS:GO in more than 3 accounts, and indeed I had to log-out the account I was playing and log-in to my main whenever I need to use bots. That was before I made a script to work with WCF, because now I don't ever have to use the Steam chat again. I also use two separate instances of ASF, since I have some accounts that I borrowed from my friends, I just like to keep them separated from the "real" bots. It's not inconvenient to me though, while I have two master accounts, I just had to point the SteamMasterID of my second master account to my main account. After the farming ends on the second ASF instance, all cards are sent to my second master account and then to my main account.
tl;dr While I kinda get his point, you could surpass those "issues".

And I could also create new ones such as who is main master that should receive !loot trades - no thank you.

I gave this idea second fresh look and I still didn't find enough arguments after one suggestion or the other.
Not even a single argument after multiple groups, and as it could be used for abuse purposes, that's out.
Multiple masters has at least one usage that can be deemed valid, but I still don't think that it's strong enough to justify increased complexity - you can easily create overcome this problem by having one owner, and several masters controlling different bots. Owner can execute all commands, and master can execute command at least on one bot, and if that bot has e.g. forwarding/distributing then it should be enough for redeem scenario, I don't want to allow anything else anyway.
Closing due to not enough reasoning, let me know if there is something else that could vouch after this suggestion.


Emmet is installed but it doesn't work.  Brackets on Linux Mint 19.2 Cinnamon.

Hi everyone. I'm a fairly new user of Linux OS and I faced a problem trying to fix it.
Here's my issue! The Emmet extension is installed on Brackets but it doesn't work at all after I tried to change the keymap.json and fix the "Wrap with Abbreviation" shortcut. After that (I'm sure though) Emmet on Brackets (Linux Mint 19.2 Cinnamon) toolbar did not even open by clicking on it to see the menu. Any suggestions could be a help. Thanks to y'all.

Hi everyone. I'm a fairly new user of Linux OS and I faced a problem trying to fix it.
Here's my issue! The Emmet extension is installed on Brackets but it doesn't work at all after I tried to change the keymap.json and fix the "Wrap with Abbreviation" shortcut. After that (I'm sure though) Emmet on Brackets (Linux Mint 19.2 Cinnamon) toolbar did not even open by clicking on it to see the menu. Any suggestions could be a help. Thanks to y'all.

Issue solved!


integrate with strong parameters. Closes #41

Integrate with strong parameters. This allows to migrate a codebase partially
from protected_attributes to strong_parameters. Every model that does not
use a protection macro (attr_accessible or attr_protected), will be
protected by strong parameters. The behavior stays the same for models, which
use a protection macro.
To fully restore the old behavior set:
config.action_controller.permit_all_parameters = true

Or add a callback to your controllers like this:
before_action { params.permit! }

Closes #41.

Hey guys, any progress on this one? Would really like for it to see the light of the day :+1:


feat: [CDS-93054]: Add examples of unresolved variables in conditional execution

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screenshot.

 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.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65e7227cb4d130108fb40759--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f1581b60dc48a893f58607--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f158c732368aa42167c2cc--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f159cd13c7bea26d77e6a4--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f44fa7db203e051b40d59e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f451f4b907000090d60e8e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f4537f29f899008cc148bc--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f7e8dc14875823d6079da2--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f7ec2ccac913262152fae7--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f7ece9cac913269252fb9e--harness-developer.netlify.app


Add additional cli options

Support setting the OFX_VERSION to use (Chase requires version 103)
Support changing how many days of history to use (defaults to 30)

Was looking for that 👍 thanks. Release would be nice :)


Shrink the boxes which say what your current boost/task.

The boxes in the top right corner can become quite long and take up a lot of screen face when using super set, on task and using cannon.

This was already fixed by providing option to wrap the info boxes.


[API Gateway] Alcor Authorization Model

Alcor RBAC design: https://github.com/futurewei-cloud/alcor/blob/master/docs/modules/ROOT/pages/high_level/rbac_design.adoc

RBAC support has addressed this feature request. Close it.


Open links in a new tab option (default?)

Description
When there are links in github PR descriptions, clicking the link does not open in a new tab.
This can be frustrating if you are being directed to supporting documentation, graphs, or whatever else. Especially if there are multiple links.
Of course, holding ctrl / cmd allows for a common workaround, but I think the option for it to be embedded behaviour would be useful.
Example URLs
https://github.com/refined-github/refined-github/issues/6000
For example, the link to #5222 the above PR description should open in a new tab.

It's bad practice to open links in a new tab by default, so if you want that you'd have to use a dedicated extension or write a simple user script, we can't do it here.

However fyi we do exactly that in a very specific situation: when it can cause data loss:

https://github.com/refined-github/refined-github/pull/7055

It's bad practice to open links in a new tab by default, so if you want that you'd have to use a dedicated extension or write a simple user script, we can't do it here.

ux.stackexchange.com/q/5397/35104
stackoverflow.com/q/946248/288906

However fyi we do exactly that in a very specific situation: when it can cause data loss:

prevent-comment-loss - New feature #7055

It is slightly ironic that I'm clicking these links with cmd + click in order to read them and then revert back to this PR.
I would suggest it is very common behaviour for PR review given the links in a PR often (always?) give context to the PR itself, so the user will want to keep the PR open to read the supporting links, with the ultimate goal of coming back to review.
However, I don't have an example of a website off the top of my head that is doing it by default (that I've noticed) to help support this argument. For now I'll leave this task closed and look at a user script.
Cheers


Prepare for upcoming LIGHTNING-Talk at Meetup://MUC++

the first draw of slides
for  the LIGHTNING TALK to be hold at 2020-10-22 at the Meetup-Group MUC++
is stored in subdir talks as PDF

The lightning talk at the MUC++ Meetup 2020-10-22 was a success.
There were no technical dropouts and the 11 minute Video is now available at YOUTUBE.de an on twitch.de
I am looking forward of the future response of the C++ community.

The lightning talk at the MUC++ Meetup 2020-10-22 was a success.
There were no technical dropouts and the 11 minute Video is now available at YOUTUBE.de an on twitch.de
I am looking forward of the future response of the C++ community.


switch from docker.io to gcr.io for building images

Hitting the docker pull limits when building from local and CI/CD, so switching to gcr instead

This is using shibuya GCP project. So are these images public?

@iandyh Yes. There's no free tier for gcr.io so need to add to our own project

@harpratap I think you commit with your internal id. You might want to rebase.

@iandyh Thanks for that, updated now


Powertoys keeps "running into an issue" when I try to search something with my browser from powertoys run(I'm using mozilla firefox)

Microsoft PowerToys version
0.53.1
Running as admin

[X] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
I press my run shortcut, type something with no results(the search with default browser thing shows up instead) and then I click enter. Afterwards, it shows me a screen that looks like what I attached:

The error log says:
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.22000.0
IntPtr Length: 8
x64: True
Date: 10.01.2022 21:11:58
Exception:
System.InvalidOperationException: Cannot start process because a file name has not been provided.
at System.Diagnostics.Process.Start()
at Wox.Infrastructure.Helper.OpenInShell(String path, String arguments, String workingDir, Boolean runAsAdmin)
at Community.PowerToys.Run.Plugin.WebSearch.Main.<>c__DisplayClass19_2.b__3(ActionContext action)
at PowerLauncher.ViewModel.MainViewModel.<>c__DisplayClass27_0.b__0()
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at PowerLauncher.ViewModel.MainViewModel.OpenResultsEvent(Object index, Boolean isMouseClick)
at PowerLauncher.ViewModel.MainViewModel.b__28_10(Object index)
at System.Windows.Input.CommandManager.TranslateInput(IInputElement targetElement, InputEventArgs inputEventArgs)
at System.Windows.UIElement.OnKeyDownThunk(Object sender, KeyEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled)
at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers)
at System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
✔ Expected Behavior
Searching something
❌ Actual Behavior
It showed that screen
(It doesn't crash, or if it does it auto-restarts right after crashing)
Other Software
Mozilla Firefox 95.0.1 (64-bit)
msix(microsoft store) version

@Ultra980
Do you see an message box saying that Firefox can't be started or only this crash?

If there isn't a message box I think the parameter of shellExecute() must be empty unexpectedly.

Duplicate of #15331

@Ultra980
There is an extra test build with extra logging: https://github.com/franky920920/PowerToys/releases (Please read the release note before installing this)
After reproducing the issue, do a standard /bugreport and the logs will be collected so I can know what is executed.

Right-click on the tray icon and click Report Bug. Then drag-and-drop the generated file into the GitHub comment to upload it. Thanks!

Duplicating this againist #15384 with possible fix.

Tracking in /dup #15384


JSX Auto-format adds unnecessary space in attributes

VSCode Version: 1.1

The .tsx/.jsx auto-formatter adds an unnecessary space on the end of certain dynamic attributes.
E.g. <button id={fn()} /> becomes <button id={fn() } /> after the file is auto-formatted. A space is inserted after the closing parenthesis of the fn() call.
The problem appears to be related to having parenthesis in the attribute.
E.g. <button id={""} /> is left unchanged by auto-format. <button id={("")} /> becomes <button id={("") } /> (the space is inserted)
I have also observed the auto-formatter preserves the spaces in the id attribute of <button id={ ("") } />

This issue was moved to Microsoft/TypeScript#8683


Error in program:  No valid option generated in #select!

The bug
If the option is in Chinese, this error is raised. In fact, not only Chinese, in the non-English context, there may be a large probability of this bug
To Reproduce
import guidance
guidance.llm = guidance.llms.OpenAI("text-davinci-003")
chinese_program = guidance.Program("""哪个水果更甜一点？\n{{#select 'fruit'}}苹果{{or}}橘子{{/select}}""")
chinese_program()

System info (please complete the following information):

OS (e.g. Ubuntu, Windows 11, Mac OS, etc.): Mac OS
Guidance Version (guidance.__version__): 0.0.57

just like this:

But I found a way to fix the bug, The original code does not take into account the case of the token being bytes. In the case of the token being bytes,  openai will add the "bytes:" prefix, like this:
{
    "text_offset":[
        17
    ],
    "token_logprobs":[
        -0.054483417
    ],
    "tokens":[
        " "
    ],
    "top_logprobs":[
        {
            " ":-0.054483417,
            "bytes: \\xe6":-2.9369752
        }
    ]
}

I fixed the bug with the following code
# in _select.py
if "logprobs" in gen_obj:
    logprobs_result = gen_obj["logprobs"]

    # convert the logprobs keys from string back to token ids
    top_logprobs = {}
    for k,v in logprobs_result["top_logprobs"][0].items():
        if k.startswith('bytes:'):
            k = k.replace('bytes:', '')
            k = k.replace('\\x', '')
            k_bytes = bytes.fromhex(k)
            if k.startswith(' '):
                k_bytes = b' ' + k_bytes
            id = parser.program.llm._tokenizer.encode_single_token(k_bytes)
        else:
            id = parser.program.llm.token_to_id(k)
        top_logprobs[id] = v

If possible, I would be happy to contribute a PR for this.

Thanks! Clearly we need some non-english based unit tests. A PR would be much appreciated! (and if you do send in a PR can you also make sure whatever patch also works with the Transformers backend models?

Thanks! Clearly we need some non-english based unit tests. A PR would be much appreciated! (and if you do send in a PR can you also make sure whatever patch also works with the Transformers backend models?

Ok, I'll check the relevant subclasses of _llm.LLM and add the non-english based unit tests.


Matrix Multiplication Example

I've attached an attempt at a new example that could be included in the example directory here - matrix multiplication of matrices containing single-precision floats. I think something like this might be useful to show, because it is a bit more complicated than the simple memcpy-style examples but less inscrutable than the partial sgemm.S one. I've also included a C test harness to demonstrate use.
I'm sure there are much better or more correct ways to implement matrix multiplication, but hopefully this is a useful starting point. The example is:
.text
.balign 4
.global matmulFloat_v

# void matmulFloat_v(
#     size_t       n,     // a0: A columns, B rows
#     size_t       m,     // a1: A rows
#     size_t       p,     // a2: B columns
#     const float *A,     // a3: A is m x n matrix
#     const float *B,     // a4: B is n x p matrix
#     float       *C      // a5: C is m x p matrix
# ) {
#     int i, j, k;
#
#     for (i = 0; i < m; i++) {
#         for (j = 0; j < p; j++) {
#             float c = 0;
#             for (k = 0; k < n; k++) {
#                 c += A[i*n+k] * B[k*p+j];
#             }
#             C[i*p+j] = c;
#         }
#     }
# }

#define n       a0
#define m       a1
#define p       a2
#define A       a3
#define B       a4
#define C       a5

#define i       t0
#define j       t1
#define k       t2
#define ksub    t3
#define bstride t4
#define tmp     t5

matmulFloat_v:
    li t0, 0
    slli t4, a2, 2                  # calculate B block stride
1:
    li t1, 0
2:
    li t2, 0
    li t5, 1
  vsetvli t5, t5, e32,m1,ta,ma      # set vector length 1
  vxor.vv v0, v0, v0                # initialize c
3:
    sub t3, a0, t2                  # calculate remaining k
  vsetvli t3, t3, e32,m8,ta,ma      # prepare for next k block

    mul t5, t0, a0                  # calculate A block base address
    add t5, t5, t2
    slli t5, t5, 2
    add t5, t5, a3

  vle32.v v8, (t5);                 # load A block

    mul t5, t2, a2                  # calculate B block base address
    add t5, t5, t1
    slli t5, t5, 2
    add t5, t5, a4

  vlse32.v v16, (t5), t4;           # load B block

  vfmul.vv v8, v8, v16              # multiply N elements
  vfredsum.vs v0, v8, v0            # accumulate result in element 0 of v0

    add t2, t2, t3
    bne t2, a0, 3b                  # do next k block

    li t5, 1
  vsetvli t5, t5, e32,m1,ta,ma      # set vector length 1

  vse32.v v0, (a5);                 # store C block element

    addi a5, a5, 4                  # increment C block address

    addi t1, t1, 1
    bne t1, a2, 2b                  # do next j

    addi t0, t0, 1
    bne t0, a1, 1b                  # do next i

    ret

The algorithm implemented is shown in the C-style comment. It multiplies m x n matrix A and n x p matrix B, writing the result to m x p matrix C. The vector code uses unit stride and strided loads, register grouping, floating point multiply and floating point reduction operations. The C test harness is this:
#include <stdio.h>
#include <stdlib.h>

//
// Enable vector extension and floating point
//
extern void init_v(void);

//
// Vector implementation
//
extern void matmulFloat_v(
    size_t       n,     // A columns, B rows
    size_t       m,     // A rows
    size_t       p,     // B columns
    const float *A,     // A is m x n matrix
    const float *B,     // B is n x p matrix
    float       *C      // C is m x p matrix
);

//
// Non-vector implementation
//
static void matmulFloat(
    size_t       n,     // A columns, B rows
    size_t       m,     // A rows
    size_t       p,     // B columns
    const float *A,     // A is m x n matrix
    const float *B,     // B is n x p matrix
    float       *C      // C is m x p matrix
) {
    int i, j, k;

    for (i = 0; i < m; i++) {
        for (j = 0; j < p; j++) {
            float c = 0;
            for (k = 0; k < n; k++) {
                c += A[i*n+k] * B[k*p+j];
            }
            C[i*p+j] = c;
        }
    }
}

//
// Exercise matrix multiplication
//
void testMatMul (int n, int m, int p) {

    float A[m][n];
    float B[n][p];
    float C[m][p];
    float aVal = 0.0;
    float bVal = 0.0;
    int   r, c;

    printf("\n-----------------------------------------\n");
    printf("TEST MATRIX MULTIPLICATION N=%d M=%d P=%d\n", n, m, p);
    printf("-----------------------------------------\n");

    // fill A with known values
    printf("\n--\nA:\n--\n");
    for (r = 0; r < m; r++) {
        printf("   ");
        for (c = 0; c < n; c++) {
            A[r][c] = aVal;
            aVal += 0.25;
            printf(" %7.2f", A[r][c]);
        }
        printf("\n");
    }

    // fill B with known values
    printf("\n--\nB:\n--\n");
    for (r = 0; r < n; r++) {
        printf("   ");
        for (c = 0; c < p; c++) {
            B[r][c] = bVal;
            bVal += 1;
            printf(" %7.2f", B[r][c]);
        }
        printf("\n");
    }

    // do matrix multiplication
    if(1) {
        matmulFloat_v(n, m, p, &A[0][0], &B[0][0], &C[0][0]);
    } else {
        matmulFloat(n, m, p, &A[0][0], &B[0][0], &C[0][0]);
    }

    // show result
    printf("\n--\nC:\n--\n");
    for (r = 0; r < m; r++) {
        printf("   ");
        for (c = 0; c < p; c++) {
            printf(" %9.2f", C[r][c]);
        }
        printf("\n");
    }
}

//
// Main routine
//
int main(int argc, char ** argv) {

    init_v();

    testMatMul(2, 4, 6);
    testMatMul(18, 31, 23);

    return -1;
}

(The init_v function enables floating point and vector instructions. This may or may not be needed depending on the simulation environment:
init_v:
    li t0, 1<<9+1<<13
    csrs mstatus, t0
    ret

)
The C code will perform a multiply using either the vector implementation or a traditional non-vector one so the results can be compared (change the if(1) line in the obvious way). The test function testMatMul defines and fills appropriately-sized local matrixes with a simple pattern of values so the results can be seen. For example the testMatMul(2, 4, 6) call produces this output:
-----------------------------------------
TEST MATRIX MULTIPLICATION N=2 M=4 P=6
-----------------------------------------

--
A:
--
       0.00    0.25
       0.50    0.75
       1.00    1.25
       1.50    1.75

--
B:
--
       0.00    1.00    2.00    3.00    4.00    5.00
       6.00    7.00    8.00    9.00   10.00   11.00

--
C:
--
         1.50      1.75      2.00      2.25      2.50      2.75
         4.50      5.75      7.00      8.25      9.50     10.75
         7.50      9.75     12.00     14.25     16.50     18.75
        10.50     13.75     17.00     20.25     23.50     26.75

The test function will accept any values of n, m and p sizes, so this can be used to investigate the performance of the algorithm on any shape input.
The algorithm is not optimized in any way, so I am sure it can be improved.

The simplest change that should be made is to transpose the j/k loops:
before:
for i
for j
t = 0
for k
t += a[i,k] * b[k,j]
end k
c[i,j] = t
end j
end i
after:
for i
c[i,*] = 0
for k
ta = a[i,k]
for j
c[i,j] += ta * b[k,j]
end j
end k
end i
this makes it both cache-friendly and easily vectorized because it iterates
over B[] in row-major order and accesses A as scalars.
if the rows are short enough, you can tile the k loop on top of this, so
you get some temporal re-use out of rows in B, but it has diminishing
returns.
if the rows are super-long, then you need to tile across j as well.
g
On Thu, Jun 11, 2020 at 6:09 AM JamesKenneyImperas<EMAIL_ADDRESS>wrote:

I've attached an attempt at a new example that could be included in the
example directory here - matrix multiplication of matrices containing
single-precision floats. I think something like this might be useful to
show, because it is a bit more complicated than the simple memcpy-style
examples but less inscrutable than the partial sgemm.S one. I've also
included a C test harness to demonstrate use.
I'm sure there are much better or more correct ways to implement matrix
multiplication, but hopefully this is a useful starting point. The example
is:
.text
.balign 4
.global matmulFloat_v
void matmulFloat_v(
size_t       n,     // a0: A columns, B rows
size_t       m,     // a1: A rows
size_t       p,     // a2: B columns
const float *A,     // a3: A is m x n matrix
const float *B,     // a4: B is n x p matrix
float       *C      // a5: B is m x p matrix
) {
int i, j, k;

for (i = 0; i < m; i++) {
for (j = 0; j < p; j++) {
float c = 0;
for (k = 0; k < n; k++) {
c += A[in+k] * B[kp+j];
}
C[i*p+j] = c;
}
}
}
#define n       a0
#define m       a1
#define p       a2
#define A       a3
#define B       a4
#define C       a5
#define i       t0
#define j       t1
#define k       t2
#define ksub    t3
#define bstride t4
#define tmp     t5
matmulFloat_v:
li t0, 0
slli t4, a2, 2                  # calculate B block stride
1:
li t1, 0
2:
li t2, 0
li t5, 1
vsetvli t5, t5, e32,m1,ta,ma      # set vector length 1
vxor.vv v0, v0, v0                # initialize c
3:
sub t3, a0, t2                  # calculate remaining k
vsetvli t3, t3, e32,m8,ta,ma      # prepare for next k block
mul t5, t0, a0                  # calculate A block base address
add t5, t5, t2
slli t5, t5, 2
add t5, t5, a3

vle32.v v8, (t5);                 # load A block
mul t5, t2, a2                  # calculate B block base address
add t5, t5, t1
slli t5, t5, 2
add t5, t5, a4

vlse32.v v16, (t5), t4;           # load B block
vfmul.vv v8, v8, v16              # multiply N elements
vfredsum.vs v0, v8, v0            # accumulate result in element 0 of v0
add t2, t2, t3
bne t2, a0, 3b                  # do next k block

li t5, 1

vsetvli t5, t5, e32,m1,ta,ma      # set vector length 1
mul t5, t0, a2                  # calculate C block address
add t5, t5, t1
slli t5, t5, 2
add t5, t5, a5

vse32.v v0, (t5);                 # store C block element
addi t1, t1, 1
bne t1, a2, 2b                  # do next j

addi t0, t0, 1
bne t0, a1, 1b                  # do next i

ret

The algorithm implemented is shown in the C-style comment. It multiplies m
x n matrix A and n x p matrix B, writing the result to m x p matrix C. The
vector code uses unit stride and strided loads, register grouping, floating
point multiply and floating point reduction operations. The C test harness
is this:
#include <stdio.h>
#include <stdlib.h>
//
// Enable vector extension and floating point
//
extern void init_v(void);
//
// Vector implementation
//
extern void matmulFloat_v(
size_t       n,     // A columns, B rows
size_t       m,     // A rows
size_t       p,     // B columns
const float *A,     // A is m x n matrix
const float *B,     // B is n x p matrix
float       *C      // B is m x p matrix
);
//
// Non-vector implementation
//
static void matmulFloat(
size_t       n,     // A columns, B rows
size_t       m,     // A rows
size_t       p,     // B columns
const float *A,     // A is m x n matrix
const float *B,     // B is n x p matrix
float       *C      // B is m x p matrix
) {
int i, j, k;
for (i = 0; i < m; i++) {
    for (j = 0; j < p; j++) {
        float c = 0;
        for (k = 0; k < n; k++) {
            c += A[i*n+k] * B[k*p+j];
        }
        C[i*p+j] = c;
    }
}

}
//
// Exercise matrix multiplication
//
void testMatMul (int n, int m, int p) {
float A[m][n];
float B[n][p];
float C[m][p];
float aVal = 0.0;
float bVal = 0.0;
int   r, c;

printf("\n-----------------------------------------\n");
printf("TEST MATRIX MULTIPLICATION N=%d M=%d P=%d\n", n, m, p);
printf("-----------------------------------------\n");

// fill A with known values
printf("\n--\nA:\n--\n");
for (r = 0; r < m; r++) {
    printf("   ");
    for (c = 0; c < n; c++) {
        A[r][c] = aVal;
        aVal += 0.25;
        printf(" %7.2f", A[r][c]);
    }
    printf("\n");
}

// fill B with known values
printf("\n--\nB:\n--\n");
for (r = 0; r < n; r++) {
    printf("   ");
    for (c = 0; c < p; c++) {
        B[r][c] = bVal;
        bVal += 1;
        printf(" %7.2f", B[r][c]);
    }
    printf("\n");
}

// do matrix multiplication
if(1) {
    matmulFloat_v(n, m, p, &A[0][0], &B[0][0], &C[0][0]);
} else {
    matmulFloat(n, m, p, &A[0][0], &B[0][0], &C[0][0]);
}

// show result
printf("\n--\nC:\n--\n");
for (r = 0; r < m; r++) {
    printf("   ");
    for (c = 0; c < p; c++) {
        printf(" %9.2f", C[r][c]);
    }
    printf("\n");
}

}
//
// Main routine
//
int main(int argc, char ** argv) {
init_v();

testMatMul(2, 4, 6);
testMatMul(18, 31, 23);

return -1;

}
(The init_v function enables floating point and vector instructions. This
may or may not be needed depending on the simulation environment:
init_v:
li t0, 1<<9+1<<13
csrs mstatus, t0
ret
)
The C code will perform a multiply using either the vector implementation
or a traditional non-vector one so the results can be compared (change the
if(1) line in the obvious way). The test function testMatMul defines and
fills appropriately-sized local matrixes with a simple pattern of values so
the results can be seen. For example the testMatMul(2, 4, 6) call produces
this output:

TEST MATRIX MULTIPLICATION N=2 M=4 P=6
--
A:
   0.00    0.25
   0.50    0.75
   1.00    1.25
   1.50    1.75

--
B:
   0.00    1.00    2.00    3.00    4.00    5.00
   6.00    7.00    8.00    9.00   10.00   11.00

--
C:
     1.50      1.75      2.00      2.25      2.50      2.75
     4.50      5.75      7.00      8.25      9.50     10.75
     7.50      9.75     12.00     14.25     16.50     18.75
    10.50     13.75     17.00     20.25     23.50     26.75

The test function will accept any values of n, m and p sizes, so this can
be used to investigate the performance of the algorithm on any shape input.
The algorithm is not optimized in any way, so I am sure it can be improved.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/495, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMAPWMIFSVNVMQDPFWF62LRWDJQLANCNFSM4N3MX6ZA
.

Thanks Guy - I'll transpose the loops and see what that looks like. I wasn't really trying to make a fully-optimized algorithm but simply an example and test harness for new users to play with to help gain understanding of how the instructions work, to supplement the existing examples in this repository. I think having two candidate implementations is even better.
Is there a better forum for this thread? Perhaps an existing set of standard examples somewhere else that I am unaware of?

Just to finish off here, I've attached a second version of matmulFloat_v with transposed j/k loops as Guy suggested. It works for values of p<=VL when LMUL=8 (e.g. p<=64 when VLEN=512), and otherwise branches to a slower version (e.g. the previous implementation in this thread, renamed to matmulFloat_slow). This isn't an area I know anything about (as is clear from the code!) and I repeat that my objective is simply to help new users get started with something they can experiment with to easily see the effect of changing matrix sizes with the vector instructions.
.text
.balign 4
.global matmulFloat_v

# void matmulFloat_v(
#     size_t       n,     // a0: A columns, B rows
#     size_t       m,     // a1: A rows
#     size_t       p,     // a2: B columns
#     const float *A,     // a3: A is m x n matrix
#     const float *B,     // a4: B is n x p matrix
#     float       *C      // a5: B is m x p matrix
# ) {
#     int i, j, k;
#
#     for (i = 0; i < m; i++) {
#         c[i,*] = 0;
#         for (k = 0; k < n; k++) {
#             float tmpf = A[i*n+k];
#             for (j = 0; j < p; j++) {
#                 c[i,j] += tmpf * B[k*p+j];
#             }
#         }
#     }
# }
#
#   n       a0
#   m       a1
#   p       a2
#   A       a3
#   B       a4
#   C       a5
#   i       t0
#   j       t1
#   k       t2
#   tmp     t3
#   tmpf    ft0

matmulFloat_v:

  vsetvli t3, a2, e32,m8,ta,ma          # set vector length p
    bne t3, a2, matmulFloat_slow        # use slow algorithm if p>VL

    li t0, 0

1:
  vxor.vv v0, v0, v0                    # c[i,*] = 0

    li t2, 0

2:

    flw ft0, (a3);                      # load A value
    addi a3, a3, 4                      # increment A base

    mul t3, t2, a2                      # calculate B block base address
    slli t3, t3, 2
    add t3, t3, a4

  vle32.v v8, (t3);                     # load B block

  vfmacc.vf v0, ft0, v8

    addi t2, t2, 1
    bne t2, a0, 2b                      # do next k

    mul t3, t0, a2                      # calculate C block base address
    slli t3, t3, 2
    add t3, t3, a5

  vse32.v v0, (t3);                     # store C block

    addi t0, t0, 1
    bne t0, a1, 1b                      # do next i

    ret

Just to finish off here, I've attached a second version of matmulFloat_v with transposed j/k loops as Guy suggested. It works for values of p<=VL when LMUL=8 (e.g. p<=64 when VLEN=512), and otherwise branches to a slower version (e.g. the previous implementation in this thread, renamed to matmulFloat_slow). This isn't an area I know anything about (as is clear from the code!) and I repeat that my objective is simply to help new users get started with something they can experiment with to easily see the effect of changing matrix sizes with the vector instructions.
.text
.balign 4
.global matmulFloat_v

# void matmulFloat_v(
#     size_t       n,     // a0: A columns, B rows
#     size_t       m,     // a1: A rows
#     size_t       p,     // a2: B columns
#     const float *A,     // a3: A is m x n matrix
#     const float *B,     // a4: B is n x p matrix
#     float       *C      // a5: C is m x p matrix
# ) {
#     int i, j, k;
#
#     for (i = 0; i < m; i++) {
#         c[i,*] = 0;
#         for (k = 0; k < n; k++) {
#             float tmpf = A[i*n+k];
#             for (j = 0; j < p; j++) {
#                 c[i,j] += tmpf * B[k*p+j];
#             }
#         }
#     }
# }
#
#   n       a0
#   m       a1
#   p       a2
#   A       a3
#   B       a4
#   C       a5
#   i       t0
#   j       t1
#   k       t2
#   tmp     t3
#   tmpf    ft0

matmulFloat_v:

  vsetvli t3, a2, e32,m8,ta,ma          # set vector length p
    bne t3, a2, matmulFloat_slow        # use slow algorithm if p>VL

    li t0, 0

1:
  vxor.vv v0, v0, v0                    # c[i,*] = 0

    li t2, 0

2:

    flw ft0, (a3);                      # load A value
    addi a3, a3, 4                      # increment A base

    mul t3, t2, a2                      # calculate B block base address
    slli t3, t3, 2
    add t3, t3, a4

  vle32.v v8, (t3);                     # load B block

  vfmacc.vf v0, ft0, v8                 # c[i,*] += ta * b[k,*]

    addi t2, t2, 1
    bne t2, a0, 2b                      # do next k

    mul t3, t0, a2                      # calculate C block base address
    slli t3, t3, 2
    add t3, t3, a5

  vse32.v v0, (t3);                     # store C block

    addi t0, t0, 1
    bne t0, a1, 1b                      # do next i

    ret

there is a problem in sgemm.S, when I try to compile the test_sgemm.c and sgemm.S to elf file, there are errors about  "operand must be a symbol with %tprel_add modifier", I notice that this is your diy_sgemm.S, did you meet with this error when compiling?
sgemm_nn:
#    addi sp, sp, -FRAMESIZE
#    sd s0, OFFSET(sp)
#    sd s1, OFFSET(sp)
#    sd s2, OFFSET(sp)

Hi William,
As you've noticed on this thread and in your earlier thread https://github.com/riscv/riscv-v-spec/issues/450, the sgemm.S example is incomplete in several ways. One of which is the logic for saving and restoring the callee-saved registers (s0, s1, etc.). In particular, as you've noticed, the example expects you, the programmer, to determine the correct values of FRAMESIZE and OFFSET (actually, you'd need three different OFFSETs...). To learn about the correct choices, you should study the (System V) RISC-V psABI.
You'll also notice that @JamesKenneyImperas 's example sidesteps this problem by not using any saved registers.
Best,
Nick Knight


parse cloud rule descriptions and support user created rules

Description
Currently, Nephe does not have the context to identify whether a cloud rule is user-created or Nephe-managed, and which NetworkPolicy it belongs to. As a result, we do not support user-created rules in the cloud and clean them up. During controller restart, Nephe can only guess and try to match cloud rules with NetworkPolicies.
This PR aims to address these issues by using the description field on cloud rules to identify user rules and Nephe rules, and which NetworkPolicy a rule belongs to. It adds support to preserve user-created custom cloud rules and removes the logic where it attempts to match unknown cloud rules with NetworkPolicies during cloud syncing.
Changes

Modify GetEnforcedSecurity to parse the description and return CloudRule with NetworkPolicy information.
Fix an issue where the protocol on Azure changes to all caps on portal modification, breaking the protocol mapping.
Add logic to preserve user rules in the cloud.
Add logic to handle user rules in cloudSync.

/nephe-test-e2e-with-kind
/nephe-test-e2e-with-agent-eks

/nephe-test-e2e-kind


Spurious error in test_edition on Travis

The test package::test_edition can fail randomly.  It looks like the stderr output from rustc is getting intermixed with the output from Cargo.  It results in something like this:
Compiling error: Unrecognized option: 'edition'
foo v0.0.1 (...)
Running ...

when it should look like this:
Compiling foo v0.0.1 (...)
Running ...
error: Unrecognized option: 'edition'

I'm able to reproduce this in a Travis docker image, though it doesn't happen often.  I haven't investigated why.  I was under the impression that stderr would be locked to prevent this?  Or maybe because rustc inherits stderr it doesn't get locked the same?

This may be a case where we print what's happening concurrently with spawning rustc. We may have just gotten lucky up to now that rustc takes enough time to get to an error that we never witnessed this. The fix here is probably going to be to ensure that we're finished printing before we spawn rustc.

I've done some investigation and have found a few problems:

Shell does not do any locking or buffering for output.  termcolor has a "Buffer" API for exactly this case, and I think it would be relatively easy to use that API instead.  Without buffering or locking, it allows output to appear in between the status ("Compiling") and the following text ("foo v0.5.0...").
Ensuring the "Running" message is printed first might be tricky.  It is implemented as an mpsc channel in JobQueue.   AFAIK, that does not support returning an acknowledgment.  Do you have any ideas on an easy way to block until it's printed?  (Trying to print from within the threads seems like a fairly heavy change, but is probably doable.)
(Unrelated to the test_edition failure.)  There is no locking or coordination of the output from rustc (on non-Windows platforms).  That means it is relatively easy to have intermixed output if two concurrent rustc processes want to print at the same time, or at the same time that cargo wants to print.  This is especially easy to trigger on macos which has a paltry PIPE_BUF of 512 ("Running" lines can easily exceed that limit, and it's not too hard to make rustc messages that are longer than that).  Do you know why there isn't any locking?

Oh unfortunately the Buffer api from termcolor afaik only locks within one process, it can still have output intermingled from other processes on Windows. For example there's no way to print "Compiling xxx" in one message, but rather Windows forces us to print "Compiling" first, reset some settings, and then print "xxx".
I was thinking yeah that we'd send a freshly minted channel (or something like that) to the main thread and then wait on it to receive something which happens after the print happens. I don't think we'll want the child threads to start printing themselves.
Hm interesting though! The idea for rustc was that diagnostics could be intermingled from concurrent compilations but diagnostics could never be corrupted (aka line-by-line interleaved). You've found the global lock we use on Windows for this but on Unix we thought that relying on the atomicity of write would be enough. Which is to say that we assume that write(LARGE_BUF) is atomic wrt any other write(LARGE_BUF), but I see what you mean now in that if write simply accepts fewer bytes that one write is indeed "atomic" but not at the layer that we want. This is likely a bug that we'll need to fix in rustc!

termcolor afaik only locks within one process

Correct.  I was just thinking that it would help keep the line atomic assuming the buffer is under PIPE_BUF size, which it normally is for the status messages (except "Running").   This should also apply to Windows 10 which now uses ANSI (which I think has 1k atomic writes).

send a freshly minted channel

Sounds reasonable.

This is likely a bug that we'll need to fix in rustc!

It is very rare on Linux which has a large 4k buffer size.  Also, Cargo JSON output looks to be immune since it goes through a pipe.  I'm not sure how important it would be to fix, considering it would probably involve tricky locking, and I don't see any recent complaints about it.

Yeah TBH this instance on CI is the only time I've ever seen this jumbled up output, so I don't think it's too too common.

I think this issue is no longer valid. All output is now atomically serialized and managed on a single thread.


cope with QuickCheck >= 2.12

tests/properties.hs needs 5 underscores after Success n, 5 underscores after GaveUp n, and 12 underscores after Failure n for QuickCheck 2.12 and 2.13.

This should be fixed.


Is --config-resource useful in production?

Reviewing #2457 I had a doubt. --config-resource seems like a very handy parameter for testing propouses, but: is it useful for production? Is there any use case where you want to use --config-resource? Maybe we should remove it from our CLI.

It was actually a contributed feature for maven multi projects -> https://gitlab.com/arturbosch/detekt/-/merge_requests/2 when we were still at GitLab ;)
https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html
It looks like a convention or just a proposed way to share the config. I haven't used Maven for the last years but I'm pretty sure there should be a way to share the same path constant from a parent pom to their children.
Should we close this issue?

🤐 It seems a legit parameter then. Closing.


Adafruit GPS over GPIO support (solution)

so I have figure out how to get the adafruit GPS to work over the GPIO, the only problem is that the way you set it up on the Pi 1 and 2 differs from the Pi 3
here are the steps that you need to follow for the Pi 1 and 2

Plug in an ethernet cable to pi you will need the internet for this
Open up an ssh connection or in terminal run ifup eth0
Hook the GPS to the Pi as follows
VCC to pin 2
GND to pin 6
TX to pin 10
 RX to pin 8

type in sudo apt-get install gpsd gpsd-clients python-gps
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
sudo nano /boot/cmdline.txt
deleate everything and type in dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
sudo systemctl stop<EMAIL_ADDRESS>sudo systemctl disable<EMAIL_ADDRESS>sudo reboot
sudo killall gpsd
sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
Connect to stratux and go to <IP_ADDRESS> in chrome and check the GPS tab is working

here are the steps that you need to follow for the Pi 3

Plug in an ethernet cable to pi you will need the internet for this
Open up an ssh connection or in terminal run ifup eth0
Hook the GPS to the Pi as follows
VCC to pin 2
GND to pin 6
TX to pin 10
 RX to pin 8

type in sudo apt-get install gpsd gpsd-clients python-gps
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
sudo nano /boot/cmdline.txt
deleate everything and type in dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
sudo systemctl stop<EMAIL_ADDRESS>sudo systemctl disable<EMAIL_ADDRESS>go to sudo nano /boot/config.txt and at the very bottom add enable_uart=1
sudo reboot
sudo killall gpsd
sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock
Connect to stratux and go to <IP_ADDRESS> in chrome and check the GPS tab is working

Just finished doing a test run, I ran the gps and the pi for around a week and it seems to be fine

@Austinthemighty - thanks for this.
I've moved your writeup to the wiki, here. If you have further findings or tweaks, go ahead and add them there. Thanks!


Error when compare two group

Hello, when I run the function named generate_report, this error happened. Thank you.

Hi @xiasijian can you try to run the same code, but set the report to false, report=F. This gonna tell us where is the problem basically.
Best

Thanks, I have solved it.


Add support for getting history in reverse order

For troubleshooting seeing the last event first in UI is more useful.

See PR for changes: https://github.com/uber/cadence-web/pull/84


Add insecure flag for curl

Per request from https://github.com/autopkg/grahampugh-recipes/pull/99

That's now pushed to autopkg/grahampugh-recipes. Just do a repo-update. No trust updates are required.


Paging with Product Advertising API?

I would like to retrieve 100 results for a keyword search with Amazon's Product Advertising API. By default the number of results is limited to 10 and I understand that paging is required to get more. There is a MoreSearchResultsUrl field provided in the response. How can I use that?
curl comes back empty for both GET and POST, my webbrowser shows a website with results. If I get the right results, I assume it should be XML which I somehow need to run through aws-lib to get the regular JSON results.
I think it's really strange that Amazon itself refers to this 4 year old library and that Amazon's JS SDK does not support the Product Advertising API.

Check node-apac for Product Advertising API and issue #65 for paging to get 100 results.


Explore ColDP support

https://github.com/CatalogueOfLife/coldp

@mdoering Col-dp is similar to frictionless-data, but not exactly the same. Tim suggests we can produce two in one: it would be valid col-dp and frictionless package so it would contain both datapackage.json and metadata.yaml files (and datafiles of course). What do you think?

Adding a datapackage.json is fine and might be useful. The big different from ColDP over a regular DP is the various implementations of reference data. These can come in 3 flavors: a csv, bibtex or csl-json file.
I don't expect the IPT to produce bibtex or CSL Json from mapping a source, but it would be very good to be able to upload such a data file manually and produce a reference.csv by regular mapping.

Another non standard datapackage option in ColDP is support for a logo.png or logo.jpeg file which could be added by uploading it to the IPT - and which stays for every version unless it is replaced?

@mdoering note that Frictionless Data Package has the property image: https://specs.frictionlessdata.io/data-package/#image Would that not support your use case?

The use case is to have a binary logo image as a local file in the archive, not a URL. For this to happen one needs to be able to upload an image file in the IPT. I actually think it would be a great addition to the IPT to be able to upload any number of binary files, e.g. pdfs or other raw data files that are simply included in the archive, potentially even organised in a subfolder.
Secondary to that the ColDP specs define the name of the file to be logo.png or jpeg.

@mdoering note that image property accepts URLs and local files. The ColDP specs could expand on that and require it to be a local logo.png file. The use case sound similar enough to "An image to use for this data package. For example, when showing the package in a listing.", but you could of course have your own property.
Other binary files sound like another topic/issue altogether. 🙂


add badges

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.48%. Comparing base (9ab9e36) to head (bb7b078).

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   89.48%   89.48%
=======================================
  Files           4        4
  Lines         352      352
=======================================
  Hits          315      315
  Misses         37       37

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


handlr clears "Removed Associations" section of mimeapps.list

mimeapps.list has a [Removed Associations] section for apps which are removed from the selection order. For example, you can use it to prevent Wine Internet Explorer from trying to handle PDF files (though you're probably better off removing ~/.local/share/applications/wine-extension-*.desktop by hand). This section of the file can be added using GNOME's "Applications" settings page, and opting apps out of specific file extensions.
Unfortunately handlr clears this section when editing mimeapps.list, since it doesn't read it when loading the file, and rewrites the entire mimeapps.list instead of updating the old contents in-place.
Is it possible to preserve the "Removed Associations" section of the file?

Hey @nyanpasu64 we can definitely parse and keep the section of the file. I wasn't aware such a section even exists, the is for bringing this to attention


[03-exercises] Crash when using Images

I have been exploring this bug a little. Hangs on a certain cell in this notebook. After a few minutes the following or a similiar error trace is thrown
No Changes to `~/Desktop/DS-Julia2925/notebooks/Manifest.toml`
┌ Info:
│
│     Welcome to Pluto v0.12.18 🎈
│     Start a notebook server using:
│
│   julia> Pluto.run()
│
│     Have a look at the FAQ:
│     https://github.com/fonsp/Pluto.jl/wiki
└

Opening http://localhost:1234/?secret=SP8gUjzk in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34bf739290' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34be7fe920' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34be14f100' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34c0043bf0' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34c7fdc150' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34c62b5970' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34b2ad4ec0' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34c7fdcbf0' of type 'MaiAtkType1'
ATTENTION: default value of option force_s3tc_enable overridden by environment.
ATTENTION: default value of option force_s3tc_enable overridden by environment.

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34b1c57dd0' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34b376ed30' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34a8b226a0' of type 'MaiAtkType1'

(firefox:14100): GLib-GObject-WARNING **: /build/glib2.0-xkQkqE/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x7f34b4a577e0' of type 'MaiAtkType1'
      From worker 6:	    Fetching: [>                                        ]
      From worker 6:	signal (11): Segmentation fault
      From worker 6:	in expression starting at none:1
      From worker 6:	jl_object_id_ at /buildworker/worker/package_linux64/build/src/builtins.c:349
      From worker 6:	type_hash at /buildworker/worker/package_linux64/build/src/jltypes.c:1002
      From worker 6:	typekey_hash at /buildworker/worker/package_linux64/build/src/jltypes.c:1014 [inlined]
      From worker 6:	jl_precompute_memoized_dt at /buildworker/worker/package_linux64/build/src/jltypes.c:1048
      From worker 6:	inst_datatype_inner at /buildworker/worker/package_linux64/build/src/jltypes.c:1314
      From worker 6:	jl_apply_tuple_type_v_ at /buildworker/worker/package_linux64/build/src/jltypes.c:1385 [inlined]
      From worker 6:	jl_apply_tuple_type_v at /buildworker/worker/package_linux64/build/src/jltypes.c:1395
      From worker 6:	arg_type_tuple at /buildworker/worker/package_linux64/build/src/gf.c:1851
      From worker 6:	jl_lookup_generic_ at /buildworker/worker/package_linux64/build/src/gf.c:2361 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2394
      From worker 6:	_writecallback at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:422
      From worker 6:	unknown function (ip: 0x7feb156bdb71)
      From worker 6:	png_write_data at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_chunk_header at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_complete_chunk at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_compress_IDAT at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_finish_row at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_filtered_row at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_find_filter at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_row at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	png_write_image at /home/bram/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so (unknown line)
      From worker 6:	_write_image at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:426 [inlined]
      From worker 6:	#_save#15 at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:414
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	_save##kw at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:344
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	#13 at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:326
      From worker 6:	maybe_lock at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:36 [inlined]
      From worker 6:	maybe_lock at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:38 [inlined]
      From worker 6:	#save#12 at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:323
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	save at /home/bram/.julia/packages/PNGFiles/CQUsD/src/io.jl:315
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:655
      From worker 6:	jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:705
      From worker 6:	#invokelatest#1 at ./essentials.jl:710
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:655
      From worker 6:	invokelatest at ./essentials.jl:709
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:655
      From worker 6:	#save#7 at /home/bram/.julia/packages/ImageIO/uPn5K/src/ImageIO.jl:46
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	save##kw at /home/bram/.julia/packages/ImageIO/uPn5K/src/ImageIO.jl:41
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	inner at ./essentials.jl:713
      From worker 6:	unknown function (ip: 0x7feb156d86dc)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:655
      From worker 6:	jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:705
      From worker 6:	#invokelatest#1 at ./essentials.jl:714 [inlined]
      From worker 6:	invokelatest##kw at ./essentials.jl:709 [inlined]
      From worker 6:	#save#33 at /home/bram/.julia/packages/FileIO/TyKdX/src/loadsave.jl:233
      From worker 6:	save##kw at /home/bram/.julia/packages/FileIO/TyKdX/src/loadsave.jl:217
      From worker 6:	unknown function (ip: 0x7feb156d85c6)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	#show#13 at /home/bram/.julia/packages/ImageShow/9kpaq/src/showmime.jl:43
      From worker 6:	unknown function (ip: 0x7feb156d6e6b)
      From worker 6:	show at /home/bram/.julia/packages/ImageShow/9kpaq/src/showmime.jl:28
      From worker 6:	unknown function (ip: 0x7feb156d4e05)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	show_richest at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:601
      From worker 6:	unknown function (ip: 0x7feb15681da5)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	#sprint_withreturned#28 at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:549
      From worker 6:	sprint_withreturned##kw at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:548
      From worker 6:	unknown function (ip: 0x7feb156d4aec)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	format_output_default at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:474
      From worker 6:	#format_output#17 at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:491 [inlined]
      From worker 6:	format_output##kw at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:491
      From worker 6:	unknown function (ip: 0x7feb156d47b5)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2231 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	formatted_result_of at /home/bram/.julia/packages/Pluto/luIaC/src/runner/PlutoRunner.jl:416
      From worker 6:	unknown function (ip: 0x7feb1566ceb8)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:117
      From worker 6:	eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:206
      From worker 6:	eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:157 [inlined]
      From worker 6:	eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:566
      From worker 6:	jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:660
      From worker 6:	jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:840
      From worker 6:	jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:883
      From worker 6:	eval at ./boot.jl:331
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:655
      From worker 6:	#106 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:294
      From worker 6:	run_work_thunk at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:79
      From worker 6:	macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:294 [inlined]
      From worker 6:	#105 at ./task.jl:356
      From worker 6:	unknown function (ip: 0x7feb1560e92c)
      From worker 6:	_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
      From worker 6:	jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
      From worker 6:	jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
      From worker 6:	start_task at /buildworker/worker/package_linux64/build/src/task.c:705
      From worker 6:	unknown function (ip: (nil))
      From worker 6:	Allocations: 59321767 (Pool: 59308398; Big: 13369); GC: 60
Worker 6 terminated.Distributed.ProcessExitedException(6)

Stacktrace:
 [1] try_yieldto(::typeof(Base.ensure_rescheduled)) at ./task.jl:656
 [2] wait at ./task.jl:713 [inlined]
 [3] wait(::Base.GenericCondition{ReentrantLock}) at ./condition.jl:106
 [4] take_buffered(::Channel{Any}) at ./channels.jl:387
 [5] take!(::Channel{Any}) at ./channels.jl:381
 [6] take!(::Distributed.RemoteValue) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:599
 [7] remotecall_fetch(::Function, ::Distributed.Worker, ::Module, ::Vararg{Any,N} where N; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:390
 [8] remotecall_fetch(::Function, ::Distributed.Worker, ::Module, ::Vararg{Any,N} where N) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:386
 [9] #remotecall_fetch#146 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421 [inlined]
 [10] remotecall_fetch at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421 [inlined]
 [11] remotecall_eval at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Distributed/src/macros.jl:241 [inlined]
 [12] (::Pluto.WorkspaceManager.var"#12#13"{Base.UUID,Bool,Nothing,Pluto.WorkspaceManager.Workspace})() at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/WorkspaceManager.jl:260
 [13] withtoken(::Pluto.WorkspaceManager.var"#12#13"{Base.UUID,Bool,Nothing,Pluto.WorkspaceManager.Workspace}, ::Pluto.Token) at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/Tokens.jl:18
 [14] format_fetch_in_workspace at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/WorkspaceManager.jl:259 [inlined]
 [15] format_fetch_in_workspace at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/WorkspaceManager.jl:256 [inlined]
 [16] eval_format_fetch_in_workspace(::Tuple{Pluto.ServerSession,Pluto.Notebook}, ::Expr, ::Base.UUID, ::Bool, ::Tuple{Set{Symbol},Set{Symbol}}) at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/WorkspaceManager.jl:244
 [17] run_single!(::Tuple{Pluto.ServerSession,Pluto.Notebook}, ::Pluto.Cell, ::Pluto.ReactiveNode) at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/Run.jl:107
 [18] run_reactive!(::Pluto.ServerSession, ::Pluto.Notebook, ::Pluto.NotebookTopology, ::Pluto.NotebookTopology, ::Array{Pluto.Cell,1}; deletion_hook::Function, persist_js_state::Bool) at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/Run.jl:78
 [19] run_reactive! at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/Run.jl:26 [inlined]
 [20] macro expansion at /home/bram/.julia/packages/Pluto/luIaC/src/evaluation/Run.jl:13 [inlined]
 [21] (::Pluto.var"#79#81"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},Pluto.ServerSession,Pluto.Notebook,Pluto.NotebookTopology,Pluto.NotebookTopology,Array{Pluto.Cell,1}})() at ./task.jl:356

My setup is julia1.5.3 using 4.13.0-32-generic GNU/Linux
For me this occurs here
Gray.(mini_image)

I have the feeling that for some other people this occurs here
mini_image = [RGB(0.8, 0.6, 0.1) RGB(0.2, 0.8, 0.9) RGB(0.8, 0.6, 0.1);
				RGB(0.2, 0.8, 0.9) RGB(0.8, 0.2, 0.2) RGB(0.2, 0.8, 0.9);
				RGB(0.8, 0.6, 0.1) RGB(0.2, 0.8, 0.9) RGB(0.8, 0.6, 0.1)]

If we do not discover how to fix this, It might be better to just not create custom images as an array of colors but it still seems weird that such a basic operation leads to so many problems

The current solution is to restart julia + pluto one or a few times

Is it possible that this bug is fixed in the new version of Pluto? I did not occur it while using this notebook.


MudSelect: Added icon and icon color properties to MudSelect and MudSelectItem

Description
Added properties to change the icon color of the 'Select all' button of MudSelect component (CheckedIconColor, UncheckedIconColor and IndterminateIconColor) and properties to change the icon and icon color of MudSelectItem (CheckedIcon, CheckedIconColor, UncheckedIcon and UncheckedIconColor).
Also updated the documentation accordingly.
How Has This Been Tested?
Added a unit test in SelectTests following the convention of other MudSelect component tests.
Types of changes

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

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

This is already possible i think, maybe not color but we have Unchecked, Checked etc.

@Garderoben The PR was adding additional functionality, which still doesn't exist. Shame it didn't get reviewed properly.
See master https://github.com/MudBlazor/MudBlazor/blob/271144f2150ca82b77089818be6bf797b470365b/src/MudBlazor/Components/Select/MudSelectItem.razor.cs#L117
Vs PR: https://github.com/MudBlazor/MudBlazor/pull/3882/files#diff-20de4037537bece19228a8ac6240f255830399d7286eb1239ba98c89fcd0ba1d


Bulleted :ist prepared for check marks

This is bulletedList Prepared for check mark bulleted list

Sorry for some mistakes I m just learning git

I forgot check these pull requests, and thanks follow this repo.


[Bug?]: When triggering a Server Action -> Nested Cache (Server Resource) triggers infinite loop

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
No response
Expected behavior 🤔
No response
Steps to reproduce 🕹
Steps:

Create two async server cache function and one server action
In the page, load the one cache function and a Component-2
In Component-2 load the other cache function (with createAsync)
In Component-2 create a button that triggers the action

Context 🔦
No response
Your environment 🌎
No response

I also have tried using Suspense nowhere and everywhere. It works when having no Suspense at the Root-App Level only with hot refresh. When reloading the page you obviously get the hydration error.

Ok sorry. I copied my project and broken down every line of code. The issue is somehow related to a different component which has some kind of reactivity, but nothing to do with this logic above. Really weird.
If anyone has this issue in the future: Never use server stuff in any kind of reactivity, even if it works in the beginning.


Specifying AllCops/Include overwrites AllCops/Include from default config

With an empty .rubocop.yml:
$ bundle exec rubocop -L -d
For somewhere/shell: configuration from somewhere/shell/.rubocop.yml
Default configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/default.yml
Inheriting configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/enabled.yml
Inheriting configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/disabled.yml
somegem.gemspec
Gemfile
Guardfile
Rakefile
Thorfile
bin/console
...

With this .rubocop.yml:
AllCops:
  Include:
    - '**/.simplecov'

$ bundle exec rubocop -L -d
For somewhere/shell: configuration from somewhere/shell/.rubocop.yml
Default configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/default.yml
Inheriting configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/enabled.yml
Inheriting configuration from C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/disabled.yml
.simplecov
bin/console
...

In the first example, the default *file patterns match files. Ass soon as I add new patterns with AllCops/Include, these patterns are disregarded.
I'm running 0.37.2.

I'm referring to this line from the readme:

The Include and Exclude parameters are special. They are valid for the directory tree starting where they are defined. They are not shadowed by the setting of Include and Exclude in other .rubocop.yml files in subdirectories.

AllCops/Include in my local .rubocop.yml should not overwrite, rather extend, the defaults.

This is intended behavior. A configuration parameter that is an array replaces the value of the default parameter with the same name. The reason for this is that it would otherwise not be possible to remove elements from a default array through overriding.
The section you quote from the REAME talks about .rubocop.yml files in your project and how values are selected from them. It does not talk about the default configuration.
But I see that the README does not describe these details of overriding configuration. We should add something there.

Many thanks for the clarification, @jonas054!

@jonas054: Documentation added in the manual, here: https://github.com/bbatsov/rubocop/commit/d40e8a9f800b8cac7345a67fab32139a2687273f#diff-04c6e90faac2675aa89e2176d2eec7d8L299

Thanks @Drenmi. As the description is already in the manual, I'm closing the issue.


Add tests for kubernetes side of the CNI code.

@tomdee Do you think this is required for a Calico v2.0.0?

Well it would be nice, but...


Add right-click option for link click tracking?

This would fire an event whenever a user right-clicks on a tracked link, on the assumption that they are probably just about to open the link.

Could be paired with #402 to improve link click tracking. Could also support middle clicks too.
https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MouseEvent-button


Issue with NPM dependencies which require('fs');

When I try to add dependency to windows-cpu as in:
kotlinFrontend {
    npm {
        dependency "windows-cpu"
        devDependency "karma"     // development dependency
    }

    webpackBundle {
        bundleName = "main"
    }

The bundle task fails:
> Task :parent-projects:webpack-bundle FAILED
path-to-project\build\node_modules\windows-cpu'
 @ C:/path-to-project/build/node_modules/windows-cpu/index.js 9:11-24
 @ ./node-manager.js

The 9:11-24 is highlighting this method invocation:
require('fs')

It does not happens to the other requirements.
I googled about it and found this issue with webpack:
https://github.com/webpack-contrib/css-loader/issues/447
It suggests us to add:
node: {
  fs: 'empty'
}

And recent messages suggests to add --config:
https://github.com/webpack-contrib/css-loader/issues/447#issuecomment-391821413
How can I achieve that with kotlin-frontend-plugin?

I fou

I found a solution:
https://github.com/pugjs/pug-loader/issues/8#issuecomment-360671614
To apply this configuration I had to create a directory named webpack.config.d next to the src directory (similarly to how it's done in this example) and place a javascript there with any name containing this line:
config.target = 'async-node';

By the way,
I also managed to add:
node: {
  fs: 'empty'
}

to the config by using the lines below inside the webpack.config.d directory:
config.node = {
  fs: 'empty'
}

But that just caused the module to load an empty module. It's functions and classes were not available. So I don't recommend doing it.


SQLITE3 whereIn errors

Environment
Node Version: v8.10.0
Knex version: v0.15.2
Database + version: Sqlite3 v4.0.4
OS: MacOSX (running nodeJS)
Bug
I am receiving an error when running this query on an in memory Sqlite3 v4.0.4 database.
Query
userCategories = [[2, 2], [5, 2], [8, 2], [1, 3], [2, 3], [3, 3], [7, 3]]
db('user_category').whereIn(['user_id', 'category_id'], userCategories)

Error Message
{"errno":1,"code":"SQLITE_ERROR"}
select * from `user_category` where (`user_id`, `category_id`) in ((2, 2), (5, 2), (8, 2), (1, 3), (2, 3), (3, 3), (7, 3)) - SQLITE_ERROR: row value misused

Test code: https://runkit.com/malammar/5c5dce448e738d001591bba2
Workaround
db('user_category').whereIn(
  ['user_id', 'category_id'],
  db.raw(`(VALUES (`${userCategories.join('),(')}))`)

could you add the query that should be created for sqlite? I'm surprised that this is not caught by integration tests... (well not so surprised after all, because most of the tests of knex actually just checks that query is generated the way that it was meant to be done and not that query does what it should).

I really need to contact runkit people again about its sqlite3 require... it has been broken for months again :|


Connection but no Image on Quest 2/3

Hey,
im trying to build an VR-Viewer for my VR App.
I build an setup like this tutorial. It works when i start Client and Server on the same machine.
But if i put the App on the Quest the Viewing Client finds the Server (Quest), Connects to it, sends and resieves data seen in the debug log but the preview image stays white.
Is there an known bug or something im missing like permissions for andoriod?
Im using unity 2202.3.14f1 and FMETP Stream 3.411
thanks in advance

Hey, im trying to build an VR-Viewer for my VR App. I build an setup like this tutorial. It works when i start Client and Server on the same machine. But if i put the App on the Quest the Viewing Client finds the Server (Quest), Connects to it, sends and resieves data seen in the debug log but the preview image stays white.
Is there an known bug or something im missing like permissions for andoriod?
thanks in advance

If you are using URP for Quest VR, please try switching from multi-view to multi-pass in Oculus Stereo Rendering Mode settings.
PS: as far as I remember, this is a known Unity Engine bug related to Quest URP, and render texture specific issue.

Thanks for the quick anwser.
This worked! I trying to figure this out since December. Thanks the next coffee goes on me.