Load testing GA RLC #2

Packages impacted by this PR
@azure-rest/load-testing
Issues associated with this PR
Describe the problem that is addressed by this PR
Updated ChangeLog Release date
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


test

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a519a97). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage          ?   73.72%
=========================================
  Files             ?        9
  Lines             ?      392
  Branches          ?       31
=========================================
  Hits              ?      289
  Misses            ?      103
  Partials          ?        0

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 a519a97...ad39552. Read the comment docs.


[RFC] kw_only python 2 backport

Hello!
Thank you for bringing an awesome package and supporting Python 2 in 2020!
In my experience I find kw_only attributes really addictive, as they allow to inherit from classes ignoring attributes with defaults. Unfortunately, they don't work on Python 2, so it's actually impossible to write some compatible code.
Even writing __init__ by hand:
@attr.s(kw_only=not PY2)
class Base(object):
    kw_only1 = attr.ib(default=None)
    kw_only2 = attr.ib(default=42)

@attr.s(init=not PY2)
class Child(Base):
    attr1 = attr.ib()
    attr2 = attr.ib()

    if PY2:
        def __init__(self, attr1, attr2, **kwargs):
            super(Child, self).__init__(**kwargs)
            self.attr1, self.attr2 = attr1, attr2

Will fail, as attrs disallows mandatory attributes after an attribute with a default value or factory. Even this non-working code snippet seems as boilerplate, so in this PR I propose a backport of kw_only attr.ib to Python 2.
There are four approaches to implementation that I've tested:

Just move kw_only attributes to the end of __init__. It's the fastest approach, on my benckmark (3 positional args, 3 kw_only args) it's about ~100ns for argument parsing. However, it doesn't allow kw_only attributes without default values and also doesn't make them real kw_only.
Pop from a dictionary of kwargs. This is the slowest approach with a somewhat-reasonable error message, ~400ns for argument parsing.
On every __init__ call create a function that takes kw_only attributes and returns a tuple of unpacked arguments (implemented in this PR). It's slightly faster than previous approach, ~390ns for argument parsing.
Cache that function on class instance - it saves ~40-50ns, giving 340ns. I plan to rewrite this PR to use this approach.

Both approaches with function have error message lacking some information, however it's a default py2 error and the constructor call should be somewhere in the stacktrace.
Is this a desired feature or should it not happen? Should I add some fancy error handling?
P.S. I'm unfamiliar with changelog.d - should I just add an rst file to the dir?
Pull Request Check List
This is just a friendly reminder about the most common mistakes.  Please make sure that you tick all boxes.  But please read our contribution guide at least once, it will save you unnecessary review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing left to do.  If your pull request is a documentation fix or a trivial typo, feel free to delete the whole thing.

[x] Added tests for changed code.
[ ] New features have been added to our Hypothesis testing strategy.
[x] Changes or additions to public APIs are reflected in our type stubs (files ending in .pyi).

[x] ...and used in the stub test file tests/typing_example.py.

[x] Updated documentation for changed code.

[x] New functions/classes have to be added to docs/api.rst by hand.
[x] Changes to the signature of @attr.s() have to be added by hand too.
[x] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.  Find the appropriate next version in our __init__.py file.

[x] Documentation in .rst files is written using semantic newlines.
[x] Changes (and possible deprecations) have news fragments in changelog.d.

If you have any questions to any of the points above, just submit and ask!  This checklist is here to help you, not to deter you from contributing!

I honestly don’t care about the micro-performance on Python 2 since it’s only run on class creation anyways. So I say keep it as simple as possible.
But it looks really gnarly…could you isolate it into a function please (not the much simpler Python 3 path, I don’t want the function call overhead in the common case)?
Speaking of performance: please avoid the usage of str.format if you can. I know attrs is still full of it but it’s slow af and I don’t want it in new code. 🙏
You can find details on changelog.d in our contribution guide: https://www.attrs.org/en/latest/contributing.html#changelog

@hynek thank you for the answer!
As we don't care about performance in this case I rewritten it to poping from dict and added fancy error-handling - now error-message is much closer to python2/python3 native ones for __init__().
Am I correct that this change doesn't need a testing strategy?

@hynek could you please help me with the failing codecov check?
I don't understand, why the coverage decreased. I've added two functions, both are PY2-only and hidden under if PY2:. The only branching depends on presence of default value, but I we have tests for both cases (kw_only with default and kw_only without default).

Thanks, let's hope it doesn't fall apart in production. :)


Shroomloin changes

Describe the addition:
After experience from nether survival and regular gameplay, I feel as if the shroomloins are way too aggressive even for the crimson forest and should be nerfed slightly.
The crimson forest is a dense area due to the trees surrounding the roof of the nether. This makes it difficult to predict if shroomloins are around and may be alerted. Not only is the generation an issue for the shroomloin's functionality, but their detection range is majorly unfair. From experience, the shroomloins may sometimes drop down from a higher ledge when you break a stem or vine. This lets the player collect the ascus bombs for free instead of a player actually challenging them for the reward. Testing its range shows that it can detect a broken vine or stem block up to 30 blocks even with block obstructions. This makes the mobs incredibly irritating to fight when gathering wood, especially if they are on a higher ledge where they can shoot further.
Another issue is how far you need to run from the shroomloins so that they stop chasing you. Even when you leave the biome after irritating them, you get punished further for seemingly no reason. And with the amount that chases a player for breaking one block, along with their tendency to head bash, they become a monstrous case to deal with at all at once.
To create a balance for the shroomloin, I suggest the following changes:

Change their detection range when you break a block (bc dear lord that's the most annoying part about them)
Every block you break that irritates the shroomloin makes one shroom angry (To avoid too many shroomloins attacking at once.)
Weeping vines shouldn't anger shroomloins (Vines are easy to break and can be annoying as a consequence, since a misclick is all that is needed.)
Shroomloins should not chase you from outside the biome (They should keep their aggressive chase range, just not using it to reach the player from outside their dedicated biome.

Additional Context:
There is a bit of an inconsistency with which blocks or items anger a shroomloin. Crimson Stems don't anger the shroomloin, but Crimson Fungus Caps do.
Also, being able to change shroomloins with different mushrooms doesn't fix this issue. Ones that are visible to the player can prevent their anger, but more can still show up thanks to the detection range. They will also still be angry if you change them after breaking the block.

Ok, here I go. The first point, I can get behind. I see how that could easily get annoying. The second point, not as much. I feel that if we reduce the detection range on breaking things we shouldn't also reduce the amount of Shroomloin that get angry. It'll nerf them a bit too much. Your third point will group in with your additional context. I think we should take a look at what blocks anger the Shroomloins and reevaluate it. When I wrote the code for breaking blocks angering them, it was only the small Crimson Fungus things that angered them and that felt fair. I'm not sure who made the change, but I think that needs to be reevaluated. As for your last point, it just doesn't make sense. No other mob stops chasing you when you leave its native biome. Endermen will chase you out of the Warped Forest, Strays and Husks will chase you wherever. The solution, instead, would be to simply reduce the follow range of Shroomloin. That said, they currently use the same follow range as any other Mob, such as Zombies or Skeletons, so there is no reason that should need a reduction. I will visit a couple of these issues with the team and make some decisions about changes and let you know! Thank you for letting us know of your concern!


Refresh containers providers is enabled when no provider is selected

It should be disabled if no providers were selected.

@miq-bot add_label ui, providers/containers, bug
cc @alongoldboim

@dclarizio I can't close the issue, cloud you do it for us? Thanks.


kvstore/allocator: use dedicated token to represent end of prefix

To avoid listing all key and values when performing a list prefix, we
can make usage of a special token to represent the end of a prefix
label. This guarantees whenever we are performing a get operation with
prefix and limit 1 options that the returned key matches the given
prefix queried.
Example of the data stored in etcd:
cilium/state/identities/v1/value/foo=bar;foo=baz;/__CILIUM_SLASH__/<IP_ADDRESS>
hello
cilium/state/identities/v1/value/foo=bar;foo=baz;foo=1;/__CILIUM_SLASH__/<IP_ADDRESS>
world

Performing an operation with prefix for the key
cilium/state/identities/v1/value/foo=bar;foo=baz;/__CILIUM_SLASH__/ is
guarantee to return the value "hello".
The value ;/__CILIUM_SLASH__/ will be considered forbidden as a label
value.
Signed-off-by: André Martins<EMAIL_ADDRESS>

This change is

test-me-please

@aanm What do we do if a pod has a label with such a value? We can't just deny the pod :-)

@aanm What do we do if a pod has a label with such a value? We can't just deny the pod :-)

@tgraf the token is just an idea. It can be whatever we want, the valid regex of a pod label is [a-z0-9A-Z], plus _, - and .. We could use ^, !, or even $ instead of __CILIUM_SLASH__.

I'm not sure it's safe to assume that we will only ever have pod labels as labels for keys. We will support all sorts of metadata in the future. I'd rather encode a length field in the beginning of the key which has to match.


x/website/_content/ref: clarify documentation of go work use -r

Go version
any
Output of go env in your module/workspace:
n/a

What did you do?
The documentation at https://go.dev/ref/mod#go-work-use currently says:

The -r flag searches recursively for modules in the argument directories, and the use command operates as if each of the directories were specified as arguments: namely, use directives will be added for directories that exist, and removed for directories that do not exist.

Which can be taken as "the command will remove directories from the go.work file that weren't found in the recursive tree under the arguments passed to -r"
What did you see happen?
n/a
What did you expect to see?
n/a

Related Issues

Go Modules Reference > Module-aware commands > go work use
Command go > Add modules to workspace file
Command go > Add modules to workspace file
cmd/go: 'go work use -r' fails to remove entries for deleted subdirectories #50959 (closed)
cmd/go: work use . does nothing in non module root #53090
Tutorial: Getting started with multi-module workspaces > Learn more about workspaces

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Okay, so reading "use directives will be added for directories that exist, and removed for directories that do not exist", the subject for both "added" and "removed" seems to me to clearly be "use directives" rather than "directories".
Would "use directives will be added for directories that exist, and they will be removed for directories that do not exist" be more clear?
Or maybe "use directives will be added for directories that exist, and use directives will be removed for directories that do not exist"? It's clunky but it's hard to miss the subject.

I think the mix-up may be on my end; I did not interpret it as "the go tool will remove the actual directories". I was thinking of this scenario:
Suppose I already have a go.work file with a bunch of existing directories in it. Now I want to add some new directories - not related to the existing ones - so I call go work use -r <some-tree>. IIUC, this means that for any directory not in <some-tree>, go work will remove its mention from the go.work file; this is the documented behavior. If the documentation is accurate here, perhaps one just has to be more careful with using the -r mode.

Oh I see. The behavior is that only directories that would be under the tree specified with -r and which do not exist would be removed.
I'm not sure how to rephrase it without making it more awkward. Maybe we can remove the last part of the sentence entirely? "The -r flag searches recursively for modules in the argument directories, and the use command operates as if each of the directories were specified as arguments."
Or maybe "The -r flag searches recursively for modules in the argument directories, and the use command operates as if each of the directories were specified as arguments: namely, use directives will be added for directories that exist, and removed for paths that are under the argument directories but do not exist."

The shorter "The -r flag searches recursively for modules in the argument directories, and the use command operates as if each of the directories were specified as arguments" seems better to me - thanks!


Create style element, all test pass except "create style element"

Describe your problem and how to reproduce it:
Create style element, all test pass except "create style element"
Add a Link to the page with the problem:
https://www.freecodecamp.rocks/learn/responsive-web-design/basic-css/use-css-selectors-to-style-elements
Tell us about your browser and operating system:

Browser Name:
Browser Version:
Operating System:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36.

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

Please add screenshots of the code you are using for the challenge

I can confirm the bug exists on the beta site (freecodecamp.rocks).  This bug was fixed on the master branch 4 days ago.  I tested it locally just now and the same code passes with no issues.
I assume master has not been deployed to the beta site in the last 4 days.
@raisedadead, @Bouncey Can anyone confirm this?  Also, is there a way to maybe put a date/time a the bottom of the beta showing when it was updated, so we can confirm these kinds of issues?

Yes the problem still exists on the beta site and if the problem has been rectified in the master it hasn't been deployed to the beta site.

This appears to no longer be an issue on beta (or production). So I think it's safe to close this. If I'm wrong, go ahead and reopen it.

However, you can see in the image that the test that must have been added to fix this passes with the default seed code. No style element was added, but the test passes. So I am going to create a new issue to resolve that.


Option to strip DEFINER clauses from CREATEs

Does skeema support DDL with the definer statements removed?  Thanks

You can manually write CREATE PROCEDURE and CREATE FUNCTION statements without DEFINER clauses in your *.sql files, and these will work fine in skeema diff / skeema push. However, MySQL interprets these to be the same as if you had included a DEFINER equal to the current user (i.e. the user Skeema is configured to connect as).
Every stored routine inherently has some definer in MySQL. If you wish to manage stored procedures / functions that use a different DEFINER than Skeema's user, SUPER privileges may be necessary for Skeema's user.
Does that answer your question? Or are you interested in stripping out the existing definers when exporting CREATEs to the filesystem via skeema init or skeema pull? That isn't supported yet, but I could see it being a useful feature request if so.

Thanks Evan. That answered my question. I agree that would be a nice future enhancement.  Thanks

Awesome, glad to hear! Converting this issue into a feature request to track: I'd envision this as a strip-definers option which omits DEFINER clauses from the filesystem *.sql files. This can be useful in situations where developers each have their own non-root MySQL user, or in situations where each environment has different administrative users.

Id like to second the request for a "strip-definers" option.  Im attempting to keep 4 different environments in sync and this is my remaining hurdle to being able to use skeema for the process.

I could use this functionality as well.  Looking at source it looks like one could emulate include-auto-inc (ParseCreateAutoInc) to skip any diff of definers as well as to omit from *.sql files.

Part of the complexity is that this would also affect views and triggers, but those aren't supported in the community edition of Skeema. Most likely this feature will be added to the premium products in a few months.
Sorry but it won't be practical to maintain a proc/func-only alternative implementation of this feature just in the open source edition.

I'm happy to announce that the new strip-definer option is now available in today's release of Skeema Premium CLI v1.6.0! When enabled, it removes DEFINER clauses from *.sql files, and ignores them in diff comparisons, for all stored procedures, functions, views, and triggers.
With default value of "auto", definer stripping is enabled automatically whenever Skeema's user does not have SUPER / SET_USER_ID permissions to override definers.
This option is designed to simplify workflows in several different situations:

database-as-a-service platforms (RDS, Cloud SQL, etc) where SUPER privileges are not available
situations where each environment has a different administrative user
companies where developers each have their own non-root MySQL user


Design the Micro Privacy Agreement Object that the Data Usage Agreement references.

The Micro Privacy Agreement is currently a written legal agreement (e.g.: PDF) that the software developer has to interoperate. By treating it as an object with child objects we can convert it into a programmatic configuration object.
Micro Privacy Agreement
-> UID
-> Version
-> Data Life Cycle
----> Collection
----> Use
----> Disclosure
----> Retention
----> Destruction
-> Symbol
----> icon (.png)
-> Legal Document
----> pdf
-> Data Classification
----> confidential, PII, NPPI, PCI, restricted

There could be a module in the PbD SDK that inlcudes all the components used to implement the DUA.
Examples:

(Middleware) Functions to enforce the  agreement in the data life cylce touch points.
UI controls (using icon) : opt in switch, visual DUA management widget)
Confidence rating feature for privacy

See #50


Makes the hero wider so it does not look tiny on larger screens and other minor fixes

It makes the hero wider so it does not look tiny on larger screens, like the footer, and provides more space to the hero.
The Issue
Before this PR

After this PR.

This is mostly to improve how the site looks on larger screens.
Review at https://20241011-bmartinez-header-fo.ddev-com-front-end.pages.dev/

What is a hero?

As I make the width less, it gets ugly,

That's an interesting observation.
However, that seems like the same to me compared to ddev.com.
As far I remember that was the original design for it.
The terminal appears only about 2500px.

This PR mostly switches the brandbar align the items left and right and the footer.

I'm thinking about changing the hero layout but that likely be a different PR.

I note that it's pretty terrible on phone.
Thanks for paying attention, sorry for the distraction!

It's 2560x1080.

I think Tailwind has a different layout, because the logo is not clickable (it's one page site).
And for DDEV we want to have a way to go to the main page from a blog post page.
And with this change, I need to move the mouse far to the left.

I guess we should close this if it doesn't have a future?

Do we know what inspired the current design? Was there Figma or something like it involved or not?
I might close this issue and take another angle at it. Initially, I was going to make the changes incrementally. However, that is challenging as the current design makes some assumptions.
I could start with the interior pages that need work, but we could revamp the homepage and make that carry throughout. Plus with Astro 5 released 2 days ago and tailwind4 coming in it be nice for a refresh.
thoughts? interior pages or homepage redesign?

@mattstein knows :)

Not sure how much help it is, but I cobbled things together roughly looking at Tailwind UI and trying to approximate the previous version of the site without any radical departures. Nothing ever touched Figma because I just started noodling with it wondering what an update might look like and not originally intending to run with it.
My aim was to keep a similar, solid column that the previous site used and I only broke out of it slightly on the homepage for a bit more rhythm and breathing room. The hero graphic/animation was meant to peek out from the side and give a whiff of what DDEV looks like in action rather than be a prominent feature, but that admittedly gets awkward with a wide viewport.
No strong feelings about what this PR is doing, I only wonder what the implications are for the rest of the site since it does conform more strictly to a single, tall column.

Thanks for the feedback Matt! I can relate, "just started noodling" been there done that haha.

If this has a future feel free to reopen or try again, closing for now.


Fixing $exceptionHandler bug

Just wanted to get this PR up since it hadn't been proposed yet. This fixes #483.

Thank you!

@timelf123 any idea when this might get into a release? I'm currently referencing master, but I'd prefer not to. =)

This is in the latest release

@timelf123 - It doesn't look like it. This was merged 7 days ago on June 8, but 1.1.0 was released on June 6 and doesn't include this patch. Repo tags and NPM say 1.1.0 is the latest as of this message.

 Sorry for the confusion. I'll try to cut a release ASAP but no promises on when it will be

This is what happens when you are used to writing in CoffeeScript... (forgot that return there 😞)

Released in https://github.com/angulartics/angulartics/releases/tag/1.1.1

After upgrading from angulartics v1.1.0 to v1.1.1 it has now started causing the Uncaught TypeError: $exceptionHandler is not a function error. I have downgraded back to v1.1.0 and I get the proper errors again. I am using angulartics for piwik and angular v1.5.7.

