[Color Issue] Am I missing something?

Please take a look at my screenshot. I am missing something most probably.
wrong syntax highlighting?

local.vim config file:

local.plugins.vim config file:

Using this btw - https://github.com/rafi/vim-config

If you are using go with a neovim. I recommend you add treesitter plugin. That will give you a better highlight.
If you are using vim/gvim. You may need install vim-go or govim plugin. That will give you a better highlight.

Thank you, just had to enable treesitter in configuration


Please add examples on how to integrate Playwright

I've been trying to integrated Playwright into my .NET Aspire Test project, however, I haven't found a way to make it work.
I have a problems

None of the routes from the httpClient created from DistributedApplicationTestingBuilder are accesible from my browser.

I have a few samples on how to do that here: https://github.com/bradygaster/AspireAzdTests/tree/main/AspireAzdTests
I could bring this forward with an updated sample if folks like the idea.


121 reimplement hosts endpoints with new network stack

Completed #121 , all host endpoints refactored to use new networking class.
All tests updated  in the monitoring tests, and now pass.

@dmalik-mdb , tests are expected to fail at this point, so this should not prevent merging this in.


syntax highlighting not working

Syntax highlighting is not working for me. I was getting page build warning about using rouge so I changed the highlighter to rouge in _config.yml but still its not working. Any help will be appreciated.

Can anyone tell how to fix such issue ?


Moving crates between orgs

Should be easy just updating organisation_id on the crate but we need to make sure the user has CREATE_CRATE on both orgs. Proper UI needs to be in place to inform the user it's a destructive action. If we setup a redirect between old and new orgs the user needs to be informed some users may lose privileges.

I'm thinking maybe we shouldn't support this, and do it cargo style where no destructive actions are allowed except yanking. The user can just push a new README with a deprecated notice and yank all the versions to inform of crates moving


Harbor Helm Chart Support sourceRegistry

Change the Harbor helm chart to use sourceRegistry in the values.yaml file so the customer can easily install it from a private registry.

https://github.com/aws/eks-anywhere-build-tooling/pull/671

Done


Plot WPILOG Mechanism2d

If I put a Mechanism2d on Shuffleboard, I can display it in the Mechanism page live. But if I load a WPILOG file with the same data, the Mechanism2d isn't draggable, only the individual fields within it. So I can't display it in the Mechanism page.

Fixed in f5ee7b0, awaiting release


Adding negative pixel letter-spacing causes fitText not to work as expected

When I add negative pixel letter-spacing to the style of the element, fitText will increase the font size of the text beyond the element width.

Please create a demo on codepen illustrating issue.


[🐛] Alternative solution to challenge "Kill Chatbot"

:bug: Bug report
Description
The challenge states: Permanently disable the support chatbot so that it can no longer answer customer queries.
When queried with the following string, the chatbot VM enters into an inf loop and fails to respond further request. This should be a valid solution as well however, challenge was not solved and points were not issued.
Method 1: hello", ""); users = {}//
Method 2: 'hello", ""); while(true){};//'

Not too sure what's the success condition / metric for this challenge but it seems to be tied to a specific way of solving the challenge, Im wondering if there is a more general way to check that the bot is dead.
Is this a regression?
Nope
:microscope: Minimal Reproduction

Login and go to support chat
Enter hello", ""); users = {}//
Notice no further respond from the bot upon more queries

:fire: Exception or Error
:deciduous_tree: Your Environment

Running locally on M1 MBP
Node 14
Firefox

Additional Information

It is indeed tied to shutting down the process the bot runs in completely. We'll have to check if this could be expanded w/o making the challenge too easy, as we do have another challenge solvable by infinite loops already. Other options: Adding a second challenge with -1 difficulty that allows more solutions or expanding the description to clarify infinite loops do not count.


Should NodeIO have special phetio options to control its methods?

A lot of the phet-io customization that we want to have is directly from interfacing with NodeIO. Setting something visible/pickable is a large percentage of the conversation in design meetings.
Twice now it has come up that we don't want to be able to toggle visibility/pickablity, with the phetMenu, and the phetButton, and we have uninstrumented many things to achieve this goal as well. What if NodeIO had a way to say, "PhetMenu, you can still be a subType of mine, and you can elect to not be able to toggle visibility."
That would solve the 4th checkbox in https://github.com/phetsims/joist/issues/445#issuecomment-341248255. It also would help PhetButton, since we are trying to override the pickable functionality for a custom one that Sim.js controls (https://github.com/phetsims/joist/issues/453).
I don't know exactly how this would work, but phetioNotVisibleToggleable: true could keep the phet-io api from changing visibility on this type of Node.
It would be a challenge to try to document this in a client facing way. @samreid what do you think?

Otherwise we would have to use the below commit as a strategy for PhetMenu

We are heading in the direction of being able to specify the minimal amount of instrumentation desired, so this seems to be a good idea.  I'm not convinced its perfect for the PhETButton in joist, because that has an extra complication that there are actually two different button instances (for multiscreen sims) that must remain synchronized--so that may remain as a property or have another workaround.  Maybe good argument names would be phetioVisibility and phetioPickability both defaulting to true?  Would we use this elsewhere in Faraday's Law, or is this for future usage?

I think it would be great for the phet button. We set visibility and pickability both to false through the api options you just recommended, and then we manually handle the packable synchronization Sim side. The hard part is documenting how this is different than other NodeIOs.
We would probably not use it anywhere else in Faradays law.  I can't think of where at least.
These options seem like a subset of phetioReadOnly. I wonder how we should handle those options together.

The hard part is documenting how this is different than other NodeIOs.

Would this be as simple as graying out the "visible" checkbox and/or "pickable" checkbox in instance proxies?  This is what we have done with phetioReadOnly and it seems to work ok.

These options seem like a subset of phetioReadOnly. I wonder how we should handle those options together.

Maybe we should abandon a general phetioReadOnly flag and move toward type-specific flags.  One for PropertyIO, two for NodeIO, each named specifically for the property it relates to.
@zepumph let me know if this sounds OK and I can try prototyping it.

Also, phetioVisibilitySettable may be more straightforward than phetioVisibilityReadOnly--we may wish to decide on a case-by-case basis which ones to be settable vs readOnly.

One for PropertyIO, two for NodeIO, each named specifically for the property it relates to.

I'm nervous about the scalability of this, but I understand it. I also agree that really we are talking about readonly flags here. I don't see there ever being a reason to keep someone from getting the visibility/pickability from a NodeIO.
What other types/properties may need to be readOnly?

certain addListener functions on dragHandlers, emitters, Property (link), buttonListeners. Does read only ever mean you can't link to the value change? Maybe this isn't actually one.
Text values
ObservableArray, currently it doesn't support adding/removing items, but maybe someday.

For the most part I found this list smaller than I thought it would. I don't love the idea of creating 5-10 more flags for different read-only properties. I'm going to sleep on it. Let's talk next week!

Unassigning until we can discuss.

@samreid I think this is blocking an important joist feature needed for a stable api. Can we talk about this soon?

On second thought let's tag the parent issue, https://github.com/phetsims/joist/issues/445

One possibility would be to override the IO type with a method that throws an error--this would prevent the methods from being called, but then we would also want to make sure that the methods did not have a UI in Studio and also properly documented in documentation wrappers (or perhaps Studio).

For special cases like this, we could design custom IO types.  Then we would have full control over Studio UI, documentation and method availability.  But it would be odd e.g., that PhetMenuIO doesn't extend NodeIO.  Or maybe it wouldn't be odd since PhetMenuIO doesn't have all of NodeIO methods.  The plus side of this proposed strategy is that it won't require any infrastructure development--we just add the new IO types and everything will work OK.  The downside is that new IO types will probably duplicate information with the sibling IO types.  But if we are finding several IO types that have a certain commonality (say if we have several types that are visible/invisible but not pickable), then we could factor out a UnpickableNodeIO.
@zepumph how does this sound to you?

Here is the current list of methods supported over the api for NodeIO.js:

If we create PhetMenuIO, then it seems like we need to choose to go down one of two roads.

"We don't care about PhetMenuIO having any of these (or future methods too), because at lease you can't change it's visibility
A parallel implementation of these methods as we deem it necessary for PhetMenu to have it.

It may also be good to note that PhetMenu is sorta an edge case to me, since it is unique to the nav bar, and "strict" qualities from the design team in terms of implementation. Here I think we could potentially get away with a unique TypeIO that doesn't do anything (because we don't need the PhetMenu to be able to do anything). I can see us running into this problem often in general sim phet-io intsrumentation where you need a TypeIO to have all of the methods of a phet type but one or two.

One possibility would be to override the IO type with a method that throws an error--this would prevent the methods from being called, but then we would also want to make sure that the methods did not have a UI in Studio and also properly documented in documentation wrappers (or perhaps Studio).

Here is one potential implementation of no-oping parent methods, in PhetMenu's sub-typeIO:
    setVisible: {
      overrideToNoOp: true
    },

This seems like a question for an upcoming design meeting.  It hinges on "how frequently do we think we'll want to allow some nodes setPickable but not setVisible or vice versa?"  If that's rare, we can use a custom IO type for PhetMenu or elsewhere.  If we expect it to be common, then we may wish to adopt a more modular (mixin-based?) approach for NodeIO API (or all API?)

@samreid and I just though about making PhetMenuIO a subtype of NodeIO, and manually overriding node's visibility/pickability functions to be no-ops. I'm interested in pursueing that. @samreid can you think of a reason not to go down this road? This issue was originally about trying to do something clever with NodeIO, but maybe the simplest, O-O approach is best.

I agree https://github.com/phetsims/scenery/issues/711#issuecomment-376600200 is what we should try next.

@samreid please review. I wonder what you think about all the extra code here, plus the maintainability. Everytime that we add a method to NodeIO that shouldn't be in PhetButtonIO, it needs to be added to PhetButtonIO as a no-op.

Good point, I'm thinking we should create a custom IO type for the PhET Logo Button--it's too unmantainable to remember to go remove things from PhetButtonIO every time things are added to NodeIO.  Sorry about all the flip-flopping!

Back to you, I think this is a pretty good solution seeing as we won't do this very often.

This is a review that should happen before FL release.

Seems good--I am wondering if PhetButtonIO can be rewritten to use the newly introduced NodeProperty?

Good idea! Done, anything else here?

PhetButtonIO looks good, studio looks good, thanks!  Closing.


util/mkpod2html.pl: Fix unbalanced quotes

