improvement(header/p2p): change store to getter inside headerEx server

Overview
We do not need to use all header.Store methods in HeaderEx server. Instead, we can use header.Getter
Checklist

[x] New and updated code has appropriate documentation
[x] New and updated code has new and/or updated testing
[x] Required CI checks are passing
[x] Visual proof for any user facing features like CLI or documentation updates
[x] Linked issues closed with keywords

Codecov Report

Merging #1604 (79ba7f1) into main (8b44f0d) will decrease coverage by 0.29%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##             main    #1604      +/-   ##
==========================================
- Coverage   54.35%   54.06%   -0.30%
==========================================
  Files         222      222
  Lines       14368    14357      -11
==========================================
- Hits         7810     7762      -48
- Misses       5710     5736      +26
- Partials      848      859      +11

Impacted Files
Coverage Δ

share/p2p/shrexeds/client.go
36.48% <28.57%> (-32.93%)
:arrow_down:

header/p2p/server.go
68.03% <100.00%> (ø)

share/share.go
72.72% <0.00%> (-27.28%)
:arrow_down:

share/p2p/shrexeds/server.go
51.88% <0.00%> (-10.38%)
:arrow_down:

share/eds/store.go
56.95% <0.00%> (-2.70%)
:arrow_down:

share/p2p/shrexeds/pb/extended_data_square.pb.go
30.87% <0.00%> (-2.55%)
:arrow_down:

share/ipld/get.go
92.14% <0.00%> (-2.48%)
:arrow_down:

share/eds/byzantine/pb/share.pb.go
34.84% <0.00%> (+1.96%)
:arrow_up:

share/eds/byzantine/bad_encoding.go
69.00% <0.00%> (+3.00%)
:arrow_up:

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


Releasing pretrained models

Hi, Will you be releasing weights of T0 (3B) pre-trained via (IA)^3?

Hi, yea it is under pretrained_checkpoints.

@dptam Did you also release other baseline models? I'm doing some downstream analysis which would significantly benefit if all the PEFT baseline models were available.

Sorry we only released the pre-trained checkpoints. However, this code can be used to train the PEFT baselines.

@dptam Thanks for the quick reply!


docs: flake.nix

Recent addition of flake.nix to be added to the install/ build instructions.

Done with a162421ef15309c06e92703302eab3ab45b880b6


Subscription not checking

hi, I've a paid subscription of changedetection.io. My checks have not been checking. Is there anything that I can do to reset the server or something?

solved :)

Hi, it stopped checking again for 13 hours so far. Can you let me know when it's been resolved please? Thanks.

@blankfruit please send an email to<EMAIL_ADDRESS>with your login URL


Alternative screen resolutions breaking ratio

When I setup 1280x720 or 960x540 (as recommended from official carplay guide) instread of
width: 800px;
height: 600px;

in server.py
this resolution changes screen ratio (see attach)

PS: resolution 800x600 works fine, but it too small for real usage.

There's a couple of other locations that also contain the 800/600 values. It should be a simple matter to move it all to a central location, I'll try and do that tonight.

It's my mistake, I found additional mention of screen resolution in several places:
protocol.py:105:        self.width = 800

server.py:63:width: 800px;

teslabox.py:27:                msg.x = int(x*10000/800)

I assume good solution to move const ouside sources (e.g. yaml/json config).
Just curious:is Carlinkit supports  the non-standard screen ratio ?
I mean 1280x480 10.25" LCD which uses in BMW IVI:


SearchableField using Collection(String) type will create a String only searchable field instead of Collection

Package Name: azure-search-documents
Package Version: 11.5.0
Operating System: Ubuntu 24.04
Python Version:  3.12.3

Describe the bug
When creating an Index using a SearchableField with Collection(String) type it ends up creating one that only supports Strings.
To Reproduce
Steps to reproduce the behavior:

Define a fields list that includes SearchableField(name="keywords_es", type=SearchFieldDataType.Collection(SearchFieldDataType.String), analyzer_name="es.lucene") for example.
Create a SearchIndex with that list.
Call SearchIndexClient.create_or_update_index to create the index with the field.
Field keywords_es is now a searchable field of type String instead of Collection(String)

Expected behavior
The field keywords_es should be of type Collection(String)
Screenshots
Additional context
As a workaround, one can instead use a SearchField and specifically ask for all their attributes and it does create the field properly:
SearchField(name="keywords_es", filterable=False, facetable=False, searchable=True, type=SearchFieldDataType.Collection(SearchFieldDataType.String), analyzer_name="es.lucene"),

Thanks for reaching out.
type is not a valid argument for SearchableField. If you want to create a collection using SearchableField, you can use
SearchableField(collection=True)

oh thanks! closing it then


Uninstall instructions

Tell me, please, is there a command to delete the script? Safari doesn't work correctly

Spoof-DPI is in the folder:
~/.spoof-dpi
You can remove the folder:
rm -rf ~/.spoof-dpi
But you can also terminate the terminal where open the service and it will be stopped

Probably, instruction on removing system-wide proxy settings should be added as well.

Safari may not work because of enabled proxy on <IP_ADDRESS>.1 8080

If you quit spoof-dpi not in a normal way, the system proxy setting might not get rolled back properly. in those cases you can easily turn on the spoof-dpi again and press Ctrl + c to quit spoof-dpi. because that's the way how we quit terminal program.
Maybe next i have to add an inline instruction to the application like
INFO[2024-08-15T19:43:21+09:00] Press Ctrl + c to quit the server


Merge IBFT into master, run network with faulty nodes, deploy to integration

Expected Behavior
Also create baklava branch. Finish by EOD 12/4
Current Behavior
What is the current behavior?

IBFT Merged
Integration Deployed
Branch baklava-phase-1 created on celo-blockchain


doc: update py3 requirements

Hi, I noticed that the docs can be updated slightly to instruct people on how to successfully use django-easy-pdf on Python 3 now that xhtml2pdf py3k is in beta. And people are trying… :)

Thanks!


Update @guardian dependencies

Updates all packages to use the latest guardian dependencies

also, given there are no code changes in here, what does bumping these bring consumers? e.g. if i'm happily using<EMAIL_ADDRESS>with<EMAIL_ADDRESS>right now, what do i get from these releases?

This is a good point, for context this PR was me demonstrating to James and Olly how we upgrade and release @guardian packages. The value these changes bring to consumers beyond having the latest packages is negligible though. As such maybe we literally don't need this PR..

Closing in favour of https://github.com/guardian/csnx/pull/753


Add upgrade tests with separate persistent vars file

Because of the changes to the tests, azimuth-config changes are also required.
Run from azimuth-config branch consuming this branch: https://github.com/stackhpc/azimuth-config/actions/runs/9941872653/job/27496418129


Make Object "meta" functions take StringName.

The various get_meta, set_meta, has_meta, get_meta_list, remove_meta functions now uses StringName, allowing further optimizations via the SNAME macro when used from C++ (this PR does not change the various usage though).

You'll need to fix uses of get_meta_list: https://github.com/godotengine/godot/pull/50753/checks?check_run_id=3138092267

Thanks!


Fix DatasetGenerator.generate_questions_from_nodes method

Pass local service_context to QA-generator, not global one.

Thanks!


Disable process warnings per Environment variable

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the feature has not already been requested

🚀 Feature Proposal
It should be possible to disable warnings per environment variable, e.g. PROCESS_WARNING_DISABLE=1, or maybe specify which warnings to disable, e.g. PROCESS_WARNING_DISABLE=FSTDEP018,FSTDEP015
Motivation
It could be useful to disable process warnings, especially now that we are deprecating more and more functionality in fastify v4.
If we would decide to allow specifying which warnings should not be emitted anymore, then a dev could be empowered to "acknowledge" the warning and realize that there is a potential technical debt, but maybe does not want to solve the warning immediatly.
Example
No response

Use https://nodejs.org/dist/latest-v18.x/docs/api/cli.html#--no-warnings

We should check if our warnings get also suppressed and if so document it in readme.md.

@jsumners
Allrighty. Investigated this. Added docs in #83 + tests to ensure it really works ;).


Add initial startup configuration feature

Add documentation for Installation via Addon-Stores (Chrome/Firefox)
Fix Dev-Build | changed eslint no-undef to entire file scope
Update deta space instance input placeholder
Remove "dist-zip" folder from remote repository and future pushes
Add feature to close window after initial startup configuration
On startup configuration process the window is closed for better UX

Hey Raphael, thanks for taking the time to create this PR!
The settings page of the extension can be opened not just after the installation/startup. With the "startup configuration feature" in its current state it would close the settings page each time you click save, even if you manually opened the settings page. I think the feature makes sense during the installation of the extension, but after that in would be confusing for the user if the settings page closed itself.
Also, it would be better if you create separate PRs for different types of changes. Having the smaller changes in the same PR as the new feature makes it harder to review.
If you remove the commit for the new feature, I will merge the rest of the smaller changes. For the startup configuration feature, I will see if I can implement something myself or if you want to give it another go, create a separate PR.

Hey Raphael, thanks for taking the time to create this PR!
It would be better if you create separate PRs for different types of changes. Having the smaller changes in the same PR as the new feature makes it harder to review.
I will take a look at the changes and merge them later.

Fixed the new feature in https://github.com/raphaelbernhart/browser-extension/commit/e5c43edd445b85f93094d66c91a4d8e3fd8905d0. It now only auto closes the settings page after installation.
Thanks again!

Hey Raphael, thanks for taking the time to create this PR!
It would be better if you create separate PRs for different types of changes. Having the smaller changes in the same PR as the new feature makes it harder to review.
The settings page of the extension can be opened not just after the installation/startup. With the "startup configuration feature" in its current state it would close the settings page each time you click save, even if you manually opened the settings page.

Hey,
bin btw. auch deutsch ;). Danke für den Tipp, hast recht macht das ganze um einiges unkomplizierter nachzuvollziehen.
Achso, eigentlich müsste es ja daher, dass das Local Storage property bei der Installation noch nicht gesetzt wurde auch als undefined return werden oder? Da das prop ja, wenn es einmal gesetzt wurde (bei der Installation) nicht als undefined returnt wird, also nicht über das if geht.


[Docs] Move over docs from poktroll-docker-compose-example

Summary
Make it easier to onboard users to Shannon by providing a nicer skin on the docs in poktroll-docker-compose-example
Also:

Improve ToC
Improve introduction
Add a results video

Type of change
Select one or more:

[ ] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[x] Documentation: make docusaurus_start; only needed if you make doc changes
[ ] Unit Tests: make go_develop_and_test
[ ] LocalNet E2E Tests: make test_e2e
[ ] DevNet E2E Tests: Add the devnet-test-e2e label to the PR.