same for me on 1.1.1. although 1.1.0 also throws $exceptionHandler is not a function.
I opened up a new issue for this (#488).

Thanks guys, this bug was driving me crazy! 1.1.2 is working properly. @atungare


fix(http3): handle streamStateSendAndReceiveClosed in onStreamStateChange

Fixes #4513
This updates the onStreamStateChange to handle the streamStateSendAndReceiveClosed state.
Prior to this, when the client failed to observe this, the datagram previously tracked in the streams map was left behind. This caused the memory leak observed in the issue above. Adding this case causes the entry to be deleted and memory in our project is stable.

Hi @GeorgeMac! Thank you for putting in the effort to debug this! Is there any way to properly test this, either as a unit or an end-to-end test. This seems very subtle, and I'm concerned we'll break this again in the future.
I'm a bit confused about my own code now:

It seems unnecessary to do state tracking in the datagrammer. Since the sendErr and the receiveErr are only set from the outside, it seems like we could just remove the isDone return value on SetReceiveError and SetSendError, right?
I'm wondering if we should replace the onStateChange callback with two callbacks, one for closing the send and one for closing the receive side. This would allow us to get rid of the streamState enum altogether.

What do you think?

Hi @GeorgeMac! Thank you for putting in the effort to debug this! Is there any way to properly test this, either as a unit or an end-to-end test. This seems very subtle, and I'm concerned we'll break this again in the future.
I'm a bit confused about my own code now:
It seems unnecessary to do state tracking in the datagrammer. Since the sendErr and the receiveErr are only set from the outside, it seems like we could just remove the isDone return value on SetReceiveError and SetSendError, right?
I'm wondering if we should replace the onStateChange callback with two callbacks, one for closing the send and one for closing the receive side. This would allow us to get rid of the streamState enum altogether.

What do you think?

I see both of what you're saying there @marten-seemann 👍
Correct me if I am wrong (slowly catching up), the purpose of the state tracking system is twofold:

Free the datagrammer when both send and recv are closed.
Proxy closing of send and receive cancelling / errors from the stream onto the datagrammer (by way of onStateChange triggering Set(Send|Receive)Error)?

What you're suggesting makes sense. Another idea could be to remove the callbacks in favour of a couple interfaces to represent the datagrammer and removal of the datagrammer from the parent connection. Something like:
type streamCloser interface {
  streamClose(quic.StreamID)
}

type sendRecieveError interface {
    SetSendError(error)
    SetRecieveError(error)
}

type stateTrackingStream struct {
    quic.Stream

    sendError error
    receiveError error

    errorer sendRecieveError
    closer streamCloser
}

Where the purpose of the stateTrackingStream becomes to continue proxying, but the moment the pair of send and recv error are non-nil, it calls s.closer.streamClose(s.StreamID()).
streamClose would be implemented on connection and would clean the entry from the map?
Happy to take a stab at this and write tests around it.

Correct me if I am wrong (slowly catching up), the purpose of the state tracking system is twofold:

Free the datagrammer when both send and recv are closed.
Proxy closing of send and receive cancelling / errors from the stream onto the datagrammer (by way of onStateChange triggering Set(Send|Receive)Error)?

Correct!
Your idea works as well. No strong preference either way. I usually find callbacks a tiny bit easier to test, but the difference is quite minimal.

@marten-seemann I pushed up a take on what I described. See what you think. Happy to adjust or go back to callbacks.

Thank you @MarcoPolo 🙏

Thanks for the great feedback!


Mark 2 example journals good for neuroscience as well

Sample PR to see if machinery works to test etc
Test with

[x] added unknown domain

not sure why updating table workflow does not run, but oh well.


Brand Classification using DL

Create a Car Brand Classification Project
Tasks:

Uses Deep learning to detect car brands
I'm assuming to solve this using resnet50( transfer learning ) but let's see how it goes.
Dataset consists of  Images of 3 different brands ( I'll give the dataset  for download in a separate folder)
Add flask backend for web app

It will be added as part of Folder
I'd Like to work on this issue as part of GSSOC-21.

@DARK-art108 if you think this issue is accurate enough, then I can start working.
Thoughts?

@NEERAJAP2001 Go ahead :)


Add responsive handling for iframes

This pull requests adds CSS that will help to make iframes responsive, and helps them to scale while preserving aspect ratio.

Thanks for the PR, but your commits are a mess and just glancing at the changes include things like max-width: 1140px which is just distressing.
Can you cleanup your PR, squash commits, and include only things that 100% of featherlight users will want?

Hey @marcandre, thanks a ton for the input, I'm not super well versed in the realm of PR's so I very much appreciate the feedback and apologize profusely if my commits are a bit of a mess. I'll happily clean those up.
As for the max-width: 1140px; I have put that in there to prevent an iframe from spanning the entire width of the container, which would inevitably be the full width of the browser window. Is there a solution that you think might work better for this scenario? And also is there anything else that you see as unnecessary, I certainly did my best to clean up any of the unnecessary bits from my working example.
Thanks for your work on this plugin as well, I've used it a couple of times and it has proved to work quite well!

@marcandre sorry to be a total pain but I completely botched the history of my commits so I reset my changes to where they were when I initially pulled. I've squashed those commits down into one single commit with all changes. I'd still love to here your thoughts on the max-width issue and see if there's anything else I can do to try to contribute (successfully :wink: ).


feature: Adds a unitless percent unit

Adds support for a percent unit type.
Some review will be needed to make sure I've tested everything worth testing in this regard.
So far, everything seems to 'just work'.

Looks good to me!


Pi Cam V3

Is your feature request related to a problem?
Yes
Description
Is there a version coming that’s compatible with the Pi cam v3 ?
Describe the solution you'd like
Make a version that can be used with Pi cam V3
Describe alternatives you've considered
Pi cam 3 version
Additional context
No response

It's compatible with the command line interface for libcamera tools.
The camera not being detected as webcam is an issue of the Pi Foundation and independent of this project. No Pi Cam can be used for preview from device cam.
To workaround that use the photobooth-app for preview and capture:
https://mgrl.github.io/photobooth-docs/setup/installation/
https://mgrl.github.io/photobooth-docs/reference/photoboothprojectintegration/


Add example with PCA and multiple plots

fix(types): allow Plot to have a single child
docs: add PCA example with iris dataset

https://deploy-preview-38--amazing-kilby-d9c1d7.netlify.app/?path=/story/examples-iris-dataset--pca

This is an example where https://github.com/zakodium/react-plot/issues/34 will be useful, because we don't want to show both axes in every plot.

I'm also kind of hacking the use of a LineSeries to do a scatter plot


atm importing issue

When I run atm/enter_data.py, it pops up this error:
ImportError: No module named atm.config

Hello @beevabeeva
Since the error message is not exactly the same as the one reported in this issue and this one is already closed, would you mind opening a new issue to be able to assist you about this in a cleaner context?
Please report there all the details that you can about your environment and the commands that you executed until you got the error:

Operative System
Python version
virtualenv setup (if any)
installation commands
commands run that provoke the error

Hi @csala ,
thanks for your reply!
I was using Kali (lol) so I'm giving it another go using CentOS 7.
I will open a new issue if the error returns.
thanks


setting video first frame

I am unable to show the first frame of video
i just see the black background with play button

There is no real video in the show, just telling the developer to customize it to suit your needs. Specific you can refer to ZHCVideoMediaItem,ZHCMessageMediaData.

please add video thumbnail, thank you !

Temporarily no time to add too many features in the demo! But you can customize it! You just follow the ZHCMessageMediaData protocol or inherit the ZHCMediaItem custom you need to MediaItem!
You can refer to the friend's needs #22


Intepret wrong date format

Intrepet some wrong date format

what is this about?

some feeds are handmade and the dates are wrong, and when are converted have some error, like 'Fev' to 'Feb', I created the date-helper.js to do that.

Would this include localized dates? Like ２月 for example?

that too, but have mistyped date, like 'Freb' or letters where only can be numbers.


[Feature Request] OSRM integration with traccar

Hi,
We would like to add route between source and destination using OSRM as backend.
Right now it is provided using Leaflet routing machine project.
How to achieve it using traccar ?
Thanks.

It's a completely new functionality that has never been implemented on Traccar, so I don't have the answer to your question.

Ok Sir, Thanks.

Closing this issue.


Add TaskPool memory safety proofs

Add TaskPool memory safety proofs originally written by Adrian Palacios and now rebased against the current master branch.
Review this request one commit at a time. This pull request changes a lot of files, but each commit introduces a single proof at a time. I have verified that the proofs work against the current master.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The proofs in this pull request are works in progress.
We are committing them now because they are correct and have value, and because we want them to keep current with code changes.
But they make assumptions, and in the next pass we will do a better job of extracting the assumptions, stating the assumptions, and making the assumptions as weak as possible (to make the proofs as strong as possible).

I think the windows build check is buggy, I'm going to construct a demonstration to get this fixed.

/bot run checks

/bot run checks


Fix typo and grammer in features/software-catalog/configuration.md

Typos Grammers in Docs
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

@awanlin how can I merge this?


The README does not mention the deprecation of Pelican

Projects are asked to use github actions to build their pelican site. This should be reflected in this README?

I have added a note about the change to the Pelican GHA, and added a link to the Pelican help docs on infra.a.o


node scripts/esbuild.js --minify invalid relative path

Before submitting your bug report

[ ] I believe this is a bug. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that reports the same bug
[ ] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:macOS 14.5 (23F79)
- Continue:
- IDE:
- Model:
- config.json:

Description
No response
To reproduce
No response
Log output
invalid relative path<EMAIL_ADDRESS>

@quany can you share what branch you are working on? This looks like something that might happen if npm install hadn't been run from the core folder first, but it's hard to be sure without knowing a bit more


[BUG] Run/debug single node doesn't work with the chat-with-pdf example

Describe the bug
Run/debug single node doesn't work with the chat-with-pdf example, since it depends on environment variables that was setup in the setup_env step.
How To Reproduce the bug
It's consistent repro:

Open the chat-with-pdf example mentioned in the e2e tutorial with the vscode extension
Follow the tutorial to run the flow successfully
Then try to run a single node, which will fail by complaining a missing environment variable etc.

Expected behavior
Single node run/debug can work. I believe this requires some redesign of the sample but would be nice to leverage the single node debug capability.
Screenshots

Running Information(please complete the following information):

Promptflow Package Version using pf -v: 0.1.0b5
Operating System: macOS 13.5
Python Version using python --version: Python 3.9.17
VS code extension: 1.0.7

Additional context

thanks for the suggestion, the time when you run the whole flow or do bulk test, the setup_env step  will set the environment variable for you in the current python process, while when you just run the single node, the env variable is not set, so the step will fail,  you can either set the open ai key to your system environment variable, and run the single step again.
we have other samples to use the OpenAI connection directly in the step which required OAI key, then you can run that node direclty.


Android-native build broken

I've just found that android-native build is broken in current version.
First there was errors in paths in AndroidExporter in khamake and koremake. I've create pull requests for that.
But after these fixes it still does not work. Now in android-studio project there is no jni folder and no cpp sources at all. And after compiling application fails to start with error:
java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.ktxsoftware.kha/com.ktxsoftware.kore.KoreActivity}: java.lang.IllegalArgumentException: Unable to find native library: kore

I think I fixed it. Can you check?

I will be able to check this only tomorrow...

It still does not work. As far as I can see there are no Kore C++ sources in android project jni folder...

What is your exact khamake call?

First of all I'm on Windows 10 machine, project is just blank project generated by khamake --init. Command line is
node ..\..\..\..\..\Kha\make.js android-native

Aha. Please try again.

Sorry for long answer.
Yes, it's works!


Add direct link to the account usage information

cc @brittag @dlapiduz