I'm classifying it as urgent, because trying to use the output in OpenSSL's manmaster tree has it look ... quite bad.  Current example: https://beta.openssl.org/docs/manmaster/man1/openssl-asn1parse.html

This pull request is ready to merge

Merged
bb90f9fee1a3055f8a9cd63aad691b1bfae3e53e util/mkpod2html.pl: Fix unbalanced quotes


Sending double the hits!

I have GAH implemented in a RubyMotion project, and calling this method on the screen:
GAH.trackScreenNamed("#{screen.class.to_s}")

Sends TWO hits to google analytics. Is that intentional? Have you had this issue before?
Here is the verbose output (with some info redacted):
2016-02-25 09:35:08.035 AppName[69379:1807060] VERBOSE: GoogleAnalytics 3.14 -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:517): Saved hit: {
    parameters =     {
        "&_crc" = 0;
        "&_s" = 22;
        "&_u" = ".ntntKK9L";
        "&_v" = "mi3.1.4";
        "&a" = 813183821;
        "&aid" = "com.app.name";
        "&an" = AppName;
        "&av" = "1.6";
        "&cd" = "ThisScreen";
        "&cid" = "xxx";
        "&dm" = "x86_64";
        "&ds" = app;
        "&sr" = 750x1334;
        "&t" = screenview;
        "&tid" = "UA-xxx";
        "&ul" = "en-us";
        "&v" = 1;
        "&z" =<PHONE_NUMBER>467362948;
        gaiVersion = "3.14";
    };
    timestamp = "2016-02-25 17:35:08 +0000";
}
2016-02-25 09:35:08.035 AppName[69379:1807060] VERBOSE: GoogleAnalytics 3.14 __70-[GAIBatchingDispatcher checkIAdCampaignAttributionWithHitParameters:]_block_invoke (GAIBatchingDispatcher.m:749): iAd campaign tracking disabled because the iAd framework is not linked. See http://goo.gl/426NGa for instructions.
2016-02-25 09:35:08.038 AppName[69379:1807060] VERBOSE: GoogleAnalytics 3.14 -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:517): Saved hit: {
    parameters =     {
        "&_crc" = 0;
        "&_s" = 23;
        "&_u" = ".L";
        "&_v" = "mi3.1.4";
        "&a" = 813183821;
        "&aid" = "com.app.name";
        "&an" = AppName;
        "&av" = "1.6";
        "&cd" = "ThisScreen";
        "&cid" = "xxx";
        "&dm" = "x86_64";
        "&ds" = app;
        "&sr" = 750x1334;
        "&t" = screenview;
        "&tid" = "UA-xxx";
        "&ul" = "en-us";
        "&v" = 1;
        "&z" =<PHONE_NUMBER>467362949;
        gaiVersion = "3.14";
    };
    timestamp = "2016-02-25 17:35:08 +0000";
}
2016-02-25 09:35:10.041 AppName[69379:1807060] VERBOSE: GoogleAnalytics 3.14 -[GAIRequestBuilder requestPostUrl:payload:compression:] (GAIRequestBuilder.m:167): building URLRequest for https://ssl.google-analytics.com/batch
2016-02-25 09:35:10.042 AppName[69379:1807060] VERBOSE: GoogleAnalytics 3.14 -[GAIBatchingDispatcher dispatchWithCompletionHandler:] (GAIBatchingDispatcher.m:632): Sending hit(s) POST: https://ssl.google-analytics.com/batch
2016-02-25 09:35:10.085 AppName[69379:1806999] INFO: GoogleAnalytics 3.14 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:226): Hit(s) dispatched: HTTP status 200
2016-02-25 09:35:10.086 AppName[69379:1807060] INFO: GoogleAnalytics 3.14 -[GAIBatchingDispatcher deleteHits:] (GAIBatchingDispatcher.m:529): hit(s) Successfully deleted
2016-02-25 09:35:10.088 AppName[69379:1807060] INFO: GoogleAnalytics 3.14 -[GAIBatchingDispatcher didSendHits:] (GAIBatchingDispatcher.m:237): 2 hit(s) sent

I added the trackScreenNamed to a couple other screens. One of the screens is a webview that loads up a single image, and going to that screen sends 8 hits to google analytics. Each time I go to the screen, it sends 8 hits.
Looking at the output, I am seeing this pattern:
"&_s" = 44;
"&_u" = ".KK9L";

And it repeats itself sorta, where the &_s increments up from 44 to 51 and the &_u alternates back and forth between .KK9L to .L.
Any thoughts?

Could it be that you have called [GAH setupWithTrackerId:] multiple times? Then it would setup multiple trackers and send a hit for each tracker.

I don't think so. We double checked that and it's only being called once. Can you think of a way where we could somehow double check that? There's definitely something fishy going on!

On Feb 25, 2016, at 11:28 PM, Magnus Ottosson<EMAIL_ADDRESS>wrote:
Could it be that you have called [GAH setupWithTrackerId:] multiple times? Then it would setup multiple trackers and send a hit for each tracker.
—
Reply to this email directly or view it on GitHub.

I'm not sure how RubyMotion works but can you debug the Objective-C code? Then you could debug the [GAH trackScreenNamed:] method and check if this is called multiple times, also check the count of the [self sharedInstance].trackers array and se how many trackers you have in the list. This lib uses a singleton to store the trackers so you should only call the setup method once when your app starts.

Hi again,
Did you find the issue?

Hey! Yes, indeed. We are calling a custom setup method in our app delegate, and in that method we added this check:
sharedInstance.trackers = [] if sharedInstance.trackers.any?

And that solved the problem. Thanks again for your help!


Script setup picks a name that creates warnings

Vue version
3.2.26
Link to minimal reproduction
https://sfc.vuejs.org/#__DEV__eyJBcHAudnVlIjoiPHNjcmlwdCBzZXR1cD5cbmltcG9ydCBYQnV0dG9uIGZyb20gXCIuL2J1dHRvbi52dWVcIlxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPHgtYnV0dG9uIC8+IFxuPC90ZW1wbGF0ZT4iLCJpbXBvcnQtbWFwLmpzb24iOiJ7XG4gIFwiaW1wb3J0c1wiOiB7XG4gICAgXCJ2dWVcIjogXCJodHRwczovL3VucGtnLmNvbS9AdnVlL3J1bnRpbWUtZG9tQDMuMi4zNi9kaXN0L3J1bnRpbWUtZG9tLmVzbS1icm93c2VyLmpzXCIsXG4gICAgXCJ2dWUvc2VydmVyLXJlbmRlcmVyXCI6IFwiaHR0cHM6Ly91bnBrZy5jb20vQHZ1ZS9zZXJ2ZXItcmVuZGVyZXJAMy4yLjM2L2Rpc3Qvc2VydmVyLXJlbmRlcmVyLmVzbS1icm93c2VyLmpzXCJcbiAgfVxufSIsImJ1dHRvbi52dWUiOiI8dGVtcGxhdGU+XG5CdG4ge3sgeCB9fVxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdCBzZXR1cD5cbiAgbGV0IHggPSAxXG48L3NjcmlwdD4ifQ==
Steps to reproduce
Put a script setup component inside a file named button.vue or nav.vue or any name that matches an existing html element.
Use it in your application, for example as a local component:
<template>
  <my-button>Hello</my-button>
</template>

<script setup>
  import MyButton from "./button.vue"
</script>

Or as a globally registered component:
import MyButton from "./button.vue"

app.component("my-button", MyButton);

What is expected?
Works without issue, no warning on console
What is actually happening?
Many warnings on the console:
Do not use built-in or reserved HTML elements as component id: button
System Info
No response
Any additional comments?
This is caused by the recently introduced inferred naming of script setup components.
Vue picks the filename as a default component name, as can be seen in the repro link:
const __sfc__ = {
  name: 'button',
  // ...
}

This name is then validated against reserved names and that's why a warning is raised.
In this context, the name is actually meaningless so here are two suggestions:

Is it even required to validate the component name property? The same code validates the name used as a tag in app.component('this-is-validated', Button), which is good, but I'm not sure if the internal component name needs validation?
The compiler can pick a different default name if the filename clashes with a native element. E.g. if the file is named button.vue, generate name: 'vue-button' instead; or no name at all, as previously.

Workarounds for now:

never use a reserved name as your SFC filename.
(this can be annoying after-the-fact, e.g. we have our own component library and to be consistent we would need to rename many files, breaking all imports).
export an explicit name in a <script> block to avoid inferred name.

Should be already fixed by 9734b31c

I upgraded to 3.2.37 and can confirm that the warnings are gone


fix conflict between sidenav drag and back gesture on Android

Proposed changes
This PR fixes freezing app when Back gesture occurred on Android.
When you swipe a page to get back to the previous page, the gesture also triggers dragging Sidenav because both share the same area (left: 0). That sets .sidenav-overlay to "display: block; opacity: 0" (should be display: none;...) and the page does not accept any user action. That's a show stopper.
This PR moves the position of .drag-target from "left: 0" to "left: 40px" to avoid the conflict.
.drag-target {
   left: 40px;

Types of changes

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

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My commit messages follows the conventional commit format
[ ] My change requires a change to the documentation, and updated it accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Does it still work then, if it is moved 40px to the right?
Which Android Version and Browser are you using?

Also: Please fix your commit message format, otherwise it will not pass the linter.
How did you make the change and on which OS? this can only happen if you used the Browser I guess.
Thanks for you help.

Close as I no longer need this


AFAIK v1.0.0 is proper semver, too

But optional v in the beginning is not taken into account.

Good catch. PR fixing this is welcome! ;)

optional v in the beginning is not taken into account.

The SemVer 2.0.0 specification requires the version string start with the “MAJOR” component, which must be one of the “non-negative integers”.
I don't know the basis for the claim that a leading “v” is allowed; my reading of the specification, to the contrary, says that is prohibited.

@bignose-debian thanks for re-checking. Closing for now then.


Expand, Modify community roles

This PR expands on the roles set out in GOVERNANCE
Big changes
Replace the Contributor role, with a member role with new requirements
Provides a stepping stone between starting to contribute, and becoming a flux maintainer
Attempt to flesh out the requirements on how one becomes a maintainer
Needs feedback from current maintainers on how that works
Information shifted from governance into community roles
I've tried to shift everything in the roles section into roles doc which states

what the role is
how the role is defined
the requirements
the responsibilities and privileges

Feedback welcome and requested
Would like Feedback from current flux Oversight committee and maintainers to see if theres anything that I have missed, or incorrectly assumed / stated
Need more details on what level of github privileges are for maintainer and oversight to add to respective sections
Fixes https://github.com/fluxcd/community/issues/64