@okdas

Do you want me to try this on a fresh server on vultr?

Yes, would appreciate it.

Do you think we should add the ufw rule we discovered last week (the one blocking connections from the appgate to relayminer on the same machine)?

There's a lot more than that. Added things back.

Merging with sed error because it is expected given the circumstance.


Question: Adopt WinUI 2.4 in an existing UWP application

Hello,
I'm trying to wrap my ahead around the steps required adopt WinUI 2.4 in an existing UWP application.
I have read the docs and also browsed the code in Xaml-Controls-Gallery and I would like to double check that I understood the migration path correctly.
Therefore, I have a few questions:

It seems that not all controls from Windows.UI.Xaml.Controls have been migrated to Microsoft.UI.Xaml.Controls (e.g StackPanel is missing from Microsoft.UI.Xaml.Controls). Is there any documentation related to the gap between these two namespaces?

Is it expected that once we identify all the Windows.UI.Xaml.Controls classes that can be migrated to Microsoft.UI.Xaml.Controls we need to manually edit all of .xaml and .cs files to point to the new namespace (e.g. xmlns:muxc="using:Microsoft.UI.Xaml.Controls" / using MUXC = Microsoft.UI.Xaml.Controls;)? Are there any tools / plans to automate this process?

How come there are no Visual Studio templates for creating a new UWP application using WinUI 2.4? (I did notice that there are WinUI 3 preview templates on the marketplace)

Thank you,
Cosmin

It seems that not all controls from Windows.UI.Xaml.Controls have been migrated to Microsoft.UI.Xaml.Controls (e.g StackPanel is missing from Microsoft.UI.Xaml.Controls). Is there any documentation related to the gap between these two namespaces?

Button, TextBlock, etc. are also not included. A good rule of thumb: If you don't have reason to use the WinUI 2.4 version (i.e. you don't know why you need it) then just use what is in Windows.UI.Xaml. Documentation listing the control in WinUI 2.4 is here: https://docs.microsoft.com/en-us/uwp/api/microsoft.ui.xaml.controls?view=winui-2.4
Note that WinUI also includes new styles for nearly ALL controls. This is one of the main befits -- you get the latest look and feel. Just modify the App.xaml to get the styles there is no need to update all control namespaces.

Is it expected that once we identify all the Windows.UI.Xaml.Controls classes that can be migrated to Microsoft.UI.Xaml.Controls we need to manually edit all of .xaml and .cs files to point to the new namespace (e.g. xmlns:muxc="using:Microsoft.UI.Xaml.Controls" / using MUXC = Microsoft.UI.Xaml.Controls;)? Are there any tools / plans to automate this process?

No automated tools exist right now and everything must be done manually. Again, only do this as needed don't switch everything over unless you are using WinUI 3.0. I expect Microsoft will come up with something for WinUI 3.0 to automate this; however, a find and replace is very simple and only the .cs files will need to be changed. XAML -- if you are using the Windows.UI.Xaml controls -- will not need to be updated.

How come there are no Visual Studio templates for creating a new UWP application using WinUI 2.4? (I did notice that there are WinUI 3 preview templates on the marketplace)

UWP generally doesn't get updated anymore. I expect these types of things to come out with WinUI 3.0 over the next year or so. That said, adding the references is very easy and the whole process is documented here: https://docs.microsoft.com/en-us/windows/apps/winui/winui2/getting-started

There are quite a few bug fixes to the controls which exist in both name spaces, so I think that I would encourage you to take a look at this doc https://docs.microsoft.com/en-us/uwp/api/microsoft.ui.xaml.controls?view=winui-2.4, identify the controls which you are using from the Wux namespace and update to the Mux version to pick up those fixes. Unfortunately there is not a good tooling story for updating your app automatically.

As the app is already UWP, I'm assuming any bugs have already been worked around. I still wouldn't spend the time to transition all controls over unless you have the need (run across a bug and realize it's fixed in WinUI). If you do decide to use all the WinUI controls possible remember you are going to have to remove the namespace definitions in all the XAML files again when you transition to WinUI 3.0. You will also need to carefully manage the different usings in your .cs files which may not at first be as intuitive.
That said @StephenLPeters is from Microsoft so carries more weight. It's only my personal recommendation that if there isn't a need to use the new controls in WinUI 2.x, and your app is already working with vanilla UWP, I would wait to transition everything over when WinUI 3.0 comes around. Of course if you have a smaller-sized app this all might not matter.

I suspect that there are apps out there which don't have a work around for the system xaml bugs because they didn't realize that they were present. These are the type of issues I would hope to solve by suggesting people update to use the Winui versions. Of course this update process has a cost and for bigger projects it can be quite large so it is understandable if some app developers do not want to take on that project.  And Rob is correct, a lot of this work would need to be (basically) repeated if/when you update to Winui 3.
I only suggest blanket updating because, depending on the scale of the testing you've done on your app, you may fix bugs you  didn't know you had by updating. Of course, this has to be balanced with the development cost and technical debt the change would accrue.

@StephenLPeters Agree, a main point just to be more clear is WinUI 3.0 is expected to be ready for production by end of this year / early next. In my opinion that throws the cost/benefit in favor of waiting to adopt the changes in medium/large apps.

Thank you for your replies.
It seems that at this point, given that our codebase is fairly large and also that WinUI 3 is scheduled for a release at the beginning of 2021 it would only make sense to adopt WinUI 2.x for the following reasons:

Leverage the new styles
Replace an existing control that might be buggy
Use a new control that is found only in WinUI 2.x

Thanks,
Cosmin

Can I start using WinUI gradually in my UWP app or do I need to convert the whole app to WinUI in one shot?
For example, I was planning to use TabView control from Windows Community Toolkit, but I noticed there a message "Please migrate to the "TabView" control from WinUI". So can I now include TabView from WinUI to my UWP app without converting the whole app to WinUI?

@kinex Yes, you can use WinUI's TabView while keeping the rest of your app using OS XAML. Simply use WinUI 2 for that: https://docs.microsoft.com/en-us/windows/apps/winui/winui2/getting-started
Once you've added the WinUI 2 library to your project, you can use then start using its TabView control. If you followed the aboev tutorial, then you will have a XAML namespeace named "muxc" and can use that to access the TabView control: <muxc:TabView></muxc:TabView>

Do note however that Winui 2 includes updated styles for many of the in box xaml controls. So when you import the Winui 2 package you might notice the visuals of some of your controls update.  The updated styles conform to the Windows fluent design system so we'd suggest using them, we've also done our best to try to make sure they wont break apps which update to them, however your mileage may vary.


Add Pacing to the Budget in Firefox

There is no "Pacing" column on the budget screen in Firefox. Using add-on version 0.3.2 with Firefox 43.0.4.

The same in Firefox 42. Guess it's the same problem with DoB. You can select them in the options, but they won't turn on.

@Newguru-1
DoB works for me in Firefox 43.0.3 with v0.3.3, but the number is impossibly large.
As of today (14 Jan. 2016):
AoM = 44 days
DoB = 289 days
On-Budget positive total: 2,724.38
On-Budget negative total: -59.00
=> On-Buget Total: 2,665.38
Off-Budget positive total: 21.41
Off-Budget negative total: -12809,96
=> Off-Budget Total: -12.788,55
Closed accounts:
One with a balance of: 0.00
First ever transaction: 20 Apr. 2006
Last transaction: 14 Jan. 2016

I'll have a look and see if I can replicate this soon. Thanks for the report!

I was able to replicate. It looks like the issue was related to Firefox's less lenient date parsing. Fixed in https://github.com/blargity/toolkit-for-ynab/pull/86

Alrighty, in that case should we go ahead and switch over to local storage or Kango storage so we can get the fix out to users while we wait to hear back from YNAB? What do you reckon?

Created a new PR here since I uglied the old one up.
https://github.com/blargity/toolkit-for-ynab/pull/105
Once that is merged, this issue is resolved.

As I was working to get Pull Request #106 and #108 done, I noticed that the Pacing feature does not appear in Firefox (but does so in Chrome).
So, I checked out commit b62f7ec671eae05996a6cb3132ddacc67cb5b71a 'Reference asset from extension' and also commit<PHONE_NUMBER>3aab0043786ec736ad2df53b304edf 'Merge pull request #105 from iamnafets/pacing-enhancements-clean' and still could not see the Pacing feature show up in Firefox (v42). I also could not get it to appear in the latest Firefox Nightly build (v 46.0a1).

Good report @Niictar, this appears to be a merge error regression. I've fixed it here:
https://github.com/blargity/toolkit-for-ynab/pull/128
Please let me know if this fixes your issue.

Think this is fixed. Can someone confirm?

#128 has now been incorporated in v0.3.5. @mikeb2 or @Newguru-1, are either of you still having this problem with v0.3.5?

The pacing column is now displayed in Firefox 43.0.4.

Awesome, I'll close this issue then, thanks!


Plugin stop working on sketch 57.1?

Which version of the plugin are you using?
[ v3.0.3] Data Populator for Sketch
Describe the bug
Plugin was working perfectly previously and stops working on Sketch 57.1
Tested on previous version of Sketch and it works with 56
Environment (please complete the following information):

macOS Version: Mojave 10.14.5 (18F132)
Sketch Version: 57.1
Plugin Version: 3.0.3

@PngTran do you still have this issue with the latest version of Sketch?


Fix darwin test build when ENABLE_OTA_TESTS == 0.

Fast-tracking platform-specific fix with platform owner review.


Telemetry event metadata.result missing actual result

Hi,
it looks like the metadata which is attached to telemetry events changed with #83; specifically the result property is now a simple :ok or :error atom, instead of a tuple with the actual result (rows and row count.
Would it be possible to re-introduce the rows and row count? The row count, specifically, is something which I'd consider useful information for monitoring tools that attach themselves to ecto events via telemetry...
I wasn't able to figure out whether this was changed on purpose or not; if there is a good reason for not having it there, I'd love to know! :-)

@bforchhammer instead of passing all data, let's explicitly retrieve the row count and include it as part of the metadata in its own field.

@josevalim Digging deeper, I realized that we're not only missing the row-count, but also error response; should we add those into a separate field as well?
Specifically, I'm trying to get the spandex_ecto EctoLogger to properly send traces to Datadog.

Alright. Let's revert this change then. Can you please fix the failing tests? Thank you.

Tests fixed, all green now! :-)
The ECTO_ADAPTER=pg PGVERSION=9.2 test seems to be flacky, but I don't think that's related to this PR...

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Lazy loaded pivot table keeps on loading

Steps to reproduce