Wow, these builds take a loooong time.
https://travis-ci.org/18F/cg-uaa/builds
Merge when green!


Errors unless logged in

You get errors unless you're logged in. Without an auth app, that likely means from the admin. I think it's worth mentioning in the README.

Ah, you're right.  I added the login_required decorator to all the CreateView, UpdateView, and DeleteView classes because I've never personally built an app where you could create, update or delete without being logged in.  But I can definitely imagine scenarios where that would be the case.  I think ideally I'd make this decorator optional.  Until then, I've updated the README per your recommendation.


Compare Freyja outputs with Gromstole

It's getting too difficult to keep up with all the new lineages we're being asked to track.  The most sustainable solution would be to just switch to using Freyja (https://github.com/andersen-lab/Freyja).  To do this, we should check that lineage frequency estimates are concordant.

From manual analysis of discordant samples by @Abayomi-Olabode it looks like the issue is related to wide confidence intervals in Gromstole estimates, as well as issues with coverage.

generate a plot of frequency estimates and link point size and colour to width of confidence interval, making NA points smallest and reddest
characterize differences among labs in coverage, why is discordance predominantly affecting one lab?


Smart punctuation cannot be escaped in special cases

By smart punctuation (what common-mark calls it in its dingus), I mean typographer option.

\" does nothing (yields ", beautified)
\(c) still yields ©.. same for (tm)

only when the escape char is used for the ending paren, it works: (c\)

\-- still yields en-dash (commonmark yields two dashes)

same as above, if escaping the 2nd dash, it works: -\-

There are probably other cases which don't come to mind.

Yes, smart punctuation can not be escaped, only completely disabled. This has no easy fix (without serious parser rewrite).

Pity. Is there a way to keep typographer but turn off (c)/(tm) (and similar)? Particularly the (c) is precarious, because users are much more likely to write (c) to mean a list item, rather than a copyright logo.

https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js
Replacements rules are separate from quotes fixer. You can disable that plugin, or replace with customized one.


Gen 1 randbats movesets tweaking

prevent counter + reflect (esp. twave/reflect/counter/reflect chansey and possibly clefable/wiggly too) and ice beam + blizzard on the same pokemon (e.g. Lapras would much rather have tbolt/body slam/cray than both ice moves). Articuno still wants both though, and this could probably be extended to other mons (e.g. seadra with both surf and hydro pump).
Also, the superfang condition is completely redundant isn't it?

whoops I missed the parentheses didn't I?

oh wow, it's just that keys isn't defined in randomSet, rip myself I'm just going to close this and stick to replacing moves only lol


When a Yarn 2 installation uses virtual packages, the DllPlugin/DllReferencePlugin doesn't refer to the linked library.

When a Yarn 2 installation uses virtual packages, the DllPlugin/DllReferencePlugin don't pull in the linked library. This is because the virtual package paths are unique even though the refer to the same package.
Bug report

See this repo for a demonstration. It contains 2 webpack builds: dll-lib and lib-user.

dll-lib bundles react-dom and creates a library-manifest.json using the DllPlugin.
lib-user references library-manifest.json using DllReferencePlugin.

What is the current behavior?
react-dom is bundled into lib-user/dist/index.js.
If the current behavior is a bug, please provide the steps to reproduce.
https://github.com/ahum/webpack-dll-yarn-two-virtual-paths-demo

What is the expected behavior?
The bundle in lib-user makes a reference to react-dom in it's bundle by using library-manifest.json in dll-lib.

Other relevant information:
webpack version:  5.0.0-beta.13
Node.js version: 11.10.0
Operating System: Pop_OS! 19.10
Additional tools:

<EMAIL_ADDRESS>

bump

Haven't firgured out the best way to handle, but to clarify what's happening:
package where dll is generated resolves to a given virtual namespace
package where dll is used resolves to a different virtual namespace, thus
require('../4970a0b490...') and
require('../76a393ef8c...') do not match as being the same underlying resolution
I haven't figured out how to have more control over the virtualized fs, more documentation on how this works would be great. Given I can have good control over my dependencies in my repo, ideally I'd be able to say something like "there is no virtual for react-dom; I will guarantee that only one module is installed for the whole repo and I do not want multiple instances instantiated"
Thus it would not be virtualized.

@sokra is it still an issue?


UI - Improve Mobile Responsiveness of Rules

Hi @taineriley1
As per our conversation, some parts of Rules aren't very responsive. The below are my suggestions for improving the mobile view of Rules:

Shrink the Rules logo and user avatar / login button, aligning them at the top of the header as shown below