My main concern with the changes as proposed at present is that it gives a different meaning to the term "contributor", which would create a diversion with the badge that GitHub displays for anyone who has once contributed to the project, and may conflict with the general idea people have around the term. It would also be less-welcoming in a way, as people that now do a drive-by contribution get less recognition.

@hiddeco we addressed this using different language. WDYT?

Note we need a Supermajority to make material changes to this Governance doc. The only material change to Governance – apart from moving role info to a separate doc – is introducing a "project member" role that has Triage permission. We need a supermajority to approve this. @hiddeco @squaremo @stefanprodan

This all looks alright to me. :+1:

To build upon the goals of this change, I've floated the idea of a new "Bug Scrub" meeting with a similar structure to SIG-CLI's meeting of the same name, in #101
The new member role after this change gets org-wide Triage role, (that's nice, and very helpful for the Bug Scrub concept.)
I wonder if we should have a lesser status than org-wide triage for every repo, but quickly discarded suggesting that idea as it looks like consensus is likely... even though most contributors are not likely to interact with all repos, we shouldn't need to carefully guard the triage role, and heavy management overhead of the FluxCD org is a thing to be avoided.
(So, it's a 👍 for this change from me, "non-binding")
But... if someone was looking to get triage access for just a single repo that they are interested in, I think maybe we should have a defined path for that too, some people will undoubtedly be intimidated by org-wide access (and to @squaremo's point, we could have a slightly lower bar for those members who only want or need the single-repo triage role, or limited scope.)

/label documentation

Feedback addressed!
The link checker is failing only because this new document refers to itself, but it will not yet exist in the repo until this PR is merged.

Errors in community-roles.md
✗ https://github.com/fluxcd/community/blob/main/community-roles.md (GitHub token not specified. To check GitHub links reliably, use --github-token flag / GITHUB_TOKEN env var.)

To get around this minor GH actions check block, I just removed the unnecessary not yet existing link. All Oversight Committee members have approved. We should now be good to merge ✅

It still needs a rebase before I can press merge :-)


Cloud Build [cloud-build-samples-testing]: FAILURE

Cloud Build cloud-build-samples-testing 88f6cc05-1a77-4bc1-bca2-be0f4ea6cf24 status: FAILURE
Trigger ID: 41bad4ee-026f-4c16-80ec-79fd55003434
View Logs
I'm an automation. Googlers: go/cloud-build-samples-docs

Step #0: [ERROR] Failed to execute goal on project hello-spring: Could not resolve dependencies for project com.example:hello-spring:jar:1.0.0: Could not transfer artifact org.springframework:spring-core:jar:6.0.5 from/to central (https://repo.maven.apache.org/maven2): Connection reset -> [Help 1]

Network error. Was okay the next run.


improve parser error

function t(_a) {
  let _a = 3
}

Did you try latest master? IIRC @chqrlie made some improvements there.

Did you try latest master? IIRC @chqrlie made some improvements there.

I'm afraid these improvements have not been merged yet.
Improved line number handling is pending, stay tuned.


Add GMRES to jax.scipy.sparse.linalg

Implementation of GMRES based off of @shoyer's prototype augmented with:

support for pytrees
looped with termination condition
scipy-like restart argument (at least my best interpretation of it. I had a hard time parsing scipy's source code for GMRES)

To do:

[ ] Improve numerical stability. I can't currently get it to reliably pass tests when not running in Float64 mode, i.e., jax_enable_x64 == True.
[ ] Add documentation
[ ] Add tests
[ ] Make sure scipy's implementation behaves similarly

Relevant issues:

#1531

@shoyer Do you have any recommendations for how I can improve this implementation of GMRES? There seems to be some convergence issues when dealing with float32. I'm happy to rework whatever is necessary if you have some pointers to papers or pseudocode I could follow.

We have just recently completed a Jax GMRES implementation in https://github.com/google/TensorNetwork, if you guys would like to synchronize. It should be a bit more efficient than this one because it builds the QR decomposition iteratively along with the Krylov space, instead of in one shot at the end; this allows it to terminate early when necessary. We didn't write it with differentiability in mind, however.

Awesome! I'd like to get some confirmation from the JAX devs that they are still interested in adding GMRES before spending more time on this, but if they are, I'm happy to bring in TensorNetwork's iterative QR decomposition and see how it does. As for differentiability, that shouldn't be an issue since we define the differentiation rules using the implicit function theorem, e.g., jax.lax.custom_linear_solve.
@alewis How is the numerical stability when using float32? I've been having issues getting my implementation working reliably in float32 and I'm curious to hear if the implementation in TensorNetwork behaves any better.

I'm definitely quite supportive of this effort to add GMRES into JAX. Iterative linear solvers are a key building block for scientific computing, and the current CG solver does not suffice due to the restrictions it requires on the types of linear operators.

As far as I can tell ours works fine in float32. @gehring @shoyer should we gvc to coordinate on this at some point?

The implementation in question is in https://github.com/google/TensorNetwork/pull/767 if you'd like to take a look. It begins at line 531 of tensornetwork/backends/jax/jitted_functions.py

@alewis Thanks for the pointer! One thing to decide is how much should the implementation favor GPU friendly features over CPU friendly features. For instance, @shoyer found some significant speed ups going from modified Gram-Schmidt to classical Gram-Schmidt (which is what is used in this PR currently) since it can get away with fewer more vectorized operations.

@gehring @shoyer should we gvc to coordinate on this at some point?

I'm happy to chat sometime next week.

@alewis Thanks for the pointer! One thing to decide is how much should the implementation favor GPU friendly features over CPU friendly features. For instance, @shoyer found some significant speed ups going from modified Gram-Schmidt to classical Gram-Schmidt (which is what is used in this PR currently) since it can get away with fewer more vectorized operations.

Given the use-cases for JAX, I would default to accelerator friendly implementations. But I'm also happy to have multiple implementations.

Our PR uses modified (we call it 'stabilized') Gram-Schmidt. That being said, in realistic use-cases the operations upon the Krylov subspace are a small expense relative to the cost of the matvec evaluation, since this subspace will normally have much smaller dimension than the linear operator. Therefore in practical situations the CPU vs GPU friendliness reduces to that of the matvec.
Of course more efficiency is always better, but

One thing that does matter a lot is whether or not the matvec is Jitted. Our implementation Jits the matvec once, and then caches the result in a variable declared at the module level; otherwise the matvec gets repeatedly traced every time it is called. This has a huge performance benefit in TensorNetwork but might not be viable in Jax itself.

I think within the jax's library you can assume the function being passed in is already jitted, whereas in TN we can't easily make that assumption.

Within JAX, I think the only case we really need to worry about for performance is if the entire call to GMRES is jitted.

@gehring Any chance we can chat today (for example)?

@alewis Sure! Can you send me an email so we can work out the details? You should be able to find my email by searching my name (see gehring/fax).

Merged in #4832


Ability to access config options.

Is there any way to access the config options on a parse application? On the online dashboard they are available in the Config tab in the sidebar. If this is not implemented, I would be happy to look into it. For reference, the docs for accessing these attributes through the REST API are here.

@cdriehuys
Hi Chathan,
Sorry for the late reply, I've been traveling.
Currently GET requests for /config are implemented. I haven't tested it myself but it looks like it should work.
Here is the relevant file:
https://github.com/milesrichardson/ParsePy/blob/67a7042a19885dbe4d7f845257bfefa5fc9332ab/parse_rest/config.py
If you would like to implement POST requests as well (for setting config values), please feel free to submit a PR. The code should be pretty straight forward.
Miles

Sorry for the late response, I've also been traveling. Thank you for the info. I believe GET requests are all I need at the moment, but if I ever need to update config values I'll be sure to submit a PR.


added news and blog posts

👷 Deploy Preview for waterfrontiers processing.

Name
Link

🔨 Latest commit
917afebf58b79d5b7267fc9229e8dcdf26e55a91

🔍 Latest deploy log
https://app.netlify.com/sites/waterfrontiers/deploys/653935e5a723710008429986


Implement Free NTLM authentication module

Only Ngnix Plus seems to support NTLM (even then there would be no support in the web interface for Nginx Proxy Manager)
https://github.com/gabihodoroaga/nginx-ntlm-module
It would be nice if free NTLM support could be added such as this module:
https://github.com/gabihodoroaga/nginx-ntlm-module
Is your feature request related to a problem? Please describe.

Describe the solution you'd like

The ability to add NTLM authentication support
Describe alternatives you've considered

N/A
Additional context

I find it highly unlikely this will ever be implemented, since this seems to be a rather niche SSO, but it would broadly fit under the umbrella of https://github.com/jc21/nginx-proxy-manager/issues/437

A lot of Windows on-premise things, such as TFS, Windows Admin Center etc

A lot of Windows on-premise things, such as TFS, Windows Admin Center etc

I completely agree, I would benefit so much from NTLM support being added in NPM. Exchange web services are also broken because of this.

Is it possible to use nginx/openresty reverse proxy ntlm support?

Has there been any news about adding an NTLM module to NPM since ?
We have many services who work with NTLM and we don't have found any options for fix it.

Following up on this, any update?

Following up on this, any update?

A needed feature, appreciated if you consider it


jetbrains.jcef: 654 -> 672

Description of changes
Bumps JetBrain's JCEF fork to work properly with the updated IDEs from #245566.
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

However, when I try to run idea-ultimate (from result/bin), I can't open markdown files. See attached Stracktrace

Ah, it appears you also need version 2023.2 for this to work, so you also need #245566. I'll put this in draft until that PR is merged and then rebase this.

@niknetniko #245566 was merged

I have rebased; it should work now (or at least does for me).

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1045

Should this go with a jetbrains.jdk update as well? The newer builds need another file from jetbrains.jcef, so preventing a double rebuild would be nice

Works fine for me, +1 for @GenericNerdyUsername if possible but already 2023.2 in the pipeline (#247219)

The changes necessary for jetbrains.jcef are here on line 204 to 220, and the changes for jetbrains.jdk are here

The changes necessary for jetbrains.jcef are here on line 204 to 220, and the changes for jetbrains.jdk are here

If you want to make a PR, I will happily close this one in favour of the new one; otherwise I can add those changes here at some point.

Just merged https://github.com/NixOS/nixpkgs/pull/247219 so all ides are now on 2023.2, shall we push this forward? And while you are at it please take a look at https://github.com/NixOS/nixpkgs/pull/243053

This PR is required for new JetBrains IDES:
2023-08-17 10:24:29,110 [   7735]   WARN - #c.i.u.j.JBCefApp - JCEF: minimum supported API version is 1.12, current is 1.10 (Use JBR bundled with the IDE)


Old posteriors can't be loaded under latest version

The _sample_with attribute does not exist. Quick fix:
For SNPE:
posterior._sample_with = "rejection"

For SNLE, SNRE:
posterior._sample_with = "mcmc"

Solved.


[enhancement] add github pages link to repo description

It isn't essential, but it would be a 5-second change that would help people find this repo's beautiful website

Btw, this repo's source code is beautiful

Thanks ! I didn't know this option :)


Support featureXRPFees amendment

This amendment is part of<EMAIL_ADDRESS>and updates the fees to be formatted as Amounts.
XRPLF/rippled#4247

For server_info add fields

reserve_base_drops
base_fee_drops
reserve_inc_drops

autofill logic does NOT need to be updated because it uses fee.
Validations processing will need to be handled similar to server_info.
Fee property on all transactions remains the same
SetFee transactions

BaseFeeDrops, ReserveBaseDrops, and ReserveIncrementDrops will be present when the amendment is passed and on new transactions.  These will be of the type Amount
BaseFee, ReserveBase, ReferenceFeeUnits, ReserveIncrement are valid only historically after the amendment passes
No need for validation updates in client libraries as this is a pseudo transaction
Types should reflect there will be only one of the two sets of fields

https://github.com/XRPLF/rippled/issues/4425

Fixed by #634


Failed to validate domain yaml

Rasa version: 0.14.5
Python version: 3.6.4
Operating system (windows, osx, ...): linux 18.04
Issue: i am trying to train model and its showing validation error

Content of configuration file (config.yml):
language: "en"

pipeline:
- name: "nlp_spacy"                   # loads the spacy language model
- name: "tokenizer_spacy"             # splits the sentence into tokens
- name: "ner_crf"                   # uses the pretrained spacy NER model
- name: "intent_featurizer_spacy"     # transform the sentence into a vector representation
- name: "intent_classifier_sklearn"   # uses the vector representation to classify using SVM
- name: "ner_synonyms"                # trains the synonyms

Content of domain file (domain.yml) (if used & relevant):
       intents:
       # add your intents
       - greet
       - thanks
       - toppings_deny
       - stop
       - toppings_affirm
       - inform
       - what_is_pizza_cost
       - order_pizza
       - chitchat:
          use_entities: false

       entities:
       - size
       - pizzatype
       - toppings
       - num_pizza
       - number
       - feedback

       slots:
       size:
        type: text
       pizzatype:
        type: text
       ask_toppings:
        type: text
       toppings:
        type: text
       num_pizza:
        type: text
       feedback:
        type: text
       requested_slot:
        type: unfeaturized

       templates:
       utter_greet:
        - "Hey there, welcome to Tatenda's pizzabot, how can I help you"
       utter_thank:
        - "You're welcome!"
       utter_ask_size:
        - "We have small, medium, large and extra large pizzas. Which one do you want?"
       utter_ask_pizzatype:
        - "We have BBQ, Hawaiian, Bacon Cheeseburger, and Buffalo chicken pizzas, which one do you want"
       utter_ask_toppings:
        - "Do you want any toppings?"
       utter_ask_num_pizza:
        - "How many pizzas do you want"
       utter_toppings:
        -"We have mushrooms, onions, bacon, green peppers and sausage toppings, which would you like?
       utter_fallback:
        - "sorry, I did not get you"
       utter_affirm:
        -"thanks for the details.your order is being processed"
       utter_default:
        - "sorry, i couldnt understand you.please retry"
       utter_ask_feedback:
        - text: "please give your feedback on your experience so far"
       utter_slots_values:
        - text: "You have ordered the following pizza:

             - size: {size}

             - pizzatype: {pizzatype}

             - num_pizza: {num_pizza}

             - toppings: {toppings}

             - feedback: {feedback}"
       utter_submit:
       - text: "submit"
       utter_chitchat:
       - text: "chitchat"
       utter_ask_continue:
       - text: "do you want to continue?"
       utter_wrong_size:
       - text: "We do not have that size, please try again"
       utter_wrong_pizzatype:
       - text: "We do not have that type of pizza, please choose from Hawaiian, buffalo chicken, Magherita and BBQ"
       utter_wrong_num_pizza:
       - text: "number of people should be a positive integer e.g 3, 4, please try again"
       utter_wrong_toppings1:
       - text: "Please answer with yes/no"
       utter_wrong_toppings2:
       - text: "Those toppings are currently unavailable, please choose from  mushrooms, onions, bacon, green peppers and sausage toppings "

       actions:
       # all the utter actions from the templates, plus any custom actions
       - utter_slots_values
       - utter_ask_continue
       - utter_chitchat
       - utter_greet

       forms:
       - pizza_form

Getting the exact same after upgrading RASA. Using 1 intent in the domain YAML works, anything more than 1 results in this error.

does it work on a lower version of RASA though?

It's broken on all versions. I figured it out in my case though, turns out you can't define an intent called yes or no. I suspect your stop may trigger something similar (or try them one by one).

Hey thanks to both of you. I noticed that i had to properly indent. I have opened a new issue on running my chatbot and giving me 'form_action' exception, your help would very much be appreciated


Updates to registration process

The port in the reply URLs does not match the what is defined in the VS project, so added some language to help ensure these are consistent. Also incorporated several small updates (spacing issues, missing carriage returns, etc)

@bspender : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Replace inlined constants with named constants

In the future, it would be cool to replace all inline constants with named constants. Could be one of optimization passes.

Originally posted by @bobbinth in https://github.com/0xPolygonMiden/air-script/pull/95#discussion_r1041381877

Closing this as now I think the opposite might be a better option (i.e., replacing all named constants with inlined constants).


Add k-NN and geospatial to manifest 2.3.1, 2.4.0 and 3.0.0

Signed-off-by: Naveen Tatikonda<EMAIL_ADDRESS>Description
Add k-NN plugin to manifest 2.3.1 and 3.0.0
Add geospatial plugin to manifest 2.3.1, 2.4.0 and 3.0.0
Issues Resolved
https://github.com/opensearch-project/k-NN/issues/451
https://github.com/opensearch-project/geospatial/issues/94
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2709 (99c37e5) into main (f5c0c97) will decrease coverage by 0.33%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2709      +/-   ##
==========================================
- Coverage   94.10%   93.77%   -0.34%
==========================================
  Files         156      156
  Lines        4208     4208
==========================================
- Hits         3960     3946      -14
- Misses        248      262      +14

Impacted Files
Coverage Δ

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
93.75% <0.00%> (-6.25%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


ChainDB: improve tracing of LedgerDB and start-up

In particular, trace ReplayedBlock while initialising the ledger on
start-up. This process can take a while, certainly when there is no recent
snapshot of the LedgerDB, so we can inform the user of the progress by
tracing.

PRs that fix the breaking changes:
https://github.com/input-output-hk/cardano-byron-proxy/pull/17
https://github.com/input-output-hk/cardano-node/pull/104

bors r+


Assets not loading for compiled binaries

Platform:
macOS 10.15.4 and iOS 13.6 (as part of #87)
Description:
While testing sprite sample I've encountered an issue running a compiled (not cargo run) binary.
Both macOS and iOS didn't show sprite if binary was run directly even if asset folder was next to binary.
Changing relative (?) path to full path using std::env::current_exe() fixed the issue for macOS, but didn't work for iOS.
Edit:
Running binary on macOS from console fixes the issue.
Running binary by double clicking on it does not. Placing assets at ~ directory fixes the issue.
Making an .app package and running it also results in empty scene.
Console output for std::env::current_dir() and std::env::current_exe():
Running in console (works out of the box):
cargo run
dir: /Users/naithar/Projects/my_bevy_game, exe: /Users/naithar/Projects/my_bevy_game/target/debug/my_bevy_game
loading untyped at assets/branding/icon.png
loading: Handle<Texture>(d5e86b7d-a8d4-4cf4-bbca-9ed16033dc08)
...
./my_bevy_game
dir: /Users/naithar/Projects/my_bevy_game/target/debug, exe: /Users/naithar/Projects/my_bevy_game/target/debug/./my_bevy_game
loading untyped at assets/branding/icon.png
loading: Handle<Texture>(a7fbd902-d958-4c6a-8919-5c69fb27e992)

Running by double clicking (requires moving assets to HOME folder):
dir: /Users/naithar, exe: /Users/naithar/Projects/my_bevy_game/target/debug/my_bevy_game
loading untyped at assets/branding/icon.png
loading: Handle<Texture>(95a6da42-d8a9-404c-8ac5-734ffdd88e02)

.app package (specifying full path worked):
dir: /, exe: /Users/naithar/Projects/my_bevy_game/target/debug/Godot.app/Contents/MacOS/Godot

iOS application (specifying full path didn't work loading by full path seems to be working, but it's not displayed due to some other problem):
dir: /, exe: /private/var/containers/Bundle/Application/02EF133B-F04C-47FE-A936-770F5757D494/BevyTest.app/BevyTest
loading untyped at /private/var/containers/Bundle/Application/02EF133B-F04C-47FE-A936-770F5757D494/BevyTest.app/assets/branding/icon.png
loading: Handle<Texture>(9d955d34-51cd-4b36-996d-bf866fd048ac)

load returns correct texture handle all the time, even if there is nothing to load.

I am unable to reproduce this issue (running macOS 10.14.2). I did cargo run and it worked. Then, I copied the compiled binary into the project directory and it still worked. Finally, I tried just copying the binary and the assets folder into a separate directory and ran it. It did not work when I ran it from outside that directory, but it did work when I ran it from within that directory.
What is happening in my case is that the binary attempts to access the relative path from the working directory that  the binary was called from, not necessarily where the binary is located. That would explain why std::env::current_exe() worked for you.
Could this be what is going on?

@Xavientois thanks :) Which OS did you test on?

Updated description with more info and logs.

Adding std::env::set_current_dir(std::env::current_exe().unwrap().parent().unwrap()); at the start of the app works as workaround for compiled binaries for both macOS and iOS.

Running from console works as expected, in that assets are relative to the current working directory. It might be nice to be able to provide a base dir for the asset loader (haven't checked if this is already supported). Especially for iOS, although I'm sure we can figure out the right way to drop in asset directories to xcode so that it works with the default path.
Packaged games is a different matter... on windows with your installer you could just setup the shortcut with the correct working directory. I don't know how to make a mac .app bundle. I haven't used linux desktop in a long time to know what the current state is there.
I suppose that iOS is special here in that the development build setup is already the packaged build.

Stumbled across this https://agmprojects.com/blog/packaging-a-game-for-windows-mac-and-linux-with-rust
Sounds like you are on to something with the current_exe() suggestion, though not ideal for dev builds with cargo run.
Perhaps the answer is per-OS config switch or different config when bundling to set the asset base path?

I am also having this issue but on windows 10. Cargo run works perfectly in all the examples however I am having issues with cargo build (and cargo build --release). Some of the compiled binaries such as 3d_scene and spawner do load assets correctly but the 2d ones like sprite do not.

3d_scene and spawner doesn't load anything with asset_server.load, so it's not a surprise.
Does adding std::env::set_current_dir(std::env::current_exe().unwrap().parent().unwrap()); at the start of main help you?

3d_scene and spawner doesn't load anything with asset_server.load, so it's not a surprise.

Ah okay! haha, should have realized that tbh! Cheers!

Does adding std::env::set_current_dir(std::env::current_exe().unwrap().parent().unwrap()); at the start of main help you?

No unfortunately not. Using std::env::set_current_dir(std::env::current_exe().unwrap().parent().unwrap()); for me causes assets not to load with cargo run and not to load with the cargo build binary either. Using std::env::current_exe().expect(""); results in the same behavior as before where the assets load with cargo run but do not load in the binary.

If you use std::env::set_current_dir(std::env::current_exe().unwrap().parent().unwrap());  you should place assets at the same folder as executable - somewhere like target/debug

Thank you @naithar that worked.

Fixed by https://github.com/bevyengine/bevy/pull/693
assets folder should be placed next to the compiled binary. For iOS assets folder should be lited in Copy bundle resources phase.

Stumbled across this https://agmprojects.com/blog/packaging-a-game-for-windows-mac-and-linux-with-rust
Sounds like you are on to something with the current_exe() suggestion, though not ideal for dev builds with cargo run.
Perhaps the answer is per-OS config switch or different config when bundling to set the asset base path?

For anyone else that stumbles upon this in future and is interested in the link (even if it's not needed for Bevy anymore), then this is a fixed link (as at today, at least; the original is missing .html on the end): https://agmprojects.com/blog/packaging-a-game-for-windows-mac-and-linux-with-rust.html


Add easy loading of extensions

⚠ Not entirely happy with how I made the filter backwards compatible here, I'm open to suggestions :) ⚠
Added these features:

Notable other changes:

Remove the requirement for YODA conditions form WPCS, as they're stupid. Discussion about removing this from WPCS itself is ongoing.
Fixed the accessibility of checkboxes and text input fields by giving them proper associated labels.
Slightly changed how the analytics link worked, as can be seen here

@mehul0810 @ukutaht I've merged develop back into this and fixed the warnings. I think this is now ready for review.

@jdevalk There are some more merge conflicts. Can you please take care of those as well?

@mehul0810 done


add message formatting kwargs into sending data

Logger supports formating messages with named placeholders like this:
logger.warning('Auth failed for %(login)s', {'login': some_login})
It will be convenient to have these formatting arguments in journal by their names instead of names like 'argument_N'

please bump module version

@nagarin @vlanse looks like non-standard behaviour for logging library. For add extra-attributes please use extra = {"foo": "bar"} keyword argument (any handler should support this).
For example:
log.info("My primary message: %s", argument, extra={"session_id": 43})

@mosquito it is just standard old-style string formatting:
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting
And it is default style for string formating in logging. Look at comment and code after it in logging module:
https://github.com/python/cpython/blob/e425bd75177ffb7f098bdb0618b4a5ba3211fe52/Lib/logging/__init__.py#L253


[Bug]: UserLocation Componente isn't working

Mapbox Implementation
Mapbox
Mapbox Version
default
Platform
Android
@rnmapbox/maps version
10.0.15
Standalone component to reproduce
import React, {useContext, useEffect, useRef, useState} from 'react';
import Mapbox from '@rnmapbox/maps';
import {
  Alert,
  Dimensions,
  FlatList,
  Image,
  StyleSheet,
  Text,
  View,
} from 'react-native';
import {TouchableOpacity} from 'react-native';
//import Geolocation from 'react-native-geolocation-service'; -> library I have used, placing here if have some incompatibility

const accessToken = 'KEY_NAME';
Mapbox.setWellKnownTileServer('Mapbox');
Mapbox.setAccessToken(accessToken);

<View>
  <Mapbox.MapView
    preferredFramesPerSecond={120}>
    <Mapbox.Camera
        zoomLevel={10}
    />

    <Mapbox.UserLocation
      visible={true}
      animated={true}
      showsUserHeadingIndicator={true}
      androidRenderMode={'compass'}
    >
    </Mapbox.UserLocation>
  </Mapbox.MapView>
</View>

Observed behavior and steps to reproduce
I attempted to build a Mapbox component for application but encountered an issue with an "invalid displacement" causing the Mapbox component to malfunction. They initially tried to address the problem by using the NativeUserLocation component. However, this solution didn't work as expected.
Upon further investigation, the user realized that the problem lay in the integration of the NativeUserLocation component, which was not properly nested within the Mapbox component. To resolve the issue, they moved the NativeUserLocation component inside the Mapbox component.
This change allowed their application to compile and run. However, a new problem emerged. With the NativeUserLocation component now residing within the Mapbox component, the user had limited access to the parameters of the UserLocation. This limitation resulted from the fact that the NativeUserLocation component provided only two parameters.
In summary, the user restructured their code by placing the NativeUserLocation component inside the Mapbox component, enabling the app to compile and run. However, this change came at the cost of reduced access to UserLocation parameters.
Expected behavior
No response
Notes / preliminary analysis

Additional links and references
No response

@RayanCardoso  sorry I don't really understand the bugerport. Does the issue happen with or without react-native-geolocation-service?

Sound like duplicate of: #2717


Load \includegraphics test image from local

Good idea.  I worry about tests that use the network.


[Bug]: Page.goto returns unexpected spliced response if last page in redirect chain is cached

Bug expectation
Today, we were using Puppeteer to test a page with the following pattern of redirects:

https://site-under-test/ responds 200. It requires authorization and contains a script which invokes window.location.assign('https://auth-provider/authorize?redirect_uri=https://site-under-test') on load
https://auth-provider/authorize responds with a 302 redirect back to https://site-under-test#code=123
https://site-under-test/ responds 200 with the same content as the first time. This time, its auth script sees the #code fragment and does not do any further redirects

In this scenario, we asked Puppeteer is asked to perform
const response = await page.goto('https://site-under-test/', { waitUntil: 'networkidle2' });

...and wanted to test some properties of the response.
The documented behavior of Page.goto's return value in the case of redirects is:

Promise which resolves to the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect.

I wasn't sure exactly what the expected behavior should be here; this reads a bit ambiguously to me. My initial reading of this would be that it should probably resolve with a response representing step 3 above, but I could imagine someone interpreting the docs to mean that it ought to resolve with the response from step 2, and I could also imagine this being intended only to cover 30X redirects and not script-based redirects.
If https://site-under-test/'s response does not allow caching, you consistently receive the response from step 3 above, which seems reasonable and is within expectations.
However, if https://site-under-test/ allows caching, the actual behavior is very confusing; you end up with a response which splices together attributes of the responses from step 2 and step 3. Specifically, the resulting response has:

fromCache() === true, url(), and text() from step 3
status() === 302 and headers() from step 2 (!!)

The self-contained repro below:

Starts a localhost server that implements the pattern described above (http://localhost:3000/ is cached and does a script-redirect to http://localhost:3000/redirect, which does a 302 redirect to http://localhost:3000/#from-redirect)
A minimal puppeteer script that performs await page.goto('http://localhost:3000/') and dumps the resulting response to the console
Leaves the test server running in case you'd like to verify the request/response pattern manually afterwards

The original motivating issue is https://github.com/microsoft/accessibility-insights-service/issues/2413, though the specific original motivating site is internal-only and redacted from the issue. The original motivating case was using an older version of Puppeteer (18.1.0), but I've verified that the minimal repro below still reproduces the issue in the current version as of writing (19.8.3).
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
// REPRO SETTINGS
const enableCache = true; // Issue repros iff this is true
const keepAliveAfterTest = false; // set to true to leave test server up afterwards for manual testing
const port = 3000;

// REPRO IMPL
const util = require('node:util');
const http = require('node:http');

let browserLauncher = require('puppeteer');
let waitUntil = 'networkidle2';

const server = http.createServer((req, res) => {
    if (req.url === '/redirect') {
        res.setHeader('Location', `http://localhost:${port}/#from-redirect`)
        res.writeHead(302);
        res.end();
        return;
    } else {
        res.setHeader("Content-Type", "text/html; charset=utf-8");
        if (enableCache) {
            res.setHeader('Cache-Control', 'max-age=5');
        }
        res.writeHead(200);
        res.end(`
        <!DOCTYPE html>

Inside index.html

Haven't yet detected redirect...

        `);
    }
});

server.listen(port, 'localhost', async () => {
    console.log(`Server listening on port ${port}, starting test`);

    const browser = await browserLauncher.launch({ headless: false });
    const page = await browser.newPage();

    console.log(`await page.goto('http://localhost:${port}/')`)
    const response = await page.goto(`http://localhost:${port}/`, { waitUntil });

    console.log('Return value of page.goto:')
    const request = response.request();
    responseDebugInfo = {
        url: response.url(),
        status: response.status(),
        statusText: response.statusText(),
        headers: response.headers(),
        redirectChainUrls: request.redirectChain?.()?.map(req => req.url()) ?? undefined,
        fromCache: response.fromCache?.(),
        text: await response.text()
    };
    console.log(util.inspect(responseDebugInfo));
    await browser.close();

    const actualResponseStatus = response.status();
    console.log(`The actual final response should have been a 200, was: ${response.status()}`);

    if (keepAliveAfterTest) {
        console.log(`Leaving test server running at http://localhost:${port} for manual testing, Ctrl+C to exit`);
    } else {
        server.close(() => {
            if (actualResponseStatus !== 200) {
                throw new Error(`The actual final response should have been a 200, was: ${actualResponseStatus}`);
            }
        });
    }
});

Error string
The actual final response should have been a 200, was: 302
Puppeteer configuration

Puppeteer version
19.8.3
Node version
18.15.0
Package manager
yarn
Package manager version
1.22.19
Operating system
Windows

So your flow is a little awkward. To be precise about what we mean by "redirect", we mean server redirects, i.e. you send a GET request to some-site.com and you receive a 302 response. Your example is a client-side redirect since the original request is some-site.com and you receive a 200, but then your JS code triggers a redirect.
Client-side redirects are pretty much impossible to detect from within Puppeteer since we would never know when your JS code triggers it redirect. For example, the redirect can occur 1 minute later. In theory, we can maybe have a waitForUrl that waits for some subset of the URL to match your desired one, but it'd be difficult to get the specific request. Perhaps a combination of request interception and a waitForUrl may work. WDYT?

I think it would be reasonable for Puppeteer to not attempt to include client-side redirects as part of Page.goto's output - this is essentially what Playwright already does, for example (it returns the response from step 1 in the listed scenario). Mostly, what I want as a user is for Puppeteer's behavior to be consistent and clearly documented.
But I want to be clear that that's orthogonal to the bug this issue is tracking; I used a client-side redirect because it's involved in the motivating case, but you get the same sort of incorrectly-spliced response if you do the following pattern with no client-side redirect involved:

page.goto('https://site-under-test/') such that it becomes cached. This time, it performs no client-side redirect.
page.goto('https://redirecting-site'), which responds with a 302 back to https://site-under-test
The browser follows the 302 and uses the cached response from step 1.

In this scenario, the goto from step 2 still returns a spliced response with the text() of the cached https://site-under-test response but the status() of the 302 response.

It sounds more like a bug to me too. IIRC the current behaviour expects the client-side redirects to be considered in page.goto as well but the mix up with responses sounds like a bug.

So if I read CDP logs right, there are 3 CDP responses detected with the following statuses: 200, 302, 302 and two requestIds with the last two requests sharing the same request ID. It looks like the last response should be status 200 as it should be the cached response from the first request. We do receive an extra Network.responseReceivedExtraInfo event with the status 302 from the browser though. So it looks like the bug might be upstream or we would need to work around that.

Possibly-related upstream bug which Playwright's network manager references: https://bugs.chromium.org/p/chromium/issues/detail?id=1340398


[core] 0 is used instead of null

Checks before report

[+] check latest unstable build (maybe issue already fixed)
[+] search existing issues by exception message
(for example JadxRuntimeException: Can't find immediate dominator for block)
[+] check Troubleshooting Q&A section on wiki

Describe error
Failing code in file com/paypal/android/p2pmobile/onboarding/fragments/NewOnboardingBaseFragment.java
    /* JADX WARNING: type inference failed for: r3v0, types: [java.util.List, java.util.List<com.paypal.android.foundation.onboarding.model.ComponentItem>] */
    /* access modifiers changed from: protected */
    /* JADX WARNING: Unknown variable types count: 1 */
    public void<EMAIL_ADDRESS>java.util.List<com.paypal.android.foundation.onboarding.model.ComponentItem> r3, com.paypal.android.p2pmobile.onboarding.components.IComponentCallbackListener iComponentCallbackListener) {
        if (r3 != 0 || !r3.isEmpty()) {

APK: https://drive.google.com/file/d/1CSo_sZ71WsM3WvGw2VzG7xnkqpUO3GSJ/view?usp=sharing

@sergey-wowwow thank you it was a really nasty bug :)

Thanks, always welcome :D


Support for GE Profile 2-in-1 washer/dryer (PFQ97HSPVDS)?

Does this HA integration work with GE Profile 2-in-1 washer and dryer units like the PFQ97HSPVDS? I see on the readme it mentions "Laundry (Washer/Dryer)" so I'm assuming it does? But not sure if a combo unit would report in differently?
I don't have one of these units yet, but if I were to get one, I'm trying to do research as to if HA would be able to communicate with it.

@StephenShamakian I have a unit I got today and I'm preparing to test it. I'll try to report back.

It appears to work and shows up like this with its default configuration. It has different elements for the washer and dryer. I have not tested it extensively yet, but I am trying to build a notification system to notify different roommates when their own laundry is done.

It appears to work and shows up like this with its default configuration. It has different elements for the washer and dryer. I have not tested it extensively yet, but I am trying to build a notification system to notify different roommates when their own laundry is done.

Great news! Thanks for confirming those details for me!


New guidelines for clone location

This guide has three parts and was written as we got several questions on the topic. The three parts are:

What is a good location
How does one move a clone
Why not synced folders

I agree with your points about switching method 1 and 2 around. I will wait for you to read my reply to the one unresolved comment before switching them around.

I think that was this comment: https://github.com/worldbank/dime-github-trainings/pull/20#discussion_r781857285 But it is now resolved so lets merge this


Add FQDN entropy

Based on a char distribution generated from the Cisco Umbrella 1 million, calculate the relative entropy of a FQDN

added in tag v2.1.0


New design element: trampoline lanes

As seen in http://chattanoogabystander.com/2014/01/12/trampoline-lane-proposed-for-downtown-streets/

I'm closing this due to low priority. Although I think trampoline lanes would still be hilarious. :-) Should re-open for consideration when design elements can be added easily / managed in the UI when there's a lot of them.


How is :ElmTest supposed to work?

First off, the case where you run :ElmTest without arguments. “If no file is given it attempts to run the tests in 'Test[filename].elm'”. That seems to be implemented as "Test" . expand("%"). :help expand() says that % means “current file name”. I’m not a vim expert, but as far as I understand “current file path” would be more accurate. If I run :echo expand("%") in vim, it seems like paths relative to :pwd are returned, such as Main.elm or src/Foo.elm. gvim seems to output absolute paths, such as /home/lydell/elm-foo/Main.elm. So I think the code should be something like expand("%:h") . "/Test" . expand("%") (see :help expand() for more information on what :h and :t does).

Secondly, I’m quite new to elm-test. elm-test init creates a src/ directory and a tests/ directory. Seems like the suggested way of organizing things is to put source files and tests in different directories. Also, it is not quite clear to me how to split your tests up into several files, since you point elm-test to a “runner” file, not the file where the actual tests are written.
:ElmTest seems to suggest that if you create a file Foo.elm, you should create a file TestFoo.elm next to it (as opposed to into a separate tests/ directory), and put unit tests for Foo.elm in there. But what about the “runner” file?
For now, I ignore :ElmTest and run my entire test suite using elm-test on the command line whenever I want to run tests, because I don’t understand the use case for :ElmTest. Mind clarifying? :)

Thanks for the question and insight! The :ElmTest command was added quite a long time ago, and the tooling has evolved since then. The elm-vim testing code clearly needs a revamp, and I will use this issue to track.

For now :ElmTest will run elm-test on the file you are editing if it contains a consoleRunner, or it will run without arguments in your root project, which automatically runs elm-test tests/TestRunner.elm. This will be improved and refined in time, but it is a start. Happy coding!
Fixed in a36c81c3625dae59b2c738521e82facc52d40893.


Releasing commit "Multiple months" to npm?

Hi, when are you planning to release your last commit "Multiple months" to npm?
Best regards

@DevelGitH within the next few days. :)

Alright thank you :)

any plan for multiple month? 18 days passed away :D

@mammad2c I know, I've just been extremely busy + with such a big feature some more testing is necessary. Should be out in a few days

thank you, can I help to fix bugs? I translated the flatpickr to solar calendar system for iranians. you could see a demo here :
http://mammad2c.com/flatpicker/.
But I am waiting for multiple month feature for launch the hijri calendar too. :)
your calendar is so so so awesome.
good luck :)

Guys, is hijri calendar supported now?

@chmln: Any news? I would love to have current + 2 further months shown at the same time for the user to pick from.


panic: dial tcp <IP_ADDRESS>:3306 and

In my 8080:/home,i have the question.
Loading your local environment...
Loading is taking longer than expected. Check stdout, or the system logs at /var/log for error messages. You can restart your server with the environment variable LOCAL_RESTORE=true to regain access if you're unable to login.

when i run docker logs wandb-local
Bucket created successfully local/local-files.
Successfully added arn:minio:sqs:wandb-local:_:redis
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*migrateCommander).MainCmd(0xc000efa950, {0xc000f3a220, 0x2, 0x2})
/mnt/ramdisk/core/services/gorilla/cmd/migrate.go:88 +0x9b4
main.main()
/mnt/ramdisk/core/services/gorilla/cmd/megabinary/main.go:57 +0x227
*** Setting up mysql database...
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*migrateCommander).MainCmd(0xc0004ea1a0, {0xc0000b6220, 0x2, 0x2})
/mnt/ramdisk/core/services/gorilla/cmd/migrate.go:88 +0x9b4
main.main()
/mnt/ramdisk/core/services/gorilla/cmd/megabinary/main.go:57 +0x227
*** Setting up mysql database...
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*migrateCommander).MainCmd(0xc000cfaa00, {0xc000d322a0, 0x2, 0x2})
/mnt/ramdisk/core/services/gorilla/cmd/migrate.go:88 +0x9b4
main.main()
/mnt/ramdisk/core/services/gorilla/cmd/megabinary/main.go:57 +0x227
*** Setting up mysql database...
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*migrateCommander).MainCmd(0xc000d12a10, {0xc000d2a2a0, 0x2, 0x2})
/mnt/ramdisk/core/services/gorilla/cmd/migrate.go:88 +0x9b4
main.main()
/mnt/ramdisk/core/services/gorilla/cmd/megabinary/main.go:57 +0x227
*** Setting up mysql database...
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*migrateCommander).MainCmd(0xc000e169e0, {0xc000e107c0, 0x2, 0x2})
/mnt/ramdisk/core/services/gorilla/cmd/migrate.go:88 +0x9b4
main.main()
/mnt/ramdisk/core/services/gorilla/cmd/megabinary/main.go:57 +0x227
*** Setting up mysql database...
*** Migrating database...
panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused

so i run the docker exec -it wandb-local cat /var/log/mysql.log
it tell me mysql has died.
information that should help you find out what is causing the crash.
2022-11-11T13:18:18.427852Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-11-11T13:18:18.431415Z 0 [Note] mysqld (mysqld 5.7.40) starting as process 2658 ...
2022-11-11T13:18:18.433868Z 0 [ERROR] Failed to create timer notify thread (errno= 1).
2022-11-11T13:18:18.433885Z 0 [ERROR] Failed to initialize timer component (errno 1).
2022-11-11T13:18:18.436648Z 0 [Note] InnoDB: PUNCH HOLE support available
2022-11-11T13:18:18.436684Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-11-11T13:18:18.436692Z 0 [Note] InnoDB: Uses event mutexes
2022-11-11T13:18:18.436699Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2022-11-11T13:18:18.436705Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.12
2022-11-11T13:18:18.436712Z 0 [Note] InnoDB: Using Linux native AIO
2022-11-11T13:18:18.437377Z 0 [Note] InnoDB: Number of pools: 1
2022-11-11T13:18:18.437548Z 0 [Note] InnoDB: Using CPU crc32 instructions
2022-11-11T13:18:18.440186Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2022-11-11T13:18:18.453278Z 0 [Note] InnoDB: Completed initialization of buffer pool
2022-11-11T13:18:18.457008Z 0 [ERROR] [FATAL] InnoDB: pthread_create returned 1
2022-11-11 13:18:18 0x7f2c35656740  InnoDB: Assertion failure in thread<PHONE_NUMBER>26592 in file ut0ut.cc line 921
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:18:18 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.
key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_threads=500
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 206887 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0 thread_stack 0x40000
mysqld(my_print_stacktrace+0x3b)[0x55dbfcee071b]
mysqld(handle_fatal_signal+0x377)[0x55dbfc76b907]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f2c3569d520]
/lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7f2c356f1a7c]
/lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7f2c3569d476]
/lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7f2c356837f3]
mysqld(+0x6b0adc)[0x55dbfc741adc]
mysqld(_ZN2ib5fatalD1Ev+0x66)[0x55dbfd28f406]
mysqld(_Z21os_thread_create_funcPFPvS_ES_Pm+0x257)[0x55dbfd17dc57]
mysqld(_Z34innobase_start_or_create_for_mysqlv+0x1c7a)[0x55dbfd236b4a]
mysqld(+0x106e9ad)[0x55dbfd0ff9ad]
mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x4f)[0x55dbfc7c05af]
mysqld(+0xc20ee5)[0x55dbfccb1ee5]
mysqld(_Z40plugin_register_builtin_and_init_core_sePiPPc+0x1e5)[0x55dbfccb5405]
mysqld(+0x6d4960)[0x55dbfc765960]
mysqld(_Z11mysqld_mainiPPc+0x79e)[0x55dbfc76702e]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f2c35684d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f2c35684e40]
mysqld(_start+0x2a)[0x55dbfc75b5ea]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

