feat: instrument rails

This is the starting point for adding rails instrumentation, intentionally scoped down to tracing controller requests.
Todo:

[x] Add tests and support for exception apps
[ ] Add tests and support for inferring the destined controller action when it fails to hit the controller

Thanks for the feedback @mwear. @robertlaurin and I discussed many of the same things on a call today. Summary is:

Let's make this gem dependent on the Rack instrumentation gem, have a single (Rack) middleware, and create a single server span for the request.
We'll stick that span in the context (with an accessor in the Rack instrumentation), allowing things later in the call chain to add or overwrite information.
We planned to use a similar ActionController::Metal 🐒 patch to Datadog's, but if we can get away with ASN, that'd be preferable.
Use the presence of "action_dispatch.exception" in the request headers, where possible, to infer that we're in an exceptions controller.

In general, I have concerns about relying on ASN for instrumentation. My information may be out-of-date, but previously, if multiple subscribers were notified of the same event, and one of them raised, the remainder would not receive the notification. We have some complex and messy code in Shopify's tracing gem to work around this issue - it can lead to either failure to end a span or an attempt to end a span that doesn't exist.
I would greatly welcome evidence that I'm wrong about this in all the versions of Rails we intend to support. If I'm right, though, then I'd favour the ActionController::Metal 🐒 patch.

Something I'd like to raise for discussion is span naming for rails controller actions.
The spec says we SHOULD follow the low cardinality version of the path (/users/:userID)
Coming from a rails dev background I have a strong bias towards some variation of ControllerName#action_name as the operation name for the span.
I have done a bit of work to see how viable each approach would be, and I'm in the opinion that using the Controller/action name is the least brittle/simpler approach in code.
I think @fbogsany and I landed on the same page for this, but I wanted to engage more people to see what the sentiments were around this.
cc: @mwear @ericmustin

@robertlaurin I am fine with either. I'm also accustomed to seeing spans named Controller#action_name, I think this makes sense, especially if you need to do any gymnastics to get the quantized path name.
@fbogsany (and Robert) The plan in https://github.com/open-telemetry/opentelemetry-ruby/pull/454#issuecomment-719105800 looks good to me!

@robertlaurin I still need to give this a good review, apols on the delay, just chiming in here to say:

Coming from a rails dev background I have a strong bias towards some variation of ControllerName#action_name as the operation name for the span.

I agree with this very strongly.

@fbogsany @mwear @ericmustin Wanted to get some opinions on how Rails should depend on the rack instrumentation.
Option 1) I can make Rack an implicit dependency that is required as part of the gem, which comes with the benefit of it being an easier configuration process for the users of this gem.  They require the rails instrumentation, configure it and don't have to worry about rack at all.
This approach raised a couple things:

Should spans generated by the middleware should be considered instrumented by rack or rails (we tag the instrumentation library)?
The rack tracing middleware assumes it has it's own instance.config and instance.tracer, should this be configurable as a middleware parameter?  The install flow for rack will not get ran in this setup, or is not obvious how it would in this setup.

Option 2) Rack can be an explicit dependency of Rails instrumentation.  This would mean if you wanted your controller requests traced you would include the rack instrumentation gem and configure it to run and the rails instrumentation would look for it's presence and then add the middleware if it was present.

Spans would be marked as instrumented by Rack
All the existing rack configuration and its documentation would be available to users of the gem
Risk running into configuration order problems if rails install flow runs before rack is required (they need to know about each other to add the middleware).

Over all I'm leaning towards Option 1 as it seems simpler from an end user perspective, just thought I would raise it before I make decisions in code.    I'm sure there's other things to consider that I have not thought of yet, the above is just what immediately jumped out at me when I started working on it.

TBH I had not considered the InstrumentationLibrary issue. Thanks for pointing that out @robertlaurin. 🤔

I feel like Option 1 is the way to go, with the span being "owned" by the Rack instrumentation, however the Rack instrumentation has a bunch of config options. I think we need to allow the user to configure those, but not require them to. I'm not yet clear on how to do that - it may require changes to the Configurator.
Hmm, maybe I'm leaning toward Option 2 😄. I'm not sure "they need to know about each other to add the middleware" or what order dependencies there might be in configuration. There will be a single Rack middleware and it will stick its span into the context. The Rails ActionController::Metal instrumentation will retrieve the span from the context and decorate it - if it doesn't find it in the context, then there is nothing to decorate. Alternatively, if it can't find the Rack span in the context, it could create its own span?

. I think we need to allow the user to configure those, but not require them to. I'm not yet clear on how to do that - it may require changes to the Configurator.

I'm thinking that the rails config flow would pass in its own Instrumentation.instance into the rack middleware and amend the middleware to favour the passed in instrumentation instance over trying to reach for its own (which will not be present).  This means that the spans would be tagged as instrumented as rails instrumentation library.  This also doesn't require any changes to the configurator.

Does that mean all the Rack config options would instead be set in the Rails config hash?

@robertlaurin , nice work here.
So, I figured I could try to pass along what i've learned here on the patching approach, following up on the discussion between @mwear and @fbogsany . I spoke with some colleagues on the tradeoffs of using AS Notification process_action.action_controller vs monkeypatching Metal. The main drawback of process_action.action_controller is that, I believe, it won't include any before/after callbacks among it's timing details, such as those here.  Patching Metal would capture those timing details.
Some more minor areas are that we'd have to be sure to patch Metal and not Base, as API Controllers inherit directly from Metal. Additionally, from my investigation (I did what i could given bandwidth, but the rails codebase is still not something i've studied as closely as I'd like to) there's the possibility that someone is running a very slim API Controller that does not include the Instrumentation module, as there's some helpers that allow users to remove it. This one is extremely minor but worth mentioning.
So, long story short, i think monkeypatching Metal is a more robust approach here vs Active Support Notifications. While we wouldn't get separate before/after spans OOTB for free, we'd at least accurately track the amount of time Rails is "doing work associated with this this controller" which, i think is what we want here.

Does that mean all the Rack config options would instead be set in the Rails config hash?

