Overall Design

NOT READY FOR PRODUCTION USE YET!
Project Fuzzball: Revamping elm-test
This is something I've been working on with @mgold, with design input from @evancz, @eeue56, @scottcorgan, and @avh4.
The goal is for this to replace elm-test, but we wanted to get feedback first so we're doing a beta release under the codename Project Fuzzball. Once we're satisfied that it's a worthy successor for elm-test, we'll merge these changes into elm-community/elm-test and deprecate this package.
This is called "project-fuzzball" and not something like "elm-test-revamp" to avoid confusion on the package repo. This is not battle-tested yet!
Trying the beta
Get the beta release with npm install -g project-fuzzball-test - but BEWARE! The binary it produces is called elm-test, so this will replace your global elm-test installation if you have one!
Documentation:
Test (basic API)
Node.js runner (use with the elm-test binary)
HTML runner (use with elm-reactor)
Upgrading Gradually
There are a bunch of API changes in here, but upgrading is not an all-or-nothing proposition. legacy-elm-test is a drop-in replacement for today's elm-test API (including elm-check integration) that is written in terms of the new API. The idea is that you can drop it in and start using the new runners right away, without rewriting your tests.
(You'll still want to upgrade eventually, to get the benefits of the new stuff, but this gives you a more gradual path forward.)
Screenshots
This is what you get when a test run fails after installing running something like elm-test ExampleFailingTests.elm.
Colors are set using chalk, which detects when being run on a CI server and doesn't bother outputting them. Windows users see intentionally-chosen ASCII alternatives to the unicode characters here.

Here's the HTML runner's output.
You get this by starting elm-reactor and opening your test file.

First-class fuzz tests
This is the big change. In the new API, here's how you'd write a test that runs once:
testRemoveNumbers : Test
testRemoveNumbers =
    describe "the removeNumbers function"
        [ test "returns an empty string when there are no numbers" <|
            \_ ->
                removeNumbers "blah blah"
                    |> Assert.equal ""
        ]

Here's how you write a fuzz test that runs several times with randomly-generated inputs:
testRemoveNumbers : Test
testRemoveNumbers =
    describe "the removeNumbers function"
        [ fuzz3 string float string "removes a number in the middle of a string" <|
            \prefix num suffix ->
                removeNumbers (prefix ++ toString num ++ suffix)
                    |> Assert.equal (prefix ++ suffix)
        ]

That's it.
This will generate a random string, a random float, and a random string, and pass them as arguments to that anonymous function. The function will get run 100 times with different randomly-generated arguments each time. (You can configure the run count if you don't want 100.)
If all of those runs pass, the test as a whole passes. If any fail, elm-test will do a "shrinking" process to try and find the minimal set of randomly-generated inputs that reproduce the failure (so you don't see redundant failures). It'll then report all the failures it encountered for this test, followed by the randomly-generated inputs that led to the failure:
↓ the removeNumbers function
✗ removes a number in the middle of a string

► Given ("foo", 1.1, "bar")

Expected "foo.bar"
to equal "foobar"

► Given ("foo", -1, "bar")

Expected "foo-bar"
to equal "foobar"

This one failed test surfaces two bugs. We wrote a function that removes numbers, but although we're removing digits, we aren't properly detecting and removing decimal points or minus signs.
These "fuzz tests" are now both easier to write (no need to separately integrate elm-check; it just works right out the box) and give you nicer output (failures stay grouped under the originating test, and include the exact inputs that caused the failure).
Non-blocking execution
All tests are now wrapped in functions, so they don't get evaluated right when the module loads. This means test runners can do things like reporting progress, running in parallel, etc.
The status quo is that the runner evaluates all tests as soon as the module loads, thereby blocking the thread until all the tests have completed. It has made features like those impossible, but the new API means we can actually do things like this.
API Change Overview

test now takes a (() -> Assertion) function as its final argument instead of an Assertion
Assertion now just wraps either a success or failure (with message), and has no further knowledge of what kind of assertion it is.
suite is now called describe
Assert exposes more assertion functions than before
There are different kinds of runners, which present test run output differently. Check out the Node runner and the HTML runner

Future Plans

Running tests in parallel, so they use all cores, via elm-web-workers (which works on Node too. Yes, really! Multithreading on one process!) Designing the API for non-blocking execution makes this possible without test authors having to do extra work; the feature can just ship and things get faster.
Providing ways to get CI-friendly structured output, so CI servers can know more than just "everything passed" or "there were some failures"
Investigating similarly better support for testing effects and html stuff.

elm-check integration -> elm-check integration
Otherwise looks good.

I think you need more diffs between old elm-test and new elm-test

@eeue56 good call; added an "API Change Overview" section...let me know if you think anything's missing!

I think you should move that up, above the "upgrading gradually" section. The legacy wrapper should sound like the alternative, not the main thing you're pushing. "Yeah, it's gonna be great, here's the new API, yes there are a few changes -- except that you can use this other library..."

I found the screenshot to be a bit confusing since the test failures aren't very realistic. (If you were testing a real oxfordify library, the bugs wouldn't look like this.)

My 2 cents worth.
I often find reading validation results confusing when the only explanation is 'expected' and 'to eq'.
I constantly forget if the expected is the actual or the assertion. Rspec has some great language that clears that up.

Originally, the api used { expected : a, actually : a } for exactly that reason. But Richard found that the actual would be built up in a pipeline while the expected was usually a simple expression. So we went with  actual |> Assert.equal expected.

Yep, all very true.
I just had an idea: what if we named the expectations to match the output?
So you write:
test "still contains one item" <|
    \() ->
        oxfordify "This sentence contains " "." [ "one item" ]
            |> Expect.toEqual "This sentence contains one item."

...and the output uses the same structure and words:

So changes would be:

Type signatures and current pipeline-friendliness remain intact
Assert is renamed to Expect (and Assertion becomes Expectation)
equal is renamed toEqual and so on (the most verbose being toBeGreaterThan instead of the current greaterThan)
Output failures use the actual structure and function name, to indicate how failed inputs map to arguments

Thoughts?

And Expect.toBeTrue and Expect.toBeFalse right?
I like the idea - it's a bit more verbose but it reads like rspec which influenced jasmine.

And Expect.toBeTrue and Expect.toBeFalse right?

Makes sense to me!

The implementation syntax wasn't at the heart of my original comment it was trying to work out what the actual vs expected was.
I had imagined something like the following as an idea.
2. ↓ oxfordify
   ↓ given a sentence with one item
   ✗ still contains one item

   Expected  "This sentence contains one item."
   toEqual
   Actual    "Alice, Bob, and Claire"

@studious yep, but the critical thing is being able to map which outputted value corresponds to which argument.
So suppose you have the same Assert.equal and just different output:
Original
test "still contains one item" <|
    \() ->
        oxfordify foo
            |> Assert.equal bar

2. ↓ oxfordify
   ↓ given a sentence with one item
   ✗ still contains one item

   Expected  "This sentence contains one item."
   toEqual
   Actual    "Alice, Bob, and Claire"

We now have the words "expected" and "actual" in the output, but which one corresponds to foo and which one corresponds to bar? That's what I need to know in order to know which value was wrong. 😄
With this version, I think it's a lot easier to tell:
Expect-style
test "still contains one item" <|
    \() ->
        oxfordify foo
            |> Expect.toEqual bar

2. ↓ oxfordify
   ↓ given a sentence with one item
   ✗ still contains one item

   Expected  "This sentence contains one item."

   toEqual   "Alice, Bob, and Claire"

I think it's easier to figure out which one corresponds to foo and which corresponds to bar, yeah?

Go tests sometimes use "got" and "want". (Just as another possibility.)
https://talks.golang.org/2014/testing.slide#4

Made a PR to see how everything would shake out with Expect style: https://github.com/project-fuzzball/test/pull/10

@skybrian yeah.
I often read the result in English as
I Expected "that my input -> output (actual)" is toEqual "my desired output"
When it is
I Expected "my desired output" toEqual "this input -> output"
This is the confusion that I was wanting to clear up. Just the reading of the result

May I ask, why are you including fuzz testing capability in the library, rather than separating it similarly to elm-check? How does this implementation of fuzz testing differ from elm-check's?

Integration gets you:

When a test fails, being able to tell you what the inputs were that caused the failure, while still having the comparison libraries decoupled
Being able to distribute seeds across all tests ahead of time makes deterministic parallelization possible without extra effort from the test author
Less friction to write a style of test that's broadly useful and doesn't seem like it should be something you need to go out of your way to access

Fair enough.
I notice you haven't used elm-check's DBC style DSL.
Do you see fuzzball replacing elm-check?

That's the idea, yeah - unify elm-check and elm-test, and provide a really low-friction, consistent API for both use cases!

I personally much prefer Assert.equal to Expect.toEqual, as I find the former much quicker to read and less ambiguous. When it comes to shortcuts like 'toBeGreaterThan', I would prefer to have them in another lib (CheckExtras). The javascript world has more than 10 variants of such syntax. Trying to include this type of options brings the risk of making it too open to change. For a base library, I would presume that best would be to aim for open for extension, but closed for modification.

I like the new proposed syntax, and I'm actually for having a broad set of extended matchers built in as a knee jerk, but at the same time I see the wisdom in what @widged suggests. Think about documenting what people extending the matchers looks like. I'll have a look at the source to make sure it's clear to me.

Had a look. So trivial, very nice. I don't know. I like the idea of not having to bring in extra stuff for extended matchers. For instance if ex_unit didn't have assert in Delta, and i had to go to another package for it, I would be sad

I personally much prefer Assert.equal to Expect.toEqual, as I find the former much quicker to read and less ambiguous.

I'm definitely sympathetic to this. Obviously people can extend it however they like, but my goal is for the base to be as nice as possible. My philosophy regarding extended matchers is "you can reach for them, but if I do a good enough job you won't feel the need to."
This discussion is crystallizing some design goals:

Pipeline-Friendly
Concise
Easy to tell which argument corresponds to which output value

I think with a slight formatting change, Expect.equal can be as clear as Expect.equalTo, and hit all these goals:
test "still contains one item" <|
    \() ->
        oxfordify foo
            |> Expect.equal bar

2. ↓ oxfordify
   ↓ given a sentence with one item
   ✗ still contains one item

   "This sentence contains one item."
   │
   │ Expect.equal
   │
   "Alice, Bob, and Claire"

Thoughts @widged @knewter @studious?

I have a workshop tomorrow where 75 people will get to make first-impressions of this, so since this is an experimental repo, I'm gonna go ahead and publish the current iteration as 2.0.0 and see what feedback we get!

That's really neat.  I wouldn't have thought of signifying it with the pipe
like that, but I think it's totally clear that way!

My gut reaction to the pipe is "I don't like it" -- and maybe there's an actual argument to be made based on familiarity with rspec -- but let's do the science and see how a crowd of people react.

Incidentally, the output format was positively received at the workshop!

What does it look like for Expect.toBeTrue and false?

Same as always - just prints the failure String the user entered!

It's alive! 🎉


Change block header content to BlockHeaderWithProof type

As discussed in https://github.com/ethereum/portal-network-specs/issues/175, replacing the history content for selector 0, block header, to a type that holds both the serialized header and a typed proof. Proof can still be None to allow for clients that don't have proofs based on the accumulator implemented/tested yet and for post-merge headers.
I should probably still add (in this PR?):

[x] explanation on the AccumulatorProof
[x] test vectors of BlockHeaderWithProof

Added test vectors in 9ce50ef.
These are basically 2 of several test vectors that Trin and Fluffy are already using in their tests.
See also:

https://github.com/ethereum/trin/tree/6d082328bf7da2002c6d035277f23ffc9ad2a3be/ethportal-api/src/assets/test and
https://github.com/status-im/portal-spec-tests/tree/master/tests/mainnet/history/headers_with_proof

I'm kind of duplicating data and explanation (from actual specs) here. I think in the future it would be good to move to a repository which holds just the test vectors (in a more easily parseable way). A bit like what we are attempting now with the https://github.com/status-im/portal-spec-tests repo. But I didn't want to walk that path already in this PR.


Configure with local server not working

This is my project config
{     "folders":     [         {             "path": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners"         }     ],    "settings":     {          "sublime-view-in-browser":          {              "baseUrl": "http://localhost",              "basePath": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners/001/index.html"              }    } }
My View In Browser.sublime-settings
`{
"posix": {
"linux": {
"firefox": "firefox -new-tab",
"chrome": "google-chrome",
"chrome64": "google-chrome",
"chromium": "chromium"
},
"linux2": {
"firefox": "firefox -new-tab",
"chrome": "google-chrome",
"chrome64": "google-chrome",
"chromium": "chromium"
},
"darwin": {
"firefox": "open -a "/Applications/Firefox.app"",
"safari": "open -a "/Applications/Safari.app"",
"chrome": "open -a "/Applications/Google Chrome.app"",
"chrome64": "open -a "/Applications/Google Chrome.app"",
"yandex": "open -a "/Applications/Yandex.app""
}
},
"nt": {
"win32": {
"firefox": "C:\Program Files (x86)\Mozilla Firefox\firefox.exe -new-tab",
"iexplore": "C:\Program Files\Internet Explorer\iexplore.exe",
"chrome": "%Local AppData%\Google\Chrome\Application\chrome.exe",
"chrome64": "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
"yandex": "%Local AppData%\Yandex\YandexBrowser\browser.exe"
}
},
"browser": "chrome64",

}
`

Hi, I have exactly the same problem! Try to view a .php page in the browser with sublime-text 3 and xampp.
This is my SideBarEnhancements.json:
{
"folders":
[
{
"path": "C:/xampp/htdocs/mywebsite-folder"
}
],
"settings": {
"sublime-view-in-browser": {
"baseUrl": "http://localhost",
"basePath": "C:/xampp/htdocs/mywebsite-folder"
}
}
}
Some help would be much appreciated!
Thanks and regards,
David

Try taking the index.html and path off off. The basePath needs to be the base location of your files.
{
   "folders": [
      { "path": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners" }
   ],
   "settings": {
      "sublime-view-in-browser": {
         "baseUrl": "http://localhost",
         "basePath": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners/001/index.html"
      }
   }
}```

Hi @adampresley ,
Directly open file path only not with localhost [Server Configuration

]

Hi @adampresley
i need like below
http://localhost/sivaprabug/Github/Backbonejs-for-Beginners/010_loading_data/

Try
{
   "folders": [
      { "path": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners" }
   ],
   "settings": {
      "sublime-view-in-browser": {
         "baseUrl": "http://localhost",
         "basePath": "E:/xampp/htdocs/sivaprabug/Github/Backbonej-for-Beginners/001"
      }
   }
}

This should open up the file index.php at http://localhost/index.php.

Hi @adampresley
Same window only opened..
file:///E:/xampp/htdocs/sivaprabug/Github/Backbonejs-for-Beginners/001/index.html

Can you paste your exact configuration here please? Also some details regarding your local PHP setup might help as well. Thanks

Same problem here. Same setup as above. Are you testing on a PC?

I have added the configuration file screen shots..

same  problem here in my home pc.
But its working fine in my office pc.
Maybe its related to sublime version.


The Bitcoin Core GUI (Qt) stores the window size and position. So I guess it could have been the problem in your case (@hebasto).

The Bitcoin Core GUI (Qt) stores the window size and position. So I guess it could have been the problem in your case (@hebasto).

I suspect that that were old Qt settings in my test VM.
Originally posted by @hebasto in https://github.com/bitcoin-core/gui/issues/113#issuecomment-752691423

Hi

Close error

Closed this issue

Open this issue


Update existing vm cpu, memory, power state

Is your feature request related to a problem? Please describe.
I love this python SDK.  I am able to teardown and recreate vms using clone_task, and it makes my life so much easier.  However, that is only part of what I need. I need to modify the new vms after they are created.
Describe the solution you'd like

Get the power state of the vm
Power off if necessary
Update CPU count
Update cores_per_socket
Update memory either in MB or GB
Power on

Describe alternatives you've considered
No response
Additional context
No response

I believe I was able to solve my issue.  Here is what I did in case someone else needs this as well.
   usrPass = "{}:{}".format(args.username, args.password.value)
    base64String = base64.b64encode(bytes(usrPass, 'ascii')).decode('ascii')
    print(base64String)
   api_response = session.post(url="https://{}/api/session".format(args.server),
        headers={"Authorization": "Basic {}".format(base64String), "Connection": "keep-alive", "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br"})
    api_key = api_response.text.strip("\"")
    vsphere_client = create_vsphere_client(server=args.server, username=args.username, password=args.password.value, session=session)
  vsphere_client.session.headers.update({"vmware-api-session-id": api_key})
At this poini, I can do things like get, and patch
vsphere_client.session.get(url="https://{}/api/vcenter/vm/{}/hardware/cpu".format(args.server, vm_id) )


PHOENIX-7189 Update Omid to 1.1.1

18:40:20
18:40:21  JIRA Plugin: no credentials provided to write a comment.
18:40:22
18:40:22
18:40:22  -1 overall
18:40:22
18:40:22  | Vote |          Subsystem |  Runtime   | Comment
18:40:22  ============================================================================
18:40:22  |   0  |            reexec  |   0m 24s   | Docker mode activated.
18:40:22  +---------------------------------------------------------------------------
18:40:22  |      |                    |            | Prechecks
18:40:22  +---------------------------------------------------------------------------
18:40:22  |  +1  |           dupname  |   0m  0s   | No case conflicting files found.
18:40:22  |  +1  |           @author  |   0m  0s   | The patch does not contain any
18:40:22  |      |                    |            | @author tags.
18:40:22  |  -1  |        test4tests  |   0m  0s   | The patch doesn't appear to include
18:40:22  |      |                    |            | any new or modified tests. Please
18:40:22  |      |                    |            | justify why no new tests are needed
18:40:22  |      |                    |            | for this patch. Also please list what
18:40:22  |      |                    |            | manual steps were performed to verify
18:40:22  |      |                    |            | this patch.
18:40:22  +---------------------------------------------------------------------------
18:40:22  |      |                    |            | master Compile Tests
18:40:22  +---------------------------------------------------------------------------
18:40:22  |  +1  |        mvninstall  |   7m 53s   | master passed
18:40:22  |  +0  |    hbaserecompile  |  10m 57s   | HBase recompiled.
18:40:22  |  +1  |           compile  |   1m 23s   | master passed
18:40:22  |  +1  |           javadoc  |   1m 48s   | master passed
18:40:22  +---------------------------------------------------------------------------
18:40:22  |      |                    |            | Patch Compile Tests
18:40:22  +---------------------------------------------------------------------------
18:40:22  |  +1  |        mvninstall  |   1m 47s   | the patch passed
18:40:22  |  +1  |         codespell  |   0m 15s   | No new issues.
18:40:22  |  +1  |           compile  |   1m 20s   | the patch passed
18:40:22  |  +1  |             javac  |   1m 20s   | the patch passed
18:40:22  |  +1  |            blanks  |   0m  0s   | The patch has no blanks issues.
18:40:22  |  +1  |               xml  |   0m  2s   | The patch has no ill-formed XML
18:40:22  |      |                    |            | file.
18:40:22  |  +1  |           javadoc  |   1m 44s   | the patch passed
18:40:22  +---------------------------------------------------------------------------
18:40:22  |      |                    |            | Other Tests
18:40:22  +---------------------------------------------------------------------------
18:40:22  |  +1  |              unit  | 193m  3s   | root in the patch passed.
18:40:22  |  +1  |        asflicense  |   0m 53s   | The patch does not generate ASF
18:40:22  |      |                    |            | License warnings.
18:40:22  |      |                    | 224m 20s   |
18:40:22
18:40:22
Here is the status of PR build..all the tests passed. Hence going to commit @stoty.


sort by repos not taken

@cheeaun I thought it might come in handy to find repos name which has not been taken yet. Like if someone want to name his repo after a Pokémon, he can easily find the ones available.

Closing this issues. Reasons:

"Sort" function wasn't coded as part of sortFuncs.
This shouldn't be a sort, should be a filter instead. I have no plans to add it yet.


As an admin, I should not be able to edit wagtail content in the Django admin so that I don't uninintentionally break content by editing it in the wrong place.

There is no overlap in content b/w Wagtail and Django. The Collections blurb is editable only in Wagtail and the Collections tiles are editable only in Django. This is fine for now and I think I'm fine with it staying like this if it's easier.


Document remote container termination safety guarantees.

Updates the comment documentation for the async-signal safety guarantees in stopping a running container.

I double checked the entirety of Command for both Windows and UNIX processes to determine if there was anything potentially missing here for how we run this. There's a few minor issues that weren't documented:
Async-Signal Unsafe

Engine::drop: Engine contains a PathBuf, which is allocated.
Command::new, which creates a CString from an OsStr.
Command::arg, which creates a CString from an OsStr.
Command::args, which does the same as Command::arg for each argument.
DeleteContainer::drop: Contains Engine and String, which are allocated. Also invokes container_stop and container_rm, which allocate since they create a Command.

Async-Signal Safe

Command::capture_envp: since we don't modify the environment, this won't allocate.
Command::spawn: as long as we don't modify the environment, Command::capture_envp won't allocate, and therefore neither will spawn as long as we're not using pipes (which we aren't).

As documented, it would be possible to make this entirely async-signal safe even without the atomic guard, however, this shouldn't be necessary.

bors r=Emilgardis


How to invoke keyboard program

Please paste the output of the following command here: sudo edit-chroot -all

Please describe your issue:
There is a file called keyboard: https://github.com/dnschneid/crouton/blob/master/targets/keyboard
How to apply it please? Can't see/understand any instructions how to use it.
Is it correct to conclude that this program will change the keyboard so that 'search key + up' is equivalent to 'home' key?
If known, describe the steps to reproduce the issue:

@githubgnulinux,

How to apply it please? Can't see/understand any instructions how to use it.

The keyboard file you linked above is a 'target' and can be installed similar to other desktop targets, etc.
To add it to an existing chroot use: sudo sh ~/Downloads/crouton -t keyboard -u [-n chrootname]
Substitute the name of your chroot for chrootname in the above example - and don't use the brackets.

Is it correct to conclude that this program will change the keyboard so that 'search key + up' is equivalent to 'home' key?

No, not according to the keyboard file's comment: '...we map Search+arrows to Page Up/Down/Home/End.'
The file shows this assignment:
    key <LEFT> { overlay1=<HOME> };
    key <RGHT> { overlay1=<END> };
    key <UP>   { overlay1=<PGUP> };
    key <DOWN> { overlay1=<PGDN> };

So the SEARCH + < keys would map to the HOME key like in CrOS.
See below:

Hope this helps,
-DennisL

Closing. Please re-open if this issue is still a concern.

Ah, I was about to post a new issue asking how to press home/end keys in Linux. So I guess just install this target and it should work.
Will it work if I've modified my modifiers? For example, in CrOS I've swapped Search (Super) and Control, and in Linux I also swapped Super (Search) and Control. I guess I'll try it out...


Database

Create a database most likely using Turso to store user information.  Clerk will store login information including passwords so the database will not store this. The database's primary key is the user's Clerk ID.

suggestion: https://orm.drizzle.team
It can connect and operate turso database in a type-safe way. The syntax is like SQL.


App-wide inconsistent UI

Description
The app UI is inconsistent. For example, the NavigationView uses neither AcrylicBrush nor RevealBrush (like the default system Settings app, for example). PowerToys Run should have an acrylic background with reveal brushes applied to all search results, to look more "Fluent" (IMO). As suggested in different Fluent UX issues, please change the UI of Image Resizer and Power Rename, and other toys so that they look more Fluent.
Thank you.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

XAML Islands in combination with WinUI 2.3 does not have proper support for Acrylic or Reveal. This will hopefully change in a future version of WinUI/XAML Island or when Settings is moved over to WinUI 3 Desktop. That's why the NavigationView is missing those at the moment.
Run is using WPF, so it doesn't have access to the UWP visual layer. Again, if Run would ever be moved over to WinUI 3 we can obviously start adding Acrylic/Reveal again.

Feel free to provide any module specific feedback in the Fluent UX topics for Image Resizer / PowerRename. Would be great to have your feedback on the concepts shown there that can hopefully be adopted at one point!
I can ensure you that providing a consistent implementation of Fluent is top of mind for me personally - it just takes time for the right technologies to mature and available :).

Tracked in https://github.com/microsoft/PowerToys/issues/891.
TLDR: we need WinUI 3 to really make a big uniformed push on this.


Too much clutter on a fresh install.

Description of the new feature / enhancement
Would be nice to have a switch to disable everything, allowing selective enabling.
The File Explorer addons feature for example is incredibly undercooked.
It is buggy, hogs ram, leaves tons of browser instances running, and doesn't work all that well.
Realising that Power Toys was causing this took a long time.
And so to avoid lots of other little surprises like this from other modules, it'd be nice to have an "All off" button
E.g. maybe I'm playing a game and accidentally hit a shiny new key combo introduced by one of the modules
E.g. maybe I'm presenting meeting, and some fundamental element has changed things (File Explorer addons breaking)
It would be nice to start with an "Disable all" and selectively enable, rather than the opposite, taking a safety-first approach.
Scenario when this would be used?
Fresh install.
Supporting information
Perform a clean install.

No plans to do this directly. If you feel something is buggy or leaving open instances, please help us debug with a dedicated bug. Anything that requires a webview does mean we are booting up an instance of chromium basically.

N/p, I understand.
That's going to be some ungodly level of bloat as you continue adding features though.
It's a lot to take in even as a returning user.
Maybe worth keeping in mind for the out-of-the-box experience.


Sync progress bar issues

Description
After opening a local wallet that needs some syncing to get current, the sync progress bar is not working correctly. It seems that we are incrementing the recovery height counter rather than the sync height counter.
Expected Behavior
Progress bar should work normally when re-syncing already synced wallet
Actual Behavior
Progress bar doesn't move
Possible Fix
Investigate why the recovery height counter is being incremented instead of the cfilter height counter.
Steps to Reproduce
Open a local wallet that has already synced but that needs some additional sync to get current

Fixed via https://github.com/LN-Zap/zap-desktop/pull/2234


Extract drive-by fixes from PR 12135 for easier reviewing

Which issue does this PR close?
Helps with reviewing of #12135
Rationale for this change
These are just a few changes that make the code cleaner/easier to understand/etc that I added when filing #12135. It was pointed out to me, though, that these make the PR harder to review as there's a lot of changes not directly related to the PR. So I'm pulling those changes into this PR so that they are hidden from the diff once this is merged, thus making the PR easier to review.
What changes are included in this PR?
A few clean-ups that shouldn't change behavior at all.
Are these changes tested?
All tests pass just like they do on main.
Are there any user-facing changes?
Shouldn't be

It looks like clippy failed due to some internal CI connectivity issue - I don't think I can rerun them by myself.

It looks like clippy failed due to some internal CI connectivity issue - I don't think I can rerun them by myself.

Thanks @itsjunetime
I have restarted the CI (you do need to be a datafusion committer to restart the jobs individually)
One trick to get github to rerun the CI is to close the PR and then reopen it (that will trigger rerunning the whole PR)


RDBES code review: RS_ExplainDifference

personally, no comment
https://vocab.ices.dk/?ref=1617

Suggestion to change code type to DifferenceReason, DifferenceExplained? CatchDiffReason?
Is it the weight of the catch?
More clarification is needed on which type of catch the codes are related to and the direction of the difference.

RDBES core group: Fine to change the name to DiffereceReason


Disallow SHOW STATS for row filters and column masking

Disallow SHOW STATS for row filters and column masking

Do docs need update?

I don't think so.


requestPasswordResetForEmailInBackground error

Hi Dear,
I found the issue when i use forgot password (below function) in PFLoginViewController.
[PFUser requestPasswordResetForEmailInBackground:emailstr block:^(BOOL success, NSError *error) {
if (success) {
NSString *title = DFLocalizedString(@"Password Reset",
@"Password reset success alert title in PFLogInViewController.");
NSString *message = [NSString stringWithFormat:DFLocalizedString(@"An email with reset instructions has been sent to<EMAIL_ADDRESS>@"Password reset message in PFLogInViewController"), email];
[DFUIInputAlertView presentAlertInViewController:self withTitle:title message:message];
} else {
NSString *title = DFLocalizedString(@"Password Reset Failed",
@"Password reset error alert title in PFLogInViewController.");
[DFUIInputAlertView presentAlertInViewController:self withTitle:title error:error];
}
}];
Alert message: "Password Reset Failed"
Error : {"code":1,"message":"Internal server error."} (Code: 1, Version: 1.12.0)
I used "parse server" version 2.1.5
please help me.

Did you configure the reset email properly on parse-server. note that this feature is experimental and that we didn't document how to configure it. Please see #627 for more informations


add VM serial console to the UI

add a serial console to the VM using /apis/subresources.kubevirt.io/v1alpha3/virtualmachineinstances/console

close as it is added in the https://github.com/rancher/harvester-ui


Fixed some broken images

What's changed, or what was fixed?
There doesn't appear to be any JavaScript on the page that lazy loads images with the lazyload class. And given that there are many images on the page, and only two use this class, it may be because this article was moved, and two img elements were not updated.
Also, the small class on the same two images doesn't seem to have any style associated with it, and it is not used on any other image on the page.
Therefore, the lazyload and small classes were removed from the two images, and src is now used instead of data-src to specify the image URL.
CC: @addyosmani, @petele

:tada: This has been pushed live to https://developers.google.com/web/


How to use self-replace crate for updating a Rust app when a new version is available?

Dear crate authors of self-replace,
I am working on a Rust application where I would like to use the self-replace crate to update the running app when a new version is available, which I will check using an is_update_available method. Additionally, my app has running threads which process user requests, so I need some mechanism to wait for these threads to finish their tasks and not receive any more requests before applying the update. I am looking for guidance on how to properly implement this functionality and integrate it with your crate.
I have found some examples in the documentation, but I am not sure how to adapt them to my specific use case.
Here's an outline of what I want to achieve:

Periodically check for updates using the is_update_available method.
If an update is available, wait for the running threads to finish their tasks and not receive any more requests (Axum server)
Download and apply the update using the self-replace crate.
Restart the application with the new version.

Could you please provide some guidance or examples on how to accomplish these tasks using your crate, especially in the context of gracefully handling running threads? Any help would be greatly appreciated.
Thank you in advance, Alex

I'm on Ubuntu Server.
Thanks Armin for the details, I was not aware of  SO_REUSEPORT


Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

is this issue currently blocking your project? (yes/no): yes
is this issue affecting a production system? (yes/no): yes

Context

node version:  v16.13.0
module version:  8.1.0
environment (e.g. node, browser, native):  node
used with (e.g. hapi application, another framework, standalone, ...):  hapijs/hapi
any other relevant information: no

Problem
import { schema } from "@/api/schema";
import qs from "qs";
import { getGraphQLParameters, processRequest, Request, sendResult } from "graphql-helix";

  const server = Hapi.server({
    port: 8777,
    query: {
      parser: (query) => qs.parse(query),
    },
    routes: {
      cors: {
        origin: ["*"]
      }
    }
  });

  server.route({
    method:"POST",
    path: "/graphql",
    handler: async (req, h) => {
      const request: Request = {
        headers: req.headers,
        method: req.method,
        query: req.query,
        body: req.payload,
      };

      const { operationName, query, variables } = getGraphQLParameters(request);

      const result = await processRequest({
        request,
        schema,
        operationName,
        query,
        variables,
      });

      await sendResult(result, req.raw.res);
    }
  })

  await server.start();
  console.log(`Serve on ${server.info.uri}`);

I meet the err: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client,
and I think this error comes from 【await sendResult(result, req.raw.res)】, Is there any solution to solve it?

is this issue currently blocking your project? (yes/no): yes
is this issue affecting a production system? (yes/no): yes

Context

node version:  v16.13.0
module version:  8.1.0
environment (e.g. node, browser, native):  node
used with (e.g. hapi application, another framework, standalone, ...):  hapijs/hapi
any other relevant information: no

Problem
import { schema } from "@/api/schema";
import qs from "qs";
import { getGraphQLParameters, processRequest, Request, sendResult } from "graphql-helix";

  const server = Hapi.server({
    port: 8777,
    query: {
      parser: (query) => qs.parse(query),
    },
    routes: {
      cors: {
        origin: ["*"]
      }
    }
  });

  server.route({
    method:"POST",
    path: "/graphql",
    handler: async (req, h) => {
      const request: Request = {
        headers: req.headers,
        method: req.method,
        query: req.query,
        body: req.payload,
      };

      const { operationName, query, variables } = getGraphQLParameters(request);

      const result = await processRequest({
        request,
        schema,
        operationName,
        query,
        variables,
      });

      await sendResult(result, req.raw.res);
    }
  })

  await server.start();
  console.log(`Serve on ${server.info.uri}`);

I meet the err: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client, and I think this error comes from 【await sendResult(result, req.raw.res)】, Is there any solution to solve it?

replace
await sendResult(result, req.raw.res);

with
sendResult(result, req.raw.res);
return h.abandon;

can solve the problem.


Changed decode-flag behaviour to return the serialized blocks

The majority of the decode flags for the 'query_*' functions are ignored right now.

Please see my question above - will fix the DCO.

@dexhunter thanks for approving the PR - can we keep the PR open till I have feedback from @yeasy or @GuillaumeCisco about the exception handling - I would probably remove these and add a few more unit tests on the different query mechanism. So we can make sure that it is all in just one single commit.

@dpdornseifer Sure, I will keep it open

@yeasy thx for approving the PR, @dexhunter we are ready for the merge now ;)


The webApp seems to have something wrong

I tried the webApp (http://ec2-3-89-75-200.compute-1.amazonaws.com/PACNet/webApp/) but each time I submit my data, it says "disconnected from the server". However, the "Browse reference data" part works well. Anyone else met this problem?

@hongyeting, this is a partial solution.
I am encountering the same issue. It seems to me the webApp cannot handle large .csv files (which contain many columns and rows). I have 2000 rows and 369 columns, and the application shows a 'disconnected from the server' message. However, it shows the result when the file contains 2000 rows and 50 columns, for example. I suggest (if there is no issue) reducing the data and trying again.


Hope to support more animations

Clear and concise description of the problem
Hope to support more animations
Suggested solution
Hope to support more animations
Alternative
Hope to support more animations
Additional context
Hope to support more animations
Validations

[X] Read the documentation of using the package
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate

Please provide more details regarding what animations you want to add, including corresponding CSS properties, the proposed class names, etc.
The request is too generic that I'm not able to help.


Question about AIDA-CoNLL data

Hi,
Is there any possibility to get your processed AIDA-CoNLL dataset used in the experiment?
Thanks!

Yes. Happy to share that with you. Do you want the Pershina candidate lists, too or just the raw AIDA data that has been mapped to QIDs?

@lorr1 Thanks! The CoNLL data with Pershina candidate lists (just like your kore50 and rss500 files) would be appreciated.

So, I just remembered that the AIDA data requires a signed agreement (https://trec.nist.gov/data/reuters/reuters.html) so I can't release the data to you, but I can share with you our scripts we used to process it so that once you have the data you can easily regenerate it.

@lorr1 That would be great. Thank you!

@hitercs is there some email I can use to send you the scripts and our downloaded Pershina files.

Thanks!, my email is<EMAIL_ADDRESS>.

Hi! Sorry to "re-open" the thread, but may I also get the scripts and Pershina files? Thank you!


#18999 Treat composite as null if its data is null

Also, please check #16822, #15698, and #14113.

Unit tests for what exactly?

For NULL composite types. How we hanle them and how we handle composites with all fields set to NULL.
It may be not easy to implement though..

can't save added data to NULL-record if 'Show compex columns structure' is off.
checked another tickets - they're OK
https://user-images.githubusercontent.com/43252954/221949539-ac01020c-9bd9-4b75-b298-1e79c62eb125.mp4

Verified


GetRecord.IteratorAgeInMilliseconds metrics not being reflected and data not being queried in Table

Table Config
  "tableName": "workflowEvents",
  "tableType": "REALTIME",
  "segmentsConfig": {
    "timeColumnName": "eventTimestamp",
    "timeType": "MILLISECONDS",
    "schemaName": "workflowEvents",
    "replicasPerPartition": "1",
    "retentionTimeUnit": "DAYS",
    "retentionTimeValue": "365",
    "segmentPushType": "APPEND"
  },
  "tenants": {
    "broker":"DefaultTenant",
    "server":"DefaultTenant"
  },
  "tableIndexConfig": {
    "loadMode": "MMAP",
    "streamConfigs": {
      "streamType": "kinesis",
      "stream.kinesis.topic.name": "prod-rel-cdp-dl-workflow-metrics-stream",
      "region": "us-east-1",
      "shardIteratorType": "LATEST",
      "stream.kinesis.consumer.type": "lowlevel",
      "stream.kinesis.fetch.timeout.millis": "30000",
      "stream.kinesis.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
      "stream.kinesis.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kinesis.KinesisConsumerFactory",
      "realtime.segment.flush.threshold.size": "5000000",
      "realtime.segment.flush.threshold.time": "1d"
    }
  },
  "upsertConfig": {
    "mode": "FULL"
  },
  "routing": {
    "instanceSelectorType": "strictReplicaGroup"
  },
  "metadata": {
    "customConfigs": {}
  }
}

I upgraded pinot to 0.9.1 version from 0.8.0 last month and after that I started seeing GetRecord.IteratorAgeInMilliseconds metrics displaying in correct values
Yesterday I observed the data stopped being displayed in the Table from the Query Console even though the GetRecords metrics showed that records were read but where not read from the Table.There were some new data fields that were added to the record but the schema was not updated
I decided to change Table config to AT_SEQUENCE_NUMBER and I did not see the changes immediately but this morning I was able to see those records but post that when records were added this morning they were not being reflected in the table
I decided to switch the Table config back to LATEST.I also saw that the old segments got terminated and new segments were created but the records were still not reflected in the Table
So both the data issue and GetRecord.IteratorAgeInMilliseconds  still persist

Looking into it.

I have more updates.I do see the data in the table but not realtime. shardIteratorType as LATEST.I ran the below query
select $segmentName,ToDateTime(eventTimestamp,'yyyyMMddHHmm') from workflowEvents order by eventTimestamp desc limit 100
$segmentName	todatetime(eventTimestamp,'yyyyMMddHHmm')
workflowEvents__0__58__20220125T2005Z<PHONE_NUMBER>00
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>00
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40
workflowEvents__1__60__20220125T2106Z<PHONE_NUMBER>40

Kinesis Get Records shows that it is read

I also the records do ge read at that time
16:43:05.029 INFO [LLRealtimeSegmentDataManager_workflowEvents__1__60__20220125T2106Z] [workflowEvents__1__60__20220125T2106Z] Consumed 12 events from (rate:0.19965394/s), currentOffset={"shardId-000000000001":"49622318632194742639402514501316476653895236003058155538"}, numRowsConsumedSoFar=43, numRowsIndexedSoFar=43


build(deps): bump Node.js to Active LTS (20.x)

Not upgrading the NPM version together is due to this issue 👉 https://github.com/npm/cli/issues/6742, and see more 👉 https://github.com/dependabot/dependabot-core/pull/7811, cc @yeikel.

Node.js v20 is now Active LTS, would like to upgrade Node.js to v20 in order to allow the Dependabot updater to upgrade semantic-release from v22 to v23, thanks.

Thank you for adding me
FYI : This pull request is a duplicate of an existing active discussion : #8275

Sorry didn't catch that, and thanks for reminder.


[Bug]: AMD MultiStep Feature Issue. Missing argument: 'turn_prefills_into_decodes' in advance_step()

Your current environment

The output of `python collect_env.py`
Your output of `python collect_env.py` here

Model Input Dumps
No response
🐛 Describe the bug
Cause
There is a change in advance_step API in PR #8378 . The changed is made to flash_attn.py and flashinfer.py but not other backend.
Code Snippet to highlight the difference in advance_step API
flash_attn.py
def advance_step(self,
                     model_input: "ModelInputForGPUWithSamplingMetadata",
                     sampled_token_ids: Optional[torch.Tensor],
                     block_size: int,
                     num_seqs: int,
                     num_queries: int,
                     turn_prefills_into_decodes: bool = False):

rocm_flash_attn.py
    def advance_step(self, model_input: "ModelInputForGPUWithSamplingMetadata",
                     sampled_token_ids: Optional[torch.Tensor],
                     block_size: int, num_seqs: int, num_queries: int):

Confusion whether this is a bug or because multistep feature is not supported on AMD
I saw there are other PR that is stating that multi steps feature are working on AMD e.g. #8474 .
Logs
The error logs and traceback is as follows:
ERROR 10-06 16:38:45 engine.py:157]

(VIImWorkerProcess pid=207827) ERROR 10-06 16:38:45 multiproc_worker_utils . py : 231
rker_base.py", line 327, in execute_model
ERROR 10-06 16:38:45 engine.py:157] TypeError("advance_step() got an unexpected keyword argument 'turn_prefills_into_decodes'")
ERROR 10-06 16:38:45 engine.py:157] Traceback (most recent call last):
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/engine/multiprocessing/engine.py", line 155, in start
self.run_engine_loop()
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/engine/multiprocessing/engine.py", line 218, in run_engi

request_outputs = self. engine_step()
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/engine/multiprocessing/engine.py", line 236, in engine_s

raise e
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/engine/multiprocessing/engine.py", line 227, in engine_s

return self.engine. step()
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/engine/1lm_engine.py", line 1404, in step
outputs = self.model_executor. execute_model(
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/executor/distributed_gpu_executor.py", line 78, in execu

driver_outputs = self ._ driver_execute_model(execute_model_req)
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/executor/multiproc_gpu_executor.py", line 155, in _drive

return self.driver_worker. execute_model(execute_model_req)
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/worker/worker_base.py", line 327, in execute_model
output = self.model_runner. execute_model(
File "/home/aac/anaconda3/envs/rocm611-0929/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 116, in

return func(*args, ** kwargs)
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/worker/multi_step_model_runner.py", line 507, in execute

model_input = self ._ advance_step(
File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/vllm/worker/multi_step_model_runner.py", line 634, in _advanc

attn_metadata.advance_step(
TypeError: advance_step() got an unexpected keyword argument 'turn prefills into decodes'

File "/home/aac/apps/rocm611-0929/vllm-fix-spec-amd/v1lm/worker/wo

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Verified that multi-step feature on AMD is fixed by PR #9038.
This PR fixed the multi-step feature and added error handling message that Chunked Prefilled + Multi-Step  is only support by CUDA flash_attn


feature: add conditional support for serde

This adds conditional support for serde. It allow serializing/deserializing the field elements, which is useful for downstream applications, for instance, to save test data.
The change is behind a feature flag to avoid impacting compilation times.

Simple test for the output format:
use serde::{Deserialize, Serialize};
use serde_json::json;
use winter_math::fields;

#[derive(Serialize, Deserialize)]
struct Data {
    d0: fields::f64::BaseElement,
    d1: fields::f62::BaseElement,
    d2: fields::f128::BaseElement,
}

fn main() {
    let v = Data {
        d0: 1234123u64.into(),
        d1: 1234123u64.into(),
        d2: 1234123u64.into(),
    };

    println!(
        "{}",
        serde_json::to_string(&v).expect("json serialization failed")
    );
}

The code using into and from annotations outputs:
{"d0":1234123,"d1":1234123,"d2":1234123}

In contrast, without them:
{"d0":5300517923007285,"d1":1483409960899751059,"d2":1234123}


[internal] Apply xref links for southworks/add/jsdoc/botbuilder-dialogs/root

PR 2820 in MS, #145 in SW
Feedback applied to use xref to link to other methods.
note that the links will not work in visual studio, these links are meant to be used to build the web documentation.
searchable here https://docs.microsoft.com/en-us/javascript/api/
This PR doesn't have conflicts, I didn't update the branch with main here to don't bring irrelevant changes.

@ceciliaavila feedback applied, thanks.


INS-1 - adding target attribute to link component

Added link target attribute to the rendered <a>
If/else just looks for New tab/window as a Contentful value, else defaults to _self to avoid having to make it a mandatory field
Link component is only used by Insurance (at the moment)

Cheers @dalecreativ. Made those changes and tested locally, all seems fine.


refactor(drivers): combine localStorage and sessionStorage

fixes #203

Hi dear @thecotne. it took long to be back on this and some changes stalled. I have made a rework in #530 but thanks again for time on PR and your nice idea for refactor ❤


Always return value with 'px' unit in the spacing function

Hi guys,
We use styled-components as CSS framework and when we call the spacing function with the single argument we have to put 'px' unit in the end, but with multiple arguments, we don't need to do it. It's a little confusing because by changing the number of arguments a developer should add or remove 'px' unit.

Expected Behavior 🤔
Example:
padding: ${props => props.theme.spacing(2)};
padding: ${props => props.theme.spacing(1, 2)};

Result
padding: 16px;
padding: 8px 16px;

Current Behavior 😯
Example:
padding: ${props => props.theme.spacing(2)};
padding: ${props => props.theme.spacing(1, 2)};

Result
padding: 16;   <---- Here is no PX unit
padding: 8px 16px;

So, now when we use single argument we always put 'px' in the end as the example below:
padding: ${props => props.theme.spacing(2)}px;

@rash2x We have people doing transformations with it: padding: theme.spacing(2) * 2. Changing the behavior would be a breaking change. We can consider it for v5. For now, you can do the following:
const theme = createMuiTheme({
  spacing: x => `{x * 8}px`,
});

+1 on this, it's really easy to mix up things with the current behavior
Example:
margin: `${theme.spacing(1.5)}px ${theme.spacing(2)}px`

Here I must put px otherwise the generated CSS would be invalid.

Obviously, it'd be my mistake but it's easy to do.

@emirotin Please upvote the issue, it will make it more likey to land in v5 :)

Done :)
Just another example to justify this position. Let's say I have a rule:
margin: theme.spacing(5)

which works with a bare number just fine because of JSS. Later I decide to make it 40px/auto and change it to:
margin: `${theme.spacing(5)} auto`

And now it doesn't work.

This change would break theme.spacing(4) + 1 It’s just going to be a trade off

Alternatively MUI can stop adding 'px' altogether and rely on the jss space-separated syntax: margin: [[5, 10]]

@emirotin I think that we should optimize for styled-components not JSS.

My idea was under the hood you're using JSS so relying on its native features sounds logical. Also given you allow passing the custom jss instance to the provider if I'm not mistaken.
For instance, in JSS one can configure the default unit for length to be rem for instance (and that could make sense for responsiveness) while you're currently hard-coding px. Dropping the units from your method and producing this double array would serve more goals IMO:

it works unitless when used naked thanks to JSS and is compatible with the JSS feature to configure custom units
is backward-compatible with the old behavior (pre-v4/current single value) and thus allows extra computations
consistent across usages and consistent with JSS
now also allows extra computations on multiple units: [theme.spacing(2, 3, 4, 5)[0].map(x => x + 1)]

It will basically be backward-compatible in almost every normal usage:

single value: behaves as now
multiple values: when used directly as padding: theme.spacing(2, 4) it keeps working even though the produced value is different
The only breaking case would be some exotic usage like theme.spacing(2, 4).replace(/px/g, 'em')

@emirotin The plan is to change the default engine to styled-components in v5, while keeping JSS for backward compatibility. We need a strategy that works with the majorities of the styling solutions. This array feature comes in a JSS plugin we don't load to minimize bundle size.

This would still be overridable correct? We like to configure spacing to use rems instead of px and would like to continue to be able to do that.
spacing: (factor) => ${0.5 * factor}rem,

@pachuka Yes, we would still allow developers to change the unit.

This change would break theme.spacing(4) + 1 It’s just going to be a trade off

Would this be good enough?
-padding: theme.spacing(4) + 1
+padding: `calc(${theme.spacing(4)} + 1px)`,


System.IO.FileNotFoundException Looking for C:\Users\henk\Dropbox...

I'm getting the following error in Visual Studio since an update to AsmDude.
The troubling thing about the error is that it references a file in a C:> user-folder dropbox.  Can you tell me where i can fix this issue so I don't get the error on startup?
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.CodeAnalysis.CSharp.Scripting, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.CodeAnalysis.CSharp.Scripting, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at AsmTools.ExpressionEvaluator.Evaluate_Constant(String str, Boolean isCapitals)
   at AsmTools.AsmSourceTools.Evaluate_Constant(String token, Boolean isCapitals)
   at AsmDude.MasmTokenTagger.<GetTags>d__20.MoveNext() in C:\Users\henk\Dropbox\sc\GitHub\asm-dude\VS\CSHARP\asm-dude-vsix\SyntaxHighlighting\MasmTokenTagger.cs:line 189
   at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.<GetTagsForBuffer>d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

The Microsoft.CodeAnalysis.CSharp.Scripting assembly is not found. What version of VS and AsmDude are you using?

Not interested.
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: Keybase OpenPGP v1.0.0
Comment: https://keybase.io/crypto
xo0EW6ve1wEEANzWrHSRdb53la8ZDnFRYdoJbadLWpKmqJaRLFM6hxvU0YYOSaGn
b7iF5l2XRhkT2MIbWu5TuY1Las3BoR6bpZQk4AR84512lVqcQCgXH9aDdaRZr5Z4
bWGo/kzZ5xlhaGuJCebowocWMacy07GZwtXaTO2+dq9FlQJ1nvbNcX2HABEBAAHN
J1Rob21hcyBKLiBEb3ducyA8dGpkb3duc0Bob3RtYWlsLmNvLnVrPsKtBBMBCgAX
BQJbq97XAhsvAwsJBwMVCggCHgECF4AACgkQW+KCXRZct2872wP+J078WteXeh5O
Qs6hkKpCtWS06RzJ5c1zzLQZ+rmyWFmFbP16KP25L7SWc0gPAcQ+YvAayLEo/v7v
UTCLXtT2WM35v81iNWvq42wwoFiUjAjzvJZdmlxE0Jn5hxezes2hWINb21KOkzlG
orA7LCPJfPfQ4IQewd+9qzDYdwbWFinOjQRbq97XAQQAq/mXroCtCduG/aOqpx/I
u0EgVKoUw4PWoz7keq4oi+xRwFmBhHDdj33LoND6wdL7bsEJyzxiBVrXqbu1jcAO
9a67+LNN4UcnSG6HXpUypdSQ+1I6yFn/FxZSyNpe3oeB3B06RkgIRu2rZJgCQk50
FrHMpritlRrKTMeCHRZ6jMMAEQEAAcLAgwQYAQoADwUCW6ve1wUJDwmcAAIbLgCo
CRBb4oJdFly3b50gBBkBCgAGBQJbq97XAAoJEPt0foEB3qiN24MD/it3xg5v+E8/
dL3/OdkPVekLrnnr7M27WxnMDtey5raMQLb9su3B3ured3O+8EA2hrDKH8kNKEaU
MH/r8lVY7tBOwrmwZbfQiqkWkaWEuVK8OcJFZypCO5DkuRA7lrgyVhtVr2nI4taa
NWwAJRIxy2+pG2TAOCmSe45VBc+R9P2aEBAEAIHaBZaGR5RJi0usQZtFPJl8n8TK
9se9QSkSFwGpaoH7/gStx0kEhUw9XRwWJEWb9buVUJlNmUBx6zpkWGuD1EYZilNV
QZ34fKZVQHPvOtIGHczPz4y7yas2nhC+pacwuT/ASUWh6b24fb10dnVzjdHwxNAo
ApMfX6zlllWH7MKrzo0EW6ve1wEEAL5EMktQaf+EXaLMseDrCdQeBVG1RcEP7gLz
IM+gvNgIoz+bCrAP7dTSzZr0qkoBzjlX/HBmWUyJXOE64FGHVX3EUCNFGRsxt345
BpIHcAxxq5DZtBRTv9i9SemNy1YUbsW3T4LtMvhYMjvmBqFFKYyQ9hlNXQLSJCtz
d7FYg0N9ABEBAAHCwIMEGAEKAA8FAlur3tcFCQ8JnAACGy4AqAkQW+KCXRZct2+d
IAQZAQoABgUCW6ve1wAKCRDs6w1N137UM0YABACvx9vRd332/zSt0Ll9HUfR5Sne
2d18PR2HolZHLyOp2Jhc8EGs+b90Z1naT0UPMtLZf3GBauBAyMAbQvnxmzDYEuU7
/kA/RaeqQ00qHleVPK68Cu2VlzQWGYha+yuKjYi9oDKr51+QTqXg9mHSFZ4std2x
KkNcgE7CJNzfeJ/Jq+LeA/46dSxmBfZ4vJz1SWfXEcnJsD1OUNR13oY3Y1IdaW7A
YXJx1P4euIxJpgF7irm0Cf6Y4JgKICNLs/AnjVp2BNhtAO97Urf6QHN4Ss7QGg7f
YwHrQqpuPVw3a+IQ+8EOcQZk/O+UTWEmMf13hdvwrUGVNDnHZwHhOdUajCLQluFE ZQ==
=h8z+ -----END PGP PUBLIC KEY BLOCK-----
On 1 Nov 2018 at 15:24, <Henk-Jan Lebbink<EMAIL_ADDRESS>wrote:
The Microsoft.CodeAnalysis.CSharp.Scripting assembly is not found. What
version of VS and AsmDude are you using?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HJLebbink/asm-dude/issues/90#issuecomment-435071030,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADQJgYfNtvJhpr1WHjlWD8xMw1DHYLnEks5uqxJHgaJpZM4YGd__
.

The PC in my office is using MS VS 2017 Community Version 15.8.7 with AsmDude <IP_ADDRESS>
I will check my home PC and Classroom PC's tomorrow.
Paul
On Thursday, November 1, 2018, 11:46:54 AM EDT, tjdowns<EMAIL_ADDRESS>wrote:
Not interested.
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: Keybase OpenPGP v1.0.0
Comment: https://keybase.io/crypto
xo0EW6ve1wEEANzWrHSRdb53la8ZDnFRYdoJbadLWpKmqJaRLFM6hxvU0YYOSaGn
b7iF5l2XRhkT2MIbWu5TuY1Las3BoR6bpZQk4AR84512lVqcQCgXH9aDdaRZr5Z4
bWGo/kzZ5xlhaGuJCebowocWMacy07GZwtXaTO2+dq9FlQJ1nvbNcX2HABEBAAHN
J1Rob21hcyBKLiBEb3ducyA8dGpkb3duc0Bob3RtYWlsLmNvLnVrPsKtBBMBCgAX
BQJbq97XAhsvAwsJBwMVCggCHgECF4AACgkQW+KCXRZct2872wP+J078WteXeh5O
Qs6hkKpCtWS06RzJ5c1zzLQZ+rmyWFmFbP16KP25L7SWc0gPAcQ+YvAayLEo/v7v
UTCLXtT2WM35v81iNWvq42wwoFiUjAjzvJZdmlxE0Jn5hxezes2hWINb21KOkzlG
orA7LCPJfPfQ4IQewd+9qzDYdwbWFinOjQRbq97XAQQAq/mXroCtCduG/aOqpx/I
u0EgVKoUw4PWoz7keq4oi+xRwFmBhHDdj33LoND6wdL7bsEJyzxiBVrXqbu1jcAO
9a67+LNN4UcnSG6HXpUypdSQ+1I6yFn/FxZSyNpe3oeB3B06RkgIRu2rZJgCQk50
FrHMpritlRrKTMeCHRZ6jMMAEQEAAcLAgwQYAQoADwUCW6ve1wUJDwmcAAIbLgCo
CRBb4oJdFly3b50gBBkBCgAGBQJbq97XAAoJEPt0foEB3qiN24MD/it3xg5v+E8/
dL3/OdkPVekLrnnr7M27WxnMDtey5raMQLb9su3B3ured3O+8EA2hrDKH8kNKEaU
MH/r8lVY7tBOwrmwZbfQiqkWkaWEuVK8OcJFZypCO5DkuRA7lrgyVhtVr2nI4taa
NWwAJRIxy2+pG2TAOCmSe45VBc+R9P2aEBAEAIHaBZaGR5RJi0usQZtFPJl8n8TK
9se9QSkSFwGpaoH7/gStx0kEhUw9XRwWJEWb9buVUJlNmUBx6zpkWGuD1EYZilNV
QZ34fKZVQHPvOtIGHczPz4y7yas2nhC+pacwuT/ASUWh6b24fb10dnVzjdHwxNAo
ApMfX6zlllWH7MKrzo0EW6ve1wEEAL5EMktQaf+EXaLMseDrCdQeBVG1RcEP7gLz
IM+gvNgIoz+bCrAP7dTSzZr0qkoBzjlX/HBmWUyJXOE64FGHVX3EUCNFGRsxt345
BpIHcAxxq5DZtBRTv9i9SemNy1YUbsW3T4LtMvhYMjvmBqFFKYyQ9hlNXQLSJCtz
d7FYg0N9ABEBAAHCwIMEGAEKAA8FAlur3tcFCQ8JnAACGy4AqAkQW+KCXRZct2+d
IAQZAQoABgUCW6ve1wAKCRDs6w1N137UM0YABACvx9vRd332/zSt0Ll9HUfR5Sne
2d18PR2HolZHLyOp2Jhc8EGs+b90Z1naT0UPMtLZf3GBauBAyMAbQvnxmzDYEuU7
/kA/RaeqQ00qHleVPK68Cu2VlzQWGYha+yuKjYi9oDKr51+QTqXg9mHSFZ4std2x
KkNcgE7CJNzfeJ/Jq+LeA/46dSxmBfZ4vJz1SWfXEcnJsD1OUNR13oY3Y1IdaW7A
YXJx1P4euIxJpgF7irm0Cf6Y4JgKICNLs/AnjVp2BNhtAO97Urf6QHN4Ss7QGg7f
YwHrQqpuPVw3a+IQ+8EOcQZk/O+UTWEmMf13hdvwrUGVNDnHZwHhOdUajCLQluFE ZQ==
=h8z+ -----END PGP PUBLIC KEY BLOCK-----
On 1 Nov 2018 at 15:24, <Henk-Jan Lebbink<EMAIL_ADDRESS>wrote:
The Microsoft.CodeAnalysis.CSharp.Scripting assembly is not found. What
version of VS and AsmDude are you using?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HJLebbink/asm-dude/issues/90#issuecomment-435071030,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADQJgYfNtvJhpr1WHjlWD8xMw1DHYLnEks5uqxJHgaJpZM4YGd__
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The Microsoft.CodeAnalysis.CSharp.Scripting assembly is part .NET Framework 4.6+, and this is a prerequisite of the extension. When installing AsmDude this .NET Framework will also be installed, but I guess you could force the installer not to do so.  Installing a .NET 4.6.2 (or higher) ought to resolve this issue. Let me know if this does not fix the issue.

So I have 4.7 installed at work, but no 4.6+.  I tried to install 4.6.2 but the webinstaller balked at me having a newer version.  So do I need a 4.6.x, or should 4.7 be working?
Sorry for being sporadic, I'm not in GITHUB often, but I do appreciate you responding.  This is not a production critical issue, but I teach Assembly at a University as an adjunct, and have been using AsmDude for the past 2 years.  It just started giving me the error with the latest upgrade.  I recommend AsmDude to my students, as they like seeing my code in color on the overhead.

Version after <IP_ADDRESS> will have the expression evaluation switched off for syntax highlighting. It was too much hassle to get this to work on both VS2017 and 2015. You likely saw the missing library issue when parsing something as "10<<2" or "10>>2". Note that you now will have to put spaces between the << operator and constants for the constants to be recognized as such. Hope this helps.


Test infrastructure for cross platform

Signed-off-by: John Howard<EMAIL_ADDRESS>@swernli. This adds some test infrastructure in preparation for Windows daemon CI. Specifically it adds two new requirements (DaemonIsLinux and DaemonIsWindows), and a couple of tests to exercise this (one for Linux and one for Windows).
As for naming conventions - I ended up with a suffix of _w and _l. This way, they will be shown next to each other in alphabetical order, and is short/succinct.

LGTM.

LGTM

LGTM


Delete an account from the service

As a user
I need to delete an account from the service
So that I can remove outdated or invalid customer records
Details and Assumptions

Deleting an account removes it permanently from the database.

Acceptance Criteria
gherkin
Given an account exists in the service
When I send a delete request
Then the account is removed, and a success message is returned

Label added

Label added


NixOS 23.05: EC2 Instance Status Check failure when using gp3 volumes and enabling cloud-init

Describe the bug
A clear and concise description of what the bug is.
We build NixOS AMIs for EC2 instances. We are currently migrating to NixOS 23.05, and we're facing an issue where enabling cloud-init while using gp3 volumes breaks Instance Status Checks and causes the EC2 instance to fail starting up. This does not happen when using standard (gp2) volumes. This also doesn't happen neither on gp3 nor on standard when using NixOS 22.11
Steps To Reproduce
Steps to reproduce the behavior:

Create a file ec2.nix with the next content:

{ config, ... }:
{
  imports = [
    <nixpkgs/nixos/modules/virtualisation/amazon-image.nix>
  ];
  amazonImage.sizeMB = "auto";
  ec2.hvm = true;
  services.cloud-init.enable = true;
  system.stateVersion = config.system.nixos.release;
}

Create a script that would build the image, push it to S3, import that snapshot from S3 and register an AMI (this is a simplified version):

#!/usr/bin/env bash
set -eu
set -o pipefail

function read_image_info {
    if [ ! -e "$store_path/nix-support/image-info.json" ]; then
        log "Image missing metadata"
        exit 1
    fi
    jq -r "$1" "$store_path/nix-support/image-info.json"
}

volume_type="gp3" # will cause issues starting the ec2 instace
# volume_type="standard" # works fine
image_name="nixos-23.05-${volume_type}-test-ami"
s3_bucket="SELECT_YOUR_OWN_BUCKET"

# build the image
echo "building the image..."
store_path=$(nix-build --no-out-link '<nixpkgs/nixos/release.nix>' \
    --arg configuration "{ ... }: { imports = [ (import ./ec2.nix) ]; }" \
    -A amazonImage.x86_64-linux)
echo "store path: ${store_path}"

# upload to s3
echo "uploading the image to s3..."
image_file=$(read_image_info .file)
aws s3 cp "${image_file}" "s3://${s3_bucket}/${image_name}"

# import snapshot from s3 (make sure your `vmimport` role is allowed access to the s3 bucket)
echo "importing snapshot from s3..."
import_task_id="$(aws ec2 import-snapshot \
    --description "${image_name}" \
    --disk-container "{
        \"Format\": \"vhd\",
        \"UserBucket\": {
            \"S3Bucket\": \"${s3_bucket}\",
            \"S3Key\": \"${image_name}\"
        }}" \
    --query 'ImportTaskId' \
    --output text)"

# wait for snapshot to complete (simplified logic)
echo "waiting for import to complete..."
while true; do
    state="$(aws ec2 describe-import-snapshot-tasks \
        --import-task-ids "${import_task_id}" \
        --query 'ImportSnapshotTasks[0].SnapshotTaskDetail.Status' \
        --output text)"
    echo "import state: ${state}"

    if [ "${state}" == "completed" ]; then
        break
    fi

    sleep 10
done

# register image
echo "registering the image..."
snapshot_id="$(aws ec2 describe-import-snapshot-tasks \
    --import-task-ids "${import_task_id}" \
    --query 'ImportSnapshotTasks[0].SnapshotTaskDetail.SnapshotId' \
    --output text)"

image_logical_bytes=$(read_image_info .logical_bytes)
image_logical_gigabytes=$((($image_logical_bytes - 1) / 1024 / 1024 / 1024 + 1)) # Round to the next GB

block_device_mappings=(
    "DeviceName=/dev/sda1,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=${volume_type}}"
)

aws ec2 register-image \
    --name "${image_name}" \
    --description "NixOS 23.05 AMI with ${volume_type} root block device" \
    --architecture x86_64 \
    --ena-support \
    --sriov-net-support simple \
    --virtualization-type hvm \
    --root-device-name /dev/sda1 \
    --block-device-mappings "${block_device_mappings[@]}" \
    --query 'ImageId'

Run the script. A new AMI should appear in your AWS account
Launch a new instance from this AMI
Observe that while System status checks of the instance pass, the Instance status checks fail after some time

Expected behavior
The instance should launch normally and pass all EC2 health checks without issues
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Looking at EC2 system logs, we see that IMDS for some reason can't be reached:
fetch-ec2-metadata-start[944]: curl: (7) Failed to connect to <IP_ADDRESS> port 80 after 0 ms: Couldn't connect to server

Notify maintainers
@illustris @jfroche

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.1, NixOS, 23.05 (Stoat), 23.05.4906.0c5678df521e`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.6`
 - channels(scranga): `""`
 - channels(root): `"nixos-23.05, nixos-hardware"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Huh... I can't imagine how changing the disk type could break cloud init. Thanks for reporting the issue. I'll check it out in a few hours.

I tried building both variants with the master branch. Both status checks are passing on both instances. I'll try 23.05.

i switched to master:
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.2, NixOS, 24.05 (Uakari), 24.05pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.0`
 - channels(scranga): `""`
 - channels(root): `"nixos, nixos-hardware"`
 - nixpkgs: `/nix/store/7rvd8ffbvi3r08cynpjvx9b18aax0gk7-nixpkgs`

and it worked for me too

switched back to 23.05 (linux version, the commit id and nix-env is now slightly different for whatever reason) but it failed for me again:
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.2, NixOS, 23.05 (Stoat), 23.05.4930.f741f8a83991`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.6`
 - channels(scranga): `""`
 - channels(root): `"nixos-23.05, nixos-hardware"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

looking at the versions of cloud-init used in all of these channels, it is jumping major versions. looking at the changelog, unfortunately i can't tell what can cause the issue, or whether cloud-init has anything to do with it at all:
# https://github.com/NixOS/nixpkgs/blob/22.11/pkgs/tools/virtualization/cloud-init/default.nix
22.11: cloud-init-22.4
# https://github.com/NixOS/nixpkgs/blob/23.05/pkgs/tools/virtualization/cloud-init/default.nix
23.05: cloud-init-23.1.2
# https://github.com/NixOS/nixpkgs/blob/24.05-pre/pkgs/tools/virtualization/cloud-init/default.nix
24.05: cloud-init-23.3.3

by the way thanks for checking, this has been driving me nuts and i hope i'm not crazy

Nov 23 18:44:24 localhost dhcpcd[693]: ens5: waiting for carrier
Nov 23 18:44:24 localhost dhcpcd[693]: ens5: carrier acquired
Nov 23 18:44:24 localhost kernel: ena 0000:00:05.0 ens5: Local page cache is di>
Nov 23 18:44:24 localhost systemd[1]: Finished Permit User Sessions.
Nov 23 18:44:24 localhost dhcpcd[693]: ens5: IAID c1:da:02:8c
Nov 23 18:44:24 localhost dhcpcd[693]: ens5: adding address fe80::2e:c1ff:feda:>
Nov 23 18:44:24 localhost systemd[1]: Started D-Bus System Message Bus.
Nov 23 18:44:24 localhost dbus-daemon[701]: [system] Successfully activated ser>
Nov 23 18:44:24 localhost systemd[1]: Created slice Slice /user/0.
Nov 23 18:44:24 localhost systemd[1]: Starting User Runtime Directory /run/user>
Nov 23 18:44:24 localhost systemd-logind[740]: New session 1 of user root.
Nov 23 18:44:24 localhost systemd-timesyncd[491]: Network configuration changed>
Nov 23 18:44:24 localhost systemd[1]: Finished User Runtime Directory /run/user>
Nov 23 18:44:24 localhost systemd[1]: Starting User Manager for UID 0...
Nov 23 18:44:24 localhost (systemd)[810]: pam_unix(systemd-user:session): sessi>
Nov 23 18:44:24 localhost systemd[810]: Queued start job for default target Mai>
Nov 23 18:44:24 localhost systemd[810]: Created slice User Application Slice.
Nov 23 18:44:24 localhost systemd[810]: Reached target Paths.
Nov 23 18:44:24 localhost systemd[810]: Reached target Timers.
Nov 23 18:44:24 localhost systemd[810]: Starting D-Bus User Message Bus Socket.>
Nov 23 18:44:24 localhost systemd[810]: Listening on D-Bus User Message Bus Soc>
Nov 23 18:44:24 localhost systemd[810]: Reached target Sockets.
Nov 23 18:44:24 localhost systemd[810]: Reached target Basic System.
Nov 23 18:44:24 localhost systemd[810]: Run user-specific NixOS activation was >
Nov 23 18:44:24 localhost systemd[1]: Started User Manager for UID 0.
Nov 23 18:44:24 localhost systemd[810]: Reached target Main User Target.
Nov 23 18:44:24 localhost systemd[810]: Startup finished in 358ms.
Nov 23 18:44:24 localhost systemd[1]: Started Session 1 of User root.
Nov 23 18:44:24 localhost login[817]: ROOT LOGIN  on '/dev/ttyS0'
Nov 23 18:44:25 localhost dhcpcd[693]: ens5: soliciting a DHCP lease
Nov 23 18:44:25 localhost kernel: NET: Registered PF_PACKET protocol family
Nov 23 18:44:25 localhost dhcpcd[693]: ens5: offered <IP_ADDRESS> from 172.31.>
Nov 23 18:44:25 localhost dhcpcd[693]: ens5: probing address <IP_ADDRESS>/20
Nov 23 18:44:25 localhost dhcpcd[693]: ens5: soliciting an IPv6 router
Nov 23 18:44:28 localhost dhcpcd[693]: ens5: carrier lost
Nov 23 18:44:28 localhost dhcpcd[693]: ens5: deleting address fe80::2e:c1ff:fed>
Nov 23 18:44:29 localhost dhcpcd[693]: ens5: carrier acquired
Nov 23 18:44:29 localhost kernel: IPv6: ADDRCONF(NETDEV_CHANGE): ens5: link bec>
Nov 23 18:44:29 localhost dhcpcd[693]: ens5: IAID c1:da:02:8c
Nov 23 18:44:29 localhost dhcpcd[693]: ens5: adding address fe80::2e:c1ff:feda:>
Nov 23 18:44:29 localhost dhcpcd[693]: ens5: carrier lost
Nov 23 18:44:29 localhost dhcpcd[693]: ens5: deleting address fe80::2e:c1ff:fed>
Nov 23 18:44:54 ip-172-31-18-156 dhcpcd[693]: timed out

Looks like the link is flapping during boot. This only seems to be happening on the gp3 instance. Not sure what to make of this... Let me see if there are any significant differences in the boot logs between master and 23.05.

well i guess with deprecation of 23.05, this no longer deserves attention and can be closed (unless someone disagrees)

this is still an issue with 23.11. what is even weirder is that i launch 5 instances, and one of them works just fine

Are you sure there is no firewall or security group rule messing with DHCP traffic?
I have a feeling the GP3/GP2 thing is a red herring and instead cloud-init is doing something that breaks your network setup

Cloud-init also runs its own DHCP client as part of the discovery process. Because cloud-init runs so early, there is often no network stack available, so it configures the network interface, just to be able to query the metadata service. That code was refactored in April, which might explain why the behaviour changed between releases.
EC2 has two data sources: EC2 and Ec2Local. And the local one does DHCP discovery. See https://github.com/canonical/cloud-init/blob/967104088db0e9724096e3776c9c31ccbb3f97cb/cloudinit/sources/DataSourceEc2.py#L128-L147
One thing you can try is to restrict the list of data sources. That also generally also helps speed up the boot as it doesn't have to go through the whole list:
services.cloud-init.settings.datasource_list = [ "Ec2" ];
services.cloud-init.settings.datasource.Ec2 = { };

Other things to try would be to enable systemd.network.enable and boot.initrd.systemd.network.enable.
One side note: if services.cloud-init.enable is enabled, turn off virtualisation.amazon-init as it is also consuming from the metadata server.

In the boot logs, check what data source it found. If you see something like that then it has executed its own DHCP client:
2019-08-07 14:33:27,259 - handlers.py[DEBUG]: finish: init-local/search-Ec2Local: SUCCESS: found local data from DataSourceEc2Local
2019-08-07 14:33:27,259 - stages.py[INFO]: Loaded datasource DataSourceEc2Local - DataSourceEc2Local

Are you sure there is no firewall or security group rule messing with DHCP traffic?
I have a feeling the GP3/GP2 thing is a red herring and instead cloud-init is doing something that breaks your network setup

i am telling that to myself all the time but after verifying multiple times, it really works with standard volumes, and doesn't work with gp2/gp3. the network setup is the same in all cases

I'm curious if we can replicate the same issue on other cloud-init enabled distros.
I do think @zimbatm is  onto something with cloud-init having its own DHCP impl. If disabling that fixes the issue we at least know in what direction to look.

Should be fixed by the latest commit in https://github.com/NixOS/nixpkgs/pull/273707
This is caused by cloud-init having its own dhcp client, as zimbatm suggested. cloud-init-local.service first makes a DHCP request, does some things, and then deletes all network configs it applied. We run into a race condition if DHCPCD starts before cloud-init-local has deleted the network configs. DHCPCD makes a request and applies the same IP configs, but cloud-init-local just deletes these configs after that, leaving your VM with no IP.
I didn't have time to dig deeper into why this happening only on gp3, but I have one theory. A gp3 volume has a default IOPS cap of 3000 irrespective of size, while a gp2 volume's iops scales with size. For an 8GB volume it would be 100 iops. Because of this, the startup time of some services might be slower than others on gp2, delaying dhcpcd long enough to start after cloud-init-local is done.

@illustris thanks for your work! i will be verifying the fix the next week

this is now working, much thanks again for getting this fixed!


Component property default() returns undefined if set to a mix-in computed/method result

Version
2.3.4
Reproduction link
https://jsfiddle.net/richardtallent/qn5kpgcx/2/
Steps to reproduce

Create a mix-in with a method or computed property.
Add the mix-in to a component.
Set a component's property to default to the result of the mix-in computed property or method.

What is expected?
Mix-in methods and computed properties should be available when the component prop default() is evaluated, allowing the component to use mix-in logic to default properties.
What is actually happening?
It appears the mix-in has not been added when the prop default() is evaluated, leading to the property being defaulted to undefined.

I have a "locale" property on a component that defaults to the browser locale setting. I wanted to move the code that pulls the browser's locale into a mix-in so I can use it in multiple components that need localization (along with some related utility methods for localization). This would also allow me to swap out the default locale logic quickly for a number of components (for example, if I wanted to move to SSR, where the navigation object is not available).

To my knowledge, this is the behaviour, you can't access computed properties in props.

Mixins are resolved before the instance is created. During creation props are resolved before computed properties because it's much more often for computed properties to rely on props rather than the other way around. This behavior is not going to change because changing it would be breaking - nor should it be affected by whether the props/computed are defined in mixins or not.
For your use case, I don't understand why you need a prop to default to that value - why not just use that value directly?

Thanks for the quick response! Your explanation makes sense, and the only reason I noticed the issue was in the use of a mix-in, I'm glad to see the behavior is not specific to mix-ins.
The JSFiddle example was just a minimal example of the issue. The real use cases are for a calendar control's "locale" and "date" properties. The default values for both of these involve some logic that would be convenient to locate in a mix-in so I can create other components that rely on similar logic.
The workaround is simple enough -- my component can use a computed property that defaults to the mix-in's computation rather than expecting it via the prop's default() key.
The documentation doesn't cover this limitation of prop default, I'll see if I can send up a PR to enhance that section.


[BUG] Double scan of the same directory (with and without trailing slash)

Describe the bug
In some scans, all the directories found are scanned twice, one with and one without a trailing slash (/). This is maybe related to https://github.com/epi052/feroxbuster/issues/67.
To Reproduce
I've tried really hard to understand what are the reasons that make the bug happen or not, but I wasn't able to find the exact reason.
Steps to reproduce the behavior:

go into an empty directory for testing (mkdir test && cd test)
create an index.html file (touch index.html). This disables the directory listing.
launch a webserver in this directory (python3 -m http.server 8000)
start feroxbuster on the webserver (feroxbuster -u http://<IP_ADDRESS>:8000) and notice the issue.

$ feroxbuster -u http://<IP_ADDRESS>:8000 -w /opt/SecLists/Discovery/Web-Content/raft-medium-directories.txt

 ___  ___  __   __     __      __         __   ___
|__  |__  |__) |__) | /  `    /  \ \_/ | |  \ |__
|    |___ |  \ |  \ | \__,    \__/ / \ | |__/ |___
by Ben "epi" Risher 🤓                 ver: 2.7.1
───────────────────────────┬──────────────────────
 🎯  Target Url            │ http://<IP_ADDRESS>:8000
 🚀  Threads               │ 50
 📖  Wordlist              │ /opt/SecLists/Discovery/Web-Content/raft-medium-directories.txt
 👌  Status Codes          │ [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
 💥  Timeout (secs)        │ 7
 🦡  User-Agent            │ feroxbuster/2.7.1
 💉  Config File           │ /home/mh4ck/.config/feroxbuster/ferox-config.toml
 🏁  HTTP methods          │ [GET]
 🔃  Recursion Depth       │ 4
───────────────────────────┴──────────────────────
 🏁  Press [ENTER] to use the Scan Management Menu™
──────────────────────────────────────────────────
200      GET        0l        0w        0c http://<IP_ADDRESS>:8000/
[####################] - 20s    60000/60000   0s      found:1       errors:21
[####################] - 18s    30000/30000   1687/s  http://<IP_ADDRESS>:8000
[####################] - 20s    30000/30000   1519/s  http://<IP_ADDRESS>:8000/

Expected behavior
Each directory is scanned only once, without the dependency to a trailing slash (which doesn't change the results)
Environment (please complete the following information):

feroxbuster version: 2.7.1
OS : ArchLinux

howdy, and thanks for submitting a report!
this isn't a bug per-se.
In this instance, feroxbuster doesn't make assumptions about what you want to scan. Since you asked to scan http://<IP_ADDRESS>:8000, it went ahead and sent requests there. During testing for recursion (pretty sure it happens here, tho didn't confirm, might be heuristics), ferox sent a / appended to your base url and got back a 200, which triggered a new scan.
If you want to eliminate this behavior, you can simply add a / to your -u option.
If that doesn't help for some reason, or I misunderstood, please lmk!

Hey, thanks for your fast answer.
Indeed, adding a trailing slash to the end of the URL fixes the bug... but only for the root / target location.
I still think there is a bug in the recursion testing. By adding some directories to the PoC above (mkdir admin && mkdir dev && touche admin/index.html && touch dev/index.html), we see that we still have a double scan of each found directory.
If I'm correct, scanning /dir and /dir/ is exactly the same, or at least it is if there is some redirection between the two (like /dir redirecting to /dir/). If not, my mistake, and I would like to understand what is the difference.
If I understand this doc properly, there is two ways for feroxbuster to trigger a recursion :

either you have a 300-399 status code with a redirect to the same url + trailing slash,
or you have a 200-299 or 403 status code with an url containing a trailing slash.

My point is, I think when both cases arise on the same URL, the recursion is triggered two times, and even if it's not the same exact URL who triggered the recursion, the results will be the same and there is no need for this double recursion.
This is the output of my feroxbuster with the new folders :
 $ feroxbuster -u http://<IP_ADDRESS>:8000/ -w /opt/SecLists/Discovery/Web-Content/raft-medium-words.txt

 ___  ___  __   __     __      __         __   ___
|__  |__  |__) |__) | /  `    /  \ \_/ | |  \ |__
|    |___ |  \ |  \ | \__,    \__/ / \ | |__/ |___
by Ben "epi" Risher 🤓                 ver: 2.7.1
───────────────────────────┬──────────────────────
 🎯  Target Url            │ http://<IP_ADDRESS>:8000/
 🚀  Threads               │ 50
 📖  Wordlist              │ /opt/SecLists/Discovery/Web-Content/raft-medium-words.txt
 👌  Status Codes          │ [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
 💥  Timeout (secs)        │ 7
 🦡  User-Agent            │ feroxbuster/2.7.1
 💉  Config File           │ /home/mh4ck/.config/feroxbuster/ferox-config.toml
 🏁  HTTP methods          │ [GET]
 🔃  Recursion Depth       │ 4
───────────────────────────┴──────────────────────
 🏁  Press [ENTER] to use the Scan Management Menu™
──────────────────────────────────────────────────
301      GET        0l        0w        0c http://<IP_ADDRESS>:8000/admin => /admin/
200      GET        0l        0w        0c http://<IP_ADDRESS>:8000/
301      GET        0l        0w        0c http://<IP_ADDRESS>:8000/dev => /dev/
200      GET        0l        0w        0c http://<IP_ADDRESS>:8000/dev/
200      GET        0l        0w        0c http://<IP_ADDRESS>:8000/admin/
[####################] - 1m    315440/315440  0s      found:5       errors:110
[####################] - 1m     63088/63088   542/s   http://<IP_ADDRESS>:8000/
[####################] - 1m     63088/63088   542/s   http://<IP_ADDRESS>:8000/admin
[####################] - 1m     63088/63088   542/s   http://<IP_ADDRESS>:8000/dev
[####################] - 1m     63088/63088   542/s   http://<IP_ADDRESS>:8000/dev/
[####################] - 1m     63088/63088   544/s   http://<IP_ADDRESS>:8000/admin/

:joy: you got a fast answer and a slow one apparently... sorry for the delay!
you might be onto something... going to take a look this morning and see what's going on

you're right (and thank you for reporting what you found!). unfortunately, my naive/quick fix broke some other stuff, so will have to take some more time and determine the best way to address the issue.
my first quick fix was to simply normalize directories so that they all have a trailing / as far as state tracking. the second attempt was to change how we detect that a scan is already present/seen. both solutions produce weird side-effects with other parts of ferox, so need to spend some more time with this.

Ok, i think i have a fix. I'm allowing a release build to happen on the PR (not normally what happens) so you can give it a whirl. Everything seems ok to me, but would love it if you could take a look also.
The new release builds will be here when the pipeline completes:

https://github.com/epi052/feroxbuster/actions/runs/3181999802

I just tested the x86_64 version with different scenarios, the fix seems good to me !

thanks again, as a heads up, i'll push the new official build soon; want to get one more dep updated


[Docs] Hyperlink added for each Role name from Permissions Reference page to Roles page

Notes for Reviewers
This PR fixes https://github.com/layer5io/docs/issues/321
A hyperlink for all available roles in doc has been added and the ones that are not documented in Roles for now (ex: User) are redirected to the default roles page.
Refer to the changes below:
https://github.com/user-attachments/assets/4731001d-b838-4aa0-9e87-a18a12c792b5
Signed commits

[x] Yes, I signed my commits.

@SAHU-01 As stated by Lee in the issue comments, please make it so that the links open in the same tab, rather than a new one.
Moreover, I wonder if you can use string slicing to take the first word from the column header and put in the in the URL, instead of using conditional cases.
Can you try that?

@dragon-slayer875 sure let me try this and get back to you real quick!

@dragon-slayer875 I'm afraid that wouldn't be possible if you take a closer look at the conditions, you'll see the sections do not follow a generic URL when mapped, so there is a need to map each of them individually, but please correct me if I'm wrong.

No @SAHU-01 you are right, thanks for trying.
Have you took care to make the links open on the same page instead of a new page?
If yes, we can merge this PR.


Fix test_worker_with_progress by wait on worker end

Description

Fix bug of not waiting on worker finish job.
Observed here:
https://github.com/napari/napari/actions/runs/4135578368/jobs/7148237042#step:8:335
reported by @brisvag
Type of change

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

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

start 24h clock


Do not work after code updating

Hello, I have problem after Yandex updated the Yandex.Metrika counter code. Do not work reachGoal method

hey, @yurahyma
Can you please provide me more info?
Has it worked before?
When did it break?

Hello
Since 20.06.2018 Yandex changed Metrika counter code, and since that time if I use this plugin I can not track goals in webvisor

And what's going on when you are trying to track goal?
Is there any error?

Any errors, but information about goals in webvisor do not update

Hey.
Sorry for a late reply :(
I updated the version of Metrika, now webvisor works fine.

My code:
Vue.use(VueYandexMetrika, {
  id: 12345678,
  env: 'production',
  options: {webvisor: true},
  router
})


		IN	A

;; ANSWER SECTION:
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>
seed2.nav.community.	3598	IN	A	<IP_ADDRESS>

;; Query time: 34 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Nov 18 12:53:33 CET 2019
;; MSG SIZE  rcvd: 448

What to test
Nodes should quickly find nodes without needing a previous list of known servers (this is achieved starting with a completely empty data folder).

A new build of 473f6dc28a618df5e9bd537a3b6af61fccabd701 has completed succesfully!
Binaries available at https://build.nav.community/binaries/dnsseed-redundancy

@aguycalled  seems that seed.nav.community is not working, so only seed2.nav.community is working.

@mxaddict should be fixed now
$ dig -t a seed.nav.community

; <<>> DiG 9.10.6 <<>> -t a seed.nav.community
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63486
;; flags: qr rd ra; QUERY: 1, ANSWER: 21, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;seed.nav.community.		IN	A

;; ANSWER SECTION:
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>
seed.nav.community.	3599	IN	A	<IP_ADDRESS>

;; Query time: 70 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Tue Nov 19 23:39:01 CET 2019
;; MSG SIZE  rcvd: 383

I checked both seed.nav.community and seed2.nav.community, they are working.
@proletesseract  @chasingkirkjufell can you guys review this PR?


GitLab pipeline fails to access /dev/tty

GitLab pipeline fails to access /dev/tty due to not be able to load bubbleTea library for the handoff screen.
Solution:
add flag to skip handoff screen

done at #302


The package doesn't support file uploads?

Only text, select, and checkbox are supported, may you please add file upload input to this?

Hi Imran :)
I'd like to let you know that I just published a new version at the moment.
There is a new feature with which you can create your own input component
check it out
Thanks


Instagram module isn't working. Blank page is loaded.

STR:
Run socialfish
Choose 5>Instagram
Wait for the link
Follow the link
AR: Blank page is displayed to the victim
ER: Fake instagram login page displayed
See the screenshot.
http://prntscr.com/k84rgt
Thanks in advance!

Try this one : https://github.com/An0nUD4Y/SocialFish

@BobNiko Fixed


Switched to google-resumable-media in BigQuery.

@jonparrott Asked that I make a "do not merge" PR out of this, as a placeholder for the work remaining in #1998.
When I wrote this code (May 10th), the system tests all passed without issue (THAT WAS NOT TRUE WHEN I WROTE IT), but the unit tests are currently very broken by this change.
I am very much intentionally leaving the "Allow edits from maintainers" box checked, so anyone is free to fix the unit tests :grinning:

OK after some work last night by @jonparrott and by me this AM, the unit tests are passing at 100%.
I'm fairly certain there will be a system test breakage though. I seem to recall the [getting the `size]1 from the final 200 response of a finished resumable upload is "impossible" with the BigQuery API. (The real story: I assumed all APIs would return `size` because Storage did, it may have been a bad assumption.)

w00t! I confirmed the system tests pass locally:
$ nox -s "system_tests(python_version='2.7')"
nox > Running session system_tests(python_version='2.7')
nox > virtualenv .../bigquery/.nox/sys-2-7 -p python2.7
nox > chdir .../bigquery
nox > pip install --upgrade mock pytest ../core
nox > pip install --upgrade ../storage ../test_utils
nox > pip install --upgrade .
nox > py.test --quiet tests/system.py
.........................
25 passed in 163.06 seconds
nox > Session system_tests(python_version='2.7') successful. :)
$
$
$ nox -s "system_tests(python_version='3.6')"
nox > Running session system_tests(python_version='3.6')
nox > virtualenv .../bigquery/.nox/sys-3-6 -p python3.6
nox > chdir .../bigquery
nox > pip install --upgrade mock pytest ../core
nox > pip install --upgrade ../storage ../test_utils
nox > pip install --upgrade .
nox > py.test --quiet tests/system.py
.........................
25 passed in 155.69 seconds
nox > Session system_tests(python_version='3.6') successful. :)

OK CircleCI is green. Let's merge?!?


Grafana not getting any data

Describe the bug
There are some problem using Grafana 7.0 and Zabbix 4.4.9. After Data Source successfully created I can get any data from data source.
The plug-in version is the last avaliable.

Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

7.0.3
4.4.9
Version 3.12.2

Hi! Check API permissions.


Option to hide folder history on taskbar

Add an option to disable indexing folders that were opened appearing on the taskbar

@Vaintelog You can turn off the jump list from the Settings app, you can find this setting under Settings > Personalization > Start "Show recently opened items in Jump Lists on Start or the taskbar and in File Explorer Quick Access".