ok, when i use the https://docs.wandb.ai/guides/self-hosted/setup/on-premise-baremetal#mysql-database
it show:
!! Invalid MySQL database settings -- the instance cannot start. Please change the settings with envrionment variables, or start the container with the LOCAL_RESTORE environment variable set to "true".
!!! Errors are:
!!! - dial tcp <IP_ADDRESS>:3306: connect: connection refused
!!! Failed to load settings. If this issue persists, please contact<EMAIL_ADDRESS>*** Booting runit daemon...
*** Runit started as PID 46

Well, I've solved the problem.
I tried to use wandb local on my Windows computer, and it worked successfully.
So I guess it's the Docker version.
So I uninstalled Docker on my Ubuntu computer
Downloaded the latest version of Docker.


GORM example shall include the otel configuration. For Log, Provider etc.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

cc @ViolaPioggia

refer to https://github.com/cloudwego/biz-demo/tree/main/easy_note  and whether or not to integrate obs in the gorm example is optional, don't see the need to add it, refer to biz-demo


Is there any callback for phantomjs crash or exit in the js

hi, i want to save something into file while phantomjs crash or exit, Is there any callback for phantomjs crash or exit in the js?

A proper onExit handler that is not dependent on phantom.exit() would be really nice. Can this be reopened or should I just add a new issue?