create a lazy loaded pivot table with many rows
scroll down using the scrollbar

Actual Result

Environment

atoti: <IP_ADDRESS>00625075349
Operating System: linux
Browser: Chromium Version 83.0.4103.116 (Official Build) Arch Linux (64-bit)

The same problem happens in the app.
Assigning it to the UI team.

Here is a sample code to reproduce the issue:
import atoti as tt
session = tt.create_session()
store = session.read_csv("s3://nyc-tlc/trip data/fhv_tripdata_2015-01.csv")
cube = session.create_cube(store)
cube.visualize() # Add pickup_date on rows

# Same problem in the app
session.url


Changed 'plane' to 'plans'

Signed-off-by: lumenCodes<EMAIL_ADDRESS>Description
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Hey @lumenCodes , we appreciate your contribution in the Layer5 Community but the following is not a typo error but it is indeed Service Mesh Management Plane.
We have many good first issues here which you may fix and send a PR, hoping to see your contributions 💪 !


Remove export documentation

closes #1536

Codecov Report

Merging #1537 (d490191) into master (fbd6dac) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1537      +/-   ##
==========================================
+ Coverage   38.89%   38.92%   +0.02%
==========================================
  Files         167      167
  Lines       13636    13636
==========================================
+ Hits         5304     5308       +4
+ Misses       7561     7558       -3
+ Partials      771      770       -1

Impacted Files
Coverage Δ