Lower the size of the breadcrumb's text and lighten the text colour to enforce a visual hierarchy
(Note: i've added a suggestion for shortening the breadcrumb here: https://github.com/SSWConsulting/SSW.Rules/issues/392)

Lower the font size of Rules titles for mobile

Lower the font size and lighten the colour of the "Last edited by" line
(I'd also suggest trying to shorten this text, example shown below)

Keep the buttons arranged horizontally, below the title, and center everything as shown below

Figure: Bad example - header, breadcrumb, and title are killing all the space.

Figure: Good example - Resized + positioned elements use space more efficiently

When viewing a category - reduce the margin / padding of text in the rules to match the category description's spacing (shown below)

Figure: Bad example - Too much white space on sides of rule text (on category pages)

Figure: Good example - Category description text / padding / ideal 30-40 characters per line
(The padding isn't an issue on the individual rule's pages either)
AB#63239

I agree with all suggestions from @jaydenalchin


only force update if mounted

In React's strict mode, each element is rendered twice, the first time to run strict mode's checks. It turns out that this first run through does run the useMemo part of useReactive, but does not call the useEffect. So, when a component is unmounted, the useEffect cleanup function is never run, and if a change is then observed it attempts to forceUpdate the component and throw the error 'Can't perform a React state update on an unmounted component'.
I was not able to reproduce the issue in a jest test, but the following code does when run in a browser.
import React from 'react'
import { render } from 'react-dom'
import { reactive } from '@reactivedata/reactive'
import { useReactive } from '@reactivedata/react'

type Counter = {
  count: number
}

const counter = reactive<Counter>({
  count: 1
})

function Counter () {
  const state = useReactive(counter)
  return
count is {state.count}

}

render(
  <React.StrictMode>
    <Counter />
  </React.StrictMode>,
  document.getElementById('root')
)

// second render unmounts the Counter
render (
  <React.StrictMode />,
  document.getElementById('root')
)

await Promise.resolve()

setTimeout(() => {
  counter.count += 1
}, 0)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 10 (50.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-1.4%) to 87.94%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/reactive-react/src/useReactive.ts
5
10
50.0%

Files with Coverage Reduction
New Missed Lines
%

packages/reactive-react/src/useReactive.ts
1
53.19%

Totals

Change from base Build<PHONE_NUMBER>:
-1.4%

Covered Lines:
242

Relevant Lines:
271

💛  - Coveralls

Thanks for the example and reporting! I've made a small fix and will merge this.
It seems like the component is never fully rendered (rendering is aborted), and therefor the first useEffect is not called. Mobx is dealing with the issue in a similar way: https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/useObserver.ts
(this is slightly different from what I see in the StrictMode docs, from which I would expect just an extra complete useEffect + cleanup call)


Consider switching to experimental IPFS filestore

Requires all IPFS 'adds' to use nocopy arg to work. This feature is really only useful for local adds. Pinned data will still be added to the 'blocks' IPLD store as per usualy. But local adds are left in place, and only references to the actual (photo) data are kept in the filestore. This could provide a drastic reduction in storage space when lots of photos are added locally. Requires serious testing on mobile to ensure it works.
Downside would be that, references to data added locally that gets moved will stop working. So it would potentially require the app to track moved/deleted files, or some other solution.

For reference, to play with this on Desktop for testing, this is the setup I initially used:
export IPFS_PATH=~/.ipfs2
ipfs init --empty-repo
ipfs config --json Experimental.FilestoreEnabled true
ipfs config Addresses.API "/ip4/<IP_ADDRESS>/tcp/5002"
ipfs config Addresses.Gateway "/ip4/<IP_ADDRESS>/tcp/8081"
ipfs daemon

In separate shell
ipfs pin add /ipfs/QmaNPfoeDvQjxBuUw3bFukFBxK9oucSw68sMAofHeedfCH
ipfs add image1.jpeg
ipfs add --nocopy image2.jpeg

prob not a viable option, right?


fix: remove console warnings

Description:
Issue Overview:
As the title says, remove console warnings.
Implementation Steps:

Let's dive in and figure out how to kick those warnings to the curb

Screenshot:

Hi @iZooGooD
I would like to work on this

Hi @iZooGooD
I would like to work on this

Great, you can start on this!

I've run the dev server, Console warning not showing up.
Browser: Firefox developer edition
Screenshot

I've run the dev server, Console warning not showing up.
Browser: Firefox developer edition
Screenshot

These wanning  seems to be from chrome dev tools, can you check in chrome ?

This is from Chrome Browser,
Screenshot

This is from Chrome Browser,

can you select the verbose level from chrome dev tools, its in top right.

Oh okay got it, We've got 2 options here,

We can turn off the autocomplete feature for inputs.
I can follow the process you've followed in Login.jsx

Oh okay got it, We've got 2 options here,

We can turn off the autocomplete feature for inputs.

I can follow the process you've followed in Login.jsx

Options 2 sounds better, this will keep consistency across the entire app.

Okay, I'm on it 🫡

Okay, I'm on it 🫡

Cool!

Done; I've opened a PR; kindly review it.

Thanks @themujahidkhan for the quick changes, I merged your PR.


Clarification expected results in cases with READ_ONLY code for SetInteriorVehicleData(LIGHT)

Question is related to proposal https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0165-rc-lights-more-names-and-status-values.md
Please clarify expected result in the next case:
In case

LightCapabilities value is set with statusAvailable = true by RC.GetCapabilities
Mobile app requests SetInteriorVehicleData with LightName_1 and LightName_2, LightStatus = "RAMP_UP"/"RAMP_DOWN"/"UNKNOWN"/ "INVALID" for LightName_1 and with LightStatus= "ON" for LightName_2

Expected result:
1. SDL processes request successful with only settable parameter LightName_2
2. SDL rejects the request with result code READ_ONLY, and info="The LightStatus enum passed is READ ONLY and cannot be written."
Also please confirm expected result in case

LightCapabilities value is set with statusAvailable = true by RC.GetCapabilities
Mobile app requests SetInteriorVehicleData with LightName_1 and LightStatus = "ON" and current LightStatus  for LightName_1 on HMI is "RAMP_UP"/"RAMP_DOWN"/"UNKNOWN"/ "INVALID"

Expected result:
SDL resends request to HMI and HMI handles this situation - responds with resultCode READ_ONLY

@KhrystynaDubovyk , please be informed about question.

@GetmanetsIrina
the expected result is case 1
2. SDL rejects the request with result code READ_ONLY, and info="The LightStatus enum passed is READ ONLY and cannot be written."
Expected result for case 2
SDL shall not responds with resultCode READ_ONLY, as  LightStatus = "ON" is not a read only value
SDL shall forward request to HMI and HMI handles this situation.

@yang1070, thanks!


[firestore-bigquery-export] change datatype in changelog table from STRING to JSON

What feature would you like to see?
Currently the data-field in the xxx_raw_changelog is of type STRING, but afaik this field always contains JSON data. Since BQ natively supports JSON datatypes it would be great to ship this plugin with a standard datatype JSON.
The old_data-field is also of type STRING, so I guess this should also be shipped by default as JSON.
Did some tests with this new datatype on the actual changelog table and it works seamlessly
Why?
Because it saves us a lot of money (don't have to query the full blob of data) and we want to make use of all native JSON_XX functions.

Thanks @basvandorst
We have a current open PR for this and will be hoping to continue the implementation soon.
https://github.com/firebase/extensions/pull/919


Refactored a few things.

I changed a few things around, let me know what you think!

@mostlybadfly Nice work on this first iteration. Please take a look at our comments and submit another iteration. Let me know if you have any questions.


bug(cli): need to print all the diagnostics and exit with 1 in CI

The current implementation can deny warnings by oxlint --max-warnings 0, but then it'll stop printing anything to the terminal.
ESLint has to manually configure them in a config file, which is against our zero-config philosophy.
Rust has the -D warnings flag for this use case in CIs. I think this should be the right approach for this problem.
So to print all the diagnostics and exit with 1 in CI environments, we should go for
oxlint --deny-warnings

Should also consider the priority.
For oxlint --deny-warnings --allow-some-warning-rule, should not throw warnings for some-warning-rule.


Support routing for SPA web apps

I'm working on a Vue.js single-page web app that will be hosted by the static fileserver and I'd like to suggest an improvement. My Vue.js app uses vue-router to provide routing inside my application and currently I can only use the "hash mode" routing where the URL's hash is used for routing. This is not ideal for SEO and deep linking inside my application. For instance, the basic vue template has routes for:
/      -> index.html -> HomePage.vue
/about -> ...        -> AboutPage.vue

But there is not a file at the /about path so it returns a 404 like it should. For my use case (and this is likely to cover all SPA web apps), it would be awesome if I could configure the fileserver to return the content for index.html with headers to use the browser cache. This would allow the vue-router component to route when the page is re-loaded and I can manually handle any 404 in the UI with a catch all route. See the vue-router docs for more info.
Option 1: URL Rewrites
Looking at other platforms like Netlify and Vercel, it seems like they both support URL re-writes at the file server level. Something like this would allow me to specify the priority in which paths are checked and also create a "fallback" or "catch all" route. Some samples for comparison:
# nginx
location / {
  try_files $uri $uri/ /index.html;
}

# netlify
/* /index.html 200

# vercel
{
  "rewrites": [{ "source": "/:path*", "destination": "/index.html" }]
}

I'm not sure what the best way to express this is for the spin.toml but it seems do-able. This seems like the most complete solution but it also comes with an additional level of complexity.
Option 2: Fallback file
This is the simplest option I can think of that would catch a "file not found" error and instead of returning a 404 it would return a file at some configurable path. Obviously this would have to be opt-in as you don't want to break functionality for existing users but supplying a fallback_route config item and checking for its existence should suffice.
I have tried to solve this with the redirect module but I don't want the window's location to change so I think it needs to be done in the fileserver component unless I'm missing something else, open to any other options or ideas you may have. Thanks!

I've worked up the two options that I discussed above. I'm pretty new to Rust so it may need some careful review if we like either of the paths forward.
Option 1: URL Rewrites
Option 2: Fallback file

I like the URL rewrites approach but, as you note, it would be better to do this in the spin.toml, as environment variables won't travel with the application.  And I think the only place we can fit them in is in the component config section which, as we have discussed, is limited to string values.  There are three ways we could tackle this:

Enhance Spin to allow non-string config values.  This is the "right" solution, but has far-reaching implications - it would require design effort and would be a breaking change for applications.
Kludge the rewrites into multiple string values (rewrite1, rewrite2, etc.)
Have one config setting that, if present, points to a rewrite file supplied as an asset.  The nominated file would not be served but would contain rewrite rules in whatever format you felt best.

The trouble with all these is that, because the fileserver is stateless, you'd have to go through parsing all the rules every time.  I noticed your comment about capturing it with Wizer, but at the moment that would require users to take a local copy and remember to wizerise it every time they change the rules.  It would lose the convenience of being able to reference the server as a standard component.
A fallback file avoids all these problems for sure - you only need one config entry, and you only need to consult it if serving fails.  So if that meets your needs then that's they way to go.  But from your description of Vue routing I wasn't sure if it would?
(Another longer-term option could be to implement URL rewriting into the Spin HTTP infrastructure itself, as [component.trigger] settings.  That would allow the parsed rewrites to be cached for the duration of the process, but the caching might not be viable on Cloud - I'm not sure.)

Enhance Spin to allow non-string config values. This is the "right" solution, but has far-reaching implications - it would require design effort and would be a breaking change for applications.

Another future option might be to allow pointing to a key-value namespace (when key-value support is released) and use that for storing re-write rules.

The trouble with all these is that, because the fileserver is stateless, you'd have to go through parsing all the rules every time. I noticed your comment about capturing it with Wizer, but at the moment that would require users to take a local copy and remember to wizerise it every time they change the rules. It would lose the convenience of being able to reference the server as a standard component.

I think if we could provide a sample spin.toml with a component.build command to "wizerize" the module, that would be an acceptable solution to me.

A fallback file avoids all these problems for sure - you only need one config entry, and you only need to consult it if serving fails. So if that meets your needs then that's they way to go. But from your description of Vue routing I wasn't sure if it would?

I believe that would work and am testing out my implementation now. If that is an acceptable short-term solution that the project would be willing to adopt, I'd be happy to clean up the code and contribute a PR?

(pls ignore if this is not relevant)
I ran into similar problem with my deploy-to-fermyon cloud implementation, and implemented a http-redirect wasm module https://github.com/fermyon/deploy-to-fermyon/blob/main/http-redirect/redirect.go
and used in spin.toml as

[[component]]
id = "redirect-index-html"
source = "http-redirect/redirect.wasm"
[component.trigger]
route = "/"
[component.build]
command = "cd http-redirect && tinygo build -wasm-abi=generic -target=wasi -gc=leaking -no-debug -o redirect.wasm redirect.go"

and then in a catch all, we let the vue router take over. (I had a _.vue which would do internal routing, but i  can't seem to find it, will let u know if i find it),
but i think that was the idea in a nut shell.

Thanks Rajat! The redirect didn't work for me because I wanted the browser's location to remain the same while still rendering the index.html page.
I think that long-term it sounds like the url re-write method might be the way to go but not until either complex config values are supported (like arrays) or potentially key-value storage is supported. For now I have a local copy of my changes in this branch running and it seems to work just fine for my Vue.js app. I can link to the app if you are interested.

@SamiKouatli I think we fixed this issue in #27 and #30 but forgot to resolve this issue. It looks like we need to cut a new release but it should be resolved by v0.0.3.


Main

👷 Deploy Preview for markemilpoulsen2022 processing.

Name
Link

🔨 Latest commit
c7c369dfa0c05bf876e7263c4a45ab7f9c071ca2

🔍 Latest deploy log
https://app.netlify.com/sites/markemilpoulsen2022/deploys/635794379a01d50008096467


first commit of 1.13.0 changelog

not finished, still need following work.
Signed-off-by: allencloud<EMAIL_ADDRESS>

LGTM


Make String::center return Result

String::center can fail and raise an ArgumentError if called with a zero-width padding bytestring.
This commit makes String::center fallible with a new error type, CenterError.
This commit fixes a bug where Center with an empty padding bytestring would never terminate.

link https://github.com/artichoke/artichoke/issues/184


Manage background tasks in BaseService

What is wrong?
BaseService handles background tasks awkwardly right now. For example:

have to await asyncio.sleep(0) in cleanup to make sure that all tasks cancel
often need to catch and drop OperationCancelled exceptions

This is what kicked off the thought: https://github.com/ethereum/py-evm/pull/1097/files#diff-3942908a5c806895979f03283db24df3R206
An toy example with these quirks:
class MyService(BaseService):
  async def check_connection(self):
    while self.is_running:
      if not is_connected():
        self.wait(reconnect())
      try:
        await self.sleep(60.0)
      except OperationCancelled:
        break

  async def _run(self):
    asyncio.ensure_future(self.check_connection())

  async def _cleanup(self):
    # We don't need to cancel() anything, but we yield control just so that the coroutines we
    # run in the background notice the cancel token has been triggered and return.
    # Also, don't use self.sleep() here as the cancel token will be triggered and that will
    # raise OperationCancelled.
    await asyncio.sleep(0)

How can it be fixed
Add a BaseService.loop_in_background(my_task) method that handles these things for you. Then services can define something like:
class MyService(BaseService):
  async def check_connection(self):
    if not is_connected():
      self.wait(reconnect())
    await self.sleep(60.0)

  async def _run(self):
    self.loop_in_background(self.check_connection())

Conceptually, :+1:
naming thoughts as the loop_ prefix is a bit confusing to me

run_in_background
ensure_future (to borrow semantics from the asyncio API)
handle_background_task
handle_task
run_background_task

I like the background terminology.  The word daemon is shorted and also a well known concept.

run_daemon

The important semantic part of loop (as a verb) is that BaseService would keep running the method over and over until the service shut down. I haven't found another word that conveys that as well. daemon itself kind of implies that, but usually a daemon would handle its own looping, which would be a lot less convenient. Maybe:

cycle_task
repeat_task
repeat_forever

Although some of those background tasks are run in a loop for the whole duration of the service, some are not (e.g. BaseHeaderChainSyncer._sync()), so I think it'd make sense to have this new helper simply run the coroutine with ensure_future(), and then if necessary we could have a run_periodict_task() on top of that

How about: BaseService.run_daemon(awaitable, *, periodic_restart=None)
Then:
self.run_daemon(self._sync())
self.run_daemon(self.check_connection(), periodic_restart=60.0)

so I think it'd make sense to have this new helper simply run the coroutine with ensure_future(), and then if necessary we could have a run_periodict_task() on top of that

Second that. How about:
self.run_task(self._sync())
self.run_periodic_task(self.check_connection(), restart_sec=60.0)

Sure, but a process could still be a daemon if it eventually ends (the parallel being Thread(daemon=True)).
But if no one is convinced, then I think we should keep the API small: only add run_task() and require the background tasks to do their own loop. (Still much better than the status quo)


fix memory api return value usage

Windows api does not have any guarantee that ntstatus will remain unchanged after a successful call, neither it have any guarantee of its value in this case.
Though it is working most of the time, correct way is to check call return value.

We might lose some successful statuses different from STATUS_SUCCESS. Although I can't think of any for the functions in question.


Fixes ci for jsng

Signed-off-by: Ashraf Fouda<EMAIL_ADDRESS>Description
Describe the changes introduced by this PR and what does it affect
Changes
List of changes this PR includes
Related Issues
List of related issues
Checklist

[ ] Tests included
[ ] Build pass
[ ] Documentation
[ ] Code format and docstrings

Codecov Report

Merging #469 into development will increase coverage by 0.31%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           development     #469      +/-   ##
===============================================
+ Coverage        67.49%   67.81%   +0.31%
===============================================
  Files               81       81
  Lines             3775     3775
===============================================
+ Hits              2548     2560      +12
+ Misses            1227     1215      -12

Impacted Files
Coverage Δ

jumpscale/core/logging/logging.py
96.61% <0.00%> (+0.84%)
:arrow_up:

jumpscale/clients/redis/redis.py
88.23% <0.00%> (+2.94%)
:arrow_up:

jumpscale/servers/gedis/server.py
64.39% <0.00%> (+5.23%)
:arrow_up:

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 4e3e920...29c87fa. Read the comment docs.


Use an upper character for MenuItem's hotkey

When a MenuItem contains a lowercase hotkey (e.g., MenuItem("C_ut", "", null)), the hotkey u does not work because Mneu::ProcessKey() function always compares it with an uppercase key.

Thanks for your contribution!


The portal is showing the wrong key for github secret

The portal is showing the wrong github secret
Steps

Create a function using the GitHubWebHook-CSharp template
Open the develop tab

It should be showing default function key. It is showing admin _master key

https://github.com/projectkudu/AzureFunctionsPortal/pull/833


Exporting an arrow function won't produce documentation

If I have a module like this:
/**
 * @module formatmicro
 */

/**
 * @param {number} timeMicro
 * @param {object|function} incrementNames
 * @returns {string}
 * @throws {Error} If either argument isn't the correct type
 */
export default (timeMicro, incrementNames) => { }

It won't produce any documentation.  However, if I name the exported function, it will:
/**
 * @module formatmicro
 */

/**
 * @param {number} timeMicro
 * @param {object|function} incrementNames
 * @returns {string}
 * @throws {Error} If either argument isn't the correct type
 */
export default function formatmicro(timeMicro, incrementNames) { }

@cullylarson Hi! Thanks for this issue. I will fix it in future version.

+1

+1

+1

+1

+1

+1

+1

What's required for this to work?
I'm not too familiar with the code and was just taking a very quick glance at it. ESParser should be able to parse it fine.
I assume in _createDoc, it's resulting type is returning as 'Variable' instead of 'Function' but in _decideType it's also doing a switch that could be because node's type was set incorrectly to 'VariableDeclaration' instead of 'FunctionDeclaration'?

👍

Just yesterday, I released ESDoc v0.5.0. That supports arrow function exporting.
Please check it.


refactor(kube/apps): migrate integrated apps table to react [EE-4690]

closes EE-4690

ran smoke tests in https://github.com/portainer/test-automation/pull/618 - https://github.com/portainer/test-automation/actions/runs/8524210781


Upgrade Lucene to 7.1.0 version

Fixes CVE-2017-12629
See: https://nvd.nist.gov/vuln/detail/CVE-2017-12629

Coverage decreased (-0.2%) to 82.109% when pulling 38afa02600727d5b6ba8f56b94e62b71780d88b2 on adericbourg:cve into a9009ba90a58e43f689b4a869530e7a0535bad6e on criteo:master.


strange result from the maze environment

perhaps I missed something, but why the first eprewmean in the maze environment is always 10.0, which is already the highest score an agent can get?

Hi @JINKEHE, I tried in virtual env but I couldn't reproduce the same, the score in maze was dynamic when I run for 3x . So, can you share your running logs if any, please

Hi @CoDeRgAnEsh, thanks for your response. I don't have my running logs now but this error has already been reported in the results in this repository, for example, https://github.com/openai/train-procgen/blob/master/train_procgen/results/easy-200-run0/progress-maze-train.csv and https://github.com/openai/train-procgen/blob/master/train_procgen/results/easy-200-run0/progress-maze-test.csv. You can see that the eprewmean reported there always starts from 10.0, which is weird.


left-handed in SteamVR

I'm not sure if this is related to the driver or not, but when I'm in SteamVR, my controllers appear to be set up left-handed.  I have to point and click everything with my left hand, not my right.
Something that may contribute to this is that my Leap Motion is installed upside-down to ease with cable routing.  Could it be perceiving the controllers as in the opposite hands?
Or if this isn't related to the driver, does anyone know how to switch the handed-ness?

In some apps by default require the leap motion to be in the position where its facing your screen and the usb cable coming out of the left side

This is in the main SteamVR window.  When I do "T" and bring up the menus, the pointer laser comes out of the left hand and I have to pull the left trigger.
I tried unmounting my Leap and flipping it over, but the left-handedness remained.
I've tried going through the settings, but it's flaky enough to control anyway that doing it left-handed is teeth-grittingly hard.  But I couldn't find anything that would change it.

Figured it out.
It comes down to how you do the "T".  If your right hand makes the cross bar on top, the menu comes up left-handed.  If your left hand makes the cross bar on top, the menu comes up right-handed.
Apparently I'm a left-handed T-er.

I had that issue before, and loading up the steam visualizer and checking reverse orientation resolved it


Fixed sigmoid function (Fixes #17)

The document says "sigmoid function takes 4*input_size FLOPs" (and that is the case) but the code actually returned input size, as reported in #17. This PR fixes it.

Pull Request Test Coverage Report for Build 96

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.476%

Totals

Change from base Build 94:
0.0%

Covered Lines:
569

Relevant Lines:
572

💛  - Coveralls


Change Port::read and PortReadOnly::read to take &mut self fixes #75

Should I squash all changes in one commit?

Thanks a lot!

Released as version 0.7.0


Gulpfile has some issues

There are some issues in Gulpfile

The runServer task is not working properly because of this BrowserSync server goes to infinite loading. The problem is the runServer task is using exec from gulp-exec library. gulp-exec library is not required as mentioned in its docs - "Note: If you just want to run a command, just run the command, don't use this plugin". The issue can be corrected with exec = require('child_process').exec.

Live reloading with gulp watch is only working with Sass changes. To enable live reloading of templates, js browserSync.reload can be used as mentioned in the docs.

I noticed these issues while working on my fork of Cookiecutter Django. The corrected file - link.
If this seems ok, I can send a PR.

Sorry for the delay @Parbhat. A PR for this would be really great.

@audreyr Great. Sending the PR..


Support for  Json Merge Patch - RFC7396

From @adnan-kamili on Wednesday, January 4, 2017 10:22:13 PM
Hi,
Are their any plans to support the Json Merge Patch
https://tools.ietf.org/html/rfc7396
Copied from original issue: aspnet/JsonPatch#52

From @vhe1 on Tuesday, February 21, 2017 3:35:44 AM
Seconded.
Can we have support for it?
It's much easier on the frontend developers and the rfc 6902 patch has a gaping security hole in that any path expression can be added to the list, regardless of whether the property exists on the type given in the generic type parameter.

From @gilmishal on Sunday, June 4, 2017 7:40:06 AM
Third.
RFC 6902 is also not very client side friendly.

From @Mardoxx on Thursday, August 24, 2017 8:08:28 AM
This would be great. Seems a lot more appropriate for what I'd imagine the "average" user requires of JSON Patch.

From @Mardoxx on Sunday, August 27, 2017 6:02:01 PM
What does the 1 - Ready label mean?
Has an API for this already been decided? Or is it in discussion -- if so is this public?
I have been playing around a bit and I've got a working PoC which allows for uhhh.. this:
// Normal DTO/model
public class PersonDetailsUpdate
{
    public string GivenName { get; set; }
    public string Surname { get; set; }
    public int Age { get; set; }
    public int? GroupId { get; set; }
}

[HttpPatch("Users/{id:int}")]
public IActionResult Patch([FromRoute]int id, JsonMergeDocument<PersonDetailsUpdate> mergeDocument)
{
    JsonMergeDocumentMember<int?> groupIdMember = mergeDocument.Member(x => x.GroupId);
    if (groupIdMember.IsSet)
    {
        int? newGroupId = groupIdMember.Value;
        if (newGroupId.HasValue) {
            // Throw if group is not valid
            _groupsService.SetUserGroup(id, newGroupId);
        }

        _groupsService.UnSetUserGroup(id);
    }

    using (UsersDbContext usersContext = new UsersDbContext())
    {
        // Check if user exists
        UserEntity user = new UserEntity
        {
            Id = id
        };

        EntityEntry entity = dbContext.Users.Attach(dbUser);

        foreach(IEnumerable<JsonMergeDocumentMember> member in mergeDocument.Members.Where(x => x.IsSet))
        {
            PropertyEntry entityProp = entity.Member(member.Name) as PropertyEntry;
            if (entityProp != null)
            {
                 if (entityProp.MetaData.ClrType != member.Type)
                 {
                     // perhaps try convert type and set
                 }
                entityProp.CurrentValue = member.Value;
            }
        }

        usersContext.SaveChanges();
    }

    return NoContent();
}

Assume the following data is persisted:
UserEntity {
  Id = 10,
  FirstName = "Mardoxx",
  Surname = "",
  Age = 99
}

UserGroup {
    UserId = 10,
    GroupId = 100
}

With group information being stored in a completely isolated service.
That is, a GET Users/10 would return:
{
    "UserId": 10,
    "FirstName": "Mardoxx",
    "Surname": "",
    "Age": 99,
    "GroupId" : 100
}

Sending PATCH Users/10 with a body of
{
    "Age": 20,
    "GroupId" : null
}

Will update the user's age to 20, and remove the user from its group, i.e. GroupId to null.
A GET Users/10 now returns:
{
    "UserId": 10,
    "FirstName": "Mardoxx",
    "Surname": "",
    "Age": 20,
    "GroupId" : null
}

JsonMergeDocumentMember and JsonMergeDocumentMember<T> are DataContractSerializable.
JsonMergePatch<T> is as well.

This is the sort of functionality I would like from an official impl of Json Merge Patch. Validation is a necessary addition to this, so is an T ApplyTo<T>(T to) function. Could also perhaps do with a object ToObject() which emits a new anonymous type with the fields defined -- probably out of scope of this though. Can definitely be improved upon. Also not sure how it copes with complex objects (e.g. Post with an Author field, although I think that is automatically handled by the deserialisation). From the spec it seems that only first-level properties can be patched. You can't do a partial update to a nested field (which works out quite nicely actually)
An official solution to something like this would be really desirable!

From @peabnuts123 on Wednesday, August 30, 2017 8:25:07 PM
Just pitching in from a front-end-dev perspective. Granted that JSON Patch is a nice standard but it's pretty widely accepted to do operations in a JSON-Merge kind of way. To a JS developer, it would be pretty weird if their backend developer told them they couldn't support this kind of operation, it would be generally seen as basically an incapable/not very useful technology.

From @Mardoxx on Friday, September 1, 2017 7:57:37 AM
Ok so I've cleaned it up a bit, API is a little different now, Members is a Dictionary<string JsonMergePatchValue>
For the end user all they need to do is change their controller object types to be JsonMergePatchDocument<>, and then use T patchDoc.ApplyTo<TObj>(TObj object) or whatever to update an object for example, or do what I did above.
I've basically designed it in a way that I want it to work. I really want to get the ball rolling with this because I feel it would be very useful!
Shall I write a few tests and do a PR? Or has work on this already begun?
I want this to be DataContract serializable too as it would be great to be able to send this object around in Service Fabric using their remoting libs, for which this is a requirement. Not quite sure how to achieve this though.

From @mhosman on Friday, September 1, 2017 8:20:52 AM
+1 For this. Please add support for Json Merge Patch!

From @rynowak on Friday, September 1, 2017 10:46:45 AM
@Mardoxx - we'll discuss and get back to you next week. We're still planning the set of features we're going to do for 2.1, and this is under consideration. I'm putting a reminder on my calendar right now.
If you have an example of this somewhere in a repo that we can look at that would help.

From @tinchoel10 on Friday, September 1, 2017 11:57:48 AM
+1 Please add json merge patch, this is more client-friendly, easier to understand and to manage in a lot of situations. Is a very important feature.

From @Mardoxx on Friday, September 1, 2017 2:42:08 PM
@rynowak Amazing thanks.
Done here - https://github.com/Mardoxx/RJBM.JsonMergePatch Cleaned it up a lot and simplified it... a lot. Hacked together a handful of tests that should give an idea of behaviour. Not happy about a few things, see here, but happy enough about general API for it (not necessarily the names of things though!).
Can add end to end example if you like?

From @mhosman on Monday, September 4, 2017 10:27:36 AM
Hey @Mardoxx, this is a working (non-official) example? I know there are several things to work in it (https://github.com/Mardoxx/RJBM.JsonMergePatch/issues/1), but it works?

From @Mardoxx on Monday, September 4, 2017 10:36:35 AM
@mhosman Yeah it works! Very very basic example here or slight modifications to above should work 😄

From @mhosman on Monday, September 4, 2017 4:57:02 PM
Hey @Mardoxx, thanks for your answer. There's any way to create a NuGet package in order to test this in one of my projects? Thank you!

From @rynowak on Tuesday, September 5, 2017 10:20:09 AM
@Mardoxx - have you done any work with your code to support cases like the following:
Original
{
     "title": "Goodbye!",
     "author" : {
       "givenName" : "John",
       "familyName" : "Doe"
     },
     "tags":[ "example", "sample" ],
     "content": "This will be unchanged"
   }

Patch
{
     "title": "Hello!",
     "phoneNumber": "+01-123-456-7890",
     "author": {
       "familyName": null
     },
     "tags": [ "example" ]
}

After
{
     "title": "Hello!",
     "author" : {
       "givenName" : "John"
     },
     "tags": [ "example" ],
     "content": "This will be unchanged",
     "phoneNumber": "+01-123-456-7890"
   }

Notice in this case that author was patched by setting the familyName property to null and the givenName property retains it's original value. This is example 3 from the RFC.
From the .NET point-of-view this seems like the hard part.
Here's the pseudo-code from the spec (emphasis mine)
define MergePatch(Target, Patch):
     if Patch is an Object:
       if Target is not an Object:
         Target = {} # Ignore the contents and set it to an empty Object
       for each Name/Value pair in Patch:
         if Value is null:
           if Name exists in Target:
             remove the Name/Value pair from Target
         else:
           Target[Name] = MergePatch(Target[Name], Value)  // *** Need to apply recursively ***
       return Target
     else:
       return Patch

Some of the other challenges that we've run into implementing patch are around casing and the behavior of dictionary types and dynamic types. JSON-Patch and JSON-Merge (and JSON) in general are case-sensitive.
We banished most of these issues recently by using JsonContract to just do what JSON.NET does with respect to casing and how to 'interpret' your types. Presumably if you are using MVC you are using JSON.NET and already are serializing the types you want to patch elsewhere. That gives you one knob to configure how JSON works.\

From @Mardoxx on Tuesday, September 5, 2017 10:43:31 AM
Totally overlooked that, will have a look later - and also adding properties that don't exist on the original document (i.e. source is a dynamic object)... phoneNumber in that example. Hmm!
Haven't looked at (didn't occur to me) Json.Net api! Good idea.

Ok, this is very difficult. Does not really fit in with the way I wrote it. Back to the drawing board!

From @rynowak on Friday, September 15, 2017 11:55:25 AM
Hi Folks, sorry for the delay.
We don't have an official 2.1 announcement post out yet, but I'm sad to say JSON Merge didn't make the cut. We understand the feedback that this is valuable and we'd like for a good .NET solution to exist, but we're not going to invest in building it right now.

I'd suggest teaming up and fleshing out the implementation that @Mardoxx has started working on. We'd be happy to provide advice and help promote the library if it takes off.

From @mhosman on Friday, September 15, 2017 12:17:04 PM
Maybe @Mardoxx could make a library (NuGet Package) at least for the basics.

From @Mardoxx on Friday, September 15, 2017 12:38:11 PM
@rynowak Understandable, it's something that comparatively few will benefit from.
Not at all certain about the current implementation I came up with (besides it only conforming to like 1/3rd of the spec!) -- Not had time to think about it the past few days. Some pointers from someone more experienced than I,  or anyone really, would be very welcomed!
@mhosman, seeing as it's only 4 files or so, feel free to just copy them to your own project. I would not feel okay publishing this anywhere too public (e.g. NuGet) until it is in an actual working state!

From @mhosman on Monday, September 18, 2017 10:52:52 AM
I just found this.... https://github.com/Morcatko/Morcatko.AspNetCore.JsonMergePatch

From @Mardoxx on Tuesday, September 19, 2017 2:59:13 AM
@mhosman good find. Feels uneasy to me re-purposing jsonpatch. But hey, if it works.. it works!

From @adnan-kamili on Tuesday, September 19, 2017 3:50:38 AM
Since I logged this issue, I have been using the following to perform a patch:
        public void Patch<TEntity, TViewModel>(TEntity entity, TViewModel updatedModel) where TEntity : class, IEntity
        {
            // copy the value of properties from view model into entity
            PropertyInfo[] entityProperties = entity.GetType().GetProperties();
            foreach (PropertyInfo entityPropertyInfo in entityProperties)
            {
                PropertyInfo updatedModelPropertyInfo = updatedModel.GetType().GetProperty(entityPropertyInfo.Name);
                if (updatedModelPropertyInfo != null)
                {
                    var value = updatedModelPropertyInfo.GetValue(updatedModel, null);
                    if (value != null)
                    {
                        entityPropertyInfo.SetValue(entity, value, null);
                    }
                }
            }
        }

From @peabnuts123 on Sunday, September 24, 2017 1:09:49 PM
Seems like most people in this thread are missing the subtle difference between omitting a field from the request and sending a null value in the request. Checking against null in the implementation means that frontends sending null back in their payload will be ignored by the backend. This essentially creates a behaviour where, once being set to a value, a field will never be able to be set to null again.
I found this issue because I was trying to solve this problem myself and looking for others talking about the subject. In JavaScript-land this nuance can be modelled with undefined vs. null values but in C# the aspnet core middleware will serialize both an omitted field and a null field to null in the C# model, and therefore (from an information perspective) you literally cannot tell the difference by the time you've made it to a Controller. Wondering if perhaps AspnetCore could set annotations on Omitted fields or similar that could be read out in the Patch method to differentiate fields that were in the payload vs. fields that weren't.

From @Mardoxx on Sunday, September 24, 2017 3:57:57 PM
No, both my and that other example account for null vs undefined.
On 24 Sep 2017 21:09, "Jeff"<EMAIL_ADDRESS>wrote:

Seems like most people in this thread are missing the subtle difference
between omitting a field from the request and sending a null value in the
request. Checking against null in the implementation means that frontends
sending null back in their payload will be ignored by the backend. This
essentially creates a behaviour where, once being set to a value, a field
will never be able to be set to null again.
I found this issue because I was trying to solve this problem myself and
looking for others talking about the subject. In JavaScript-land this
nuance can be modelled with undefined vs. null values but in C# the
aspnet core middleware will serialize both an omitted field and a null
field to null in the C# model, and therefore (from an information
perspective) you literally cannot tell the difference by the time you've
made it to a Controller. Wondering if perhaps AspnetCore could set
annotations on Omitted fields or similar that could be read out in the
Patch method to differentiate fields that were in the payload vs. fields
that weren't.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/JsonPatch/issues/52#issuecomment-331736695,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOoMesFBtV7edaiq48u3STBVGgAJopTks5slrcPgaJpZM4LbYdB
.

From @peabnuts123 on Sunday, September 24, 2017 7:54:49 PM
Alright, that's my mistake. I hadn't trawled the code, and was merely acting on language cues.

Is this coming soon as part of asp.net?

@SatishTata I don't know when this is gonna happend (officially) but meanwhile you can use this third party library: https://github.com/Morcatko/Morcatko.AspNetCore.JsonMergePatch

Is anything regarding this being worked on for .Net Core?

Closing as this is not something we plan to do. Looks like the community has come up with some libraries to support this already.


Resolved title case on thought entry

Overview
This Pulle Request resolves the following issue: Title Case on thoughts #68.
Demo

No Data Entry

Various Thought Entry and Displaying No Longer Title Case

Testing Instructions
Open RetroQuest and add a thought entry or Action Item.  When entering the action item the case of the text should be persevered as it was entered by the user.

@lndobryden Thank you for the feedback.  I will incorporate the suggestions into my next PR.


Feature/multiple-contact-reviewers

[x] Remove reviewer info UI in edit mode
[ ] Add checkbox in Document Roles for contacts that allows contacts to be 'Document Reviewer'
[ ] View mode for reviewer info that pulls from contact roles

Adds a reviewer in the view mode and pdf-preview (not journal-pdf) similar to a contact card. To add a reviewer, use the 'Document Reviewer' checkbox in the roles.
edit mode

view mode

pdf preview


Errors caused by source code installation

System Info

CPU architecture: x86_64 GNU/Linux
CPU memory size: 64G
GPU: A100
TensorRT-LLM commit : 4bb65f216f2f1dbddb022f4fdd8925c2856baa58
TensorRT version: 9.3.0.post12.dev1
CUDA version: 12.2

Who can help?
@by
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
According to:https://github.com/NVIDIA/TensorRT-LLM/blob/main/docs/source/build_from_source.md
sudo apt-get update && sudo apt-get -y install git git-lfs
git clone https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM
git submodule update --init --recursive
git lfs install
git lfs pull
python3 ./scripts/build_wheel.py --trt_root /usr/local/tensorrt

Expected behavior
Successfully installed
actual behavior

additional notes
It could be installed correctly before. Today I updated the code of the main branch. Then the installation reported an error.
The biggest update is the tensorrt version, but I also reinstalled tensorrt 9.3

By increasing the CPU memory, the above problem disappears, but a new error appears：

Might you running the build again with --clean?

Might you running the build again with --clean?

Yes, can't this parameter be used?

Do you mean you build the tensorrt_llm with --clean again and it still fails?


Unversion duniverse

The duniverse/ folder is now ignored and one has to run opam monorepo pull to stay in sync.
It will make reviews and the history much cleaner.
I also added a CONTRIBUTING.md to provide a bit of guidance on how to setup one's developement environment.
One consequence of this is that we have to use a lockfile format compatible with the latest released version but this is a good thing and was pretty much already required to keep the CI going.

It does break the other builds, I'll look into it!

OK, what's happening on windows is:

GHA installs a git version that does newline translation: after checkout, the dune-project file will be CRLF terminated.
Bos.OS.File.read_lines splits just on LF (it's a combination of open_in_bin, which disables in-channel newline translation, and input_line, which splits on just LF)
this means that lines have a trailing CR character
Dune_file.is_stanza just checks for prefix, so returns true for (lang dune 2.6)\r
Dune_file.parse_stanza checks that ) is a suffix, so it fails

There are a couple ways to fix that:

I think we should support CRLF terminated dune files, so reconfiguring git or using dos2unix is not a solution
we could add a read_lines function that opens a file in text mode and uses input_line. it would do the right thing
we could insert a call to a whitespace-trimming function in parse_stanza, such as Astring.String.trim.

I think we should support CRLF terminated dune files
Definitely agree there. I think the best solution would be to write our own CRLF compatible read_lines. We should probably send a patch to Bos as well if we want to keep using it but I'm not sure we should.
I'm guessing that base and core are much more compatible with windows aren't they? Might be good to consider using them instead.


Type check difference in release mode and debug more

#40180
1. Steps to Reproduce
Please fix this bug about type check exception, it should be throw exception or pass all test, but not no any hint log in release mode.

running the code below.

double px(number){
    getTypeName(number);
    return number;
  }

  getTypeName(obj) {
    if(obj is int){
      print("int");
    }

    if(obj is num){
      print("num");
    }

    if(obj is double){
      print("double");
    }
  }

2. Logs

Running in release mode
you will get result .

I/flutter (22730): int
I/flutter (22730): num

No Exception, No hint. This is leading a fatal issue that blank screen in our app and we have no any info to debug in release mode.
2. Running in debug mode
you will get Exception.
type 'int' is not a subtype of type 'double'
Maybe someone would say you could avoid this issue in debug, but actually, in debug mode, we would not running the code.

Runnning in dart pad.

int
num
double

There's no exception, and it is both int and num type.
3. flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.6 18G87, locale zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
[✓] Android Studio (version 3.5)
[!] IntelliJ IDEA Ultimate Edition (version 2018.1.7)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.36.1)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

I just tried myself in DartPad and as you said no error.
Please report this error at https://github.com/dart-lang/sdk/issues


Api_section_and_website_responsive

"The API section and Features sliding cards section have been modified and made fully responsive."

Subject: Merge Conflict in Pull Request
Hi Suryanshsk ,
I hope you’re well. I’m currently dealing with some merge conflicts in my pull request related to the frontend/style.css file, but I don’t have the time to resolve them myself.
Could you please assist in resolving these conflicts? I would greatly appreciate your help!
Thank you!

There is conflicts

Check once, conflicts are clear now.


Simple example failing to open device on macOS

Hello,
The simple example from pyjoulescope_examples is working fine on Ubuntu 18.04 (x86) and Win10, but is now failing on macOS (catalina 10.15.4), it used to work in the past. (The only thing that changed is I've moved to catalina recently from Mojave.)
What additional debug info I can collect for you?
% python3
Python 3.7.5 (default, Nov  1 2019, 02:16:32)
[Clang 11.0.0 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import joulescope as js
>>> print(js.__version__)
0.8.14
>>>

Failure:
26 ✗ [11:52:31 Thu Jun 11] ~/eembc/git/pyjoulescope_examples/bin
% python3 ./capture_simple.py
libusb_set_configuration 1 failed [-4]
open failed: 16d0/0e88/000722
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/joulescope/usb/libusb/device.py", line 790, in open
    may_raise_ioerror(rv, 'libusb_set_configuration 1 failed')
  File "/usr/local/lib/python3.7/site-packages/joulescope/usb/libusb/device.py", line 732, in may_raise_ioerror
    raise IOError(s)
OSError: libusb_set_configuration 1 failed [-4]
While running command
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/joulescope/usb/device_thread.py", line 64, in _cmd_process
    rv = self._device.open(event_callback_fn)
  File "/usr/local/lib/python3.7/site-packages/joulescope/usb/libusb/device.py", line 790, in open
    may_raise_ioerror(rv, 'libusb_set_configuration 1 failed')
  File "/usr/local/lib/python3.7/site-packages/joulescope/usb/libusb/device.py", line 732, in may_raise_ioerror
    raise IOError(s)
OSError: libusb_set_configuration 1 failed [-4]
usb control transfer failed 5
calibration_read transfer failed 5
could not set defaults
Device.stop() while attempting _stream_settings_send
Traceback (most recent call last):
  File "./capture_simple.py", line 33, in <module>
    run()
  File "./capture_simple.py", line 26, in run
    data = device.read(contiguous_duration=0.001)
  File "/usr/local/lib/python3.7/site-packages/joulescope/driver.py", line 797, in read
    self.start(on_stop, duration=duration, contiguous_duration=contiguous_duration)
  File "/usr/local/lib/python3.7/site-packages/joulescope/driver.py", line 725, in start
    self._stream_settings_send()
  File "/usr/local/lib/python3.7/site-packages/joulescope/driver.py", line 585, in _stream_settings_send
    _ioerror_on_bad_result(rv)
  File "/usr/local/lib/python3.7/site-packages/joulescope/driver.py", line 48, in _ioerror_on_bad_result
    raise IOError('usb.Device %s' % (rv,))
OSError: usb.Device ControlTransferResponse(result=5)

That's weird.  I just tried the same on my MacBook with 10.15.5, and it worked great.  Perhaps the update to Catana messed up libusb.  Is everything up to date?  How about trying this:
brew update
brew reinstall libusb
pip3 uninstall joulescope
pip3 install -U joulescope
python3 ./capture_simple.py

Does that change anything?

Yes, it works now. I wish I knew what was wrong with the brew libusb, but that was the problem because I had tried reinstalling joulescope before filing the issue but that did nothing. It's always a tiny bit unnerving when a random reinstall of a key driver fixes things. :)
Thanks.

Yeah, I agree that it's a bit unnerving.  In this case, Catalina requires a new libusb bottle.  I am not sure how brew keeps in sync with macOS updates, but it obviously did not.
For what its worth, here's the metadata:
https://formulae.brew.sh/api/formula/libusb.json
And here is how the Joulescope UI manages packaging the right versions:
https://github.com/jetperch/pyjoulescope_ui/blob/master/joulescope_ui/libusb_mac.py