fix haku resolver test

close #34

Current coverage is 82.45%

Merging #109 into master will increase coverage by +0.49% as of 5829967

@@            master    #109   diff @@
======================================
  Files           45      45
  Stmts         1048    1049     +1
  Branches       260     260
  Methods          0       0
======================================
+ Hit            859     865     +6
  Partial         65      65
+ Missed         124     119     -5

Review entire Coverage Diff as of 5829967

Powered by Codecov. Updated on successful CI builds.


NFS mount failed

When i start ddev on Windows 10 Pro with enabled NFS mount it fail.

ERROR: for d77ed1aace86_ddev-blablabla-web  Cannot start service web: error while mounting volume '/var/lib/docker/volumes/ddev-svenlieberthp_nfsmount/_data': error while mounting volume with options: type='nfs' device=':/PATHTOROOT' o='addr=host.docker.internal,hard,nolock,rw': connection refused

ERROR: for web  Cannot start service web: error while mounting volume '/var/lib/docker/volumes/ddev-blablabla_nfsmount/_data': error while mounting volume with options: type='nfs' device=':/PATHTOROOT' o='addr=host.docker.internal,hard,nolock,rw': connection refused
Encountered errors while bringing up the project.'

I had to install windows_ddev_nfs_setup.sh altough i installed ddev trough the installer.
https://ddev.readthedocs.io/en/latest/users/performance/#using-nfs-to-mount-the-project-into-the-container

Thanks, sorry you had trouble with this. Although it would be technically possible to install and configure NFS for you in the installer, it would seem to be a violation of your ownership of your machine. It also would break anybody that had NFS running for any other reason. This might possibly be less likely on Windows, which doesn't have built-in NFS, but could be a real problem on macOS and Linux, where NFS is taken for granted.


[$500] Mention - Only 3 user are scrollable when use keyboard to pick user to mention

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

Version Number: 1.4.17-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal
Slack conversation:
Action Performed:
Precondition:
Connect the pc keyboard to mobile device
Steps:

Navigate to staging.new.expensify.com
Go to any chat
Start texting until chat is expanded
Type @ to open mention member list
Use keyboard arrows to scroll through the list

Expected Result:
User should be able to navigate to all members in the list
Actual Result:
When using keyboard arrows user is able to scroll only 3 members from the list
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/899f29ce-d7ac-4f84-a735-4cf813ff5d99
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017bdddeb3dc37e5c7
Upwork Job ID:<PHONE_NUMBER>952898048
Last Price Increase: 2023-12-26

Proposal
Please re-state the problem that we are trying to solve in this issue.
Suggestions stacked in 3 items with keyboard control.
What is the root cause of that problem?
https://github.com/Expensify/App/blob/2b58e1cbef63c4fdce8a6e8fb3ee52089009a8d8/src/libs/SuggestionUtils.js#L9
https://github.com/Expensify/App/blob/2b58e1cbef63c4fdce8a6e8fb3ee52089009a8d8/src/pages/home/report/ReportActionCompose/SuggestionMention.js#L62C9-L62C17
The entire function getMaxArrowIndex() is incorrect for this purpose since it's a keyboard controller.
What changes do you think we should make in order to solve the problem?
We can simply use the length of suggested mentions in the keyboard controller because we only need the total number of items in the hook.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012f657c01285b6cf0

Couple of proposals ready for review, thanks @eVoloshchak

Assuming @eVoloshchak was off for the holidays, this isn't an urgent issue

@eVoloshchak this one is ready for proposal review - thank you

Bump here @eVoloshchak

I'm going to be mostly ooo until Jan 29, assigning a second BZ team member to keep an eye on this.

waiting for proposal review
I've tagged @eVoloshchak in Slack here - we might need to find another C+

So replace this line with maxIndex: suggestionValues.suggestedMentions.index - 1

@mkhutornyi, using suggestionValues.suggestedMentions.index looks like a typo, I think you meant .length, is that correct?
There's no index key in an Array and using .index disables keyboard navigation, while using .length is the correct approach
I think we should proceed with @mkhutornyi's proposal (assuming we use .length)
🎀👀🎀 C+ reviewed!

@mkhutornyi Any updates? Thanks!

@eVoloshchak any update on the PR above^^^ thanks!

PR has been merged

Payment Summary
@mkhutornyi (Contributor) — paid $500 via Upwork
@eVoloshchak (C+) — to be paid $500 via New Dot

@eVoloshchak any update on the checklist above? Thanks!

@eVoloshchak just bumping on the checklist so we can get this closed. Thanks!

The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/25758
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/25758/files#r1477093662
A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: I don't think an additional discussion is needed, this is a very minor bug
Determine if we should create a regression test for this bug.
Is it easy to test for this bug? No, this requires an Android device with a physical keyboard connected to test
Is the bug related to an important user flow? No
Is it an impactful bug? No
We don't need a regression test here, the bug is rare and isn't impactful, and it might be hard for QA to test

Requested the payment

$500 approved for @eVoloshchak based on summary above.

Thanks all!


Changing default path doesn't update gallery images

I've changes the default path from the Desktop too my Pictures folder but although the existing prompts are shows in the gallery the images are not.
When I create a new image from a prompt it's correctly saved in the samples directory so I know the path is correct.

Discovered that editing image in  /Users/<username>/Library/Application Support/charl-e/config.json fixes this but updating by changing the path in the app would be useful.

Ah thank you! You're right. I'll fix this.


Add Dockerfile.art for ART builds

Ref. https://issues.redhat.com/browse/ART-5985

/cherrypick release-4.14


ERROR#132

vanillafixes-1.4.1-dxvk Windowed Mode

Are you also using AutoLogin? I was having this same issue when I used AutoLogin, removed it, and the crashing went away.

Are you also using AutoLogin? I was having this same issue when I used AutoLogin, removed it, and the crashing went away.

no~

This is almost always caused by DXVK (a dialog like this should show up). Try removing d3d9.dll to use VanillaFixes without DXVK. If it still doesn't work, it's caused by some other mod you have installed.

I deleted the dll for manymonitors from dll.txt and also used  73 KB exe download

Closing since this doesn't seem to be related to VanillaFixes.


Adopt Encointer Runtime

Encointer is a system chain on Kusama since Jan 2022 and has been developed and maintained by the Encointer association. This RFC proposes to treat Encointer like any other system chain and include it in the fellowship repo with this PR

what's the process here? how and when will this matter be decided?

I'm happy to sponsor this RFC and maintain it until such time as encointer devs join the fellowship.

assuming the comments have been adressed, can we move forward with this? I'll test the bot and my new assumed privilege right away

/rfc propose

I can not vote but anyway I would aye it if it's what you guys really want(are all RFCs gonna be voted by ranks 3+ only?), Encointer has been a role model for us to follow that showed us it's possible(with a lot of pain) to to build a common good with resources from the ecosystem.
My comment during last fellows meetup was just an observation, you guys asked to be a common good when it was not yet well defined what it meant to be one, now we shifted towards the concept of system chains instead of common good ones and Encointer got dragged into this new definition during the transition, but I think Encointer is not a system chain, it's a common good that deserves to be funded by the treasury but it's not an extension of the core protocol that would fit with other fellowship maintained runtimes.
I'm curious if you guys have considered giving up your system chain status and "be free", as a very experimental project you might want to iterate often, change and break things, I feel that being dependent on Kusama's governance to do runtime upgrades it's a huge drag that damages the project's ability to adapt to the needs of your users.
While developing Virto(Kreivo now on Kusama) I always had the goal to do as Encointer, don't have a token(make it hard for the L1 to fall into the control of the same few) and aim to do something nice, something for the common good(but remain sustainable). However if we want to stay kreiv-ative giving up the control of our runtime was a no-go, so I just waited patiently(some years now?) for parathreads to be a thing while doing other work on the client side. Now the wait is over, on-demand blockspace is not there yet but Kusama slots being "free" meant our time has come, we still build a common good chain(whether it's an official definition or not), we can iterate quickly and if the ecosystem feels it's worth supporting the ideas and innovations that can come out this project then we can keep the chain alive. Wouldn't this kind of model fit your project better?

@olanod Thank you for your thoughtful comment.
I have previously commented on my take. Like you, I don't think the "system chain" label is a good fit for Encointer. But then, it's mostly a marketing label and I have no strong feelings here.
Concerning our freedom to iterate often and change/break things, I don't believe that joining this repo changes much. Lacking our own root origin, we have to wait for OpenGov approval anyway and it's the Fellowship which can accelerate by whitelisting, so we need to wait anyway.
From a purely technical point of view, we would have been much better off as a solochain the last two years: Less downtime, faster bugfix deployment, faster blocktime. But at our current state, "solo" would have meant de facto "centralized" and that's not what we're in for. Decentralization is an integral part of our field-experiment.
Grabbing a cheap parachain slot on Kusama could be a viable alternative if we establish personhood-based democratic governance for our chain. However, in that case we might chose to go one step further and elect our own validators just as well and go straight to a very interesting experiment of delegated personhood consensus. This, however, would require quite substantial groundwork in advance.
So, back to where we are now: We submitted this RFC to get a clear statement from Fellowship on the currently perceived status of Encointer by the technocratic arm of OpenGov: Does the Fellowship think that Encointer should be more tightly integrated or not? We can accept both outcomes, but we request clarity on the matter.

/rfc help

/rfc process 0x3c07696acaba98022d0960a0c14da01d96bd747eead9380b3aac5c1f5c38b046


[Components] Slider - interactivity styles update

To improve readability we want to update styles for this component.

@JeremiasUX Here is the link for testing the changes: https://spark-ouqo8khl6-spark-team.vercel.app/?path=/docs/components-slider--docs#intent
@elisa-hery Not sure you need to test it too... I guess here just Jere should be enough 👍

Seen with @JeremiasUX today. Changes approved 👍


Better tests

Finalized Python support and increased test time.

Current coverage is 72.49% (diff: 78.94%)

Merging #49 into python3_support will decrease coverage by 6.82%