Yes because there would be no explicit call to the rack config/install hook (or shouldn't be afaik).  In option 1, I imagined all config would go through rails and be delegated to whatever underlying piece needs it.

@robertlaurin I'd like to clarify the scope here. Which of the following will be covered by this PR:

action_controller (yes)
action_dispatch
action_view
active_job
active_job_enqueue
active_model_serializers

@robertlaurin I'd like to clarify the scope here. Which of the following will be covered by this PR?

action_controller (yes)
action_dispatch
action_view
active_job
active_job_enqueue
active_model_serializers

This PR is scoped to trace a request and response to a Rails app.
You have action controller and action dispatch as separate bullet points, is that meant to imply that you think they should traced as distinct units?
That was not my intention, as it stands rack middleware will start and finish the span, while a patch to metal will append additional controller information to the span.
I will not be including anything beyond that as part of this PR.  The goal of this PR is to establish a starting point for our rails instrumentation so that it can be added to while still providing some basic value to anyone who adopts it.

Perhaps each of these should be it's own gem?

This is an interesting idea, but I would prefer start with this being a single gem that could later be broken apart if it makes sense to do so.

@robertlaurin perhaps this instrumenter should be called "ActionController" instead of "Rails"? (or perhaps "Rails Metal" if you're going that approach).
I think it's very important to also instrument the Views and Serializers, as that can tell you a lot about where you are spending CPU time. Those would need to use ActiveSupport Notifications.

I think it's very important to also instrument the Views and Serializers, as that can tell you a lot about where you are spending CPU time. Those would need to use ActiveSupport Notifications.

Agree that it's valuable, just not doing it as part of this PR.  I'll be doing follow up PRs to improve on the rails instrumentation.

Would propose ActionView/ActiveModelSerializers they be done as their own instrumenters so users can choose whether they want them on/off

Want to again voice my opinion that this should be called ActionController instrumentation rather than Rails--unless we have plans to include ActionView, ActiveModelSerializers, etc. into the same gem.

I think this is a good start for Rails instrumentation. We can debate how we want to evolve this, and once that becomes clear, we can consider renaming the gem. For now, I'm going to merge this so we can keep the momentum.

Before I merge @robertlaurin, can you please add the gem to the gems list in https://github.com/open-telemetry/opentelemetry-ruby/blob/master/.toys/.data/releases.yml


fix scaler transform in boston skflow example

fit_transform was being used instead of transform for the test set in the boston example

Can one of the admins verify this patch?

My company (Civis Analytics) signed the CLA a while back.

@ilblackdragon Should transform or fit_transform be preferred here?

@willnorris if users sign the corp CLA, is there any way to get the label to be set to yes?

  You would need to use the email address that is associated with the corporate CLA in order to be recognized (presumably an @civisanalytics.com email?)

@poxvoculi transform should be used usually - as in serving you don't actually know what would be mean / std.dev of the distribution.

@tensorflow-jenkins test this please.

Gah, sorry, I forgot that GH would use that generated email address since I just made a simple fix in the in-browser interface.  The email is correct now.

@tensorflow-jenkins test this please


Updates dependencies

Cannot update to<EMAIL_ADDRESS>because it contains an error regeneratorRuntime is not defined.


Add limited, shared memory pool for outgoing messages

We need to restrict the maximal memory usage from buffered network messages. A shared memory pool should be added to curb maximum total consumption, potentially freeing still unsent messages under pressure.
Reported by @marc-casperlabs

This is currently pending reevaluation, depending on how #2932 pans out.

This is no longer relevant, as backpressure should take of the underlying issue.


create connection to mysql and db in connection.js file

Connections have been created but edits to db name will need to be done first before db connection can be filled in this file.  There is a placeholder in there right now. Edit this placeholder once db is fixed.

Connections have been created but edits to db name will need to be done first before db connection can be filled in this file. There is a placeholder in there right now. Edit this placeholder once db is fixed.

This file already exits in the main with the correct db information.

Try adding the information you stated as missing from here and submit another pull request.


Swift Compiler Warning - Deprecated protocol inheritance

New Issue Checklist
🚫 If this template is not filled out your issue will be closed with no comment. 🚫

[x] I have looked at the Documentation
[x] I have read the F.A.Q.
[x] I have filled out this issue template.

Issue Info

Info
Value

Platform
iOS

Platform Version
14.5

SnapKit Version
5.0.1

Swift Version
5.3.1

Xcode Version
12.5

Integration Method
Cocoapods

Issue Description
Starting with Xcode 12.5 I am getting this warning from the compiler
Using 'class' keyword for protocol inheritance is deprecated; use 'AnyObject' instead

develop has some fixes I'll try and publish a new version over weekend

Any updates on this?

When is it supposed to be published?

There is no 'class' keyword in the actual repository. I suppose that issue should be closed

I'll be doing a release soon to match Xcode 13 release timings

Any updates?

develop has some fixes I'll try and publish a new version over weekend
@robertjpayne
Which on of weekends?

Xcode 13 RC is available now

你好，我已经收到您发来的邮件，祝您身体健康，万事如意^_^     -邓江洲

Any updates on this? Xcode 13 is has had a few releases now

Have we removed class to AnyObject

你好，我已经收到您发来的邮件，祝您身体健康，万事如意^_^     -邓江洲

你好，我已经收到您发来的邮件，祝您身体健康，万事如意^_^     -邓江洲

太好了，当您考虑更新时...


Regenerate test certs

Test certs expired on 9 March. Ran the regenerate scripts to create a new batch.
Closes #1442
Signed-off-by: Ryan Abrams<EMAIL_ADDRESS>

Ok. I am still not quite sure why we have these committed rather than just provide the script, but its clearly better if they aren't expired...

can confirm that this works for me fwiw :bowing_woman:

@justincormack something something ... easier to get running the first time ... something something.
Yeah, if we could script it up it would be better. Committing in the fixtures was initially an easy way to enable somebody to git clone ... && cd notary && docker-compose up and have a fully configured running environment.


feat: add new selector with className and Index

Proposed changes
Currently, we do not have a selector which utilises just the class name and index to locate the element
By by = AppiumSelectors.byClassNameAndIndex("android.widget.TextView", 1);
// xpath = (//android.widget.TextView)[1]

Checklist

[x] Checkstyle and unit tests are passed locally with my changes by running gradlew check chrome_headless firefox_headless command
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

@amuthansakthivel Wait, but it's not correct xpath? No?
For example, $(byClassNameAndIndex("active", 2)) will generate xpath "(.//active)[2]" - but it will NOT find element by class name.

For mobile, the class name is the tag name

@amuthansakthivel Ah yes, correct.


Fix Product Resource to be Valid JSON

Currently the ProductResource is invalid JSON - which causes schema reference issues.
This PR makes the ProductResource valid JSON again

Great, though was in fact already waiting to be merged in #69. I was just checking that PR to approve it.


Caching breaks the action

When caching works the cov-analysis directory is recreated by the cache action.
This makes the subsequent mkdir fail, and the job fails:
See here for example: https://github.com/simo5/gssproxy/runs/7521485529
Run mkdir cov-analysis
  mkdir cov-analysis
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    RUN_COV: 1
mkdir: cannot create directory ‘cov-analysis’: File exists

It may be sufficient to call mkdir -p cov-analysis instead

pretty sure the problem is that you haven't configured your project correctly.  you can see in the output that the hash key is not set which implies the curl command failed with access denied.
i improved this flow already to fail earlier but didn't tag it.  let me update the v1 tag and you can rerun to see it fail sooner.

Yeah this was a run on the personal tree where I had already remove the secrets.
Odd that it passes through the first step though.
That said I cannot see where in the output I would see this, I tried to debug this action while setting up the project and I could never figure out why it was failing.


x/build: linux-arm builder can't finish an all.bash run when test sharding isn't used

When I run a trybot on linux/arm, I get "out of memory" or "no space left on device" errors.
ok  	reflect	3.259s
ok  	regexp	0.949s
ok  	regexp/syntax	4.910s
# cmd/compile/internal/ssa
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x29ca71, 0x16)
	/workdir/go/src/runtime/panic.go:1116 +0x5c
runtime.sysMap(0x11400000, 0x3000000, 0x42bc70)
	/workdir/go/src/runtime/mem_linux.go:169 +0xa8
runtime.(*linearAlloc).alloc(0x41d280, 0x3000000, 0x400000, 0x42bc70, 0x0)
	/workdir/go/src/runtime/malloc.go:1447 +0x94

ok  	cmd/addr2line	28.924s
ok  	cmd/api	113.949s
ok  	cmd/asm/internal/asm	33.778s
ok  	cmd/asm/internal/lex	0.233s
# cmd/fix.test
panic: no space left on device

goroutine 1 [running]:
cmd/link/internal/ld.Main(0x3f33c0, 0x4, 0x8, 0x1, 0xd, 0xe, 0x0, 0x0, 0x285316, 0x12, ...)
	/workdir/go/src/cmd/link/internal/ld/main.go:319 +0x1c08
main.main()
	/workdir/go/src/cmd/link/main.go:68 +0x12c
/workdir/go/pkg/tool/linux_arm/vet: fork/exec /workdir/go/pkg/tool/linux_arm/vet: cannot allocate memory
/workdir/go/pkg/tool/linux_arm/vet: fork/exec /workdir/go/pkg/tool/linux_arm/vet: cannot allocate memory
/workdir/go/pkg/tool/linux_arm/vet: fork/exec /workdir/go/pkg/tool/linux_arm/vet: cannot allocate memory

Is there anything we can do to fix this? Can we get more memory and/or disk space on these builders?
I could work on making cmd/compile/internal/ssa tests take less memory, perhaps. Not sure how much we could save.

How do the trybots succeed? Is it because they shard out the tests to multiple machines?

Can you please include links to CLs where you've seen this? That way we'll have more information (e.g., which commit was being tested exactly, etc.). How often is this happening? Did it start recently?
The linux-arm builder is defined https://github.com/golang/build/blob/148ff27ab5b70970002d390c9e1da4b861f6da9f/dashboard/builders.go#L1736-L1756. They run on Scaleway, so adjusting resources will be limited to what's available there (we might already be maxed out; but need to look again to be more confident).
I see that linux-arm trybots are currently disabled because of other issues:
tryBot:            nil, // Issue 22748, Issue 22749

Is this issue about that builder when requested via SlowBots or something else?
/cc @cagedmantis @toothrot @andybons per builder owners.

This happens when using gomote to run all.bash manually:
gomote create linux-arm
gomote push user-khr-linux-arm-0
gomote run go/src/all.bash

Sorry, I guess I'm using the term "trybot" to mean both the thing that tests CLs as well as manual gomotes. I mean the latter (except in the context of my second comment).

@cagedmantis Do you expect #36841 will be able to help with this?

@dmitshur Yes, I'm actively working on the linux-arm-aws builder with more resources. I will assign myself to this issue.

Oh, I believe this is the same issue as #35628. /cc @cherrymui I'll close it in favor of that one, and move your assignment @cagedmantis if you don't mind.

This is not exactly the same. #35628 is about trybot, this is about "when test sharding isn't used" e.g. manual gomote runs. The trybot one has weird STALE errors, whereas this one is OOMing or out of disk space.
About disk space, if I remember correctly, last time I looked, the machine actually has reasonably sizable disk space, but we're running on a very small partition.

We can re-open this if it'd be helpful to confirm this issue is fixed when #35628 is fixed, but as I understand, this builder is broken in all contexts other than as a post-submit builder (on build.golang.org).

Also ran into a similar panic: no space left on device error building go with an RPi4.
In my case the /tmp partition is only 64MB, and it looks like the go building stuff needs slightly more.
Might be nice to put a check in the build script or have a better error message on the specific location since those files are cleaned up.
As a workaround was able to export GOTMPDIR=/dev/shm and the build was able to succeed.

Also ran into a similar panic: no space left on device error building go with an RPi4.
In my case the /tmp partition is only 64MB, and it looks like the go building stuff needs slightly more.
Might be nice to put a check in the build script or have a better error message on the specific location since those files are cleaned up.
As a workaround was able to export GOTMPDIR=/dev/shm and the build was able to succeed.

Instead of dedicating more time to the linux-arm builders which is hosted on Scaleway, I think it may be best to replace the current linux-arm builder with the one hosted on AWS. The new builders have additional resources which should resolve all of these issues. Please comment if you disagree with this plan.


Fix new message is shown when send message

Details

When the current user sends a message, an unread marker is shown.
Fixed Issues

$ https://github.com/Expensify/App/issues/50469
PROPOSAL: https://github.com/Expensify/App/issues/50469#issuecomment-2406933488
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any chat that is scrollable
Scroll to the top
Send a message and immediately scroll to the top*
Go back to the bottom and verify there is no unread marker

*an easier way is to go offline and no need to immediately scroll to the top, especially on small screen

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/98138384-aeb6-4969-b241-2fe71b10469c

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/e36c5111-65a2-4bcf-a14d-6fc9857efa79

iOS: mWeb Safari

https://github.com/user-attachments/assets/5921bd4a-eb02-4d2a-a6f1-7c8d37c214ba

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/2abc73fb-b4b5-4557-839e-90b541a8a902

MacOS: Desktop

https://github.com/user-attachments/assets/915ce3b1-d453-406d-9a14-606e4a9793c3

I can't send message on android mWeb.
https://github.com/user-attachments/assets/5caca75d-7284-4691-9de0-81b64bd04e4a

@bernhardoj Thanks, this looks good and works well in all tests, except for this 1 issue:

[!tip]
Steps to reproduce

Open any chat that is scrollable.
Go offline (⌘ + D > Force offline -> ON).
Send 3 messages while offline (they will show with reduced opacity).
Scroll to the top such that the new offline sent messages cannot be seen.
Go back online (⌘ + D > Force offline -> OFF).
Once the messages are posted, while still at the top of the list, scroll slightly up and down.
Notice that the new message marker and pill are showing above the first of the 3 messages sent while offline, which shouldn't happen because the messages were sent by the same user (while offline).

https://github.com/user-attachments/assets/1ad1698f-e85d-4ec2-b87d-a35da00f9fa4

@bernhardoj Thanks, https://github.com/Expensify/App/pull/51113#discussion_r1808038884 fixed the issue I reported here for large layout devices (Web / Desktop) but it seems to still be reproducible on Android: mWeb for example (second half, the offline -> online case):
https://github.com/user-attachments/assets/e9ca5ddd-9b36-4db1-9fb4-eb0905d0a9ea

Ah, that's because lastActionAddedByCurrentUser is only a ref which is cleared when you close the page. Hmm, this is really tricky.

I have a new idea to solve it, but still fails for manually mark as unread.

@bernhardoj I don't know if it's worth fixing the Android: mWeb only edge case at the expense of the manually mark as unread functionality. I vote to leave it as is now as the only edge case is happening on Android: mWeb and only in this scenario:

Open any chat that is scrollable.
Go offline (⌘ + D > Force offline -> ON).
Send 3 messages while offline (they will show with reduced opacity).
Scroll to the top such that the new offline sent messages cannot be seen.
Go back online (⌘ + D > Force offline -> OFF).
Once the messages are posted, while still at the top of the list, scroll slightly up and down.
Notice that the new message marker and pill are showing above the first of the 3 messages sent while offline, which shouldn't happen because the messages were sent by the same user (while offline).

@MonilBhavsar What do you think ?

@bernhardoj Thanks for the detailed explanation!
Given my statement from https://github.com/Expensify/App/pull/51113#issuecomment-2430104049, looks like that would be one option in terms of compromising.
If you were to apply the solution you suggested above, what would be the drawbacks of that in terms of functionality other than the performance of array -> object ? ? Meaning if we apply that solution would:

unread marker / pill wouldn't show up for current user when posting and scrolling up fast (the issue)
unread marker / pill wouldn't show up for current user when posting and scrolling up fast while on the same account but different session
the unread marker / pill wouldn't show up for current user when posting while offline and scrolled up then going back online
mark the message as unread works correctly in both online / offline -> online cases

all of these scenarios pass the test ? From what I can tell currently it looks like we would have to compromise somewhere, am I wrong and we can have all these working ?

So far it works well on all those cases.

unread marker / pill wouldn't show up for current user when posting and scrolling up fast (the issue)

https://github.com/user-attachments/assets/cd270856-5571-4634-ad81-48cc119ed73c

unread marker / pill wouldn't show up for current user when posting and scrolling up fast while on the same account but different session

https://github.com/user-attachments/assets/2ce494a3-beb8-4d0d-a27b-e8fb2d4d1b8a

the unread marker / pill wouldn't show up for current user when posting while offline and scrolled up then going back online

https://github.com/user-attachments/assets/03c7d1a6-9c44-41f4-ac87-5b4da88d2212

mark the message as unread works correctly in both online / offline -> online cases

https://github.com/user-attachments/assets/6434b633-a15e-4cea-87d1-931246a4191c
Notice the unread marker disappears when go online as I mentioned before

Go online (isNewMessage = false, isPreviouslyOptimistic = true, shouldIgnoreUnreadForCurrentUserMessage = true)
I expected in step 3, the unread marker stays, but it disappeared. In main, this also doesn't work well because of isWithinVisibleThreshold. But even if we remove isWithinVisibleThreshold, the issue still happens and it's because of the isPreviouslyOptimistic is true.

Here is the video showing the unread marker stays when removing isWithinVisibleThreshold.
https://github.com/user-attachments/assets/aadae5aa-d100-4a9c-8629-c05973aae8db

@bernhardoj I appreciate the tests for each case! I'm fine with the behaviour of the second to last video, meaning keeping isWithinVisibleThreshold but ultimately we should go with the solution that preserves the behaviour that is currently on staging - so if that means keeping or removing isWithinVisibleThreshold then we should go with that solution as the main goal here is to fix our issue without breaking previously working functionality.
You can proceed with the changes and I will test again before moving forward with completing the checklist and approving.

@ikevin127 done. Please check! 🙇

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/88c122b8-acf5-44da-a681-2a9e8208828c

Android: mWeb Chrome
https://github.com/user-attachments/assets/f6c2ec5c-0e7c-4d67-bb13-dae5cd096cbb

iOS: Native
https://github.com/user-attachments/assets/dccdd3fb-2c00-4eef-b0e1-e1815f73f389

iOS: mWeb Safari
https://github.com/user-attachments/assets/6d186242-61d4-48c5-9a5c-2bcc7d130821

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/eb69740d-12bc-41e0-8eed-4a69abf61627

MacOS: Desktop
https://github.com/user-attachments/assets/b70a70ad-ccb0-4546-b4de-dd8ae2b2e310

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Why I am getting all this not found errors?

I have published the generated docs to Github Pages but I cannot go to those files. I do not know if this is a bug with Github or with the URLs generated by typedoc.

Github pages -> https://antoniogamiz.github.io/manga-api/
Github pages branch -> https://github.com/antoniogamiz/manga-api/tree/gh-pages/

The thing is that the files I'm requesting are there, so maybe the URLs are not valid mm. Does anyone know anything?

I suspect this is the same problem as in #149 / #620 - the url building is changing in 1.0, which will fix this without the need for those workarounds, but that's still a couple months out.

Adding .nojekyll has worked, so I will wait to 1.0, thanks :).