@JamesMGreene seems like onClosing isn't being triggered in some cases.


Avoid nuking the root directory when running make clean

Both build/ and dist/ do not necessarily exist when make is run, setting their respective variables BUILDDIR and DISTDIR to empty strings. When invoking the clean target, it effectively executes rm -rf /*.
Steps to reproduce
$ cd /tmp
$ git clone https://github.com/stjude/fqlib.git
$ cd fqlib
$ make --dry-run clean
rm -rf /tmp/fqlib/fqlib/*.c /tmp/fqlib/fqlib/*.cpp /tmp/fqlib/fqlib/*.html /tmp/fqlib/fqlib/*.so /tmp/fqlib/fqlib/__pycache__ /* /*

Note the final two arguments in the output.

Agree that not rimraf-ing / is a feature. Just submit a pull.


One does not simply try to retrieve operations when the password is undefined

On Cozy, when the platform has restarted, if the user hasn't logged in, the password is still encrypted and the data system seems to return undefined as the password. In that case, we should not trigger automatic operations updates.

Confirmed by poupotte on irc. There might also be a field _passwordStillEncrypted set to true, in the most recent versions of the data system.


Removed exportTrippleloader function

closes #2345

@thadguidry Please review this PR and suggest if anything else was also supposed to be done or checked. Thank you. :smile:

@darecoder1999 Nope, looks like you got it!


Escape hyphens for PCRE2 compatibility

PHP 7.3 use PCRE2 which strict that the hyphen needs to be moved to the end, or escaped for this to work.
Fix #22

Solved in #24


Some minor additions for testing CHYT

main / 🐍[pytest][ext_public]lib/dl_connector_bitrix_gds:ext (pull_request_target) Failing - failing on main


changed gestation period; other minor startup patches

I rule and have completed some work on Case Manager that's ready for review!
Changed gestation period from 30w to 40w (& learned how to run unit test!)
This pull request makes the following changes:

Changes week max value
Adjusts tests
Made some changes to startup systems per @lomky's recommendations

It relates to the following issue #s:

Fixes #2038

For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

Separating into two separate pull requests


Review and update copy for locale selector

larahanlon created the following on Sep 30:
User story
As an ibm.com user, I need a way to know when and why I am leaving my preferred language so that I can make a decision about my language of choice as I continue.
Notes
See final design specs #1520
Tasts

[x] Lara to share locale designs with Jim
[x] Jim to review copy across all locale touchpoints
[x] Jim to make recommendations for copy edits/additions
[ ] Lara and Jim to document and provide to dev

Deliverables

[ ] Proposed copy changes or additions for locale selector experience

Acceptance Criteria

[ ] Mary O' Donnell reviews copy changes
[ ] Linda reviews copy changes
[ ] Jeff & dev team accepts copy changes

Original issue: https://github.ibm.com/webstandards/digital-design/issues/1789

On Sep 30, jamespistilli commented:
@larahanlon Will review and circle back

On Sep 30, larahanlon commented:
PDF of design specs. Please refer to copy on pages 1, 3, 16, 20 in particular.
ibmdotcom--locale-selector--SPECS-ENG.pdf

On Oct 03, jamespistilli commented:
First draft sent to @larahanlon on 10.3 (Box links below here)
https://ibm.box.com/s/rw41g18q7nif2bm3ay681iyu6vedf97w
https://ibm.box.com/s/fpecp5ymozrpb01zure6l8m3r4h26i2j

On Oct 03, larahanlon commented:
Thank you @jamespistilli

This was complete multiple sprints ago. Linked to #501 which is complete. Will close.


Add symbolic tests with Halmos

This adds symbolic tests using Halmos.  (This post explains more about the benefit of symbolic testing.)
The tested (or verified) properties for mint(), burn(), and transfer() are:

They revert for invalid inputs (e.g., minting zero quantity; minting or transferring to zero address; burning or transferring non-existing tokens or without approvals; etc.)
Only mint() updates nextTokenId, and it does so properly.
They update the token balance and ownership properly for relevant users.
They never alters the token balance and ownership for irrelevant users.

Note:

The tests currently need to refer to private functions and storage variables to describe the above properties, thus running these tests requires temporarily change their visibility from private to internal during testing. This is currently handled in the CI, but may need more scripting to be run locally.
Running these symbolic tests is added in the CI, but it currently takes >30min in the Github Actions (~15min in my laptop), so it may be considered to trigger it less frequently, if time is an issue. The running time can be improved later once Halmos supports utilizing multiple cores.

The newly added CI workflow result can be seen here:
https://github.com/daejunpark/ERC721A/actions/runs/4080277566/jobs/7032573215


Tokenizing differs between systems

So my Linux and Mac test rigs are producing different outputs for the same (current master branch) version of SILE. The notable difference seems to be that tokening is happening differently at transitions between scripts.
For example when testing tests/arabic-scripts.sil on Linux I get:
T       640 778 905     (ههه)

…while the same test on Mac produces:
T  640 778 905 36  (ههه;)

Both systems claim to have packages installed for icu-55.1.
See also #152.

Obviously one is wrong, so we will fix this, but could you check the output of configure on the Mac - is it picking up the icu library? It's keg-only on Homebrew so you have to do environment gymnastics to make it available to pkg-config.

Looks like that may be the culprit:

checking for ICU... no

As if our situation with Howebrew wasn't complicated enough.
Incidentally Travis is giving results similar to what I'm seeing on the Mac rather than my local Linux rig.

I think I basically don't care about this. ICU gives complete support for folks that want that and SILE has built-in support for most stuff that works well enough, and if we had code which did everything that ICU does, there'd be no point supporting ICU.

I follow the logic in that, but the non deterministic behavior bothers me. What happens when I prepare a document and send it to somebody else and they get a different result. I say "It works for me" and they are left floundering until we figure out that they didn't compile with ICU. Not so cool.
What if there was a way to either detect situations where this would make a different and throw a warning or to tag requirements in the document (i.e. a command that requires: graphite, icu, etc.) so that they would trip an error on systems without those features?

At the moment the ICU/non-ICU output is visually compatible, and in fact I think libtexpdf will generate the same output because of the way that set_string maintains state and keeps the same PDF text operator open where possible for subsequent calls. Graphite is a bit trickier because when you need it, you really need it, and it will be visually incompatible. It also happens down within Harfbuzz, so isn't directly controllable by SILE. I can't imagine a command that requires Graphite/ICU - it'll just shape things different (better) if they are present.
I think the best I can do is add more code to --debug=versions to show whether ICU/graphite/etc. are being used. This is becoming our standard way of picking up this kind of thing: e.g. font version differences (which would have the same problem you outline - different output from the same document).


When will your dataset release?

The dataset will be released once approved. As for the timing... that depends on the company.


generalize template creation

Resolves #9
Resolves #7

You should update the readme with instructions for how people can install the templates.

When you use the system template the prompt includes an extra colon.


have a method can transfer body ( ews getitem/exportitem) to pst file?

have a method can transfer body ( ews get item) to pst file?

I don't understand your question.
You can get the message body like this (from the example):
for _, message := range messages {
	body, err := message.GetBody(&pstFile, formatType, encryptionType)

	if err != nil {
		fmt.Printf("Failed to get message body: %s", err)
		continue
	}

	fmt.Printf("Message body: %s", body)
}

Or the GetBodyHTML method.

I want to write a pst file.EWS has the method 'export item'.I want to write a pst file from the body of export item.Is there a method?

This library is only for reading PST files, not creating PST files.
I haven't heard of EWS until now but I can see what you are referring to.
I do not know of a method to create a PST file from a GetItem operation from EWS.
EWS also doesn't support exporting email to a PST because the PST file is an Office file format so in the case
where you do manage to mount the database on Exchange then use https://docs.microsoft.com/en-us/previous-versions/office/exchange-server-2007/bb266964(v=exchg.80)?redirectedfrom=MSDN or
just connect via Outlook and export the Mailbox.
If you want to export (CreateItem operation) this is should be possible in combination with go-pst, as it's just XML, this library seems to do it:
https://github.com/mhewedy/ews
https://github.com/mhewedy/ews/blob/master/create_item_test.go

Yes,shell can do it.I have got an idea.I am trying to do it by using windows COM to call method of outlook.Thankyou very much.

No problem, good luck!


Blinds no longer operate from home app (or any app)

Since about Christmas my blinds have ceased to work via Homebridge. At that time I added 2 blinds and updated firmware on all my blinds (I now have 5 blinds in total).
I've reinstalled home bridge multiple times, updated Node.js and anything else I can think of. during startup I have noticed this message:
[4/12/2022, 3:05:51 PM] [SOMA] warning: unsupported platform
[4/12/2022, 3:05:51 PM] [SOMA] bluetooth [DC:A6:32:E6:56:AD] enabled
then the flow of messages for all 5 blinds looks something like this for each blind:
[4/12/2022, 3:06:02 PM] [SOMA] Study Left: Target Position changed from 100% to 0%
[4/12/2022, 3:06:03 PM] [SOMA] Study Left: polling
[4/12/2022, 3:06:04 PM] [SOMA] Study Left: set position from 0 to 100
[4/12/2022, 3:06:04 PM] [SOMA] Study Left: set Position State from 2 to 0
[4/12/2022, 3:06:04 PM] [SOMA] warning: heartbeat 13, drift 479
[4/12/2022, 3:06:06 PM] [SOMA] Study Left: request 4: discoverService motorService
[4/12/2022, 3:06:06 PM] [SOMA] Study Left: warning: request 4: cannot discover service
then these messages:
[4/12/2022, 3:06:22 PM] [SOMA] Study Left: warning: request 7: no response in 15s
[4/12/2022, 3:06:32 PM] [SOMA] Study Left: request 22: motorService: discoverCharacteristic motorCurrentState
[4/12/2022, 3:06:32 PM] [SOMA] Study Left: warning: request 22: no response in 15s
[4/12/2022, 3:06:37 PM] [SOMA] Study Left: request 23: motorService: discoverCharacteristic motorTargetState
[4/12/2022, 3:06:37 PM] [SOMA] Study Left: warning: request 23: no response in 15s
I've run out of ideas at this end. It must have something to do with adding the last 2 blinds but I cant see why that would make the existing blinds unresponsive?

It's a communication problem with the SOMA devices.  I have no idea what’s causing this. Could be related to the radio signal; could be the BLE hardware or stack, could be the Noble BLE library. Could even be a combination of these, making it even harder to diagnose.
You might want to check for radio interference and turn on Homebridge DEBUG mode to check the RSSI levels in de log.
Also, make sure that no other clients (like the SOMA bridge or SOMA app) are connecting to the SOMA devices.

[4/12/2022, 3:05:51 PM] [SOMA] warning: unsupported platform

As I mention in the README, I don't expect running Homebridge SOMA on anything else than a Raspberry Pi with 32-but PiOS to work.  Even on a Pi, it's challenging to get stable BLE communication, see many of the closed issues.


Update cache after adding the repository, not before installing the package

When the repo is added, a update cache is required to be able install Marathon.
When installing/updating Marathon a cache update is not required, as the OS will keep the cache up-to-date.
This prevents  changes when nothing actually changed (not idempotent).
Note that this PR probably conflicts with PR #38, when either one is merged back, I can update the other if required.

I have no idea how this change results in the error of the test build... (something with 'unauthenticated packages')

ps: again the same fix would apply to the 'sister'role ansible-mesos, see (for Debian): https://github.com/AnsibleShipyard/ansible-mesos/blob/master/tasks/Debian.yml

True (and probably for other 'AnsibleShipyard roles' as well?)
I can create a similar PR for ansible-mesos if you like... ;)

I can create a similar PR for ansible-mesos if you like... ;)
👍

@veger rebase please

done

Related: https://github.com/AnsibleShipyard/ansible-mesos/pull/71 ?

@veger  Build fails related: https://github.com/AnsibleShipyard/ansible-mesos/pull/71 ?

Might be the same issue.
When looking at the test output, the repo is already available??
In such cases the OS much be updating it. So, if the repo is added in the image that is used for the travis build, it is not updated when the build starts (which is not normal/usual OS apt behavior).
A better test (IMHO) is to use an image where the repo is not yet available, so adding it is part of the test. Or use a test where the OS keeps the repo up-to-date.

@veger rebase please so we will see which platforms fail and whether this is platform specific, futhermore added -vvv verbosity level on playbook installation.

Neat ! build passed !


Special handling for import paths containing explicit 'vendor'?

It's possible to directly import out of vendor. That is,
import "github.com/sdboyer/gps/vendor"

Doing so would cause errors in PackageTree's extraction methods. A similar issue exists for godep with rewritten imports.
We need general handling for these cases.

This issue was moved to golang/dep#436


Linear Neural Networks

Job d2l-zh/PR-587/2 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-587/

Thanks. @goldmermaid  you may also wish to take a look at those changes


Samsung devices in staging are failing tests consistently

10 devicelab linux/android tests are newly enabled on samsung devices, but both linux18 and linux19 are failing tests consistently:
https://chromium-swarm.appspot.com/bot?id=flutter-devicelab-linux-19
https://chromium-swarm.appspot.com/bot?id=flutter-devicelab-linux-18

.

I believe these samsung bots were initially validated running some devicelab tests. @yusuf-goog do you think you can help check what's happening on these bots?

Yes, I'll take a look at these setups.

linux-18 is showing device is missing, I'll go to the lab and poke at it.
linux-19 seems to be more interesting. The testbed seems to be up and processing tasks.

linux-18,19,20 are now all online.
Unplugged and replugged linux-18.
Also, set screen lock to none.

These tests failed when _getWakefulness. Seems these samsung devices return different values compared to motoG4.
[fullscreen_textfield_perf__e2e_summary] [STDERR] Task failed: Bad state: No element
[fullscreen_textfield_perf__e2e_summary] [STDERR]
[fullscreen_textfield_perf__e2e_summary] [STDERR] Stack trace:
[fullscreen_textfield_perf__e2e_summary] [STDERR] dart:core                                                  Iterable.single
[fullscreen_textfield_perf__e2e_summary] [STDERR] package:flutter_devicelab/framework/devices.dart 508:71    AndroidDevice._getWakefulness
[fullscreen_textfield_perf__e2e_summary] [STDERR] ===== asynchronous gap ===========================
[fullscreen_textfield_perf__e2e_summary] [STDERR] dart:async                                                 _asyncErrorWrapperHelper
[fullscreen_textfield_perf__e2e_summary] [STDERR] package:flutter_devicelab/framework/framework.dart         _TaskRunner._performTask.<fn>
[fullscreen_textfield_perf__e2e_summary] [STDERR] package:stack_trace                                        Chain.capture
[fullscreen_textfield_perf__e2e_summary] [STDERR] package:flutter_devicelab/framework/framework.dart 272:11  _TaskRunner._performTask
[fullscreen_textfield_perf__e2e_summary] [STDERR] package:flutter_devicelab/framework/framework.dart 167:43  _TaskRunner.run
[fullscreen_textfield_perf__e2e_summary] [STDERR]
[fullscreen_textfield_perf__e2e_summary] [STDERR] Task failed: Bad state: No element


cursor is always move

even when drawing, the cursor seems struck on move

at least, on the website demo.

Er, this happened once, and then never again. Not reproducable.


DisplayGrid & trailing whitespace

Some text editor (Atom, and maybe sublim text) have an option to automatically strip trailing whitespace at the end of a line.
This can cause displayGrid's tests to be modified (no ending space) without intent.
Is there a way to handle this ?

Maybe using normalize whitespace option of the doctest module.
https://docs.python.org/2/library/doctest.html#doctest.NORMALIZE_WHITESPACE


Dev

Codecov Report

Merging #33 into master will increase coverage by 0.09%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   82.06%   82.15%   +0.09%
==========================================
  Files          16       18       +2
  Lines        2046     2079      +33
==========================================
+ Hits         1679     1708      +29
- Misses        367      371       +4

Impacted Files
Coverage Δ

src/descriptives.jl
90.33% <ø> (-0.05%)
:arrow_down:

src/ClinicalTrialUtilities.jl
100% <ø> (ø)
:arrow_up:

src/deprecated.jl
10.46% <ø> (ø)
:arrow_up:

src/utilities.jl
100% <100%> (ø)
:arrow_up:

src/sim.jl
100% <100%> (ø)
:arrow_up:

src/samplesize.jl
98.93% <100%> (+1.35%)
:arrow_up:

src/dataset.jl
33.33% <33.33%> (ø)

src/pk.jl
76.26% <4.76%> (+0.52%)
:arrow_up:

src/proportion.jl
80% <80%> (ø)

src/show.jl
70.27% <0%> (-2.71%)
:arrow_down:

... and 4 more

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 1a6d85c...b5f6d0b. Read the comment docs.


Add an auto-posing (position & orientation) functionality for adding new atoms.

Place the newly added atom at approximate equilibrium distance and equilibrium bond-angle. Dihedral angle trans (like in normal cubic diamond) or cis (like in exotic hexagonal diamond). Other software (e.g. Samson) provides at least the latter.
Why would this be helpful? This would allow for assembling structures with a higher number of manual addition operations before the next energy minimization run becomes necessary.
Priority: high
Labels: feature-request

Thank you, it seems like a good feature, adding to our backlog

PR has been merged, saydly the train for the next release has passed. There's no estimated time for a next release, sadly...