@@           python3_support        #49   diff @@
=================================================
  Files                   11          7     -4
  Lines                  967        658   -309
  Methods                  0          0
  Messages                 0          0
  Branches                 0        122   +122
=================================================
- Hits                   767        477   -290
+ Misses                 200        138    -62
- Partials                 0         43    +43

Powered by Codecov. Last update 94067b5...172c15c


Problem installing .NET framework

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/edit
Operating System: windows
System 32, well after i do dotnet run on command prompt this appears:
Program.cs(10,54): error CS1003: Syntax error, ',' expected [C:\WINDOWS\system32\system32.csproj]
The build failed. Fix the build errors and run again.
Well i think it may be Program.cs which i edited but didnt know how to do it properly has it was asked on the tutorial.

First of all, you created your project in the C:\WINDOWS\system32 directory. I would advise against doing that, since it's a system directory.
Second, can you post the code you have in your Program.cs?

Closing due to lack of response; please feel free to reopen if you're still having this problem and have more detail.


NewValidation: Validate is Number of TEP-to-TEP atomic counters is within supported scalability limit

(use upvote :thumbsup: for attentions)
Validation Type
[ ] - Config
What needs to be validated
We should validate if APIC is not out of scalability limits for Number of TEP-to-TEP atomic counters.
This is explained under https://bst.cisco.com/bugsearch/bug/CSCvy45102
We should check for output of:
apic# moquery -c dbgAcPath | head -n 1
Total Objects shown: 4
If this is above 1600 test should fail.
Workaround can be applied:
Restart dbgr process on all APICs. To prevent issue, disable ongoing atomic counters under Operations --> Visualization --> Settings --> Administrative State: Disabled.
Why it needs to be validated
When this is out of validation some service like config backup or snapshot may not work properly, which is important during upgrade activity.

admin@apic1:~> icurl 'http://<IP_ADDRESS>:7777/api/node/class/dbgAcPath.json?&rsp-subtree-include=count'
{"totalCount":"1","imdata":[{"moCount":{"attributes":{"childAction":"","count":"2","dn":"","status":""}}}]}


Can you provide bundle.js not minified to allow editions in code?

I'm using ionic-timepicker and it's working very well, but in an specific project I want to customize the library in something, for example:

Change the order of button "Set" and "Cancel", putting the "Set" in right position and "Cancel" in left position.

Do not reset hour number when it reaches 24.

Change label in Popup Header to show, for example:
If time is 15:30 -> Label: 15:30 minutes
If time is 15:00 -> Label: 15 minutes
If time is 01:00 -> Label: 1 minute
If time is 00:30 -> Label: 30 seconds
If time is 00:01 -> Label: 1 second

The purpose of this project is to select how many minutes and seconds to retrieve this value to me, then I'm using hour area to select minutes and minute area to select seconds, because this I would like to change somethings in the library. Is it possible to provide not minified version to compile?
Thanks in advance

Just as advice, studying your library in minified code I've noticed that you are using .toFixed() and when I was putting 00:30 to be showed, in the popup it was showing me 01:30, and if I put 01:30, in the popup it was showing 02:30, and so on...
To solve this I've changed:
$scope.time.hours.toFixed(0);

to:
Math.floor($scope.time.hours);

You are expecting it to be a timer selection. But this component only supports the selection of time.


Return upload date in UTC timezone

Turns out this is not a bug, bug was on Hub side, where it showed upload date. This issue can be closed.


Can we join / concat two audio files

Is it possible to to join two audio files, I have one audio file which is 10 seconds long and another one in 15 seconds long, I want to join them into one file of 25 seconds long can we do it with transformers,
I have checked the Demo example TransformerActivity.java
and with this code
 Transformer transformer = createTransformer(bundle, inputUri, filePath);
      Composition composition = createComposition(mediaItem, bundle);

It looks like we can use only one file, however is there an option to join mutiple files

It is currently not possible using 1.1.1 version however you can check out the release-1.2.0-alpha01 or later upcoming releases and it should be possible to join/concat two audio files using this code:
val audio1 = EditedMediaItem.Builder(MediaItem.fromUri(path1))
                    .build()
val audio2 = EditedMediaItem.Builder(MediaItem.fromUri(path2))
                    .build()
val audioSequence = EditedMediaItemSequence(ImmutableList.of(audio1, audio2))
val composition = Composition.Builder(ImmutableList.of(audioSequence)).build()


Running Disk2VHD does not work from a Windows OS natively launched from a VHD/x

Running Disk2VHD does not work from a Windows OS natively launched from a VHD/x
The C drive (the VHD booted into) does not show up in the disk drive list at all.
Should this be considered a self evident iterative problem? Or a flaw or oversight?
Thanks, Rod.

Hi Rod
thanks for reporting. I have added this to the Disk2VHD backlog.
MarkC (MSFT)

Many thanks for paying attention to issue.  Is it fixable? Or will it just
be a documented limitation?
On Thu, 16 May 2019 at 22:18, analyze-v<EMAIL_ADDRESS>wrote:

Hi Rod
thanks for reporting. I have added this to the Disk2VHD backlog.
MarkC (MSFT)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/sysinternals/issues/162?email_source=notifications&email_token=AB4MSZG5LLWZAUJSCUQPKYTPVVUMXA5CNFSM4G63E3L2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVR6S5Y#issuecomment-493087095,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB4MSZD5WJ3RWFEQIC4INTLPVVUMXANCNFSM4G63E3LQ
.

--
Rod Dines
ICT Consultant, Systems Architect and Technology Advisor
Perth, Western Australia
+61-449891222
www.roddines.com
"Scientists say that we are made of atoms, but a little bird told me that
we are made of stories." - Eduardo Galeano
https://www.wikiwand.com/en/Eduardo_Galeano


separate test definition from declaration

I'm using the ParseAndAddCatchTests module to run tests with ctest and it's working greate. The only
problem is that I have to run CMake whenever I add a test for it to be processed.
To automate this I add all test files to CMAKE_CONFIGURE_DEPENDS property but now anything I change in those files causes CMake to run.
A solution for this would be to separate test declarations from definitions to different files so only when files with test declarations change will CMake run.
Actually, this is exactly what we do with regular code to save compilation time.
What do you think of this?

I managed to implement this locally but it requires the user to write the test name explicitly, instead of it being generated by INTERNAL_CATCH_UNIQUE_NAME.
Do you think this is acceptable?
If so, then I'll send a PR.

I think it would be preferable if the cmake script was changed so that it recognizes REGISTER_TEST_CASE macro, which already fulfills very similar function.
note: I am phone posting, so I wasn't able to actually test my approach

Thanks, I didn't know about this macro. Can you tell me the difference between this and METHOD_AS_TEST_CASE?

REGISTER_TEST_CASE expects a free function and it is up to the user to call it, METHOD_AS_TEST_CASE expects a method of a class and provides auto registration:
void testFunction() {
    REQUIRE(1 == 2);
}
struct AutoRegTests {
    AutoRegTests() {
        REGISTER_TEST_CASE(testFunction, "manually registered", "[bar]");
    }
};
AutoRegTests auto;