[dev_mvp] Cookie issue

When using publisher, I see the following warning in the console:
A cookie associated with a cross-site resource at https://google.com/ was set without the SameSiteattribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set withSameSite=NoneandSecure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

This is nothing we have to worry about. It is not related to our code; in fact, Google has to fix their cookie settings on their servers.
This is essentially Chrome's way of spreading the word about their deprecation of the SameSite default setting as Lax. For those curious, you can check out Chrome's rollout here. They've temporarily postponed enforcement in light of COVID-19.


Don't bind nav-flash keybind unless enabled

The nav-flash keybind is enabled regardless of whether or not the module is enabled. This just adds a check to the map! in the default keybindings.

Sorry for the late response. I've removed the keybind in 9fa447a (not that ga has replaced its functionality), rendering this PR unnecessary. Thanks for the PR in any case!


Question: Helsinki-NLP/opus-mt-fi-fi ??

What for exist Helsinki-NLP/opus-mt-fi-fi model translate Finnish to Finnish ???

There are translation alternatives in some data sets and same-language models can be used for paraphrasing. However, the Finnish one is probably not very useful and just repeats the input I guess.


Add Google HTML verification file

Add google HTML verification file. This allows us to ask Google to index the marathon docs site.

https://jira.mesosphere.com/browse/DOCS-1795

CC @sascala @surdy

Awesome !! Thanks @joel-hamill

Thanks!