pyramid/tier_fs.go
58.51% <0.00%> (+1.74%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks!


No Definition Found for all namespace, assembly

I can't open the class definition or any namespace meta data file. In addition, I can't get the code intelligence ( which means I have to remember all methods and overloads..)
img link : https://github.com/xky0007/TestGit/blob/master/imgs/1.jpg

.net core info
VS Code version: 1.33.0
Omnisharp Version: 1.18.0
.NET Core SDK (reflecting any global.json):
 Version:   2.2.203
 Commit:    e5bab63eca

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.203/

Host (useful for support):
  Version: 2.2.4
  Commit:  f95848e524

.NET Core SDKs installed:
  2.2.203 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

And here is the Omnisharp log.
    Target: /home/zx/Documents/test-api/test-api.sln

OmniSharp server started with Mono 5.20.1.
    Path: /home/zx/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/OmniSharp.exe
    PID: 3764

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on ubuntu 18.4 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Mono 15.0 - "/usr/lib/mono/msbuild/15.0/bin"
            2: StandAlone 15.0 - "/home/zx/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/msbuild/15.0/Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Mono 15.0 - "/usr/lib/mono/msbuild/15.0/bin"
            CscToolExe = csc.exe
            CscToolPath = /home/zx/.vscode/extensions/ms-vscode.csharp-1.18.0/.omnisharp/1.32.11/omnisharp/msbuild/15.0/Bin/Roslyn
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in '/home/zx/Documents/test-api'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.WorkspaceInitializer
        Project system 'OmniSharp.DotNet.DotNetProjectSystem' is disabled in the configuration.
[info]: OmniSharp.MSBuild.ProjectSystem
        Detecting projects in '/home/zx/Documents/test-api/test-api.sln'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in '/home/zx/Documents/test-api'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location '/home/zx/Documents/test-api' on host 3686.
[info]: OmniSharp.OmniSharpWorkspace
        Miscellaneous file: /home/zx/Documents/test-api/test-api/Program.cs added to workspace
[info]: OmniSharp.OmniSharpWorkspace
        Miscellaneous file: /home/zx/Documents/test-api/test-api/Startup.cs added to workspace

Facing the same issue on my Mac. Already tried uninstalling the plug-in and vs-code.

OmniSharp and VSCode are having build issues regarding the latest version package availability online.
See this post for a workaround I found for OSX. I think you issue may be related:
https://github.com/OmniSharp/omnisharp-roslyn/issues/1461#issuecomment-483891370

Please update the VS Code extension to 1.19.0 and remove any omnisharp.path: ... setting if you have one - since the new extension carries the latest stable build, and retry again. If you are on a Mac/Linux it is additionally recommended to install latest Mono from the "stable" channel - https://www.mono-project.com/download/stable/

Also, looking at your log data, it appears you have an sln file and some C# files, but no csproj files? Could you share here the code you are trying to open with Omnisharp?

Also, looking at your log data, it appears you have an sln file and some C# files, but no csproj files? Could you share here the code you are trying to open with Omnisharp?

OmniSharp and VSCode are having build issues regarding the latest version package availability online.
See this post for a workaround I found for OSX. I think you issue may be related:
#1461 (comment)

There is only one latest folder 1.32.18 under my extension folder. And I don't have Omnisharp path in my  vscode setting file. Still have the problem.

Also, looking at your log data, it appears you have an sln file and some C# files, but no csproj files? Could you share here the code you are trying to open with Omnisharp?

I just created a brand new solution then add one web api project inside it. I have latest mono in my ubuntu 18.04
Mono JIT compiler version <IP_ADDRESS> (tarball Thu Apr 11 09:02:17 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        LLVM:          yes(600)
        Suspend:       hybrid
        GC:            sgen (concurrent by default)

I tested with the linked project and it works fine under the latest OmniSharp build. Please retest - if not we can review this issue again. thanks

Hi @filipw,
I recently experimenting this issue in one of my job projects.
This is the OmniSharp log:
Starting OmniSharp server at 4/15/2021, 10:32:56 AM
    Target: c:\Users\coder\Dev4Side\firestarter\IAI.InstallAppSP.sln

OmniSharp server started.
    Path: c:\Users\coder\.vscode\extensions\ms-dotnettools.csharp-1.23.11\.omnisharp\1.37.8\OmniSharp.exe
    PID: 13104

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Enterprise 2019 16.9.31129.286 - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin"
            2: StandAlone 16.9.0 - "c:\Users\coder\.vscode\extensions\ms-dotnettools.csharp-1.23.11\.omnisharp\1.37.8\.msbuild\Current\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Enterprise 2019 16.9.31129.286 - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin"
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.Completion.CompletionOptionsProvider, Order: 0
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.ImplementTypeWorkspaceOptionsProvider, Order: 110
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.BlockStructureWorkspaceOptionsProvider, Order: 140
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'c:\Users\coder\Dev4Side\firestarter'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.MSBuild.ProjectSystem
        Detecting projects in 'c:\Users\coder\Dev4Side\firestarter\IAI.InstallAppSP.sln'.
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\Users\coder\Dev4Side\firestarter\src\IAI.InstallAppSP\IAI.InstallAppSP.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\Users\coder\Dev4Side\firestarter'.
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: c:\Users\coder\Dev4Side\firestarter\src\IAI.InstallAppSP\IAI.InstallAppSP.csproj
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'c:\Users\coder\Dev4Side\firestarter' on host 27748.
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file 'c:\Users\coder\Dev4Side\firestarter\src\IAI.InstallAppSP\IAI.InstallAppSP.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project 'c:\Users\coder\Dev4Side\firestarter\src\IAI.InstallAppSP\IAI.InstallAppSP.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: IAI.InstallAppSP
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No document found. File: c:\Users\coder\Dev4Side\firestarter\src\IAI.Firestarter.Core\Internal\AutomationClient.cs.
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No document found. File: c:\Users\coder\Dev4Side\firestarter\src\IAI.Firestarter.Core\Internal\AutomationClient.cs.
[info]: OmniSharp.OmniSharpWorkspace
        Miscellaneous file: c:\Users\coder\Dev4Side\firestarter\src\IAI.Firestarter.Core\Internal\CustomerExtensions.cs added to workspace
[info]: OmniSharp.OmniSharpWorkspace
        Miscellaneous file: c:\Users\coder\Dev4Side\firestarter\src\IAI.Firestarter.Core\obj\Debug\netstandard2.0\IAI.Firestarter.Core.AssemblyInfo.cs added to workspace

It's a closed source project. But I can share project files: https://dev4side-my.sharepoint.com/:u:/p/giacomo_stelluti/EW0xm3BowqlKhv-Rmackgt0Bykaypx18Fb7eozfw_bJ0JA?e=wY1La5
Thanks for any help.
Giacomo S. S.


sometimes when header is having rowspan and colspan, the colspan doesn't get applied properly

In ExportToExcel.js file, in the method generateArray(table)
var colspan = cell.getAttribute('colspan');
var rowspan = cell.getAttribute('rowspan');
both colspan and rowspan are strings...
so when an element is pushed into the "ranges" array, e.r and e.c is not proper and as a result, on the iteration for the next cell, the ranges for each loop doesn't run properly... and the header with colspan looks weird.
To fix it, we need to parse the attributes to int.
var colspan = parseInt(cell.getAttribute('colspan'));
var rowspan = parseInt(cell.getAttribute('rowspan'));
Also, cell.innerText property is not supported in FireFox... to solve this I checked the browser and used cell.textContent.
var isFirefox = typeof InstallTrigger !== 'undefined';
var cellValue = isFirefox ? cell.textContent : cell.innerText;
In method export_table_to_excel(id), instead of hardcoding the worksheet name to SheetJS and file name to test.xlsx, we can accept sheetName and fileName as parameter and assign them respectively.

Thank you so much @ashwin-ragha1! This helped a lot!

Glad to be of help ☺

We added table_to_sheet and table_to_book directly to the library that addresses the colspan/rowspan issue.
innerText is now supported in firefox
The table_to_book option takes an options argument, and the second argument's sheet key is the name of the worksheet in the workbook.
Usage is described in https://github.com/sheetjs/js-xlsx#html-table-input .  Summary:
var tbl = document.getElementById('id_of_table');
var wb = XLSX.utils.table_to_book(tbl, {sheet:"nameofsheet"});


Error dialing trafficcontroller server: websocket: bad handshake.

When issuing command "cf logs <app_name>" I get and error

FAILED
Error dialing trafficcontroller server: websocket: bad handshake.
Please ask your Cloud Foundry Operator to check the platform configuration (trafficcontroller is wss://doppler.bosh-lite.com:443).

The issue came after latest update of cf-release repository
CLI version: 6.22.1+6b7af9c-2016-09-24
cf-release at 3fe0372061cf04c65fd0b3c69de8633977b0a1d8

cf logs <app_name> --recent
gives me

FAILED
unknown issue when making HTTP request to Loggregator

Hi @acho-bacho,
Can you please upload your manifest (or let us know how to rebuild it -- e.g. did you just run cf-release/scripts/generate-bosh-lite-dev-manifest, for example?), redacting all passwords and sensitive information?  This will help us debug your issue.
Thanks,
jaresty && @ChunyiLyu

@jaresty I provision the CF using the "./bin/provision_cf" command from within bosh-lite directory

Hi @acho-bacho. We have a few questions:

Did you perform an upgrade on this cf deployment? By that I mean, did you have an earlier version of cf-release deployed before deploying v245? If so, which version? Also, assuming you upgraded your deployment, did you use provision_cf both times that you deployed? If you didn't use provision_cf for both deploys, did you re-generate the manifest when you re-deployed?

Could you show the output of cf curl /v2/info?

There was a change to loggregator that changed the logging endpoint, and I'm wondering if that's what's causing this problem. @wfernandes @nelsam, do y'all have any thoughts on this?
Lastly, @acho-bacho, if you don't care about the history of this deployment (considering that its bosh-lite) and would be ok tearing it down, you might want to consider running vagrant destroy; vagrant up; bin/provision_cf. We just re-deployed from scratch and don't have any problems with the logging endpoint.

@dsabeti
Yes, I performed an upgrade of the cf deployment. But I am not sure what version it was before, but I initially installed the environment not more than two weeks before that. For all updates I use provision_cf.
Here's the output of  cf curl /v2/info

{
"name": "",
"build": "",
"support": "http://support.cloudfoundry.com",
"version": 0,
"description": "",
"authorization_endpoint": "https://login.bosh-lite.com",
"token_endpoint": "https://uaa.bosh-lite.com",
"min_cli_version": null,
"min_recommended_cli_version": null,
"api_version": "2.63.0",
"app_ssh_endpoint": "ssh.bosh-lite.com:2222",
"app_ssh_host_key_fingerprint": "a6:d1:08:0b:b0:cb:9b:5f:c4:ba:44:2a:97:26:19:8a",
"app_ssh_oauth_client": "ssh-proxy",
"logging_endpoint": "wss://loggregator.bosh-lite.com:443",
"doppler_logging_endpoint": "wss://doppler.bosh-lite.com:4443"
}

My environment has the following versions now:
CF cf/245+dev.1
CLI cf version 6.21.1+6fd3c9f-2016-08-10
Vagrant box cloudfoundry/bosh-lite (virtualbox, 9000.131.0)
BOSH 1.3262.4.0
cf logs and cf logs --recent still give me:

$ cf logs
FAILED
Error dialing traffic controller server: websocket: bad handshake.
Please ask your Cloud Foundry Operator to check the platform configuration (traffic controller is wss://doppler.bosh-lite.com:443).
$ cf logs  --recent
Connected, dumping recent logs for app dashboard in org bosch / space demo as admin...
FAILED
unknown issue when making HTTP request to Loggregator

Hey @acho-bacho, here's what we suspect is going on:
Your loggregator traffic controller may have, for whatever reason, failed to register its route with with the router post-upgrade. To help confirm, could you set CF_TRACE=true and re-run the logging commands?
If this is the case, we'd expect to see the websocket response come back 404.
There's an older blog post about this issue; we've not seen it in a while, but it looks like it may well be what you're experiencing. The fix described there (login to your loggregator_trafficcontroller and restart its jobs) might help. More simply (and destructively) you could bosh recreate the loggregator_trafficcontroller job.

@APShirley
I get

RESPONSE: [2016-10-17T13:23:06+03:00]
HTTP/1.1 200 OK
Connection: close
Content-Length: 8872
Content-Type: application/json;charset=utf-8

for both cf logs and cf logs --recent

Let me know if you need more feedback from my side. I do confirm that this issue is reproducible as our whole team is hitting the issue.

@cloudfoundry/cf-loggregator, any chance we can get your eyes on this? The release integration team isn't sure how to take this any further.

@acho-bacho We deployed to a new bosh lite and couldn't see the issue, either.  It seems like one of the loggregator jobs (most likely traffic controller or doppler) is in a bad state after the upgrade.

Can you show us the output of bosh vms --vitals?
Could you look on the loggregator_trafficcontroller VM in /var/vcap/sys/log/loggregator_trafficcontroller/loggregator_trafficcontroller.stdout.log and on the doppler VM in /var/vcap/sys/log/doppler/doppler.stdout.log for any logs that might be related to your request?  It might be worth tailing those logs while you try cf logs --recent to see if either of those logs show any errors while your request is being made.

@iplay88keys
bosh vms --vitals gives me
vitals.txt
and here are the doppler and logregator files
loggregator_trafficcontroller.stdout.log.txt
doppler.stdout.log.txt

@acho-bacho It seems like DNS resolution for api.bosh-lite.com is failing on the trafficcontroller.
lookup api.bosh-lite.com on <IP_ADDRESS>:53: dial udp <IP_ADDRESS>:53: i/o timeout

I'm not sure what would cause this but if traffic controller can not resolve the cloud controller the 500 is the desired behavior. @dsabeti Any ideas on why DNS would be failing?
I would just vagrant destroy -f && vagrant up && bin/provision_cf since it's just a bosh-lite (if you haven't tried that already).
Not sure if someone from cf-release is interested in the failed upgrade behavior.

@iplay88keys I alredy did vagrant destroy -f && vagrant up && bin/provision_cf
Some other ideas on how to solve the issue will be highly appreciated.

Ok @acho-bacho, let's try to troubleshoot your networking situation. It appears that your machine cannot reach either of the DNS servers listed in bosh-lite's /etc/resolv.conf. Is there anything unusual about the network you're running from? For example, are you inside a VPN?
Let's also get some data. Please ssh onto the vagrant host (you can use vagrant ssh for this) and provide the output of the following commands:

cat /etc/resolv.conf
nslookup api.bosh-lite.com <IP_ADDRESS> (the second parameter tells nslookup to use a specific IP address for DNS lookup)
nslookup api.bosh-lite.com <IP_ADDRESS>
ping <IP_ADDRESS>
ping <IP_ADDRESS>

@dsabeti , yes, I am running my environment in a VM which is in a VPN.

cat /etc/resolv.conf

vagrant@bosh-lite:~$ cat /etc/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

nslookup api.bosh-lite.com <IP_ADDRESS>

vagrant@bosh-lite:~$ nslookup api.bosh-lite.com <IP_ADDRESS>
;; connection timed out; no servers could be reached

nslookup api.bosh-lite.com <IP_ADDRESS>
vagrant@bosh-lite:~$ nslookup api.bosh-lite.com <IP_ADDRESS>

Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53
Non-authoritative answer:
Name:   api.bosh-lite.com
Address: <IP_ADDRESS>

ping <IP_ADDRESS>

vagrant@bosh-lite:~$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=63 time=40.5 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=63 time=40.3 ms
....and so on

ping <IP_ADDRESS>

vagrant@bosh-lite:~$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.298 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.332 ms
...and so on

UDP:53 to <IP_ADDRESS> is likely blocked on your network. I'd remove the block. If that is not an option you can probably remove <IP_ADDRESS> from the list of DNS servers. <IP_ADDRESS> seems to be resolving. If all else fails, you can hard code the IPs for bosh-lite.com in your /etc/hosts.

@jasonkeene thanks. Can you guide to me to the right way of removing <IP_ADDRESS> from the list of DNS servers? Can I just remove the symbolic link for /etc/resolv.conf and manually create the file with just <IP_ADDRESS> in it?

@acho-bacho, the host hardcoding won't work in this case, and is unnecessary. The bosh-lite CPI picks up the vagrant VM's /etc/resolve.conf when configuring deployed agents/containers, but doesn't know or care about its etc/hosts.
You will, however, need to recreate the deployment containers in order to get them to pickup any changes. You can do this by running your normal bosh deploy command, but with the --recreate flag added.
If this resolves your issue, you may wish to make the change that ends up in your /etcd/resolv.conf in your Vagrantfile, so that it doesn't have to be done manually on the guest VM every time.

@ChunyiLyu I did  bosh deploy --recreate but the problem still exists.
Looking forward to more ideas.

@acho-bacho Can you please run:
bosh download manifest cf-warden bosh-lite.yml

And upload the resulting bosh-lite manifest?  That way we can see exactly what you are running and try deploying it ourselves.  Thanks!

Also, please upload the Vagrantfile you are using from the bosh-lite repo.

@jaresty
Vagrantfile.txt

Hi @acho-bacho,
I see that you've customized your virtualbox vm to disable natdnshostresolver1 and natdnsproxy1.  Can you try removing those customizations, and doing another destroy / up / provision cycle again?

@staylor14 , those settings were added at a later point after the this issue was created so they are not the cause of the problem. Anyways, I removed them and re-provisioned but the problem persists.

How do you fix this issue in windows? I having the same problem in windows locally when trying:
cf logs  and cf logs  --recent

grpc: Server.Serve failed to complete security handshake from "<IP_ADDRESS>:52460": EOF
seems bad handshake with loggregator

@affandi19, please provide the following information:

The output of CF_TRACE=true cf logs --recent
The out put cf curl /v2/info
Any information about your deployment (which IaaS, what version of cf-release and diego-release, etc.)

@dsabeti I was able to resolve the issue. It seems i had multiple installations of Cloud Foundry all over the place in my local LOL. It was picking up an older version of cf. I uninstalled all of them, reinstalled the latest version, and it started working for me. Thanks for your replies.

The 400 seems to indicate something else is wrong.

What IaaS is this installed on?
What CLI version are you using?
What version of the nozzle plugin are you using?
What version of CF is this?
Do the logs on traffic controller indicate anything?

@apoydence

We have Installed this on AWS
cf version cf version 6.36.1+e3799ad7e.2018-04-04``
Nozzle version  FirehosePlugin   0.13.0
Logs on Loggregator Traffic controller is as below

2018/07/25 03:16:17.463152 Startup: Setting up the loggregator traffic controller
2018/07/25 03:16:17.464459 health bound to: <IP_ADDRESS>:14825
2018/07/25 03:16:17.464519 Metrics endpoint is listening on <IP_ADDRESS>:14825
2018/07/25 03:16:17.465494 Event from finder: {GRPCDopplers:[<IP_ADDRESS>:8082 <IP_ADDRESS>:8082]}
2018/07/25 03:16:17.465527 adding doppler <IP_ADDRESS>:8082
2018/07/25 03:16:17.465727 adding doppler <IP_ADDRESS>:8082
2018/07/25 03:16:17.469336 ws bound to: <IP_ADDRESS>:8081
2018/07/25 03:16:17.472072 pprof bound to: <IP_ADDRESS>:46519
2018/07/25 03:42:15.072331 Connecting to 2 dopplers
2018/07/25 03:42:15.072367 websocket handler: Not a websocket handshake: websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header
2018/07/25 03:42:15.072497 Unable to connect to doppler (<IP_ADDRESS>:8082): rpc error: code = Canceled desc = context canceled
2018/07/25 03:42:15.072562 Disconnecting from stream (<IP_ADDRESS>:8082) (doppler.disconnect=false) (ctx.disconnect=1)
2018/07/25 03:42:15.072677 error receiving from doppler via gRPC context canceled
2018/07/25 03:42:15.073733 Disconnecting from stream (<IP_ADDRESS>:8082) (doppler.disconnect=false) (ctx.disconnect=1)
2018/07/25 03:42:21.768469 Connecting to 2 dopplers
2018/07/25 03:42:21.768502 websocket handler: Not a websocket handshake: websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header
2018/07/25 03:42:21.768570 Disconnecting from stream (<IP_ADDRESS>:8082) (doppler.disconnect=false) (ctx.disconnect=1)
2018/07/25 03:42:21.768592 Disconnecting from stream (<IP_ADDRESS>:8082) (doppler.disconnect=false) (ctx.disconnect=1)

Based on those logs, it doesn't appear that the request is being proxied (either by the gorouter or your load balancer) correctly.
This can be further proved if you try using a sample loggregator client on the traffic controller box directly. If it works there, then it safe to assume its one of the jumps in front of loggregator.


feat(RELEASE-930): tekton task tests always run

This commit changes the tekton task tests github workflow to run on all pull requests instead of if only the tasks dir was changed. If the tasks dir was not changed, it will just exit 0 without running any tests. This allows us to make the check mandatory for all PRs.

/test all

/test release-pipelines-e2e-suite


What is the mechmind_easy dataset

The command 'sh train_odinw13_zira.sh' reports an error: FileNotFoundError: [Errno 2] No such file or directory: 'datasets/mechmind_easy/mechmind_easy.json'. What is the mechmind_easy dataset?

Could you provide me a detail error track, so i can fixed it? The mechmind_easy dataset is a custom dataset used for visualization and validation, and it is not included in ODinW 13 datasets. I remove it in the current commit.

This issue can be resolved by commenting out the content after line 302 in the file ZiRaGroundingDINO/groundingdino/datasets/builtin.py, thx


Minor trips issues for Biocaching

With the Biocaching app coming along http://install.diawi.com/bJGF5D
we're starting to test how these trips are published to iNat. I noticed 2 minor bugs with the trip functionality and 2 more general comments:

Trips appear to be selecting obs for display based on date but not time, e.g. on http://www.inaturalist.org/trips/3033 the 2 displayed obs were made on Jul 2 but not between 02 Jul 12:27 and 02 Jul 12:30 so shouldn't be displayed

on trips/XX/edit the start and stop date pickers don't seem to be displaying the proper start and stop times stored on the record.

the biocaching app is using the trips positional_accuracy as the radius parameter for a circle geometry in which the trip occurred. While I'd prefer we eventually enable trips to use a GPX style line as this associated geometry, until then don't you think the associated geometry would be better described as circle (with centroid and radius parameters) rather than a point with accuracy? If so, I suggest rewording positional_accuracy and 'Acc (m)' to 'Radius (m)'

while the trip checklist makes sense to me, I'm unclear why this is different from the 'Choose from existing high level groups or choose something else / more specific' settings? Couldn't we accomplish the same thing using only the checklist? For example, if my checklist was:

Western Terrestrial Garter Snake (Thamnophis elegans)
Yellow-rumped Warbler (Setophaga coronata)
Argentine Ant (Linepithema humile)
Amphibians (Family Amphibia)
Couldn't that be used to record my intention to report Western Terrestrial Garter Snake, Yellow-rumped Warbler, Argentine Ant, and ALL amphibians?

decided not to do this line thing


update:readme file

Updated the readme file to include placeholders for future updates in documentation for the project.

The first title should say "Parallax UI for React" as it's a UI library for React. And try to use conventional commits. I hope you went through the conventional commits documentation.


Use new grammar.

Resolves https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/issues/832

Build failed


Allow lower minecraft version 1.0-1.15

just like viabackwards or protocol support do
this custom nukkitx does that ===> https://github.com/PetteriM1/NukkitPetteriM1Edition (allow lower connect to upper version)
use them to makes block translation for lower version

Thanks for the link. I'll have a look and see if I can make use of it.


New HttpClientImplV2

This is the V2 version of the HttpClient, relying on in-house libraries only. Support for HTTP tunnelling is missing. Support for SSL is provided via V1. Request timeouts use a file descriptor each.
The test coverage for this implementation is far more complet that the curl version. We also benefit from a deeper mastery on the code.

Squash merged


3.0.0beta2 Cannot add or configure datasource

When adding or trying to reconfigure existing zabbix datasources I get this error in the web interface.
Plugin Error
Error: XHR error (404 Not Found) loading https://HOSTNAME.com/grafana/public/plugins/alexanderzobnin-zabbix-app/datasource-zabbix/module.js?bust=1459953190787 Error loading https://HOSTNAME.com/grafana/public/plugins/alexanderzobnin-zabbix-app/datasource-zabbix/module.js

tail /var/log/grafana/grafana.log
2016/04/06 10:51:25 [I] Listen: http://<IP_ADDRESS>:3000/grafana
2016/04/06 10:51:41 [I] Completed <IP_ADDRESS> User Name "GET /public/traceur HTTP/1.0" 404 Not Found 19 bytes in 601588us
2016/04/06 10:51:48 [I] Completed <IP_ADDRESS> User Name "GET /public/traceur HTTP/1.0" 404 Not Found 19 bytes in 1363us
2016/04/06 10:51:53 [plugins.go:157 ImportDashboard()] [E] Failed to install dashboard: A dashboard with the same name already exists
2016/04/06 10:51:53 [I] Completed <IP_ADDRESS> User Name "POST /api/dashboards/import HTTP/1.0" 500 Internal Server Error 41 bytes in 4721us
2016/04/06 10:52:33 [I] Completed <IP_ADDRESS> User Name "GET /public/traceur HTTP/1.0" 404 Not Found 19 bytes in 178349us
2016/04/06 10:52:43 [plugins.go:157 ImportDashboard()] [E] Failed to install dashboard: A dashboard with the same name already exists
2016/04/06 10:52:43 [I] Completed <IP_ADDRESS> User Name "POST /api/dashboards/import HTTP/1.0" 500 Internal Server Error 41 bytes in 16777us
2016/04/06 10:53:00 [I] Completed <IP_ADDRESS> User Name "GET /public/traceur HTTP/1.0" 404 Not Found 19 bytes in 1050us

grafana-server -v
Version 3.0.0-beta2 (commit: v3.0-beta2)
grep version /var/lib/grafana/plugins/grafana-zabbix/plugin.json
    "version": "3.0.0-beta2",

The system can´t find module.js

2016/04/06 14:14:40 [I] Completed <IP_ADDRESS> admin "GET /public/app/plugins/app/zabbix/module.js HTTP/1.1" 404 Not Found 19 bytes in 2566us

Please, try to update plugin from special grafana-zabbix-app repo
http://docs.grafana-zabbix.org/installation/

Thank you for the response.
Can you clarify the action to take?
The repo url you provide is not mentioned in the documentation url you provide
The repo you provide does not seem to work with grafana-cli --repo
Are you recommending a git clone of the repo you provide?

Yes use first way (from special repo)
From special repo
You can use grafana-zabbix-app repo,
which contains latest builded version of plugin.
cd /var/lib/grafana/plugins
git clone https://github.com/alexanderzobnin/grafana-zabbix-app

Then restart grafana server.
Using this way you can easy upgrade plugin just running
cd /var/lib/grafana/plugins/grafana-zabbix-app
git pull
service grafana-server restart

That does seem to work. Thank you.
I'd like to add that changing permissions should be part of this install/update method. But some configurations might obviate that.

Breaking news - plugin now available on grafana.net and via grafana-cli.

This problem also turned up in my zabbix , system can't find module.js , but it can't be solved after I did as you said, please tell me how should I do ? Thank y

@Jobmyname just read about installation options here: http://docs.grafana-zabbix.org/installation/


Consider making unknown a union of the object and all primitive types

Search Terms

unknown type
unknown type union
make unknown type union

Suggestion
unknown would be a union of all lower‑case built‑in types, i.e.:
type unknown = string | number | bigint | boolean | symbol | object | null | undefined;

Use Cases
When describing an API that takes all‑but‑one primitive type, it’s useful to be able to do Exclude<unknown, symbol> or Exclude<unknown, number | bigint> without needing https://github.com/microsoft/TypeScript/pull/29317.
Examples

From DefinitelyTyped/DefinitelyTyped#44805:

/**
 * @see https://tc39.es/ecma262/#sec-createhtml
 */
export function CreateHTML(
	string: Exclude<unknown, string>, // unknown & not string,
	tag: string,
	attribute: string,
	value?: Exclude<unknown, string>, // unknown & not string,
): string;

/**
 * @throws {TypeError} If `x` or `y` is a `number` or `bigint` or they're different types.
 * @see https://tc39.es/ecma262/#sec-samevaluenonnumeric
 */
export function SameValueNonNumeric(
	x: Exclude<unknown, number | bigint>, // unknown & not (number | bigint),
	y: Exclude<unknown, number | bigint>, // unknown & not (number | bigint),
): boolean;

Checklist
My suggestion meets these guidelines:

[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code

There’s the possibility that some code somewhere depends on Exclude<unknown, something> returning unknown.

[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Related

https://github.com/microsoft/TypeScript/issues/28131
https://github.com/microsoft/TypeScript/pull/29317

Wouldn't that completely go against the entire point of unknown? #24439

Anything is assignable to unknown, but unknown isn't assignable to anything but itself and any without a type assertion or a control flow based narrowing. Likewise, no operations are permitted on an unknown without first asserting or narrowing to a more specific type.

You're underestimating the breaking changeness of this, because changing unknown to a union means it will distribute in conditional types, which is very different behavior in many many cases. Changing boolean to be an alias of true | false had a lot of downstream problems that still confuse people; doing this for unknown would be even worse. It's not feasible to change this.


eo-collections: sets, lists, maps, queues, etc.

Would be great to have objects for sets, lists, maps, queues, and so on.

@yegor256 the puzzle #23 is still not solved.

@yegor256 the only puzzle #23 is solved here.


updated API tests

We can probably cover this one too in the test handoff meeting

How can I run the test locally?

@cfarm in test/api_testing/features/environment.cfg
set base_url = http://build.consumerfinance.gov/oah-api/rates/rate-checker
then from test/api_testing run behave -k

Needed to do the following to test locally:

Create the config file
Run pip install requests module
Run behave -k -t=~prod_only to omit production environment tests

@OrlandoSoto Can you add these steps to the readme for this PR?

@cfarm ok, I added a Readme file and also provided a sample .cfg file, similar to what we did for the browser tests

Can you add the readme into the main repo readme after the browser tests instructions?

@cfarm done! ^^^


implement transient moving-average thermal model

New Feature
Implement the transient moving-average model proposed by Matt Prillman
Describe the solution you'd like
a new function pvlib.temperature.prillman(times, ...)
Describe alternatives you've considered
see also #1080
Additional context
see https://github.com/NREL/ssc/issues/261

@mjprilliman FYI

I've taken a look at implementing this but am not satisfied with what I've come up with so far.  Here are my notes in case anyone else is working on this.
Option 1:  cell_temp_ss.rolling('1200s').apply(_prilliman_average)
My natural starting point was to use pandas to get the offset-based windows and apply a custom averaging function.  The problem is that tseries.rolling(...).apply(...) is way too slow -- ~1 second computation time for three days of 1-minute data, even without a custom averaging function:
In [50]: N=60*24*3  # three days of 1-min data
    ...: s = pd.Series(range(N), pd.date_range('2019-01-01', freq='1T', periods=N))
    ...: %time _=s.rolling('1200s').apply(np.mean)
    ...:
CPU times: user 1.08 s, sys: 2.41 ms, total: 1.08 s
Wall time: 1.02 s

It's also a little clumsy giving the averaging function access to the P time series.  The best way I found involved lots of extra indexing and made it even slower.
Option 2:  pandas EWM
pandas does provide exponential-weighted functions via s.ewm, but as far as I can tell it considers the entire history of the time series; there is no way to do a moving window (https://github.com/pandas-dev/pandas/issues/11288).  That's maybe an acceptable error because the exponential weighting would minimize the contribution of points outside the window, but according to its docstring, the weight must be a float, i.e. it is a constant, which is not the case for the Prilliman et al model (Eq. 11; P depends on the wind speed time series).  So I don't think the pandas EWM functions are flexible enough for this.
Option 3: constrain to regular time series
I think the inefficiency of tseries.rolling(...).apply(...) can be avoided if the input time series index is evenly spaced -- something like the Hankel matrix indexing approach of the pre-#1074 detect_clearsky.  But it's a shame to require even spacing, especially when the paper specifically highlights the algorithm's ability to handle data with nonuniform sampling.
Option 4: accelerate it using numba, or maybe cython
Haven't tried it but I'm guessing this is the answer, in coordination with #1060.  Like in #1037, I can't find the trick to get these transient models running efficiently with base pandas/numpy.

Hi Kevin,
I'd like to help with this implementation. I had previously written a standalone Python script that was running the model accurately but I will have to revisit to see how or if it can tie in with the existing framework. I am working on SAM features this week but I can start working on this next week (possibly late this week) if that works.

def pvl_MAmodel_2(Tmstamp, SS, WS, m_u, a=np.array([.0046,4.5537e-4,-2.2586e-4,-1.5661e-5])):
    #Numpy array MA model
    #convert datetime to datenum
    Tmstamp['Datenum'] = Tmstamp[['Times']].apply(pd.to_numeric)/(1e9)
    Tmstamp2 = np.array([Tmstamp.Datenum])

    #Separate bilinear interpolation coefficients into 4 variables
    a0 = a[0]
    a1 = a[1]
    a2 = a[2]
    a3 = a[3]
    #P = pd.DataFrame(a0+a1*WS+a2*m_u+a3*m_u*WS,dtype=float) # Power parameter for exponential weighting function
    P = np.array(a0+a1*WS+a2*m_u+a3*m_u*WS)
    #Initialize Results variable T_MA
    #T_MA = pd.DataFrame(SS.values[0]) #Initialize Moving Average with
    #T_MA = np.arange(len(Tmstamp))
    #T_MA = np.full_like(T_MA,np.nan,dtype=np.double)
    #T_MA = np.array(SS[0,0])
    T_MA = np.array(SS[0])
    #T_MA[0] = SS[0,0]

    #Set constant window length
    WindowLength = 20*60
    #Initialize Back Counter
    I_B = 0

    cntr1 = 1
    for i in np.linspace(1,len(Tmstamp)-1,len(Tmstamp)-1):

        #Set cntr1 to iterative i to match Matlab code
        I_F = cntr1 - 1 #Front indice always set one timestep behind current value
        deltaT_I_F = Tmstamp2[0,cntr1] - Tmstamp2[0,I_F] #Time difference between current time and front indice (in case time series isn't uniform)
        if deltaT_I_F > WindowLength:
            #T_MA[cntr1] = SS[0,cntr1] #if the front indice is more than 20 minutes behind the current value, just use the steady-state approximation
            #T_MA = np.append(T_MA,SS[0,cntr1])
            T_MA = np.append(T_MA,SS[cntr1])

        else:
            while((Tmstamp2[0,cntr1] - Tmstamp2[0,I_B]) > WindowLength) & (I_B<I_F):
                     I_B = I_B+1
                     #If the front indice is within 20 minutes and the back indice is not going to bump into the front, bump up the back indice by one until it is within 20 minutes (window length)
            TimeBack = (Tmstamp2[0,cntr1] - Tmstamp2[0,I_B:I_F+1]) #Calculate the time in seconds back from the current value for each value between the front and back indices
            #TempsInWindow = SS[0,I_B:I_F+1] #find the steady-state temperature approximations for the times within the indices (include front indice)
            TempsInWindow = SS[I_B:I_F+1]
            #Weight = np.exp(-P[0,cntr1]*TimeBack.astype(float)) #Calculate the weight of each element in indice as function of power parameter P = fcn(WS, unit mass) and time back
            Weight = np.exp(-P[cntr1]*TimeBack) #Calculate the weight of each element in indice as function of power parameter P = fcn(WS, unit mass) and time back

            Rel_weight = Weight/np.sum(Weight) #Calculate weights relative to the total (weighted average)
            TempsWeighted = (TempsInWindow)*Rel_weight;
            Temp = np.sum(TempsWeighted);
            #Temp = pd.DataFrame(TempsInWindow.dot(np.transpose(Rel_weight))) #Dot product to find the temperature prediction at the current timestep
            #Temp = (TempsInWindow.dot(np.transpose(Rel_weight))) #Dot product to find the temperature prediction at the current timestep
            #Temp = (np.transpose(TempsInWindow).dot(Rel_weight))

            T_MA = np.append(T_MA,Temp) #append Temp to the ongoing T_MA dataframe (contains values for the whole year)
            #T_MA[cntr1] = Temp

        cntr1 += 1

    return(T_MA)

For reference this is the Python function I was using in my grad studies, although most of the model development and validation was done in Matlab.

@kanderso-nrel I didn't realize that rolling.apply() was so slow (compared to built-in methods). I'll take a second look at it's use in #1074.
If performance is a roadblock, for irregular data on short intervals, resampling seems appropriate.

Thanks @mjprilliman, it'll be interesting to see how your implementation compares.  It's good to have a reference implementation too.  I don't think this function is tied to a deadline so of course whenever you can find the time for it is fine.

I didn't realize that rolling.apply() was so slow (compared to built-in methods)

@cwhanse I forgot to mention this earlier but you can specify raw=True in apply to get an order of magnitude or two speedup.  The difference is whether the applied function is passed Series objects (raw=False) or numpy arrays (raw=True).  In this application I needed to keep it as a Series for the timedelta calculations so I used the slow route.  Maybe the fast path could work in #1074, not sure.

My natural starting point was to use pandas to get the offset-based windows and apply a custom averaging function. The problem is that tseries.rolling(...).apply(...) is way too slow

It maybe b/c you are using apply. Have you tried: tseries.rolling('1200s').mean()? it may be faster

A few times I have also found Pandas operations to be convenient but slow compared to NumPy, but AFAIK NumPy doesn't have rolling(), but I think I found this online somewhere:

def moving_average(x, window=5):
    """
    Moving average of numpy array

    Parameters
    ----------
    x : numeric
        a numpy array to average
    window : int
        the window over which to average
    Returns
    -------
    an array of the same size with index at beginning of window

    If ``window <= 1`` then do nothing and return ``x``.
    """
    if window <= 1: return x
    m = window - 1
    y = np.pad(x, (0, m), 'edge')
    z = 0
    for n in range(window):
        z += np.roll(y, -n)
    return z[:-m] / window

It's right bounded, so not sure how to backfill or center. I using numpy.roll and numpy.pad

It maybe b/c you are using apply. Have you tried: tseries.rolling('1200s').mean()? it may be faster

The built-in functions are definitely way faster.  The problem is that I didn't see a way to implement the exponential weighting using only the built-in functions, so I went with apply and a custom function.  It's tricky not only because it's a weighted average of all points in the last 1200s but also because the weights vary for each window based on wind speed (and also the index if the series is irregularly-sampled).

I think I found this online somewhere

The issue there, assuming we want to accommodate irregular sampling, is that the window size can vary based on how many timestamps fall into the last 1200s -- it's an offset-based window, not a count-based window.  I couldn't see an elegant/efficient way to recreate pandas's offset-based window with numpy, but would love to see one!

I recently became aware of np.nditer, which sped up my rolling window apply greatly. I think you should be able to use it for this exponential weighted function, basically applied as a for loop with an efficiently stored/accessed array. I was doing a simple calc on 20 years of 525600 long series, and it was quite snappy, relative to the rolling window apply which was a long enough process that the full 20 year calc was at least tens of minutes if not an hour. Sorry I don't have more quantified values.

Here are a few prototype implementations.  Note that the output is very slightly different from the function @mjprilliman posted above -- I've not yet chased down the difference but it's good enough for proof of concept anyway.  tl;dr: the numpy-based implementations are quite fast but assume regular sampling.  https://gist.github.com/kanderso-nrel/1d6da384d7af8afc24c230f1f144eb57
I still think it's a shame to not support irregular sampling, but the performance penalty of using pandas here is so huge that I think we should just require regular sampling.  It's certainly much better than nothing, which is what we've had since this issue was opened (October 2020...).
One question for @mjprilliman: the handful of temperature near the start of the inputs don't have a full window of previous conditions to average across.  The numpy implementations in my notebook linked above return NaN for those points, but your example implementation uses whatever values are available, even if they don't comprise a full 20-minute window.  I think yours is more faithful to the reference's equations, but I wonder if mine is more consistent with its spirit?  Which approach do you think makes sense here?

Hi Kevin,
Thanks for these examples. For your question, I would say the spirit of the model would be to include anything within the window even if there is not a full window to look back on. But taking model speed into account I think your v3 and v4 approaches make the most sense even without the partial window calculations. I would imagine in most use cases the first 20 minutes of data would occur in thermal equilibrium (night time) so a steady-state model would be sufficient. There could always be edge cases where some of the thermal inertia is not captured in the first time steps of a model but I think the speed up is worth more. Just my thoughts maybe @jsstein feels differently.

Nice work, Kevin.  Based on a comment in the code, I wonder if this could help for the pandas version:
https://stackoverflow.com/questions/60736556/pandas-rolling-apply-using-multiple-columns/60918101#60918101

the spirit of the model would be to include anything within the window even if there is not a full window to look back on.

I think the numpy functions could be modified to do this without a meaningful increase in runtime.  I'll try that out before opening a PR.  Thanks!
@adriesse I think that SO answer is essentially the same approach taken in the notebook: use the index of the moving subset to retrieve the corresponding subset of other columns.  Maybe that notebook code could be made clearer, but I think the workaround to access multiple time series in a single rolling window is the same.  Great minds think alike I guess ;)

I think we should just require regular sampling.

I don't see that as a major problem. This function operates on the output of a temperature model (applies a form of exponential smoothing). It is likely that a user calculated that output with a regular time index. Even if not, the smoothing basically justifies interpolation on the input cell temperature and wind speed to a regular index, in the following sense: output from applying the function to interpolated input is likely to be very similar to output when applying the function to the non-regular input then interpolating the output.


Support for target objects with non-iterger primary keys?

For one of our models, we use a UUIDField for a pk, via uuid = UUIDField(primary_key=True, auto=True) which returns a string-like UUID object. There are a few areas in the code that I think assume the obj.pk is an int.

urls, for instance. All the object_id regex are as follows: (?P<object_id>\d+)

@robbyt I guess it's late but for the record. Just changing the regex for the object_id on the urls seems to work. In urls.py change (?P<object_id>\d+) which assumes integer pk  to (?P<object_id>[^/]+) to allow for any character except /


Bug: No Stripe webhook on self-hosting saleor plugin

What are you trying to achieve?
Setup Stripe plugin in heroku server
Steps to reproduce the problem

Follow the instruction of official doc to create heroku server
go to -> my dashboard -> plugin -> stripe
enter all keys settings
save
don't get webhook generation like Saleor Cloud do

What did you expect to happen?
will get webhook after entering keys of stripe
Logs
No response
Environment
Saleor version: 3.12.5
OS and version: Heroku 22

Hi @veve178. Did you fix this? I am not getting any webhooks.


Error when not choosing any collection in media upload overlay (content type)

Its possible to upload an image with not choosing a collection then the following error appear:
code: 5005
message: "Collection with the ID 34 was not found"

dont know why it used the 34 ID.
I have collection IDs from 0 - 41 (deleted is 34, 36, 37, 38).
So 34 is the first collection which was deleted very strange behaviour.
All Collection which where deleted where deleted a long time ago not in this session.

@alexander-schranz Isn't the default option in this select to create a new collection? Is it possible at all to not choose a collection?


I.click should not click element thats not visible

What are you trying to achieve?
I.click to fail to click on element that is visually hidden
What do you get instead?
An element visually hidden behind another element possible either by z-index/ absolute/ fixed position / overlapped. As an acceptance test assertion this should fail.
Details
Trying for Nightmare for now and same may be required for webdriver.io in future.

Yep, but please fill in all required fields for this issue. For instance, CodeceptJS has 4 testing backends and they behave differently. So which helper are you using?

@DavertMik I have updated the details.

That's just the start of it.  All other drivers are selenium-based, so they won't allow you to click invisible elements for sure. For the Nightmare we need to do client-side checks. @imvetri could you look into https://github.com/Codeception/CodeceptJS/blob/master/lib/helper/clientscripts/nightmare.js#L81
This function can be improved to check visibility before clicking.

Thanks for the direction. I'll investigate.

I am trying out a POC using following technique.

Get the x,y coordinates of the target element.
Trigger mouse click event at (x, y) on the document rather than the element.

this way we don't have to check multiple cases of visibility. It will be throwing error if the element and clicked element isn't the same.

This is done as a POC and a PR is available at #456


feat(alias-import): added test case for introspector

Closes #867 #878
Changes

Alias import test-cases  for introspector test module

Related Issues

Issue #867
Issue #868

Author Checklist

[ ] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[ ] Vital features and changes captured in unit and/or integration tests
[ ] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[ ] Merging to main from fork:branchname


Critical fix for $config + Netbeans .gitignore fix

Critical fix for $config in constructor
Netbeans .gitignore fix for people using netbeans to code

Hi @ShadowOfHarbringer,
Merging of configuration with defaults is correct as-is. Please see http://php.net/manual/en/language.operators.array.php for more information. Missing default values in $config are added not overridden.

You are merging in the wrong order...
See my example below:
$config = array(
'persistent'    => 2,
'host'          => 2,
);
$defaults = [
'persistent'    => 1,
'host'          => 1,
];
$bzConfig = $config + $defaults;
Result is:
[
'persistent'    => 1,
'host'          => 1,
];
So defaults are ALWAYS taken instead of the config given in parameters...
This is a serious bug as you cannot really change any parameters.

http://sandbox.onlinephpfunctions.com/code/97492df8c0cfdcff8cd647f79ed28217f8176ed0

OMG that is incredible.  Sorry for bothering you.

No worries :)


RAII subscription

Does the rxcpp::subscription always call unsubscribe on itself when it's destroyed? I looked at the source code but couldn't see it for sure because there was inheritance, etc.
I figure it doesn't, because otherwise when you call observable::subscribe and don't use the return value, the subscription would immediately be removed again.
If not, how about a RAII subscription class (template) that automatically does that? When connecting rxcpp stuff to other frameworks, I often use subscriptions as class members to react to an observable and call framework code. It would be good to not have to write subscription.unsubscribe() in a lot of destructors.

Thanks for the question!
No, subscription does not call unsubscribe from its destructor. As you say, rxcpp would not work at all if it did.
The lifetime of an async operation always contains RAII scoped objects, but I struggle to see cases where the async operation lifetime should be scoped by RAII. The common case for RAII over an async operation is implemented in rxcpp by as_blocking().subscribe() which blocks the calling thread until completion.
since unsubscribe represents cancellation (and it is async cancellation, unsubscribe returns before the operation has finished the teardown) it is not a good match for scope exit or deallocation. I would be careful about calling unsubscribe from destructors.
keep in mind that async lifetime often introduces circular references between participants in the operation since the lifetime of their allocation must exceed the lifetime of the operation, but there is no block in the code that represents the async lifetime. the unsubscribe function is the way that these circular references are broken and placing RAII members in participating classes might result in unsubscribe never being called at all due to the circular references preventing any destructors from running.
now that the exhaustive list of concerns is finished, I can talk about adding a subscription_guard RAII type. This could be added to rxcpp despite my concerns because if it exists we can learn how useful or harmful it is in real code. It does not need to be a template since subscription is a concrete type. it should be a very simple class to write. I would merge a PR for subscription_guard.

Thanks for the reply!
I think we're talking about different use cases. I think you're referring to async operations like network requests. But I'm using rxcpp for model-view binding.
Let's say I have a game, and I represent the x/y coordinates of the player as a rxcpp::subjects::behavior<Point> position. After it's initialized, this behavior lives until the program quits.
I then have a PlayerView which is a view in a framework. It also lives until the program quits. It has a member subscription that is initialized with position.get_observable().subscribe(someFunction). someFunction updates the view position. In ~PlayerView(), I call subscription.unsubscribe().
This somehow causes leaks. What's the correct way to do this?

Thanks for the additional details.
Calling unsubscribe() on the result of subscribe() only stops the PlayerView subscription to the position. It does not stop the position.
Subjects have two ends. The observable end has a subscription per subscribe, however, the subscriber end has a subscription as well. When shutting down, the subscriber should have completed() or unsubscribe() called. This will stop all the subscriptions as well.
This means that PlayerView does not need to store the subscription or call unsubscribe. The only time to store and call a subscription returned from subscribe() is to control its lifetime independently from its source (even then, use take_until() whenever possible). Since PlayerView "lives until the program quits" the shutdown should be used to stop the position subscriber instead.

Thank you for your time and help. I really appreciate the help I'm getting here, because I'm sometimes struggling with the Doxygen docs.
I was searching for the source of the leaks for hours. The reason was that I was not calling on_completed on the subscriber of the Subject.
I have written some very simple wrappers that do the RAII behavior I need. I'm closing the issue because  I'm not sure it should be part of rxcpp. Of course you're welcome to re-open if you want to add it.

I am happy to help!
If you would like to take another step towards adding raii, I would suggest pushing a branch on a fork of rxcpp that has a new example showing the intended use cases for the raii types.
Thanks!

I have a similar use case as martinfinke, also in a model-view setting.
A view update method is subscribed to an observable (via lambda capturing this). A memory error would ensue if the subscription were to outlive the view instance. Therefore, I need the subscription to end deterministically on the view's destructor. This sounds like a case for RAII.
Kirkshoop, please comment - is this a misuse of rx?
Thank you very much,
Zrake

This is not directly an answer to your question (Kirk is the authority there), but I just want to share some ideas I found around this issue.
Other Rx implementations have a DisposeBag, which I believe is similar to rxcpp's composite_subscription, except that it also unsubscribes all added subscriptions automatically when destroyed.
In use, it looks a little like this:
disposeBag.add(someObservable.subscribe([this](…){…}));

and your class has a member DisposeBag disposeBag;, preferably the last data member of the class.
Nowadays I prefer a pattern I've borrowed from RxSwift:
someObservable.take_until(destroyed).subscribe([this](…){…});

The advantage is that you don't have something extra parentheses around the whole thing. The destroyed variable is just a custom Observable that emits once when it's destroyed. You can implement this class easily using rxcpp::subjects::replay.

Thanks for the reply.
Since writing that post, I thought of that same solution using take_until and a Sentinal class that emits on its destruction. You just put a Sentinal in your data members (LAST, so that it emits before your other data members are destroyed). Then there's no need to keep subscriptions, or to add a destructor solely to call unsubscribe.
BTW - I also discovered (adapted from Kirk's blog here) how to eliminate subjects altogether using a from_event factory, which AFAIK is not part of rxcpp. This means there's no need for your class to have any rxcpp data members, which I suspect might be a good thing.

LAST, so that it emits before your other data members are destroyed

Yes, very important. I forgot to write that in my post. My class is called DestroyNotifier, and it's final, to prevent from inheriting from it (it won't do what you want).


Quotes in Arguments will Be Escaped On Windows in 3.0

I noticed some escaping issues in arguments when specifying absolute paths.
This is a known issue in the Rust library: https://github.com/rust-lang/rust/issues/29494
A fix has been merged and is currently in nightly which should be enabled based on the platform: https://doc.rust-lang.org/nightly/std/process/struct.Command.html#method.raw_arg

Wish I had left myself an example! I don't see any issues with this in some testing now. It may be the stabilized method or the rewrite I had to do on the launcher.


[SPARK-41797][CONNECT][PYTHON][TESTS] Enable test for array_repeat

What changes were proposed in this pull request?
Enable test for array_repeat, since the datatype mismatch issue had been resolved
Why are the changes needed?
for test coverage
Does this PR introduce any user-facing change?
no, test-only
How was this patch tested?
enabled test

the failed test is irrelevant, merged into master


use ip address instead of hostname to initialize TChannel

hyperbahn requires that the client registers with a valid IP address.

can you rebase on master?

you may still need to rebase.


Propagate the register size to masks, offsets, and enumerated values

We're using the RAL generation script in the imxrt-rs project. PWM registers on iMXRT processors are 16 bits. But, this RAL script always generates masks, offsets, and enumerated values that are hard-coded to u32s. When we try bit operations -- like those inlined by the read_reg!, write_reg!, or modify_reg! -- the compiler yells at us. We're trying to AND, OR, and shift u32 values with u16 registers.
The masks, offsets, and enumerated values for a field should be based on the associated register. This PR updates the RAL generation script to propagate the register size to the nodes that generate the corresponding Rust code. In our project, we see that the constants associated with PWM fields are now correctly represented as u16s. We also identify a few masks and offsets in this repo that should be u16, since the associated registers are 16-bits large.
Patch for the RAL script generated from imxrt-rs/imxrt-rs@0cff649.

Thank you for this PR and upstreaming your changes! On first glance this looks very sensible, I'll review it properly tonight or this weekend and get it merged. I'm surprised only one file in the project ends up using 16-bit registers, as I'd have expected many more timer registers to also need changing.


Tidy HighThroughputExecutor shutdown function to remove incorrect commentary and unused parameters

Type of change

Code maintentance/cleanup

merged as part of #2205 - closing without explicit merge


Missing Pull Request template

Pull Request Template means when someone opens a Pull Request, they will have a template that they can edit making it easier for maintainers of the project to review PR and make sure that no PR is submitted without proper description.
Please assign this issue to me under GSSoC'23
@Abhirup-02

@DivyanshiNarang thanks for noticing that.

hey @DivyanshiNarang will you add the template?

Hello @Abhirup-02, sure I'll add the template. Sorry for the delay.


ref #99: TFullGroupTable scrollable and pagination responsive

Q
A

Branch
master

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed issues
chameleon-system/chameleon-system#99

License
MIT

Tables with records lists (TFullGroupTable) are now scrollable and the pagination is responsive:

Thanks @ckleis


[Feature Request] Screen Rotation

for games like BulletGBA

I have recently pushed functionality for implementing a bunch of new display options, including screen rotation to dev.


⚠ Bofrost.be has degraded performance

In 8263749, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 952 ms

Resolved: Bofrost.be performance has improved in db9e020.


jMAVSim SITL keeps freezing

The graphics of jMAVSim keep freezing for > 1s on my i7 laptop even though neither CPU nor RAM are maxed out.
This needs to be investigated/profiled.

@julianoes I guess this issue does not address the timing problem of jMAVSim?

This seems to be related to my graphics/screen setup when QGC is displayed in parallel to jMAVSim.


iboss Missing from note.

iboss also can automatically block unsanctioned apps using the MCAS API
https://docs.microsoft.com/en-us/cloud-app-security/iboss-integration
Can the note be updated to include iboss integration as well as zscaler to give customers visibility of this feature?

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

ID: b77ab1f7-e882-65ed-8763-2ca0e7f2d3a6
Version Independent ID: decde69d-a97a-6eb5-c98a-a7f93fe80793
Content: Blocking discovered apps - Cloud App Security
Content Source: CloudAppSecurityDocs/governance-discovery.md
Service: cloud-app-security
GitHub Login: @shsagir
Microsoft Alias: shsagir

Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


Impossible to calculate some positions

Some positions cannot be calculated cause of a wrong control.
Test case
Try to calculate positions using a PositionCalculation job configured with a PositionDefinition made of: any book, any Pricing Parameters Set, any currency, a Product Type (ex: IRSwap), no product.
The user should have access to the Product Type (in this example, IRSwap).
Actual results:
Job execution KO so no position calculated, error message: "ProductType is not found among the allowed product types. Please contact your administrator."
Expected results:
Job execution OK and position calculated.
Affected version: 1.0.4

The control has been fixed.
The fix will be part of a v1.0.5.


fix: preserve default values in x-goog-request-params header for artifact registry

Had to run owlbot separately for artifact registry, since it was being migrated during this update.
@alexander-fenster, do these changes look right?

Fixes https://github.com/googleapis/google-cloud-node/pull/3366


Fix more math for FftFixedIn max output length calculation

Commit a7ad2c146af9dbe9ac818a8fc4acc999d9d9fb93 fixed a problem where the maximum number of output frames was incorrect for a FftFixedIn resampler with an input sampling frequency of 44.1 kHz, an output sampling frequency of 40 kHz, a chunk size of 512, and 2 subchunks. However, in a production environment it was found that changing the input sampling frequency to 32728 Hz and the output sampling frequency to 32 kHz on the previously described resampler resulted in output_frames_max returning 0, which is blatantly incorrect.
My hypothesis about the root cause of the issue is that the aforementioned commit forgot to carry over the previous summand to prevent multiplying chunk_size_in by zero if fft_size_in is greater than fft_size_out. Now, a similar multiplication by zero can happen if fft_size_in is significantly larger than chunk_size_in.
To fix this issue, make sure that fft_size_out is always multiplied by a number greater than or equal to 1. Short of being able to produce any formal mathematical proof for the correctness of this change, I have checked by brute-force with a CUDA kernel that the required buffer length is never greater than the return value of output_frames_max after submitting 50 chunks for all combinations of [1, 48000] Hz sampling frequencies and [1, 8192] chunk sizes with 2 subchunks.
I have also added some unit tests to prevent numerical regressions in this calculation in the future, and to help catch this kind of bugs during development.

Thanks, that's great! I'd take too big buffers before too small ones anytime, but it's better if the estimation can be precise. To be frank, I pondered  about the current formula for quite a bit but wasn't too sure about how to fix it well.


npm install node-sass fails in Ubuntu 16.04

I'm attaching a npm debug log that shows node-sass is failing in Ubuntu:
10812 verbose stack Error<EMAIL_ADDRESS>install: node scripts/install.js
10812 verbose stack spawn ENOENT
10812 verbose stack     at ChildProcess. (/usr/share/npm/lib/utils/spawn.js:17:16)
10812 verbose stack     at emitTwo (events.js:87:13)
10812 verbose stack     at ChildProcess.emit (events.js:172:7)
10812 verbose stack     at maybeClose (internal/child_process.js:821:16)
10812 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10813 verbose pkgid<EMAIL_ADDRESS>10814 verbose cwd /home/$USER/learn/npm/react-isomorphic-starterkit
10815 error Linux 4.4.0-28-generic
10816 error argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "node-sass"
10817 error node v4.2.6
10818 error npm  v3.5.2
10819 error file sh
10820 error code ELIFECYCLE
10821 error errno ENOENT
10822 error syscall spawn
10823 error<EMAIL_ADDRESS>install: node scripts/install.js
10823 error spawn ENOENT
10824 error Failed at the<EMAIL_ADDRESS>install script 'node scripts/install.js'.
10824 error Make sure you have the latest version of node.js and npm installed.
10824 error If you do, this is most likely a problem with the node-sass package,
10824 error not with npm itself.
10824 error Tell the author that this fails on your system:
10824 error     node scripts/install.js
10824 error You can get information on how to open an issue for this project with:
10824 error     npm bugs node-sass
10824 error Or if that isn't available, you can get their info via:
10824 error     npm owner ls node-sass
10824 error There is likely additional logging output above.
10825 verbose exit [ 1, true ]

Here is the fix for the problem - The root cause appears to a package name conflict in Ubuntu repository for the 'node' package. So, it is installed as nodejs in /usr/bin and the install script for node-sass invokes node which fails to locate the dependency manager. This is the root cause for the ENOENT ( No such file or directory) error seen during install.
I fixed this by creating a symbolic link:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Hope this helps someone.


added whitespace when st_javascript is being called

how do I fix this issue when my streamlit web app runs and the streamlit_javascript code runs in the background gives me white space i.e. it gives additional space when called. I use streamlit_javascript for local storage

For me the following worked:
st.markdown(
"""
<style>
    .element-container:has(
        iframe[title="streamlit_javascript.streamlit_javascript"]
    ) {
        display: none
    }
</style>
""",
    unsafe_allow_html=True,
)

It selects all ._element-container which have an iframe child with a title attribute set to "streamlit_javascript.streamlit_javascript". I don't know how well this works with older browsers and how reliable the title attribute is but hope it helps.

You could also use the st.empty() to remove it when you have gotten what you want. Something like this:
import streamlit as st
from streamlit_javascript import st_javascript

placeholder_for_js = st.empty() # initialise it
with placeholder_for_js.container(): # want to run everything in a container
     example_Output = st_javascript(<code>)
placeholder_for_js.empty() # remove all contents of the container including container.


Use the Gateway Service in /ccapi

The chaincode API in Go currently uses the Fabric SDK Go's Channel client to send invoke and query requests. A more modern approach is to use the Fabric Gateway service (also available through the Fabric SDK Go).
We should refactor it to use the Gateway, whilst maintaining compatibility with our current deployment process.

Done on #42.


Release Google.Cloud.DataCatalog.V1 version 2.12.0

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Cloud.DataCatalog.V1-2.12.0


Slider with lazy enabled gets model out of sync with internal state

If you switch on lazy option and move/drag slider relatively quickly releasing mouse button while moving sometimes the value shown on the label is different from one contained in component model (or sent with change event). See screenshot. Codepen for manual tesing

I have not reappeared, I have been as fast as possible.
Is the value not correct, or the tooltip is not displayed correctly?

The value shown on tooltip is different from one in component model/change event. I think that it is just not updated/propagated outside in some rare cases (appears to be the case 1 of 5-10 times changing upper or lover bound). When it is out of sync - next change of other (correct) bound immediately changes model value to the one displayed on tooltip (makes it synced again).

Thanks for the feedback, fixed in version 3.0.33.

I have the same problem. But I am still experiencing problems.

@mixbyme Please provide your parameters and component versions. It is best to have an online example