class TestClass {
    std::string s;
public:
    TestClass():s("Hello"){}
    void testMethod() {
        REQUIRE( s == "Hello" );
    }
};
`METHOD_AS_TEST_CASE(TestClass::testMethod, "sample test method", "[foo]");

Thanks. Is there a reason why REGISTER_TEST_CASE doesn't provide auto registration?
Also, can I call these macros on a header file?

No idea, I found out that these macros exist 2 days ago, when I needed to crawl through all Catch-provided macros for a Catch 2 feature...
Looking at REGISTER_TEST_CASE, it even uses the internal AutoReg object to do the registration, it just doesn't provide it with a unique name, so it cannot be used in global scope... Quick test says that if I change it to provide it with a unique name, the old usage does not break, so I might change that in the (near) future for Catch 2.

Also, can I call these macros on a header file?

I am going to assume that you mean in a header file. The answer should be yes, but I would not recommend it, as you will have to take care not to register the test case multiple times.

Thanks. I'll try using one of these macros.

The purpose of REGISTER_TEST_CASE is to be a manual alternative to TEST_CASE - i.e. not self registering!
See #421 - in particular the second comment, for more context.
As ever this probably means the docs need improving :-)

(or in this case "adding")


packaging: oci: provide INSTALL_DIR

What does this PR do?

Fix a missing variable in OCI packaging jobs
Motivation
This value is needed to package the content of the install dir as the root of the package. Not providing it will cause the package to contain the full path (/opt/datadog-packages/datadog-agent/foo instead of /foo)

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Implementing debounce for Signals

I started taking a look at debounce, e.g. as described in the comment below the comment below:
-- Can base off of: https://github.com/component/debounce/blob/master/index.js
debounce :: forall a. Milliseconds -> Boolean -> Signal a -> Signal a
debounce t i s = do
  timestamp <- justEffect (time initDate) nowDateTime pure

I didn't get very far because the question of how an API like setTimeout should work with Signal isn't clear to me. Do we need our own FFI to interface with the JS setTimeout etc?

Hi @ajnsit  - just a friendly ping for when you have time to think about this, thanks!

Ah that's an interesting usecase. I just added a debounce function to Concur.Core.FRP.
It's fairly simple, it looks like this -
-- Debounced output from a widget
-- wrapped into a signal
debounce :: forall a v. Monoid v => Number -> a -> (a -> Widget v a) -> Signal v a
debounce timeoutMs ainit winit = go ainit winit
  where
    go a w = step a (go' a w)
    go' a w = do
      res <- (Just <$> w a) <|> (Nothing <$ liftAff (delay (Milliseconds timeoutMs)))
      case res of
        -- Timeout fired
        Nothing -> pure (go a w)
        -- Events fired, but we are still in timeout
        Just a' -> go' a' w

You can use it to wrap widgets in a similar manner as loopW, but the output would be debounced. For example -
-- Widget to count up or down
clickW :: Int -> Widget HTML Int
clickW n = div'
  [ n+1 <$ button [onClick] [text ("Increment this count -> " <> show n)]
  , n-1 <$ button [onClick] [text ("Decrement this count -> " <> show n)]
  ]

-- Debounced click widget as a signal
clickS :: Int -> Signal HTML Int
clickS n = debounce 500.0 n clickW

Let me know if that works for you!

@ajnsit Thanks - I'll try to go over your code soon to understand it better. It doesn't seem to quite work yet for my use case, in tht it seems to reset the textInput fields whenever the debounce timer fires, e.g., when used like this, as in this branch:
textInputWidget :: String -> Widget HTML String
textInputWidget txt =
  D.input [P.value txt, P.unsafeTargetValue <$> P.onChange]

textInput' :: D.El' -> String -> CtrlSignal HTML String
textInput' tag label initVal = labelSig' tag label [] $ sig initVal
  where
    sig :: String -> Signal HTML String
    sig txt = debounce 500.0 txt textInputWidget

-- | Reasonable defaults for filtering input text
textFilter :: Signal HTML String -> Signal HTML (Maybe NonEmptyString)
textFilter txtSig = do
  txt <- txtSig
  pure $ fromString $ trim txt

textInput :: D.El' -> String -> CtrlSignal HTML (Maybe NonEmptyString)
textInput tag label iVal = textFilter $ textInput' tag label
  (foldf toString iVal)

OK, agreed that code is pretty clear! I haven't used Aff before but seems straightforward in this case.
For the widget to not lose its state it needs to be controlled, which certainly seems to be the case here: a or the updated a' is always passed into the signal, and in my case, textInputWidget is also controlled at the widget level thanks to using P.value txt ... hmmm.

@ajnsit Just wanted to check if the textInput example I provided makes sense, and if it is also an issue for you to use debounce with it, as it is for me.

@bbarker Apologies for the late response. I wasn't able to reproduce the issue. Also, it's hard for me to run the full code in the metajelo repo, so providing an small isolated example that reproduces the issue would greatly speed up my response.
I created a small example that seems to work fine on my system. Can you check if it works for you?
https://gist.github.com/ajnsit/454c9432cd0cdcb10a846f88260a7053

@ajnsit Thanks, I should have constructed the example; yours works for mainWidget; all I had to do was drop mainWidget into my codebase and was surprised to see it did work as expected. I'll try to create a fairly small example demonstrating the issue.

Also, it's hard for me to run the full code in the metajelo repo

I tried to make sure it was easy to build and run, so if you've encountered any issues here, I'd love the feedback.

I tried to make sure it was easy to build and run, so if you've encountered any issues here, I'd love the feedback.

Well, this is what I get on npm install && npm run build && npm run start -
metajelo-ui/static/index.js:3:29: Cannot resolve dependency './index.opt.js' at 'metajelo-ui/static/index.opt.js'
  1 | // var Metajelo = require("../output/Metajelo"); // For bower
  2 |
> 3 | import * as MetajeloUI from  "./index.opt.js";
    |                             ^
  4 | window.MetajeloUI = MetajeloUI;

@ajnsit I see, in https://github.com/labordynamicsinstitute/metajelo-ui#building I note to use npm run prod, I hadn't been using npm run start but neglected to remove it from scripts; prod builds it without launching, debug is like prod but doesn't minify; would you suggest just renaming debug to start so npm run start would work as people expect, or is there some other behavior expected of start?
Also, I'm presently looking into this more, but have yet to determine the issue, still have some things to try.

I would expect npm run start to start a development server, which watches the JS sources and reloads the app automatically whenever there is a change.
Then while developing, I can make changes to the PS code in the IDE, which automatically triggers a build via psc-ide, which automatically triggers the development server to load the new code and refresh the webpage in the browser. I don't even need to bring the browser window to the foreground to see the impact of my changes as I type them, no need to even save the file!
You can see the behaviour in action in say the purescript-concur-starter repo. The README has more instructions.

@ajnsit Great, I'll take a look at that soon and get my repo builds updated.
On another note, I found a minimal example that demonstrates the issue:
mainWidget :: forall a. Widget HTML a
mainWidget = dyn $ do
  s1 <- textInput D.div' "HELLO" Nothing
  s2 <- textInput D.div' "GOODBYE" Nothing
  display (D.div' [D.text $ (show s1) <> (show s2)])

It occurs when you have two debounced widgets.

Another datapoint that is a bit odd; if I change the example slightly like this where textInput2 is NOT debounced:
mainWidget :: forall a. Widget HTML a
mainWidget = dyn $ do
  s1 <- textInput D.div' "HELLO" Nothing
  s2 <- textInput2 D.div' "GOODBYE" Nothing
  display (D.div' [D.text $ (show s1) <> (show s2)])

The non-debounced entry and value is the one that is reset on the debounce interval.
So a variant of the issue exists even one when of the text inputs is not debounced.

@ajnsit Actually, do think this issue is more to do with concur itself, or with how react, or some interaction between the two?

Hi @ajnsit , just wanted to check to see if you'd had a chance to look at the minimal examples I posted above demonstrating the issue with debounce.

Unfortunately, this did not seem to work in the end. Despite looking into this, I was not able to really make any improvements.
When profiling in Chrome, unstable_runWithPriority from React seems to be taking up most of the time, so I think this indicates that events are getting through to react when they should be intercepted.
Nate Faubion mentioned that "depending on how you are using it, racing against w a here https://github.com/purescript-concur/purescript-concur-core/blob/v0.4.2/src/Concur/Core/FRP.purs#L213 seems suspect", and I suppose I can see that w a may be running during that race. He also shared a Halogen example, though despite my attempts so far I've been unable to get much interesting working with Concur.
I had a couple of other ideas - would remoteWidget or a related function be useful in this context?  Would it be possible to use Aff to somehow send all data from the widget to a buffer rather than having the widget return?
If you would like to see an example of the performance issue, go to https://labordynamicsinstitute.github.io/metajelo-web/ and click "Save XML". Then go to https://labordynamicsinstitute.github.io/metajelo-ui/, and in the first "browse" dialogue at the very top, upload the xml file you downloaded. This will populate the form. Then, start typing in any text box to observe or profile the performance issue.

The other thought that I just fleshed out a bit more, that is really more of a workaround, relates to Props and an example I saw in your formless port:
(F.asyncSetValidate debounceTime _email1 <<< P.unsafeTargetValue) <$> P.onChange

So if I could debounce directly at the props level, that would probably work for me. Not as elegant, but likely avoids triggering React in the same way as we're currently doing. I'll try to have a look at this approach soon.

@bbarker I see the performance issues on the webpage. What should I do to run this locally?

@ajnsit after cloning the metajelo-ui project, with the standard tools installed you should be able to just do npm install && npm run build && npm run prod.
There's also a container option for building, everything stays the same but with docker installed you can run ./psc.sh bash to get a shell in the docker container with all the tools. See also in the README, and if I've left anything out in my instructions here (or there), do let me know!
Note: npm run debug should be the same as npm run prod bu without minificaiton.

FWIW, here were my futile attempts to use the AVar approach: https://github.com/labordynamicsinstitute/metajelo-ui/commit/02baf911846ab7f7de2cc3b1ac0ecbe0b7a5e604
Basically, it has the expected behavior as written: the widget disappears while the debounce timer is on, cause that's what widgets do in Concur of course! That's why I was thinking maybe running it as a never-ending remote widget might be promising.
Still, after profiling the above code, the performance was still quite bad, but for apparently different reasons according to the chromium profiler - I saw lots of recursive anonymous function calls being fired when entering text, but not unstable_runWithPriority.

Is this really a debounce issue? I just ran the code and changed textInput' to be the following, and I still see the same issue. Something else seems to be causing this.
textInput' :: CtrlSignal HTML String
textInput' initVal = loopW initVal textInputWidget

Okay, changing the definition of textInputWidget to use defaultValue instead of value fixes this.
textInputWidget :: String -> Widget HTML String
textInputWidget txt =
  D.input [P.defaultValue txt, P.unsafeTargetValue <$> P.onChange]

Basically when you use value, the textbox does not updated until the value is changed in code which causes stuttering because rendering the entire tree structure (which seems to be rendering on every change) takes time. With defaultValue, we let the browser update the textbox which keeps it snappy, but the code just gets the changed values.

@ajnsit Sorry, somehow I didn't see your last 2 comments until now - appreciate the quick feedback. Clearly I need to do something about my inbox.
I'm curious - were you able to see a noticeable improvement when loading the full xml file and then typing into an input field? For me it seems to be the same for me (also, I had tried this approach before, just to see if there was an effect). This time I went ahead and pushed the change to master so it would be build and deployed by CI at https://labordynamicsinstitute.github.io/metajelo-ui/
I will note, that chrome-based browsers seem to have much better performance. In firefox-based browsers, the effect is far more noticeable.

I was trying in Chrome, but even in Firefox the performance is much improved compared to earlier. However it still does stutter. I'll take a further look.

Closing this again - with high probability it doesn't seem to be related to debounce ( see https://github.com/purescript-concur/purescript-concur-core/issues/15#issuecomment-770083981). In particular, debounce would, I think, help prevent state from cascading through the app at a rapid pace, but even when state is isolated, this can be a problem in a large concur app.

Closing this again - with high probability it doesn't seem to be related to debounce ( see https://github.com/purescript-concur/purescript-concur-core/issues/15#issuecomment-770083981). In particular, debounce would, I think, help prevent state from cascading through the app at a rapid pace, but even when state is isolated, this can be a problem in a large concur app.


Enhancement Proposal: Ensure Principle of Least Privilege Across Subtensor Deployments

Dear OpenTensor team,
I'm reaching out as a Coretex developer of the OpenTensor project to discuss a critical improvement in our Substrate deployment practices that I've identified and successfully tested. As part of my ongoing efforts to enhance the security posture of the OpenTensor project, a significant opportunity has been identified to align both our Docker and binary deployment methods with the Principle of Least Privilege (PoLP). This principle is a cornerstone of security and systems administration best practices, advocating for minimal user privileges to perform required tasks, thereby reducing the attack surface and potential impact of a compromise.
Currently, the service within the Docker container is configured to start and run as the root user, and similar privilege concerns apply to our binary deployment process. Furthermore, I also have not witnessed the executable performing a privdrop after initialization, suggesting that the process continues to run as root throughout its life cycle. This setup diverges from best practices by not minimizing the operational privileges of the service, potentially exposing it to unnecessary risks.
Upon further exploration and testing, I discovered that initializing and running the service as a non-privileged user within a Docker container does not adversely affect its operation, granted that the necessary file permissions have been applied before execution. This finding suggests that our service does not require root privileges for its initialization or runtime.
Implementing the Principle of Least Privilege by default in our Dockerfile could significantly mitigate potential security risks. Such risks include the escalation of privileges in the event of a vulnerability being exploited, which could lead to unauthorized access or control over the host machine or other containers.
In light of this, I propose the following changes to our Docker deployment methodology:

Update our Dockerfile to create and use a non-root user for initializing and running the Subtensor service.
Amend our documentation to reflect this change and emphasize the importance of following the Principle of Least Privilege when deploying Subtensor in all environments.
This enhancement will not only improve our project's security profile but also demonstrate our commitment to following best practices in software development and deployment.

I am eager to discuss this further and collaborate on implementing these changes. Your feedback and insights will be invaluable as we strive to make Subtensor safer and more resilient against potential threats.
Best Regards

@wolfentensor See this for reference in context: https://github.com/opentensor/subtensor/pull/279

I agree with this. It should not be running as root, and the configuration presents privilege escalation vulnerability. Well-stated. All three of Wolf's points are valid. We should also confirm we are signing our images so they can be validated.

If we run into issues where application permissions are conflicting and root access is needed, user namespace mapping may be an alternative in docker.


How generate new class

Hi,
I have question. Can I use your libraries for new class generation or it is only suitable for generating partial class members?
Thank you!

You can generate any code. At the lowest level you can introduce a new source file to the project, with whatever you want in it.


Update iOS release reusable workflow - handle multi-extension repos

Description
This PR updates the iOS release reusable workflow to be able to handle multi-extension repos with the main changes being:

Ability to specify:

A list of extensions to release (ex: "AEPServices, AEPCore")
A list of extension dependencies to release, which are not contained in the repo itself (ex: "AEPRulesEngine")
A list of extensions to publish to CocoaPods (ex: "AEPServices, AEPCore")

When not specifying any repos in the extensions to release, the script will still:

Run make check-version
Optionally publish pods, if that arg has been provided with valid values

Example job runs
Core iOS (multi-extension): https://github.com/timkimadobe/aepsdk-core-ios/actions/runs/11471135041/job/31921556669

NOTE: Job failure is due to missing CocoaPods secret token when running in fork (also don't want to publish as a test anyways)
Resulting GitHub release: https://github.com/timkimadobe/aepsdk-core-ios/releases/tag/5.3.1

Note the assets that are also included match what was specified in the job, with the proper names
NOTE: the auto-generated description for the release is empty, even though the workflow is configured to create this, and this is because it relies on PR descriptions but those are in the main repo, not in the fork.

Usage examples
Single extension repos can also use this workflow without too much friction:
name: Release

on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'The tag (version) to be released (ex: 1.2.3).'
        type: string
        required: true
        default: ''

      create-github-release:
        description: 'Create a GitHub release with uploaded artifacts. If the provided `tag` does not exist, it will be created.'
        type: boolean
        required: true
        default: true

      pod-publish-extensions:
        description: 'Publish AEPEdge to Cocoapods.'
        type: boolean
        required: true
        default: true

jobs:
  release:
    uses<EMAIL_ADDRESS>    with:
      tag: ${{ github.event.inputs.tag }}
      create-github-release: ${{ github.event.inputs.create-github-release == 'true' && 'AEPEdge' || '' }}
      pod-publish-extensions: ${{ github.event.inputs.pod-publish-extensions == 'true' && 'AEPEdge' || '' }}
    secrets: inherit

And multi-extension repos:
name: Release

on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'Existing tag (version) being released (ex: 5.0.1).'
        required: true
      # this is referring to releasing the extensions
      run_full_release:
        description: 'Run full release process: SPM and podspec validation, build artifacts, GH release (`false` to only check podspec version).'
        required: true
        default: true
        type: boolean

        # this section is referring to pods publishing
      release_AEPServices:
        description: 'Release AEPServices to Cocoapods (`false` to skip).'
        required: true
        default: true
        type: boolean

      release_AEPCore:
        description: 'Release AEPCore to Cocoapods (`false` to skip).'
        required: true
        default: true
        type: boolean

      release_AEPIdentity:
        description: 'Release AEPIdentity to Cocoapods (`false` to skip).'
        required: true
        default: true
        type: boolean

      release_AEPLifecycle:
        description: 'Release AEPLifecycle to Cocoapods (`false` to skip).'
        required: true
        default: true
        type: boolean

      release_AEPSignal:
        description: 'Release AEPSignal to Cocoapods (`false` to skip).'
        required: true
        default: true
        type: boolean

jobs:
  set-extensions:
    runs-on: ubuntu-latest
    outputs:
      full_release_extensions: ${{ steps.set-extensions.outputs.full_release_extensions }}
      pod_release_extensions: ${{ steps.set-extensions.outputs.pod_release_extensions }}
    steps:
      - name: Determine Extensions
        id: set-extensions
        run: |
          FULL_RELEASE_EXTENSIONS=""
          POD_RELEASE_EXTENSIONS=""

          # If run_full_release is true, add all extensions to full_release_extensions
          if [ "${{ github.event.inputs.run_full_release }}" == "true" ]; then
            FULL_RELEASE_EXTENSIONS="AEPServices,AEPCore,AEPIdentity,AEPLifecycle,AEPSignal"
          fi

          # Check each pod release input and build the pod_release_extensions string
          if [ "${{ github.event.inputs.release_AEPServices }}" == "true" ]; then
            POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS},AEPServices"
          fi
          if [ "${{ github.event.inputs.release_AEPCore }}" == "true" ]; then
            POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS},AEPCore"
          fi
          if [ "${{ github.event.inputs.release_AEPIdentity }}" == "true" ]; then
            POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS},AEPIdentity"
          fi
          if [ "${{ github.event.inputs.release_AEPLifecycle }}" == "true" ]; then
            POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS},AEPLifecycle"
          fi
          if [ "${{ github.event.inputs.release_AEPSignal }}" == "true" ]; then
            POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS},AEPSignal"
          fi

          # Remove leading comma, if present
          POD_RELEASE_EXTENSIONS="${POD_RELEASE_EXTENSIONS#,}"

          # Output the variables to be used in the next job
          echo "full_release_extensions=$FULL_RELEASE_EXTENSIONS" >> $GITHUB_OUTPUT
          echo "pod_release_extensions=$POD_RELEASE_EXTENSIONS" >> $GITHUB_OUTPUT

  release:
    needs: set-extensions
    uses: timkimadobe/aepsdk-commons/.github/workflows/ios-release.yml@release-script-update
    with:
      tag: ${{ github.event.inputs.tag }}
      full_release_extensions: ${{ needs.set-extensions.outputs.full_release_extensions }}
      pod_release_extensions: ${{ needs.set-extensions.outputs.pod_release_extensions }}
      extension_dependencies: AEPRulesEngine
    secrets: inherit

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] 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 change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Looks good, can you also update the Core usage example in the description as the variable names don't match the latest implementation.


After installig rm2fb screen frozen

Hello,
I just installed toltec after that everything is fine.
If i install rm2fb - client through toltec the screen gets frozen but i still have acces through ssh.
if i reboot the rm2 gets stucked in "loading".
if i remove rm2fb / toltec everything works again.
Is this a problem with the 2.10.0 Beta software version?

the beta is not supported yet, iirc


suffolk.edu/sjc: Massachusetts Supreme Judicial Court livestream jwplayer in Generic

This is a bit challenging to test and debug because the website is different during the occasional intermittent livestream, and versus how it later appears when the videos are archived. I could just use some API guidance.
I don't quite understand how the jwplayer checking code in extractor/generic.py is supposed to work. It properly identifies an rtmp:// URL associated with this video, but then throws it away because it does not pass YoutubeIE.suitable(vurl). I'm not sure why the Youtube InfoExtractor is involved with rtmp. And passing the raw rtmp URL to the commandline works just fine.

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Site support request (request for adding support for a new site)

After adding a quick patch for some diagnostics in filter_video():
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -2485,6 +2485,8 @@ class GenericIE(InfoExtractor):
             return self.playlist_result(entries)

         def check_video(vurl):
+            # debug
+            self.to_screen('Checking vurl %s' % vurl)
             if YoutubeIE.suitable(vurl):
                 return True
             vpath = compat_urlparse.urlparse(vurl).path

Then I get this this output:
PYTHONPATH=~/src/youtube-dl python -m youtube_dl -v 'http://www.suffolk.edu/sjc/'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'http://www.suffolk.edu/sjc/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Git HEAD: 2aec725
[debug] Python version 2.7.10 - Darwin-14.5.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.1.5, ffprobe 3.1.5, rtmpdump 2.4
[debug] Proxy map: {}
[generic] sjc: Requesting header
WARNING: Falling back on generic information extractor.
[generic] sjc: Downloading webpage
[generic] sjc: Extracting information
[generic] Checking vurl rtmp://<IP_ADDRESS>/live/sjclive
ERROR: Unsupported URL: http://www.suffolk.edu/sjc/
Traceback (most recent call last):
  File "/Users/jhawk/src/youtube-dl/youtube_dl/extractor/generic.py", line 1727, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/Users/jhawk/src/youtube-dl/youtube_dl/compat.py", line 2526, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/Users/jhawk/src/youtube-dl/youtube_dl/compat.py", line 2515, in _XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: undefined entity: line 29, column 66
Traceback (most recent call last):
  File "/Users/jhawk/src/youtube-dl/youtube_dl/YoutubeDL.py", line 696, in extract_info
    ie_result = ie.extract(url)
  File "/Users/jhawk/src/youtube-dl/youtube_dl/extractor/common.py", line 369, in extract
    return self._real_extract(url)
  File "/Users/jhawk/src/youtube-dl/youtube_dl/extractor/generic.py", line 2575, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://www.suffolk.edu/sjc/

Note it properly finds rtmp://<IP_ADDRESS>/live/sjclive. And feeding that to youtube-dl a second time works just fine:
pb3:extractor jhawk$ PYTHONPATH=~/src/youtube-dl python -m youtube_dl -v 'rtmp://<IP_ADDRESS>/live/sjclive'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'rtmp://<IP_ADDRESS>/live/sjclive']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Git HEAD: 2aec725
[debug] Python version 2.7.10 - Darwin-14.5.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.1.5, ffprobe 3.1.5, rtmpdump 2.4
[debug] Proxy map: {}
[debug] Invoking downloader on u'rtmp://<IP_ADDRESS>/live/sjclive'
[download] Destination: sjclive-sjclive.flv
[debug] rtmpdump command line: rtmpdump --verbose -r rtmp://<IP_ADDRESS>/live/sjclive -o sjclive-sjclive.flv.part --resume --skip 1
[rtmpdump] RTMPDump v2.4
[rtmpdump] (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
[rtmpdump] DEBUG: Parsing...
[rtmpdump] DEBUG: Parsed protocol: 0
...

So, I think there is probably a trivial fix here, but I just don't understand how this is supposed to work, and why YoutubeIE is involved in jwplayer, etc.
Here's the HTML from the site at this time:

Thanks!

p.s.: It would be great to be able to get that kind of diagnostic information I got from my patch by adding a command-line debug or verbose flag, and it wasn't necessary for me use the python debugger or source-code modifications to see what is going on in this kind of case. I'm not sure what kind of diagnostic patches you're willing to accept, though?

Great, that fixes it. What about the postscript (p.s.) regarding diagnostics?

You can post your (new) ideas to #10894. Actually the logging facility in youtube-dl is not pythonic at all ;-) It's more C-like.

There are lots of such places. I don't see much point to put debug output everywhere.

Thanks for the superfast response, by the way!
Ha ha, @yan12125, you're funny. But perhaps I should go ahead with that. Although it sounds like there is not a single mind about all this. (Also, it'd be nice if you guys could tell me what to do on IQM2...)
@dstftw: I'm happy to have it anywhere. While doing it comprehensively may be hard, doing it little by little can really help incrementally improve. Every little bit helps.
 It doesn't seem right that check_video() should have a list of common format infoextractors and just run them. Surely there are more possible extractors in this case than just YoutubeIE  and RtmpIE? It feels like there's some abstraction missing there, but maybe I'm just wrong? Clearly I don't understand it!


Break RDS into separate sections for MySQL, Aurora, and SQL Server

This should replace PR #203.

not sure if this is expected but I'm seeing some weird encoding issues in the diff

I'll take a look at those and see if I can resolve them.

Thanks @danhermann - I see the same thing as @AlJohri (thanks for calling it out).

Thanks for fixing those sections, @danhermann - what did you change? Had you copy and pasted into an editor with different encoding or without full unicode support? Unfortunately it looks like the problem still somehow exists with other emoji/unicode chars in the commit (ones in areas that you did not change).

Retrying once more in #255.

@ThanosBaskous, I'm doing this editing on a different machine than my usual dev environment and both its UTF and git setup is different than what I'm accustomed to. Fun times. :)


plugin-legacy: polyfills can't share dependencies with other chunks

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[x] Read the docs.
[x] Use Vite >=2.0. (1.x is no longer supported)
[x] If the issue is related to 1.x -> 2.0 upgrade, read the Migration Guide first.

Describe the bug
In my Vue CLI-based project, I used an environment variable based on VUE_CLI_MODERN_MODE and VUE_CLI_MODERN_BUILD to conditionally load a polyfill and hook it into a Vue lifecycle hook:
import Vue from 'vue'
if (process.env.MODERN_BUILD !== 'true') {
  const objectFitPolyfill = require('object-fit-images')
  // run polyfill every time new HTML is mounted (skipped nextTick & debounce for brevity)
  Vue.mixin({ mounted: objectFitPolyfill })
}

With @vitejs/plugin-legacy, I didn't find a corresponding environment variable, however there's config.additionalLegacyPolyfills[], which I used like this:
// vite.config.js
export default {
  plugins: [
    createLegacyPlugin({
      additionalLegacyPolyfills: ['unfetch/polyfill/polyfill.mjs', path.resolve('polyfills.js')],
    }),
  ]
}

// polyfills.js
import Vue from 'vue'
import objectFitPolyfill from 'object-fit-images'
Vue.mixin({ mounted: objectFitPolyfill })

Unfortunately this doesn't work: the polyfills-legacy chunk ends up with its own copy of Vue, so it's not only huge but also the mixin does not affect the instance of Vue running the app in main.js, so the polyfill has no effect.
So:
a) Is this a bug or working as intended?
b) If working as intended, any suggestions on how to achieve what the code in the Vue CLI project is doing?
Defining an environment variable that's different for legacy and normal chunks would probably be best, but I didn't manage to set this up – I can discern legacy from normal builds via entryFileNames in the outputOptions plugin hook, but (I think) at that point it's too late to adjust config.define.
Reproduction
https://github.com/jonaskuske/vite-repro-1978
System Info

vite version: 2.0.0-beta.65
Operating System: Windows 10 Pro 20H2 / 19042.804
Node version: 15.7.0
Package manager (npm/yarn/pnpm) and version<EMAIL_ADDRESS>

That's... expected. The polyfill chunk can only contain polyfills.
Polyfills are typically side-effect-on-import and I don't really see the point of loading it via a mounted hook from a mixin... what's wrong with just calling objectFitPolyfill() directly?
Either way this is not a bug.

That's... expected. The polyfill chunk can only contain polyfills.

I see – and you're right, polyfills need to run before everything else so it wouldn't make sense for them to depend on your main bundle. Still, there's no way to discern legacy and modern builds from within your main app code?

what's wrong with just calling objectFitPolyfill() directly?

It looks for <img> elements in the HTML and fixes them, so you need to run it every time your HTML changes. You could create a HOC that wraps <img> or add a custom v-object-fit directive to each <img> in order to run the polyfill when images are mounted, but that breaks as soon as you use innerHTML (and is quite annoying) – running it from a mixin lets you use <img> or innerHTML everywhere without having to think about it.

I've made plugin-legacy to inject import.meta.env.LEGACY for conditionals based on modern/legacy builds. (Wait for new releases for both vite and plugin-legacy).

Perfect, thanks so much! 😊


merge from template-node-app

.github/workflows/update_package_lock.yml

chore: (jobs.update_package_lock.steps)

:tada: This PR is included in version 6.4.5 :tada:
The release is available on:

npm package (@latest dist-tag)
v6.4.5
GitHub release

Your semantic-release bot :package::rocket:


BUG: PDF file is not Complete

@AakashGfude would you mind having a look into why the current PDF production is failing.
I have initiated a clean build just in case that is the cause.

this has been fixed


Support file icons similar to treeview item icon path in terminal icon path

In TreeViewItem, we can provide a resourceUri and ThemeIcon.File for iconPath to get file icons for the TreeViewItem. This should also work for Terminal Icon.
See discussions in issues:
https://github.com/microsoft/vscode/issues/232439
For QuickPick: https://github.com/microsoft/vscode/issues/59826

@karthiknadig do you have example extension code that could illustrate the ask?

For activated terminals, we want to show the icons for the file/python manager used to activate this terminal:

For terminals, currently the only options is this. No way to get file icons. Can't really use the file path to get fileicons.

For tree views I can do this:

TreeView consumption example:

I want to be able to use the same icon in terminal.


[Documentation Request: Add Index Page]

What documentation needs to be updated?
The project's documentation needs an index page to provide users with a clear overview of the structure and contents.
Describe the changes needed
An index page should be added at the beginning of the documentation, listing key sections with links to corresponding parts of the document. Each section, such as "Introduction," "Installation," "Usage," "API Reference," and "Contributing," should be hyperlinked for easy navigation.
Additional context
The index page will improve the user experience by making it easier to navigate through the project documentation.

HI,
I am a gssoc-extd contributer,
can you assign me the issue,
thankyou.

We have to work on this project

@Vikas9161-trust
once please confirm with @techy4shri
I don't want to waste my time creating a pr that gets rejected without reason, even when it is asked to do by the project admin/collaborators them selfs.....

@techy4shri now I am being asked to reopen the issue which you closed as unplanned

@GUNJESH843 I might have mistakenly opened this. Apologies. Although what I can tell you is that if you make another pr for this, this time just for independent in readme, it can be considered.

@GUNJESH843 any update on your PR?

@GUNJESH843 If you do not answer then I will be closing this and this issue won't be opened again.

@techy4shri @GUNJESH843
I am closing this issue!


how about using concurrenthashmap?

Why don't we use ConcurrentHashMap to solve the concurrency problem of modifying the hashmap but use a complex locking method.

Can you give me an example？thanks


Version 0.5.0 fails when setting instance_types

What happened:
I am getting an error when using the 0.5.0 version and setting the instance_types.
What you expected to happen:
The vng created with no errors
How to reproduce it (as minimally and precisely as possible):
Here is a custom module that uses the ocean-aws-k8s-vng module:
module "ocean-vng" {
  source = "spotinst/ocean-aws-k8s-vng/spotinst"
  version = "0.5.0"

  ocean_id = var.ocean_id
  name     = var.name

  instance_types = var.instance_types

  image_id             = var.image_id
  security_groups      = var.security_groups
  subnet_ids           = var.subnet_ids
  iam_instance_profile = var.iam_instance_profile
  root_volume_size     = var.root_volume_size
  max_instance_count = var.max_instance_count
  min_instance_count = var.min_instance_count
  spot_percentage    = 100
  user_data          = var.user_data
}

As its possible to see, i didnt set any filters, only the instance_types = var.instance_types
But, i am still getting this error:
0 to add, 1 to change, 0 to destroy.
module.teste-vng.module.teste-vng.module.ocean-vng.spotinst_ocean_aws_launch_spec.nodegroup: Modifying... [id=ols-redacted]

Error: [ERROR] Failed to update launchSpec [ols-redacted]: PUT https://api.spotinst.io/ocean/aws/k8s/launchSpec/redacted?accountId=redacted: 400 CANT_UPDATE_OCEAN_LAUNCH_SPEC: Filters and instance types should not be set simultaneously.
  with module.teste-vng.module.teste-vng.module.ocean-vng.spotinst_ocean_aws_launch_spec.nodegroup,
  on .terraform/modules/teste-vng.teste-vng.ocean-vng/main.tf line 2, in resource "spotinst_ocean_aws_launch_spec" "nodegroup":
   2: resource "spotinst_ocean_aws_launch_spec" "nodegroup"

Anything else we need to know:
It seems that with terraform, it is sending the filters even though they should be null by default:
Terraform will perform the following actions:
resource "spotinst_ocean_aws_launch_spec" "nodegroup" {
        id                   = "ols-redacted"
        name                 = (sensitive value)

      instance_types_filters {
          exclude_metal           = false
          max_gpu                 = -1
          max_memory_gib          = -1
          max_network_performance = -1
          max_vcpu                = -1
          min_enis                = -1
          min_gpu                 = -1
          min_memory_gib          = -1
          min_network_performance = -1
          min_vcpu                = -1
        }
    }

The error does not happen in the previous version: 0.4.3
Environment:

Terraform version: 1.6.1
Module version: 0.5.0
OS: Linux
Kernel: Alpine 3.18.4

I am seeing the same issue.

@gustavo-maxmilhas , tested with latest version [v0.7.0], Not able to reproduce


ci(appveyor): Pin npm 5.3

Fix #19, Fix #18

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #20   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          12     12
=====================================
  Hits           12     12

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3558e86...82f269b. Read the comment docs.


SBS On Demand no longer works

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that a supported site is broken
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Australia
Provide a description that is worded well enough to be understood
Australian TV site "SBS On Demand" videos could previously be downloaded using the video URL, it now fails with the message 'No Video Formats Found'.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.sbs.com.au/ondemand/watch/2181894723669']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22621-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 2023-01-16-git-01f46f18db-essentials_build-www.gyan.dev (setts), ffprobe 2023-01-16-git-01f46f18db-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5590c57bd0433ed239a2deaaf92e2ad6f37fe50f53664c821575cafe106a9421
yt-dlp is up to date<EMAIL_ADDRESS>[SBS] Extracting URL: https://www.sbs.com.au/ondemand/watch/2181894723669
[SBS]<PHONE_NUMBER>669: Downloading JSON metadata
[ThePlatform] Extracting URL: http://link.theplatform.com/s/Bgtm9B/n5QwI_dCbxdU?feed=Video%20-%20Single&mbr=true&manifest=m3u&ord=2234164&policy=11929623&dfptag=sz%3D530x298%26iu%3D%2F4117%2Fvideo.factual.sbs.com.au%2Fsec30htmlweb%26ciu_szs%26impl%3Ds%26gdfp_req%3D1%26env%3Dvp%26output%3Dxml_vast2%26unviewed_position_start%3D1%26url%3Dwww.sbs.com.au%26description_url%3DSBS%26cust_params%3Dtype%253Dpreroll%26ad_rule%3D0%26cmsid%3D531%26nofb%3D1%26url%3Dhttp%253A%252F%252Fwww.sbs.com.au%252Fondemand%252Fvideo%252Fsingle%252F2181894723669%26description_url%3DSBS%26correlator%3D--ORD--%26vid%3D2181894723669&dfpmidtag=sz%3D530x298%26iu%3D%2F4117%2Fvideo.factual.sbs.com.au%2Fsec30midrollhtmlweb%26ciu_szs%26impl%3Ds%26gdfp_req%3D1%26env%3Dvp%26output%3Dxml_vast2%26unviewed_position_start%3D1%26url%3Dwww.sbs.com.au%26description_url%3DSBS%26cust_params%3Dtype%253Dmidroll%26ad_rule%3D0%26cmsid%3D531%26nofb%3D1%26url%3Dhttp%253A%252F%252Fwww.sbs.com.au%252Fondemand%252Fvideo%252Fsingle%252F2181894723669%26description_url%3DSBS%26correlator%3D--ORD--%26vid%3D2181894723669#__youtubedl_smuggle=%7B%22force_smil_url%22%3A+true%7D
[ThePlatform] n5QwI_dCbxdU: Downloading SMIL data
[ThePlatform] n5QwI_dCbxdU: Downloading MPD manifest
WARNING: [ThePlatform] Failed to download MPD manifest: HTTP Error 403: Forbidden
[ThePlatform] n5QwI_dCbxdU: Downloading JSON metadata
ERROR: [ThePlatform] n5QwI_dCbxdU: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1518, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1615, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1727, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 1674, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2615, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 1046, in raise_no_formats
yt_dlp.utils.ExtractorError: [ThePlatform] n5QwI_dCbxdU: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

C:\Windows\System32>yt-dlp -U
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5590c57bd0433ed239a2deaaf92e2ad6f37fe50f53664c821575cafe106a9421
yt-dlp is up to date<EMAIL_ADDRESS>

Duplicate of #6543


Rename exec to interpret

Resolves #251

Codecov Report

Merging #274 into master will not change coverage.
The diff coverage is 69.23%.

@@           Coverage Diff           @@
##           master     #274   +/-   ##
=======================================
  Coverage   74.76%   74.76%
=======================================
  Files          36       36
  Lines         313      313
=======================================
  Hits          234      234
  Misses         79       79


Problem: omni_httpd worker sporadically stops listening

This is manifesting in scenarios like recursive HTTP calls (HTTP handler calling back into the same instance of omni_httpd) and having omni_httpd not receive an opportunity to accept an incoming connection.
Solution: fix a bug in socket read resumption
Previously, what we attempted in ae72953f406d8716741f0c24f08b0e51321ca20a was subtly (and critically)
wrong. Specifically, we were trying to resume reading from a socket that was holding the worker busy.
However, that's not the socket that needs resumption, as we actually need to resume all other sockets that
were, in fact, stopped.

I tried upgrading from omni_httpd 0.1.1 to omni_httpd 0.1.2, listeners present in omni_httpd.listeners table were not created, even restarting doesn't help


Revive build/tests

@jan-molak I'm trying to get passing tests from commit 36f8e82, but my GitHub Actions aren't running on this PR. I just see "Waiting for checks information..." in the Checks tab. Can you get GitHub Actions working for this branch? Alternatively, if you move this repository from the jan-molak GitHub organization to the jenkinsci GitHub organization, we can add a Jenkinsfile and get the CI/CD for this plugin running on https://ci.jenkins.io/ (preferred).

Hey @basil - I think the actions should work fine, but I see they're not kicked off because there's a conflict in .github/workflows/main.yaml

I've resolved the conflict, the build has kicked off automatically. Thanks for your help, by the way! I appreciate it

Oh I see. Sorry for the trouble.

The acceptance tests for this plugin all depend on the Remoting-based CLI, which was removed from Jenkins in 2.165. To keep this plugin up-to-date with a recent baseline, I have temporarily disabled the acceptance tests.

@basil - that's fair enough, do you think there's an alternative to Remoting, or would we need to rethink how the acceptance tests work altogether?

Acceptance tests like this generally belong in the Jenkins acceptance test harness, which has an up-to-date framework for this sort of thing. Within plugins, JenkinsRule-based tests with HtmlUnit are the norm, with RealJenkinsRule used to test more realistic class loading scenarios.

Acceptance tests like this generally belong in the Jenkins acceptance test harness, which has an up-to-date framework for this sort of thing. Within plugins, JenkinsRule-based tests with HtmlUnit are the norm, with RealJenkinsRule used to test more realistic class loading scenarios.

For plugins like this I don't think they would go to the acceptance test harness but you can use the framework in your plugin, see warnings-ng plugin as an example:
https://github.com/jenkinsci/warnings-ng-plugin/blob/master/ui-tests/pom.xml#L28


Binder launched from repo does not have dotnet kernel

Describe the bug
I created a Jupyter notebook localy via Anaconda and saved it to a Git repo. I created the launch binder icon as described in the readme but when I click it, it takes me to Binder that has no dotnet kernel.

Did this error occur while using dotnet interactive?

[ ] .NET Jupyter Notebook

Screenshots
If applicable, add screenshots to help explain your problem.

Please complete the following:

OS

[X ] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Browser

[ X] Chrome
[ ] Edge
[ ] Safari

Frontend

[ X] Jupyter notebook
[X ] Jupyter lab
[ ] nteract

Does that mean it will only work from a docker container?

Binder provisions the container based on your Dockerfile.

Sorry, maybe i didn't phrase that correctly. In order to use Binder i need a dockerfile and/or container? Is that correct?

@nathanjwtx to use .NET interactive kernels in binder you need to use a docker file. We have documentation for the process of sharing notebooks via binder using the docker file


Implementation of log-scaled grid points generation

In aiaccel.optimizer.grid_optimizer.generate_grid_points, I am concerned about the following code used when log=True.
In particular,

definition of lower_x and upper_x
update method of x in while loop

        base, log, step = get_grid_options(p.name, config)
        lower = p.lower
        upper = p.upper
        n = int((upper - lower) / step) + 1

        if log:
            lower_x = lower ** base
            upper_x = upper ** base
            x = lower_x
            new_param['parameters'] = []

            while x < upper_x or math.isclose(x, upper_x, abs_tol=1e-10):
                new_param['parameters'].append(math.log(x, base))
                x += step

            new_param['parameters'].append(upper)
        else:
            new_param['parameters'] = [lower + i * step for i in range(0, n)]

I'm not sure, but I think what the author wanted to do is;
        base, log, step = get_grid_options(p.name, config)
        lower = p.lower
        upper = p.upper

        if log:
            lower_x = base ** lower
            upper_x = base ** upper
            step_x = base ** step
            x = lower_x
            new_param['parameters'] = []
            while x < upper_x or math.isclose(x, upper_x, abs_tol=1e-10):
                new_param['parameters'].append(x)
                x *= step_x
            new_param['parameters'].append(upper)
        else:
            n = int((upper - lower) / step) + 1
            new_param['parameters'] = [lower + i * step for i in range(0, n)]

Please confirm this.

Agree... Thanks a lot.
Could you make PR...?

In my understanding, current aiaccel always requires to set log, base, and step for the grid optimizer.
On the orher hand, Optuna's suggest_float() does not use the log and step options simultaneously, and does not have the base option (is this more suitable for actual uses?).

I forked the issue.
This issue's content is maybe a bug. Therefore, this problem should be fixed on the current implementation philosophy, either way.


Remove bad extra Returns in Dataset.drop_dims docstr

This is a minor docstr correction.
Dataset.drop_dims docstr said it was returning errors in golang-like way that made me double-take.
Thanks!

Nice spot, thanks @brews !


As a student I want to learn about the third way of DevOps so I can practice the techniques of continuous learning and experimentation.

[ ] Are the notes written for students?
[ ] Are the notes uploaded to GitHub?
[ ] Are the slides written ready to present to students?
[ ] Are the slides uploaded to GitHub?

Next action: extract notes form DevOps handbook.


feat(v2): option and config validation life cycle method for official plugins

Motivation
All the plugins don't validate and normalize options. It tries to generalize option validation and normalization.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
By adding tests for different plugins validation and normalization.

awesome, let's finally merge this!


Initial notifications implementation

Fixes #80

Can you fix the broken build? Looks like you forgot a dependency somewhere.

Found the problem. Add the dependency into the karma conf file for the test loading in phantom.

note: requires a bower install

If you use the bower and karma file changes I checked into master this branch should pass the build


Useful information Missing

The documentation neglects to mention that a MDM is not required to make these changes.  A simple GPO to update a registry key is all that is required.
GPO Registry Entry:
Action = Update
Hive = HKLM
Keypath = SOFTWARE\Microsoft\PolicyManager\current\device\Start
Value name = ConfigureStartPins
Value type = REG_SZ
Value data =
It would also be useful to include a reference to the powershell command "Get-StartApps" which lists all the installed applications that have Start Menu icons and their AppID which can be used when crafting the JSON file or customizing the exported one.   The AppID from the powershell command can be used along with the "desktopAppId" key in the JSON.

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

ID: 5508bf53-3aa5-7ce1-de3b-7da45b4b495b
Version Independent ID: 86918067-b0b6-f0f3-a0a8-ece6c8f13c94
Content: Add or remove pinned apps on the Start menu in Windows 11 - Configure Windows
Content Source: windows/configuration/customize-start-menu-layout-windows-11.md
Product: windows-client
Technology: itpro-configure
GitHub Login: @lizgt2000
Microsoft Alias: lizlong

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Update for Keyvast

Rejected. Inserted manually.
https://github.com/edlich/nosql-database.org/commit/14a5811e5d58c8090bff9ffc113652c84e33c6a7
A good database doesn't need to be put on top.
It moves up automatically... ;-)


fix: remove unused attempt for account names counter

Description
Initially I grabbed the issue https://github.com/aeternity/aescan/issues/553
Found out that

Such an endpoint does not exist (requested here https://github.com/aeternity/ae_mdw/issues/1629)
There was a wrong attempt to get names count, that was not even implemented (dead code) SO at least I removed the dead code

Demo
Without any visual change. Should work the same
Checklist:

[x] I have read and followed the Contributing Guide
[x] remove attempt to get names count manually

@Liubov-crypto
Good catch! There was a bug in app.
The count of names was taken from paginated response so it was always maximum of 10.
https://github.com/aeternity/aescan/assets/15363559/5b8dc2ff-93ae-432c-a948-cd75ea6e0255
I removed that field for now, until we resolve it and will be able to show correct number.
Followup here https://github.com/aeternity/aescan/issues/553

LGTM. AENS Names counter has been removed.


RichEditorView  becomeFirstResponder

The first responder RichEditorView automatically into

Hi!
Sorry, I'm not sure I understand the question? Do you want to automatically make the RichEditorView become the first responder when the View Controller it is in is displayed?

I'm still not sure I understand. Could I get an update?


Opportunity to work for a project like yours

Hey man, i have a project similar to what you are building,  I need to deliver it this two days, if you are intersted leave your contact here

hi, I can do it.let's contact!

Hey man, i have a project similar to what you are building, I need to deliver it this two days, if you are intersted leave your contact here

sure.

can you put your number or anything here so i can contact with you?

1<PHONE_NUMBER>
This is my whatsapp number.
could you invite me?

Recheck again

<EMAIL_ADDRESS>is my email if you want to reach me out, your number is not figure in whatssapp try please another method

If you have any social media


chore(sync-labels): remove extra spaces

Coverage remained the same at 100.0% when pulling 4125037bf022f661f4d39a786786ced23943bbf3 on chore-sync-labels-remove-extra-spaces into fa44a4a5acbccb331e04371f1dc0d55e62cf910f on main.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Fix vagrant setup commands not all running in sequence

Vagrant setup reports complete before 'setx VAGRANT_DETECTED_OS "cygwin"' is called. This PR should fix that.

Merged


add_conditional_edges does not work without optional argument path_map

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangGraph/LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangGraph/LangChain rather than my code.
[X] I am sure this is better as an issue rather than a GitHub discussion, since this is a LangGraph bug and not a design question.

Example Code
from typing import TypedDict, Annotated, List
from langgraph.graph import StateGraph
from langgraph.graph.graph import END, START, CompiledGraph
from langgraph.graph.message import add_messages
import random, operator
from IPython.display import Image, display

class TestState(TypedDict):
    messages: Annotated[List[str], operator.add]

test_workflow = StateGraph(TestState)

def node1(state: TestState):
    return {"messages": ["Hello from node 1"]}

def node2(state: TestState):
    return {"messages": ["Hello from node 2"]}

def node3(state: TestState):
    return {"messages": ["Hello from node 3"]}

def node4(state: TestState):
    return {"messages": ["Hello from node 4"]}

def node5(state: TestState):
    return {"messages": ["Hello from node 5"]}

def route(state: TestState):
    if random.choice([True, False]):
        return "node5"
    return "__end__"

test_workflow.add_node("node1", node1)
test_workflow.add_node("node2", node2)
test_workflow.add_node("node3", node3)
test_workflow.add_node("node4", node4)
test_workflow.add_node("node5", node5)

test_workflow.add_edge(START, "node1")
test_workflow.add_edge("node1", "node2")
test_workflow.add_edge("node2", "node3")
test_workflow.add_edge("node3", "node4")
test_workflow.add_edge("node5", "node4")

test_workflow.add_conditional_edges("node4", route)

display(Image(test_workflow.compile().get_graph().draw_mermaid_png()))

Error Message and Stack Trace (if applicable)
No error message.

Description
The previous code does not work as expected ( according to Langgraph API reference ) as it generates the following graph with unexpected conditional edges from node4 to every other node:

This is also visible when inspecting the branches attribute of the workflow:
test_workflow.branches

returns :
defaultdict(dict,
            {'node4': {'route': Branch(path=route(recurse=True), ends=None, then=None)}})

Fix for expected behavior
Replacing
test_workflow.add_conditional_edges("node4", route)

by giving the additional map_path argument such as
test_workflow.add_conditional_edges("node4", route, {"node5": "node5", "__end__": "__end__"})

fixes the issue, as it can be seen by inspecting the branches attribute of the workflow.
test_workflow.branches

now returns :
defaultdict(dict,
            {'node4': {'route': Branch(path=route(recurse=True), ends={'node5': 'node5', '__end__': '__end__'}, then=None)}})

and the expected Mermaid graph:

System Info
I use the latest versions installed with pip:
python = "3.12"
langgraph = "0.1.6"

Since python is dynamically typed, the only way for us to infer the graph structure (without doing some sort of JIT trace to compile it) is via:

The path map
The function's return type (Literal["node5", "__end"])

which is why we always do this in the docs whenever we want to draw the diagrams.

Ya what you describe is expected.  The execution of the graph is correct, but the static analysis can't know for sure that your code doesn't return one of the other nodes, so we have to assume it could go to any of them.
How would you write the descriptions? Thanks for the feedback
If your conditional returns values, they should be the names of nodes.
If you want to have some other interpretation of what to do with those nodes (e.g., to reuse a singel function but have their results interpreted differently depending on the edge), you can add an additional map.
Without actually running your function, we can't know for sure all the possible responses unless you provide typehints or a path map.

Thanks for the very clear explanations.
I understand that the descriptions of the documentation are thus correct, which is fine. But I could suggest to add a warning saying that without specifying the typehints or path map, the graph won't necessarily fit the actual behavior of the path function.

Going to close this issue, since the library is working as expected. Please feel free to reach out if you have any additional questions!

I experienced the same issue, this thread helped me figure out why. Wonder if adding a small note in guide to make sure to either 1/ provide type hint, or 2/ provide path map, for the graph to work as desired. I actually thought I was doing something wrong, and took about half an hour of head scratching...


Can you mention the symmetry of the hash algoritm

Hi,
I have been told (And we can deduce https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-ha-ports-overview#nva) that the hashing function is symetric. This means that hash (SourceIP,DestinationIP) = hash (DestinationIP, SourceIP) and Hash(client, sourceport, target, targetport, protocol) = hash (target, targetport, client, sourceport, protocol).
Can you mention it please ?
Thanks

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

ID: 4df3fe8d-86bf-23bf-3f5b-b9cce432412e
Version Independent ID: 42eb0bc5-e329-8d92-c850-b0baed07ec98
Content: Configure Azure Load Balancer distribution mode
Content Source: articles/load-balancer/load-balancer-distribution-mode.md
Service: load-balancer
GitHub Login: @KumudD
Microsoft Alias: kumud

@SamirFarhat Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@SamirFarhat this is only true for HA Ports load balancing rules.

@TravisCragg-MSFT please close.

@SamirFarhat We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Investigate nanobind in place of pybind11

@benbovy feel free to close this if you are already aware of it and didn't want to consider it.  I'm hoping to carve out a little time at some point to see what it might take to switch and whether or not it would be helpful; don't feel this issue is an obligation for you to do so.
nanobind is effectively a newer, smaller, lighter weight replacement of pybind11; the why page helps explain why it was created.  The core API is very similar to pybind11 but at present is a bit less full-featured (which is partly a good thing).  It targets a narrower range of C++ (17+) and Python (3.8+) versions.  The potential downsides are that it is newer and less-full featured, and hasn't yet accumulated lots of GH issues / stack overflow posts around less common situations, compared to pybind11 (though these may not matter).
I'm not yet sure if the ndarray interface in nanobind would make some of the challenges around numpy and dtypes easier or harder.
I recently ported a small library from pybind11 to nanobind, and overall the experience was smooth and produced wheel files that were a little smaller (did not benchmark compile or runtime timings).

@brendan-ward thanks for opening this issue. Nanomind has been briefly discussed in various places but it is better to gather the discussion here. Also good to know that the transition from pybind11 to nanobind went smoothly in your case.
A few thoughts:

Smaller binaries would be nice
I think one of the main benefits of using nanobind here would be its low-level interface. It would allow accessing the Python Geography types from C++ in a much cleaner way than the hacks used here to get the type information. This would help for efficient Python <-> C++ conversion of Geography objects (#3).
C++17 is fine I think, it is already used for other packages in the stack (s2geometry, s2geography, arrow, etc.) at least in conda-forge. Python 3.8+ is fine too for a new library like Spherely.
I'm not sure either about nanobind support for numpy / dtypes, but one main limitation is that currently there's no equivalent of pybind11::vectorize, which makes things super easy here for creating numpy ufunc-like functions. There's a few options:

Wait for nanobind to provide a nb::vectorize helper, although I don't know if that's part of their roadmap.
Copy the pybind11::vectorize implementation in Spherely and adapt it to nanobind. This would probably help releasing the GIL in vectorized functions that create new Geography objects (#2). The pybind11::vectorize implementation is quite complex, though, this is far from ideal if we have to maintain an adapted version here (even if simplified).
Use xtensor's xt::vectorize along with xtensor-python. The latter has no support for nanobind yet, though (https://github.com/xtensor-stack/xtensor-python/issues/284).

One thing that currently prevents us using nanobind here is that it doesn't supports arbitrary Python objects as numpy array items.

I'm closing this issue since nanobind doesn't seem to have a plan for adding support of numpy arrays with arbitrary Python objects anytime soon. Let's re-open it if that changes.


How do I cancel?

Hey!
I bought a subscription in September and I thought I had cancelled it but it seems I have not and I have been charged for the past 2 months.
My email associated with my ChatGPT account is<EMAIL_ADDRESS>Could I please have this cancelled and have the 2 months refunded if possible?
Thanks,
Maisha

Thank you so much for the quick resolution!! The extension was good when I was using it but I had only planned on using it for that one month.


In Ubuntu 24.04 OS PCL6 printer driver print is failing

Created a Linux PCL6 Printer Driver in Ubuntu 20.04 using Ghostscript interpreter and it's worked fine till Ubuntu 22.04.
After checking in Ubuntu 24.04 the PCL6 printer driver created using ghostscript is not working. Print is failing.
Using Cups Version - 2.4.7
Ghostscript Version - GPL Ghostscript 10.02.1 (2023-11-01)
Error:
universal filter failed.
Please find the attached log for reference.
Linux_Error_Log_20241003.txt
Could you please let us know what changes have been done and how to resolve this issue.

Hi @udayy ,
thank you for reporting the issue.

please try the issue with the latest version of CUPS - 2.4.11 - if the issue still stands,
the error log does not contain job debug logs, only the status of the printer - please attach file with debug logs which will contain the whole job processing,
attach your PPD file as well.

Thank you in advance!

Hi @udayy ,
thank you for reporting the issue.

please try the issue with the latest version of CUPS - 2.4.11 - if the issue still stands,
the error log does not contain job debug logs, only the status of the printer - please attach file with debug logs which will contain the whole job processing,
attach your PPD file as well.

Thank you in advance!

Hi @zdohnal,
Thank you so for your response.
Will try with the latest cups version for sure.
Please find the attached error_log and PPD file  and let me know if this is ok.
Changed the extension to txt file for uploading.
error_log.txt
Sharp-UD-ColorEx-PCL6.ppd.txt

This is actually a cups-filters bug - the banner format isn't supported when converting to PCL XL (PCL 6) with this filter for some reason. Sending over there but not sure why it is advertised as supported when not...


Refs #5538 Fix clang warnings [5539]

Build status:

Linux
Mac
Windows

CLang warnings have not been seen on CI for a while, and this is quite an old PR. Closing.


Importing a vulnerable "github.com/btcsuite/btcd v0.21.0-beta" vulnerable library in the go.mod file as a require

Description
As per the NIST compliance https://nvd.nist.gov/vuln/detail/CVE-2022-44797 the current "github.com/btcsuite/btcd v0.21.0-beta" module is vulnerable. Also please note that this is a BETA release, so we need to replace it with the stable release.
Requesting to replace it with the version "https://github.com/btcsuite/btcd/releases/tag/v0.23.2" to fix this BUG.

Steps to reproduce the issue

Describe the results you received and expected
Requesting to replace the current "github.com/btcsuite/btcd v0.21.0-beta" module which is vulnerable, with the version "https://github.com/btcsuite/btcd/releases/tag/v0.23.2" to fix this BUG.
What version of nerdctl are you using?
v 1.0.0
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
No response
Host information
No response

We are not using the affected files (https://github.com/btcsuite/btcd/pull/1896/files)

#1573

Thanks for confirming about the false positive @AkihiroSuda . Appreciate your clarficiation.
Regards,
Sachin Kesarkar.


Remove pop in AppBar hero animations

Now the flexible space bar computes its effect from its size rather than from
the Scaffold's animation.

@HansMuller

LGTM


Delete multiple service instances having same name prefix.

Description
With “cf html5-delete” how to delete multiple service instances having same name prefix. Since during “cf html5-push -d” both HTML5 Apps Repo app-host and XSUAA application service instances will have the same name prefix,  whether it is possible to delete both of them.
As of now we can delete the app-host not xsuaa instance.
Regards,
lalith. S

Available since v1.4.0


commonsLogging: 1.2 -> 1.3.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/commons-logging/versions.
meta.description for commonsLogging is: Wrapper around a variety of logging API implementations
meta.homepage for commonsLogging is: https://commons.apache.org/proper/commons-logging
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.3.0 in filename of file in /nix/store/q02gs56zqv535v0fq3vzppp30cswbfq1-commons-logging-1.3.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
commonsLogging
jedit

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q02gs56zqv535v0fq3vzppp30cswbfq1-commons-logging-1.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A commonsLogging https://github.com/r-ryantm/nixpkgs/archive/c27aa070d94ae026376d29fca7619c0d03647396.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c27aa070d94ae026376d29fca7619c0d03647396#commonsLogging

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q02gs56zqv535v0fq3vzppp30cswbfq1-commons-logging-1.3.0
ls -la /nix/store/q02gs56zqv535v0fq3vzppp30cswbfq1-commons-logging-1.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package failed to build:

jedit

1 package built:

commonsLogging

Maintainer pings

jedit also fails on hydra https://hydra.nixos.org/build/253642766


Improve a mutating-state.md's markdown markup.

Rewrite file from the javascript to a markdown text style

@Reda-bx, done.


Toward top-level case trees

(Don't look yet, this is in flux lol)

OK, this is promising, but I need to rethink the architecture a bit. It is currently getting unwieldy to manage all the weird environments, and it will only get worse when I start to allow more complex elimination schemes.
What seems correct is to have syntactic program-trees and semantic program-trees (with a closure representation). Then, I anticipate things to become quite a bit easier to develop (even if there is a slight opportunity cost at the beginning).


fix lnurl channel

show proper error messages
Describe the changes you have made in this PR
fix lnurl callback
proper error messages while doing requests
Type of change
(Remove other not matching type)

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

Checklist

[X] Self-review of changed code
[X] Manual testing
[X] Added automated tests where applicable
[X] Update Docs & Guides
For UI-related changes
[X] Darkmode
[X] Responsive layout

sry i just quickly coded it. need to improve the pr a bit. thanks for the review addressing it

will merge this. i think functionality is complete now. if there are further improvements we need to do. i can do a follow up pr


use of django/flask apm

Hi,
I have one opensource python code from github which gives you TUI on terminal (it is not django or flask). Can I use Flask or Django APM in the same to get metrics?
Please help.

Hi @suyog1pathak
You could theoretically use the Agent API to create transactions/spans. But currently, the agent isn't really geared towards GUI or TUI ("terminal user interface" I assume?) apps, so you might encounter some awkwardness. This blog post could also be helpful to figure out how to use the API.
If you don't mind, could you direct future usage questions to our forum? Github issues are more for tracking bugs/feature requests for the agent. Thanks! I'll go ahead and close this issue.


feat: port MeasureTheory.Function.AEEqFun

[ ] depends on: #4245

This PR/issue depends on:

leanprover-community/mathlib4#4245
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#4245
By Dependent Issues (🤖). Happy coding!


bug: Collapsible navigation menu does not works on small screens

On small screen collapsible menu does not work.
The issue is present when the navigation menu is vertical on the left of the screen. It's for example the case on a phone.
Steps to reproduce

Open the site on a phone sized screen.
Click on hamburger menu to show navigation links.
Try to press Guides.

Expected behavior
The links should be revealed.
Current behavior
Nothing happen.

That works fine since #27 was merged.