@joel-hamill cherry picked on release branch. Merged with gh-pages.
This page is now available under: https://mesosphere.github.io/marathon/google6dc7450c38e56aed.html


Controlling the backward gradient flow systemetically

There should be a strategy where to src gradient,
Usecase:

some layer's are not backwardable,
some layer's might src gradient from elsewhere (maybe because it is edge..?) or the graph is branched.

:octocat: cibot: Thank you for posting issue #920. The person in charge will reply soon.


parse bmi measurements

closed as BMI measurements are not part of ERKER, this works only displays ERKER data to Phenopackets. BMI measurements are already transferred to class obesity I - III.


Memory Requirement - Reg

Hi,
I am working on nuscenes dataset for object detection. Can you please address my question regarding the memory Requirement to work on nuscenes full dataset?
Right now, we have a nvidia GeForce RTX 4080 system each with 32GB RAM, 16GB dedicated GPU and 9728 CUDA cores. Can I work on Nuscenes full dataset with this specification?

Hi @jyothsna-phd22
Recently, I have been working on Nuscenes and from my experience I can say that training your model with the given hardware specs would be very challenging. On A100 with 80GB VRAM, the max batch-size I can achieve is 2. You may try with batchsize 1 but most likely you could get a CUDA Out of memory error.


MudGlobal: Add InputDefaults.ShrinkLabel

Description

Adds a property to control the default value of the ShrinkLabel property in all inputs.
How Has This Been Tested?

Type of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

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

👍


Update GitHub status as early as possible

update github status as early as possible so we get a link to the Jenkins build even if the build failed early
get rid of compiler warning for JNI wrapper

Signed-off-by: Gong Su<EMAIL_ADDRESS>

@jenkins-droid test this please

@jenkins-droid test this please

Jenkins Linux amd64 Build #754 [push] Update GitHub status as ... started at 13:48

Jenkins Linux s390x Build #752 [push] Update GitHub status as ... started at 14:48

Jenkins Linux ppc64le Build #6 [push] Update GitHub status as ... started at 18:48

Jenkins Linux ppc64le Build #6 [push] Update GitHub status as ... failed after 10 min

Jenkins Linux amd64 Build #754 [push] Update GitHub status as ... passed after 48 min

Jenkins Linux s390x Build #752 [push] Update GitHub status as ... passed after 53 min


incorrect cursor position

Cursor seems to be 2-3 pixels left of where it should be. I searched in issue but i dont find same issue. If it is already submmited, just close :)

environment
OS: Ubuntu Gnome 17.04
Shell: Zsh 5.2 (w/ zplug + sindresorhus/pure)

It seems like this is also dependent on the font used. For me, the whole last character is covered by the cursor.

The same is happening to me!

I use Fira Code 16pt.

Yep, same issue here as well (I typed tes):

For note, here is the text copy-pasted as text here:
╰─➤  tes

I've found a solution, but I can't figure out where in the source code, could I put.
This line of style should fix the problem:
.cursor-node {
    margin-left: .5em;
}

I don't know where in the project (in .scss or in style module definition of Angular component) should I put this.
Can someone help me?

That fixes the alignment of the cursor so it matches the monotype width, however the text is still mis-aligned:

I am using Source Code Pro as my font, which works fine in other terminals and does not mis-align text, however it seems text is getting misaligned here as you can see (I typed test).

I just fixed. replace /x-screen {/.cursor-node { margin-left: 3px; }\nx-screen {/ in${TERMINUS}/resources/builtin-plugins/terminus-terminal/dist/index.js(in my case, /opt/Terminus. I know, horrible solution but it works for now :p

And zeit/hyper also uses hterm(via hterm-umdjs too) but cursor is find. I have no idea why.

I just fixed. replace /x-screen {/.cursor-node { margin-left: 3px; }\nx-screen {/ in${TERMINUS}/resources/builtin-plugins/terminus-terminal/dist/index.js(in my case, /opt/Terminus. I know, horrible solution but it works for now :p

Does not work here either, the cursor is both offset and the text is offset both.  It really looks like text is being displayed in non-monotype-cell's.

.cursor-node {
    margin-left: .5em;
}

Worked to me.
Check:

Can you try changing your prompt to ╰─➤   and test?  Also what font are you using (Source Code Pro here).

This was due to the font not having a monospace glyph for the ➤ character. I'm not supplying a fallback font (Meslo G for Powerline), so that these characters can be rendered in a monospace manner.

@Eugeny Fira Code is not supported? :(

It is. The extra font is only for the characters missing in your chosen
font. I'm using Fira Code myself.
On Sun, Jul 16, 2017, 10:40 Seoh Char<EMAIL_ADDRESS>wrote:

@Eugeny https://github.com/eugeny Fira Code is not supported? :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Eugeny/terminus/issues/112#issuecomment-315594486,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJ2xPrOiHrbSf8OdGax5LYE0k3I_Gnmks5sOcybgaJpZM4OSj0v
.

My bad. It works well in alpha21. Thx :)

Fixed here in alpha21 for "Source Code Pro" as well.  Thanks much!


Update to use our Azure Queue library

We've added a library for working with Azure Queues, this doc and sample code should be updated to use that library.

@clearab - which topic are your referring to? Also, is there a sample in the Samples repo that we can pull code from?

Not sure, looks like the library was added a while ago (not sure who wrote it). Probably need to run through this entire article, test it, and figure out what the "current" way to do this is.

@clearab - Assuming the article in question is write directly to storage, my suggestion is to retire this and replace it with are reference topic that doesn't include much in the way of code snippets, but does include useful links for each type of storage and any tips and tricks for using the storage type within the SDK.


Why does training with DEEPSPEED continuously increase the GPU memory usage?

I configured the 'distributed_type' within the 'accelerate_config_fsdp' to utilize DEEPSPEED. However, during the course of training, there is a persistent escalation in GPU memory consumption, culminating in an eventual Out-Of-Memory (OOM) error. What factors contribute to this phenomenon?

I guess you should use this file as Deepspeed training config?
https://github.com/Luodian/Otter/blob/main/pipeline/accelerate_configs/accelerate_config_zero2.yaml


Update older test cases to include the new description patterns.

Newer additions to the test suite such as test/commands/new_zettel/new_zettel_test.ts work around the limitations of the native Deno test runner to include a test suite description. Individual tests in this new format also include the function name under test. All of the older tests should be updated to use this newer format.

Merged


Create install pre-requisites scripts for the chains demos

The demos under hack/chains have pre-requisites for running that are not spelled out elsewhere in the readmes. Much like the readme for bootstrapping a cluster includes a script for installing the pre-reqs for that, I figured it would be useful for those coming in fresh to have an easy way of having the pre-reqs for the chains demos installed for them.

A question around organization and clutter. Would it be better to perhaps tuck the os-specific scripts into a subdirectory at least so as to not clutter the chains directory?

Sure, totally understand the clutter argument. Let me rearrange and add another commit.

Cool

LGTM. What's your plan for the squashing? Just squash on merge? I presume these commits should be squashed, right?
And why is there a merge commit in here? Do you want to rebase to get rid of that merge commit? (I'm not sure how Github will do a squash when there's a merge commit - maybe it's fine but I don't know.)

/ok-to-test

LGTM. What's your plan for the squashing? Just squash on merge? I presume these commits should be squashed, right?

Squash and merge is fine.

And why is there a merge commit in here? Do you want to rebase to get rid of that merge commit? (I'm not sure how Github will do a squash when there's a merge commit - maybe it's fine but I don't know.)

I merged my fork from the main project while I was working on the scripts without thinking. Rebase should be fine. My code doesn't touch anything already in the main project aside from the README so I can't imagine there's any conflicts.

/retest-required

First off, I'm okay with merging this as is, but I do wonder why we want to maintain hack/chains/setup instead of placing this in hack/setup. I think hack/setup would benefit from having the exist_or_install function, and having one place to store and execute setup instead of two feels much better to me.

What do you think about @zregvart 's comment @kbenoit-rh ? That's a reasonable point, since the tools you're installing are for the most part applicable for everything, not just the chains/contract.
I'm also okay to merge it as is.

Sorry for the delay in response.
I was mainly reluctant to add to hack/setup given that the tools installed by my script seemed specifically geared for running the hack/chains demos. If that's not the case, I can merge this work with the hack/setup/install-pre-req.sh script and related scripts. Should I do the work in this PR or close this one out and make a new one given the merge work with the other scripts?

If you're happy with this as it is, I'm also happy.  Let's consider integrating it with the hack/setup scripts in future in another PR.
But maybe it's worthwhile mentioning the duplication in a comment.

I did the needless rebase to satisfy the new PR policies.

I'm planning to merge if goes green FYI @kbenoit-rh .

I'm planning to merge if goes green FYI @kbenoit-rh .

Sounds like a plan!

Oops too late.. :(


Add a function to re-set internal GL state tracking

This makes it possible to integration with external renderers in WebGL without causing rendering artifacts.
See https://github.com/google/filament/issues/6091

looks reasonable, will review in more details soon.

I missed state.buffers somehow, so don't review this yet

OK, I think this works. I'm kind of shaky on whether the code handling state.buffers is totally correct, but it does prevent the errors we see in our use case. Given the complexity of that code and the need to keep it in sync I'm almost inclined to zero out state.buffers and just reset all the buffer bindings, but I'll leave that up to you.

OK, I think this works. I'm kind of shaky on whether the code handling state.buffers is totally correct, but it does prevent the errors we see in our use case. Given the complexity of that code and the need to keep it in sync I'm almost inclined to zero out state.buffers and just reset all the buffer bindings, but I'll leave that up to you.

I think it's a good idea. Let's do that!

OK, I think this works. I'm kind of shaky on whether the code handling state.buffers is totally correct, but it does prevent the errors we see in our use case. Given the complexity of that code and the need to keep it in sync I'm almost inclined to zero out state.buffers and just reset all the buffer bindings, but I'll leave that up to you.

I think it's a good idea. Let's do that!

Thoughts on if it's worth doing that for texture/sampler state too?

OK, I think this works. I'm kind of shaky on whether the code handling state.buffers is totally correct, but it does prevent the errors we see in our use case. Given the complexity of that code and the need to keep it in sync I'm almost inclined to zero out state.buffers and just reset all the buffer bindings, but I'll leave that up to you.

I think it's a good idea. Let's do that!

Thoughts on if it's worth doing that for texture/sampler state too?

Yes I would, it should simplify the code a lot, and make it much less error prone, like you said. Thanks a lot!

Yes I would, it should simplify the code a lot, and make it much less error prone, like you said. Thanks a lot!

OK, this seems gtg. Thanks for spending the time on this review!

@jfaust could you sync main into your branch and rebase and squash your changes on top (we don't do merges, only rebase), so we have only one CL in the end. Thanks.

@pixelflinger done

Thanks @jfaust!


support request lines of 4107 bytes

fix #743
avoid sending a HTTP 400 response when popular browsers send a request with cookies maxing up the user-agent limit

I adapted your commit to recent changes in master and merged it directly.

Thanks!


Add support for component ibatis

I think we should reject this. See the 'prefer MyBatis' notes in the component documentation:
https://github.com/apache/camel/blob/master/components/camel-ibatis/src/main/docs/ibatis-component.adoc


Update scala-compiler, scala-library to 2.13.10

Updates

org.scala-lang:scala-compiler
org.scala-lang:scala-library

from 2.13.8 to 2.13.10.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.13.8).
You might want to review and update them manually.
zinc/src/sbt-test/macros/macro-arg-dep-nested/build.json
zinc/src/sbt-test/macros/macro-arg-dep-stackoverflow/build.json
zinc/src/sbt-test/macros/macro-arg-dep/build.json
zinc/src/sbt-test/macros/macro/build.json
zinc/src/sbt-test/source-dependencies/java-class-invs/build.json
zinc/src/sbt-test/source-dependencies/subproject-api-update/build.json
zinc/src/sbt-test/source-dependencies/subproject-java/build.json
zinc/src/sbt-test/source-dependencies/subproject-pipelining-mixed/build.json
zinc/src/sbt-test/source-dependencies/subproject-pipelining-noclobber/build.json
zinc/src/sbt-test/source-dependencies/subproject-pipelining-optout/build.json
zinc/src/sbt-test/source-dependencies/subproject-pipelining/build.json
zinc/src/sbt-test/source-dependencies/trait-local-change/build.json

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scala-lang" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Any update on getting this merged?

@eed3si9n Any thoughts on merging this?

We can't merge this as-is, given the test failures. I think earlier I was concerned about bumping Scala 2.13.x because of its regressions and scala-xml bumps, but mostly those are now resolved?

I think maybe the errors are because this version needs to be swapped out in a few more places? https://github.com/search?q=repo%3Asbt%2Fzinc 2.13.8&type=code

@eed3si9n let's see if https://github.com/sbt/zinc/pull/1196 passes the tests if so let's use this pull?


(bugbash) fixes opt.semgrep.err-nil-chec

[ ] I added CHANGELOG entry for this change.
[X] Change is not relevant to the end user.

Changes
Removes unwanted err nil checks

Verification

moved to #4147


Fix path to init.sh

Small error: But in running-a-custom-node.md, "./init.sh" should be "./scripts/init.sh"

Thanks Andrew!


Realtime navigation

Just looked into your repository and it looks great. I just have a few questions i hope you can answer.
I currently have cartographer up and running using 2d slam with a lidar, and it works very well. Now i just wish to add navigation based on the map generated from cartographer. Are you able to run slam real time together with the navigation? Say putting the robot in an unexplored environment, and letting it explore it all by itself.
Do you have any video/demo of this running live?
Thanks in advance.

Hello,
we implemented move_base alongside with cartographer, it is just a matter of configuring the global cost map based on the map generated by carto, and give it a threshold
global_costmap:
  update_frequency: 5.0
  static_map: true
  rolling_window: false
  resolution: 0.05
  static_layer:
    map_topic: /map
    subscribe_to_updates: true
    lethal_cost_threshold: 60
  inflater_layer:
    inflation_radius: 0.5
    cost_scaling_factor: 10

  plugins:
  - {name: static_layer, type: "costmap_2d::StaticLayer"}
  - {name: inflater_layer, type: "costmap_2d::InflationLayer"}

that is what i aded to base_global_costmap.yaml


⚠ Samsung has degraded performance

In 05591b7, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2842 ms

Resolved: Samsung performance has improved in 82d3244.


Option class: BigDecimalNanDeserializer needed for volatility + theoreticalOptionValue

Getting Exception as these 2 returns NaN for MSFT getOptionChain

Having this issue on option chains. Tracked it down to
DefaultMapper 	public static <T> T fromJson(InputStream in, TypeReference<T> typeReference) {     try (BufferedInputStream ignored = new BufferedInputStream(in)) {       return defaultMapper.readValue(in, typeReference);     } catch (IOException e) {       throw new RuntimeException(e);     }
with an exception like:
Cannot deserialize value of type java.math.BigDecimal from String "NaN": not a valid representation at [Source: (BufferedInputStream); line: 1, column: 38443] (through reference chain: com.studerw.tda.model.option.OptionChain["putExpDateMap"]->java.util.LinkedHashMap["2020-10-23:5"]->java.util.LinkedHashMap["42.0"]->java.util.ArrayList[0]
Apparently some field on the return is not a number but I am not smart enough to track further. I've tried a couple tickers, same result.
I'll also post this under #31.

I know how to fix that. Give me a few hours to take a look...
On Sun, Oct 18, 2020, at 18:36, higgsja wrote:

Having this issue on option chains. Tracked it down to
DefaultMapper public static <T> T fromJson(InputStream in, TypeReference<T> typeReference) { try (BufferedInputStream ignored = new BufferedInputStream(in)) { return defaultMapper.readValue(in, typeReference); } catch (IOException e) { throw new RuntimeException(e); }
with an exception like:
Cannot deserialize value of type java.math.BigDecimal from String "NaN": not a valid representation at [Source: (BufferedInputStream); line: 1, column: 38443] (through reference chain: com.studerw.tda.model.option.OptionChain["putExpDateMap"]->java.util.LinkedHashMap["2020-10-23:5"]->java.util.LinkedHashMap["42.0"]->java.util.ArrayList[0]

Apparently some field on the return is not a number but I am not smart enough to track further. I've tried a couple tickers, same result.

I'll also post this under #31 https://github.com/studerw/td-ameritrade-client/issues/31.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/studerw/td-ameritrade-client/issues/31#issuecomment-711434273, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHJA7PFGDUIPBYPL4WHC3SLNUYVANCNFSM4SU7GBVA.

Thanks!!

@higgsja what version are you using? The latest build or the last release 2.2.0?

2.2.0
If you cannot recreate this issue let me know. Could be I have another incorrect version of some jar file.

Went ahead and looked through the jar versions. Seems ok. Let me know if you discover the issue on this or if I can help further.

Can you build the master branch and then trying using 2.3.0-SNAPSHOT in your project? The fix to your issue is in one of the last few commits.
On Tue, Oct 20, 2020, at 12:38, higgsja wrote:

Went ahead and looked through the jar versions. Seems ok. Let me know if you discover the issue on this or if I can help further.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/studerw/td-ameritrade-client/issues/31#issuecomment-712991585, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHJA4KMYIAC3RBZS67Y5TSLW4HJANCNFSM4SU7GBVA.

I can try ...

Ok, that works in a limited way:
Huge number of 'WARN com.studerw.tda.parse.BigDecimalNanDeserializer - volatility using invalid NAN instead of a valid double' for the various elements including the greeks, etc. Could be tdAmeritrade does not actually provide those elements?
However, it does not fail and the basic info is now available.
Thanks!!!

Yeah I think the problem is that TDAs internal API is in Java, and a lot of these doubles are too close to zero for JavaScript to represent so the JS converts to NAN. So we lose precision but there isn’t any good way to solve it on our end. TDA would need to use a better library for representing very small floating point numbers without truncating them to NAN.
On Tue, Oct 20, 2020, at 17:56, higgsja wrote:

Ok, that works in a limited way:
Huge number of 'WARN com.studerw.tda.parse.BigDecimalNanDeserializer - volatility using invalid NAN instead of a valid double' for the various elements including the greeks, etc. Could be tdAmeritrade does not actually provide those elements?

However, it does not fail and the basic info is now available.

Thanks!!!

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/studerw/td-ameritrade-client/issues/31#issuecomment-713163102, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHJAZWNJGWDBTBKYGXHQTSLYBRTANCNFSM4SU7GBVA.

harrumph.
I sent a message to the tdAmeritrade team last May. They answered (not a useful answer) yesterday. Clearly not a priority ...

@higgsja, I made and published new release 2.3.0 if you want the fixes for NAN. I'm going to close this unless there is something else.


add support for javascript and javascriptreact

Supporting typescript is basically supporting all of javascript + the additions typescript brings to the table - so why not support them both?
I've created a neat little PR that generalizes supported languages of this extension and allows for easy addition of new languages by altering only one file!

@SoominHan @mike-co better late then never 😅


Named range filters aggregation

Which version of Elastic are you using?
elastic.v3 (for Elasticsearch 2.x)
Please describe the expected behavior
I should be able to name my range filters as per the example in the code comment (search_aggs_bucket_filters.go:48-61)
I want to give keys to the range filters I add to a filters aggregation, for example:
Aggregation("someagg", elastic.NewFiltersAggregation().
			Filters(
				elastic.NewRangeQuery("created").From("now-12M/w").To("now/w"),
				elastic.NewRangeQuery("created").From("now-12M-1w/w").To("now-1w/w"),
			)
)

Which marshals to a slice of filters but I need to give an index key to these ranges such as:
"someagg": {
                "filters": {
                    "filters": {
                        "current": {
                            "range": { "created": { "from": "now-12M/w", "to": "now/w" } }
                        },
                        "prev": {
                            "range": { "created": { "from": "now-12M-1w/w", "to": "now-1w/w" } }
                        }
                    }
                }
}

Please describe the actual behavior
The filter is marshalled as
"someagg": {
                "filters": {
                    "filters": [
                         {
                            "range": { "created": { "from": "now-12M/w", "to": "now/w" } }
                        },
                        {
                            "range": { "created": { "from": "now-12M-1w/w", "to": "now-1w/w" } }
                        }
                    ]
                }
}

You're correct. The Java API provides the same options and splits the filters into keyedFilters and nonKeyedFilters (see here). It changed again in master. I will try to find a way to do something similar in Elastic.

I'm in the process of releasing 3.0.37 that contains the ability to use named filters. See d157b77 for changes and usage examples.

Excellent, thanks @olivere

can we get this behaviour on elastic.v2 as well?

v2.0.47 has just been pushed. That release contains a backport of the named/unnamed filters aggregations from v3. See 3f06295.


Bug?: .gitignore not updated when going through Remix guide

Description
I'm working on a reference implementation of onboarding https://github.com/philly-js-club/philly-js-club-website to Panda CSS. Very excited about it!
I went through the guide at https://panda-css.com/docs/installation/remix and ended up with the whole styled-system/ directory checked into source control. Which was surprising given that https://panda-css.com/docs/references/config#gitignore indicates gitignore's default value is true to add styled-system/ to .gitignore.
The only reference to .gitignore on the Remix page is:

This step ensures that the panda output directory is regenerated after each dependency installation. So you can add the output directory to your .gitignore file and not worry about it.

...which feels to me as an implication we can add the entry to the file - not an indication it will or won't be.
Link to Reproduction
https://github.com/philly-js-club/philly-js-club-website/pull/85/commits/599ae4a53595460daf3a4b586c3d8cef9eecf1a8
Steps to reproduce

Check out https://github.com/philly-js-club/philly-js-club-website/pull/85/commits/599ae4a53595460daf3a4b586c3d8cef9eecf1a8 locally
Go through the Remix getting started guide again
note that the .gitignore file isn't updated

(sorry that it's not a Stackblitz repo!)
JS Framework
Remix (TS)
Panda CSS Version
0.24
Browser
n/a
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

@JoshuaKGoldberg I'm not sure I understand what issue you're facing

Sorry for being unclear! What I'm saying is, I expected the getting-started guide to add at least the following to my .gitignore:
+ styled-system

...but it didn't. Which was surprising for two reasons:

Getting started guides I've experienced before generally have you .gitignore any built output if that's the intended way to use the framework.
The panda.config.ts config value for adding to .gitignore is described as defaulting to true, so I'm surprised it wasn't done for me.

Thanks for clarifying @JoshuaKGoldberg; @astahmer has opened a PR that fixes this. #1914

Thanks for the quick fix! 🙌


Show Explorer count and File editors in sync with save/do not save action

Create new files and edit them
Use close all
You get dialog per dirty editor for save confirmation
Select do not save in first dialog

Observe that Explorer count and dirty editor on the background still does not reflect the state. They are updated only after all dialogs are confirmed. It would be nice if they can be in sync.

I do not think we can do this because the dialog is blocking the UI thread and I doubt anything would update in the background (at least on Mac).

Sorry, no plans to change this.


yacrd usable for Nanopore cDNA reads?

Hi!
I am wondering if I can use ycard on my set of ONT cDNA reads that were generated using the SQK-PCS109 PCR-cDNA Sequencing Kit?
Will it remove rare splice variants?
Thanks for your thoughts on this.
Michael

Hi,
First, you want use yacrd for detect chimeric read or perform scrubbing ?
I test yacrd to detect chimeric reads on cDNA data one time for on a read that we already thought was chimeric, and it worked but I think more test are require to generalize.
I think that yacrd can be used on cDNA data by carefully choosing the parameters of minimap2 and yacrd and if we accept that an alternative transcript containing an additional exon sequenced only one time is considered a chimera by yacrd. But you can use yacrd to get read they are probably chimeric and run a second analysis after to separate rare splice variants and chimeric reads.
If you need help to found best parameter and separated the chimeras to rare splice variants. Don't hesitate to ask me.
Pierre

Hi Piere,
thanks for your comments.
I want to use it for scrubbing of reads before piping them into an error correction tool to further improve read quality and genome mapping accuracy.

I think that yacrd can be used on cDNA data by carefully choosing the parameters of minimap2 and yacrd and if we accept that an alternative transcript containing an additional exon sequenced only one time is considered a chimera by yacrd. But you can use yacrd to get read they are probably chimeric and run a second analysis after to separate rare splice variants and chimeric reads.

That is a great idea. I will give it a try and get back to you in case I am encountering issues.
cheers
Michael


Add autogenerated folder in .gitignore.

Add src/app/media/ and src/spdx-license-matcher/ in .gitignore
Fixes: #169

@rtgdk please review.

@shubhamgupta2956 Yes, we can add src/src/secret.py to this file.


TECH-418: Add sorting to the Product table

Description:
Add sorting to the Product table.
Ticket: https://govstack-global.atlassian.net/browse/TECH-418
Implemented solution detail:
https://user-images.githubusercontent.com/80507519/231485431-f6ef31a6-4f03-4c1e-bed3-54a518343f48.mov

@dszafranek The design is updated (different icons than in figma mocks)


Thank you very much for all the effort you are doing!

It would really be great if you add assignment answers also. solutions for multiple-choice questions too.

I already added brother please check all weeks readme file I've already updated readme files

@kishanrajput23 Thanks a lot for your efforts sir.

@thefamousfiveofficial welcome bro. If you like my work then do share with your friends. 👍


Speed

Creates 'model/results' directory if it doesn't exist.

Hey Felix,
Could you check this pull request?
Also, I am trying out the functionalities.


Strange behavior when using EventCountSnapshotTriggerDefinition

Axon version: 3.0.2
With: spring-boot-axon + H2 + No cache repository
Project to run the sample: https://github.com/moifort/axon-sample-with-snapshot
Definition

EventCountSnapshotTriggerDefinition: configured to 3 count
Aggregate: Order
Action: CreateOrder, UpdateOrder, CancelOrder

Scenario

CreateOrder
UpdateOrder
CancelOrder
UpdateOrder
CancelOrder

Behavior of EventSourcingHandler on aggregate

CreateOrder

OrderCreatedEvent

UpdateOrder

OrderCreatedEvent
OrderUpdatedEvent

CancelOrder

OrderCreatedEvent
OrderUpdatedEvent
OrderCanceled
Snapshot triggered but store aggregate from OrderCreatedEvent + OrderUpdatedEvent (because hasn't store yet the OrderCanceledEvent, and create the snapshot from events already store ( OrderCreatedEvent,  OrderUpdatedEvent).

UpdateOrder

OrderCanceledEvent
OrderUpdatedEvent
Snapshot triggered again but this time store the aggregate from previous snapshot + OrderCanceledEvent (previous event)

Cancel Order

OrderUpdatedEvent
OrderCanceledEvent
Snapshot triggered again but this time store the aggregate from previous snapshot + OrderUpdatedEvent (previous event)

Questions
It's seems to be a strange behavior, normally the snapshot should be triggered only every 3 event?

@moifort, it's actually not that strange. A trigger is done when 3 or more events are being read to reconstruct the current state of an aggregate. However, the actual snapshot is created and stored asynchronously. So if you perform your commands in different threads, it is very well possible that the snapshot is triggered twice, because the snapshotter didn't get the chance to store (and commit) the snapshot yet.
It is also possible that the actual snapshot contains more events than 3. The snapshotter will always read all available events when creating a snapshot.
We do have plans to optimize this behavior a bit, not scheduling snapshot if one has already been scheduled or if a snapshot is currently in creation. However, this is merely an optimization.
Do note that 3 is a very low number. In production situations, I'd recommend higher values in the order of magnitude of 100 - 250.

Thanks @abuijze for the explaination, dont worry for the threshold at 3, it was just to understand how the snapshot work.


No web interface

Hello openwrt,
I've purchased TP-LINK TL-WA701ND wifiextender/access point couple weeks ago and today replaced it's firmware with yours.
Everything is smoothly so far, but I'd like to configure the device from my browser and saw that there was package called 'luci'.
Installed the non-ssl version of luci and when I went to the local ip address of my wifiextender saw that the web interface was kinda weird.
Attaching picture so you can see how weird the web interface is:

Cheers

Did you have any errors/warnings while installing luci??
Try: opkg list-installed luci*
You should see several packages. Did you change anything in the uhttpd config?
You seem to be missing a number of files/directories in /www.
Others here may have a better answer.

Hello Ted,
I've reset the device and removed luci with it is dependencies and installed it again. This time I paid more attention and it seems that my device is running out of space, here is the output:
opkg install luci
Installing luci (git-15.079.29361-3e37216-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/luci/luci_git-15.079.29361-3e37216-1_all.ipk.
Installing uhttpd (2015-03-11-ae3fe30b6a1d4a45a34b3a896e9a4997c5da500f) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base/uhttpd_2015-03-11-ae3fe30b6a1d4a45a34b3a896e9a4997c5da500f_ar71xx.ipk.
Installing luci-mod-admin-full (git-15.079.29361-3e37216-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/luci/luci-mod-admin-full_git-15.079.29361-3e37216-1_ar71xx.ipk.
Installing luci-base (git-15.079.29361-3e37216-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/luci/luci-base_git-15.079.29361-3e37216-1_ar71xx.ipk.
Configuring luci-mod-admin-full.
Configuring uhttpd.
ln: /etc/rc.d/S50uhttpd: No space left on device
Collected errors:
 * wfopen: /usr/lib/lua/luci/http.lua: No space left on device.
 * extract_archive: Cannot make dir /usr/lib/lua/luci/sys/: No space left on device.
 * extract_archive: Cannot make dir /usr/lib/lua/luci/sys/zoneinfo/: No such file or directory.
 * wfopen: /usr/lib/lua/luci/sys/zoneinfo/tzdata.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/sys/zoneinfo/tzoffset.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/sys/zoneinfo.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/sys/iptparser.lua: No such file or directory.
 * extract_archive: Cannot make dir /usr/lib/lua/luci/cbi/: No space left on device.
 * wfopen: /usr/lib/lua/luci/cbi/datatypes.lua: No such file or directory.
 * extract_archive: Cannot make dir /usr/lib/lua/luci/http/: No space left on device.
 * wfopen: /usr/lib/lua/luci/http/protocol.lua: No such file or directory.
 * extract_archive: Cannot make dir /usr/lib/lua/luci/http/protocol/: No such file or directory.
 * wfopen: /usr/lib/lua/luci/http/protocol/mime.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/http/protocol/date.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/http/protocol/conditionals.lua: No such file or directory.
 * wfopen: /usr/lib/lua/luci/i18n.lua: No space left on device.
 * wfopen: /usr/lib/lua/luci/cacheloader.lua: No space left on device.
 * wfopen: /usr/lib/lua/luci/controller/admin/servicectl.lua: No space left on device.
 * wfopen: /sbin/luci-reload: No space left on device.
 * extract_archive: Cannot make dir /www/luci-static/resources/icons/: No space left on device.
 * wfopen: /www/luci-static/resources/icons/ethernet.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/encryption_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-none.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/wifi_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/ethernet_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/wifi.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-0-25.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/vlan.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/switch_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/bridge_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-25-50.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/port_down.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-50-75.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/tunnel.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-0.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/switch.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/signal-75-100.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/loading.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/vlan_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/wifi_big.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/bridge.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/port_up.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/encryption.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/wifi_big_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/icons/tunnel_disabled.png: No such file or directory.
 * wfopen: /www/luci-static/resources/xhr.js: No space left on device.
 * wfopen: /www/luci-static/resources/cbi.js: No space left on device.
 * extract_archive: Cannot make dir /www/luci-static/resources/cbi/: No space left on device.
 * wfopen: /www/luci-static/resources/cbi/file.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/arrow.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/user.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/save.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/add.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/up.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/edit.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/folder.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/key.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/reload.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/link.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/down.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/apply.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/find.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/download.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/help.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/reset.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/fieldadd.gif: No such file or directory.
 * wfopen: /www/luci-static/resources/cbi/remove.gif: No such file or directory.
 * wfopen: /www/index.html: No space left on device.
 * extract_archive: Cannot make dir /www/cgi-bin/: No space left on device.
 * wfopen: /www/cgi-bin/luci: No such file or directory.
 * extract_archive: Cannot make dir /lib/uci/: No space left on device.
 * extract_archive: Cannot make dir /lib/uci/upload/: No such file or directory.
 * wfopen: /lib/uci/upload/.gitignore: No such file or directory.
 * wfopen: /etc/config/luci: No space left on device.
 * wfopen: /etc/config/ucitrack: No space left on device.
 * pkg_write_filelist: Failed to open //usr/lib/opkg/info/luci-base.list: No space left on device.
 * opkg_install_pkg: Failed to extract data files for luci-base. Package debris may remain!
 * opkg_install_cmd: Cannot install package luci.
 * opkg_conf_write_status_files: Can't open status file //usr/lib/opkg/status: No space left on device.

What's even more interesting is that my tmpfs directory has 99% of the needed free space, and no matter what packages I am trying to install, the package manager will always output "no space left"
Filesystem                Size      Used Available Use% Mounted on
rootfs                  768.0K    696.0K     72.0K  91% /
/dev/root                 2.0M      2.0M         0 100% /rom
tmpfs                    13.9M    560.0K     13.4M   4% /tmp
/dev/mtdblock3          768.0K    696.0K     72.0K  91% /overlay
overlayfs:/overlay      768.0K    696.0K     72.0K  91% /
tmpfs                   512.0K         0    512.0K   0% /dev

Is there any package that is less than 70kb to delete and recreate my partitions ?


fromEventPattern() should not magically return different results based on arguments.length

Bug Report
Current Behavior
fromEventPattern currently checks args.length and if it's 1, emits the first item, otherwise it emits an array of all:
https://github.com/ReactiveX/rxjs/blob/d3e7e3f299e277b077602d26c59dab40ef0e1dba/src/internal/observable/fromEventPattern.ts#L153
This is problematic because it is not type safe and unpredictable.
It could be made slightly more type safe with a conditional type, but even then, if the parameter is optional TS would accept calling the listener with undefined or no parameter at all, which are different args.length and would result in one case in the emission of an array [undefined] and in the other case in undefined, which would not be checked by the type checker.
Checking arguments.length is generally considered bad practice.
What's worse is that you can't even reliably use resultSelector anymore to ensure it is always an array, because the magic switching is always done first, and resultSelector is just a shortcut now that checks if the element is an array. Which means that if the listener was actually called with an array as a single parameter, the resultSelector logic would think it was instead called with multiple parameters and spread the array out.
Expected behavior
fromEventPattern() should just emit a tuple of all parameters. It's trivial to destructure that array or map it to just the first parameter if desired.
Environment

RxJS version: 6

Yeah. I agree that this behaviour is not ideal. This is something that could be looked at for v7, but not for v6 where it would be a breaking change.

How about simply replacing e.length === 1 with e.length <= 1 for now? I'd call it a bug fix, not a breaking change.

Maybe with all of the functions that do this (bindCallback and friends also do this), we could return the result selector, and just the result collector gets args[] but the default, without the result selector will always just be the first argument.
So, let's say your fromEvent source has 3 args: number, string, boolean:   fromEvent(thing, 'whatever') would return Observable<number> always. BUT, fromEvent(thing, 'whatever', (a: number, b: string, c: boolean) => of([a, b, c])) would give you Observable<[number, string, boolean]>.
It's an idea. Of course, we'd need to wait a long time to introduce this, because it's a breaking change.

Core Team Notes: Punting this change to version 8. We can't do this at this stage of the v7 release. This will also give us time to come up with a solid design for how to handle this.


Enforce symmetry on cov_matrix parameter inverse transform

Summary:
The cov_matrix parameter type can be inverse transformed from unconstrained space into a result that is not symmetric.  Enforce symmetry on it.
Moved from Stan issue https://github.com/stan-dev/stan/issues/1995
Description:
Result should be symmetric.  Can take either average of upper and lower triangular or just pick one.  Either way, it's critical to ensure the autodiff gives the right result with the copies.
Reproducible Steps:
@andrewgelman reported on stan-users list that the following led to the behavior:
data {
 int N;
 matrix[N,2] y;
}
parameters {
 vector[2] mu;
 cov_matrix[2] Sigma;
 matrix<lower=-0.5, upper=0.5>[N,2] round_err;
}
transformed parameters {
 matrix[N,2] z;
 z = y - round_err;
}
model {
 for (n in 1:N)
   z[n,] ~ multi_normal(mu, Sigma);
}

It was with a dataset with N=185 data points (i.e., y was a 185 x 2 matrix).
If you have a reproducible example, please include it.
Current Output:
Each chain gave a message kinda like this:
The following numerical problems occured the indicated number of times after warmup on chain 4
                                                                                count
Exception thrown at line 16: multi_normal_log: Covariance matrix is not symmetric. Covariance matrix    14
Exception thrown at line 16: multi_normal_log: LDLT_Factor of covariance parameter is not positive d     2
When a numerical problem occurs, the Hamiltonian proposal gets rejected.
If the number in the 'count' column is small, do not ask about this message on stan-users.

Expected Output:
Symmetry.
Current Version:
v2.11.0

Fixed with pull #343


commit and its corresponding functions

I found that the commit id does not match the functions and changes you provide in each data sample.
For example, I search the commit accoriding to the commit id, and see what functions are changed during the commit. Then I find the functions changed in the commit are not the functions that shown in your data.
I wonder why? Am I correct? or I make a mistake?

Hi @wubozhi, thanks for the message.
Just wanted to double check if I got your question correctly. Are you saying

(1) the commit info (the commit field) saved (e.g.) doesn't match the actual version where the issue is from, or
(2) the commit info is correct but the functions changed by the commit as captured by touched_by_commit (e.g.) are not correct?

If it's (1), I was wondering which commit hash you were checking. Basically, for each issue, two consecutive version hashes (e.g.) and the commit hash in between are relevant. For example, regarding positive samples, the before is the version where the issue is from, and the after is the  version where the issue is fixed by the commit. So the commit hash is the after version hash, which is specified in sample["commit"]["url"] (e.g.).
If it's (2), would it be possible to have an example such that I can understand the problem better?

Hi @zyh1121 , thanks so much for your reply.
nginx_labeler_1.json.txt
nginx_after_fix_extractor_0.json.txt
These two json files are extracted from nginx.tar.gz  you provided.
I have the following questions:

Through beyondcompared, you can find that for some samples, the after_fix_extractor_0 version and labeler_1 version have lable 0 and 1 respectively, but  their functions are the same. This is weird.

For example, sample id: nginx_a8f0ddde6aef8e5868bf4ac5b5b8c80be83dc601, you can see

Some different samples have the same commit id, i.e., version_pair or version . For exmple, sample id: nginx_a8f0ddde6aef8e5868bf4ac5b5b8c80be83dc601_1 and nginx_f269d57b5c669ef3d2cb304e7e10f365098872fb_1, they have the same commit id. I am a little confused why should not different samples come from different commit ids? Otherwise, how can you get the corresponding after-fix version? That's also the reason I ask the question yesterday, because I found the commit id does not match the functions and changes you provide in each data sample.

Thanks again for your reply, hope you can help me clear my confusion.

Thanks for the details, @wubozhi. I see the confusions
For (1), they are produced by two different labellers, please refer to this section in README for details. In particular, for the examples you gave, nginx_after_fix_extractor_0 essentially refers to the code after fix, where the bug is supposedly fixed by the commit. That's why the git commit hash is cf3134... (the after commit version). On the other hand, nginx_labler_1 refers to the bug before the fix.  Does it make sense?

I am a little confused why should not different samples come from different commit ids?

The reason is the static analyzer can find multiple issues in a same version. some are real and some are FPs. In the example you gave, the bug type of the upper one is BUFFER_OVERRUN_L4 and the lower one is INTERGER_OVERFLOW_L5. And they may sit at different parts in the code base. I didn't see why different samples should come from different commit.

because I found the commit id does not match the functions and changes you provide in each data sample.

I am sorry. still not following. Let me try and see if I can address your question. sample["functions"] and sample["url"]["changes"] are different things:

sample["functions"] are functions in the trace steps identified by the static analyzer, which are relevant to the issue. They have nothing to do with the commit changes.
sample["commit"]["changes"] are the places touched by the commit, whose hash is the after version hash, which is also captured in sample["commit"]["url"].

Please refer to the field description in README for more info

Thanks so much for your patience. I'm still confused.
For (1),  "nginx_after_fix_extractor_0 essentially refers to the code after fix, where the bug is supposedly fixed by the commit ", you mean the functions in "nginx_after_fix_extractor_0" are the code after fix? But can you provide the corresponding commit id? Accoring to the data in "nginx_after_fix_extractor_0", itscommit id may be one of the following? But I found both of them are not related to the functions in "nginx_after_fix_extractor_0". Do I make some mistakes?
"version_pair": {
"before": "b0b7b5a356c7dedf4a1867e94d8a36cbb6dc3da1",
"after": "cf31347ee84fdaa02f768e641d1a2f1352b6a56a"
}
Actually I know what you mean, but my question is why the samples with same functions are labeled as 0 and 1 respectively in nginx_after_fix_extractor_0.json.txt and nginx_labeler_1?  You mean the labels in nginx_after_fix_extractor_0.json.txt are not necessarily correct?
Maybe I'll tell you my intentions so you can understand what I'm thinking: I am going to train a vulnerability identification model with your dataset. Here I use the samples in nginx_labeler_1 as positive sample, and nginx_after_fix_extractor_0.json.txt as negative sample. Could I do that?
Thanks again. Hope I do not disturb you too much.


⚠ File access has degraded performance

In 70c5d8d, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 3842 ms

Resolved: File access performance has improved in c69c769 after 10 minutes.


Execution Time Goes infinite

When i try to send send request wtih REST client it goes to infinite execution. I have tried with another system it works fine. I also tried to re install this extension from chrome but problem still exists.
please help...
Expected outcome
What should happen?
Actual outcome
What happened?
Versions
App: <IP_ADDRESS>9-stable
Chrome: 54.0.2840.71
Platform: Windows (8.1)
Steps to reproduce

Hi,
Thank you for issue report.
It is a duplicate of #887 so I'm closing this one.


Custom concatenated select and where like

Hello!
I have columns firstname and name. I need to do a where statement where firstname and name are concatenated...
select concat(firstaname, ' ', name) as fullname where fullname ....
Is it possible to do this?

I think it makes more sense to concatenate in the entity object.
public function fullname()
{
    return "{$this->firstname} {$this->lastname}";
}

However if preferred you can use ->query(...) to manually create a query with concatenation. Something like.
$foo = $mapper->query("SELECT CONCAT(firstname, ' ', lastname) AS fullname FROM foo WHERE id = 1");

Not sure how this would map to the entity though.

Ok, tnx!


Could not get unknown property 'lintVersion'

Added checks library and getting "Could not get unknown property 'lintVersion'"
No indication if I need to provide this in documentation?

Hey johnnyzen, just checking if you've first tried adding the lintVersion to your app's build.gradle file (see here for an example: https://github.com/google/android-security-lints/blob/main/build.gradle#L21).
Happy to update the documentation if this was confusing and resolves your issue.


vision datasets heads

Hi. In 8vision_training.py, we need to get clip encodings for each dataset by loading that dataset's specific head from HEAD_DIR/VIT_ARCH/dataset_name_head.pt. Would you advise how we should obtain these task specific heads? Thanks.

Hi,
Just to understand better, are you asking about how to use this file? (found from following the "Datasets" README?
If so, you should be able to generate the heads by running that file, and specifying the datasets you wish to generate heads from here.
I hope this helps! Please let us know if there is anything :).

Closing due to poster acknowledgment. Please reopen if there are issues :).


Add u128 and i128.

Fixes #3
Although that doesn't require feature gates since u128 and i128 are already in stable.

Thanks @derekdreery , could you please release it on crates.io?

Already on it :)

Oh, sorry, I meant the version that includes this change : )

version 0.1.2 is out with i/u128 :)

Awesome, thank you!


Review line spacing for small role text

First line spacing appears to be wider than subsequent lines.

<small> should be wrapped in <p>