Round Robin Load Balancing Breaks Glimpse

Our web application is stateless and is deployed behind a load balancer that uses a round-robin distribution algorithm for routing web traffic.  However, this causes Glimpse not to work since the <script> tags inserted before the BODY tag cause another HTTP request from the browser that may get routed to a server different from the original page request.  To illustrate this problem, here is an outline of the interesting events:

HTTP Request 1 is made for a page
Load balancer routes Request 1 to Server A
Plugins collect data for Request 1 and Glimpse inserts <script> tags in the Response to source glimpseData and glimpseClient code into the page.
Browser makes HTTP Request 2 and 3 to request glimpseData and glimpseClient javascript.
Load balancer routes requests to Servers B and C.
Glimpse on Server B or C does not recognize the glimpseData request ID and no data is returned.
Glimpse doesn't load for the page.

I am not sure what the best solution is for this problem as it would be difficult to have a solution that works with every application scenario and load balancer.  To fix it for my specific scenario, I have a custom build of Glimpse and modified the HttpContextBaseExtensions.GlimpseResourcePath() method to include the server's IP address and port number as a prefix to the virtual path when IP Forwarding is enabled.  This works for us because we are going to allow Glimpse to be used only on our internal network so users will be able to resolve the server's IP address.  However, this solution will not work for those that want Glimpse to work externally and have their servers behind a firewall.
Also, in order to get the Elmah plugin to work (we're using an in memory store right now), I had to modify the ElmahPlugin.GetErrors() method to build the View Details link using the same logic as Glimpse so that this link would always route to the correct server.
Perhaps the correct solution would be one that follows the 80/20 rule, but provides an extension point that allows Glimpse consumers to customize this logic if needed.  Perhaps using MEF to import a custom strategy for resolving resources?  If one is not found, then Glimpse uses a default strategy.  Whatever the solution, it may make sense to allow for extensibility points in a consistent manner.  For example, a similar strategy may be applied for determining the user's IP address when IP Forwarding is enabled which would help with things like issue #153.  This would allow Glimpse to solve for 80% of users while giving the 20% the means to tailor these algorithms to their specific scenarios without having to do a custom build of Glimpse.
For reference, here are the changes that I have made in my custom Glimpse build:
HttpContextBaseExtensions
ElmahPlugin

Matt,
More great feedback from you. Thank you very much!
I'd love for you to take a look at the code in the System.Web.Abstraction
branch. It's still a work in progress, but represents a major effort that
will eventually become the 1.0 release.
There are a few concepts (already complete) that should help your scenario.
First is the ResourceEndpointConfiguration, which is basically an abstract
class that you can implement to change all the URI's generated by Glimpse.
We are looking to ship an implementation that leverages routing and/or
Glimpse.axdbased URI's. It sounds like this would allow you to create
"sticky" URI's as you have described, but I think there is a slightly
better option - if I understand your problem correctly.
The second change you might be interested in is the IPersistanceStore
interface. Glimpse will load up one implementation of this interface which
is used to read and write request metadata gathered by Glimpse. Right now,
and in the past, the only implementation has been an in memory store. We'd
like to ship an option to use an out of proc store - such as SQL Express or
AppFabric Caching - which would allow an originating request from Server A
to then later have Server B return details of the request.
Take a look at those extensibility points and let me know if you think your
use case will be handled in 1.0.
As far as the Glimpse.Elmah tab goes - I still have to bring myself up to
speed with its inner workings. It was contributed to the main Glimpse
project by @stevenlauwers22, so hopefully he can chime in here with his
thoughts.
Thanks,
Nik
On Wed, Feb 22, 2012 at 11:04 AM, mattscully <
<EMAIL_ADDRESS>
wrote:

Our web application is stateless and is deployed behind a load balancer
that uses a round-robin distribution algorithm for routing web traffic.
However, this causes Glimpse not to work since the <script> tags
inserted before the BODY tag cause another HTTP request from the browser
that may get routed to a server different from the original page request.
To illustrate this problem, here is an outline of the interesting events:

HTTP Request 1 is made for a page
Load balancer routes Request 1 to Server A
Plugins collect data for Request 1 and Glimpse inserts <script>
tags in the Response to source glimpseData and glimpseClient code into the
page.
Browser makes HTTP Request 2 and 3 to request glimpseData and
glimpseClient javascript.
Load balancer routes requests to Servers B and C.
Glimpse on Server B or C does not recognize the glimpseData request ID
and no data is returned.
Glimpse doesn't load for the page.

I am not sure what the best solution is for this problem as it would be
difficult to have a solution that works with every application scenario and
load balancer.  To fix it for my specific scenario, I have a custom build
of Glimpse and modified the HttpContextBaseExtensions.GlimpseResourcePath()
method to include the server's IP address and port number as a prefix to
the virtual path when IP Forwarding is enabled.  This works for us because
we are going to allow Glimpse to be used only on our internal network so
users will be able to resolve the server's IP address.  However, this
solution will not work for those that want Glimpse to work externally and
have their servers behind a firewall.
Also, in order to get the Elmah plugin to work (we're using an in memory
store right now), I had to modify the ElmahPlugin.GetErrors() method to
build the View Details link using the same logic as Glimpse so that this
link would always route to the correct server.
Perhaps the correct solution would be one that follows the 80/20 rule, but
provides an extension point that allows Glimpse consumers to customize this
logic if needed.  Perhaps using MEF to import a custom strategy for
resolving resources?  If one is not found, then Glimpse uses a default
strategy.  Whatever the solution, it may make sense to allow for
extensibility points in a consistent manner.  For example, a similar
strategy may be applied for determining the user's IP address when IP
Forwarding is enabled which would help with things like issue #153.  This
would allow Glimpse to solve for 80% of users while giving the 20% the
means to tailor these algorithms to their specific scenarios without having
to do a custom build of Glimpse.
For reference, here are the changes that I have made in my custom Glimpse
build:
HttpContextBaseExtensions
ElmahPlugin

Reply to this email directly or view it on GitHub:
https://github.com/Glimpse/Glimpse/issues/164

Hey Matt, thanks for your feedback.
@nikmd23, I could fix the issue with the Elmah plugin in the main branch but would this still be of use with version 1.0 coming up?
Can you advice on this?
Cheers,
Steven

Yes, fix in the main branch, I'll have to move that project over wholesale, and them just tweak it to match the new interfaces.
Thanks,
Nik
On Feb 23, 2012, at 10:45 PM, Steven<EMAIL_ADDRESS>wrote:

Hey Matt, thanks for your feedback.
@nikmd23, I could fix the issue with the Elmah plugin in the main branch but would this still be of use with version 1.0 coming up?
Can you advice on this?
Cheers,
Steven

Reply to this email directly or view it on GitHub:
https://github.com/Glimpse/Glimpse/issues/164#issuecomment-4152380

@nikmd23, I'll fix it tonight/tomorrow.
Cheers,
Steven

Awesome, thanks Steven.
On Mon, Feb 27, 2012 at 9:20 AM, Steven Lauwers <
<EMAIL_ADDRESS>
wrote:

@nikmd23, I'll fix it tonight/tomorrow.
Cheers,
Steven

Reply to this email directly or view it on GitHub:
https://github.com/Glimpse/Glimpse/issues/164#issuecomment-4194178

Hey guys, I just submitted a pull request with Matt's fix.


Completing direct editing without changes doesn't update edit menu

Reproduce:

Start direct editing
Press ENTER without changing text

Expected Behavior:

Edit Menu is updated, entries like lasso tool are enabled again

Actual Behavior:

Edit Menu is NOT updated, entries like lasso tool are still disabled

State needs to be updated on directEditing.deactivate.


chore: Add back double_verify_proof

Description
When we removed the legacy ssa tests, I also removed this which we want.
Problem*

Resolves
Summary*

Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Blocking: need to regenerate the artifacts


[AutoComplete] Weak dependency on symfony/form

I followed these steps to create a bug reproducer:

https://symfony.com/doc/5.x/contributing/code/reproducer.html#reproducing-complex-bugs
https://symfony.com/bundles/StimulusBundle/current/index.html
https://symfony.com/bundles/ux-autocomplete/current/index.html

And I got blocked when adding class AnyForm extends AbstractType: without symfony/form installed, AbstractType is not available.
So I had to install symfony/form, and this may not be obvious for newcomers.
Possible solutions:

add composer require symfony/form in the documentation of ux-autocomplete
declare that symfony/ux-autocomplete depends on symfony/form in https://github.com/symfony/ux/blob/2.x/src/Autocomplete/composer.json`

As this component can be used outside of a Symfony project, adding symfony/form to composer requirements doesn't seem to me to be a good solution.
I'm going to make a PR to add this precision to the documentation, it's a good point.


Multi-part form doesn't support variable values

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
It looks like URL-encoded forms and JSON bodies support sending the value of a variable. When I use multi-part, however, it looks like it just sends the string literally (e.g. "{{variable}}" instead of rendering as "should_have_value")
.bru file to reproduce the bug
meta {
  name: Test Variable
  type: http
  seq: 3
}

post {
  url: https://echo.free.beeceptor.com/
  body: multipartForm
  auth: none
}

body:json {
  {
    "value": "{{variable}}"
  }
}

body:form-urlencoded {
  variable: {{variable}}
}

body:multipart-form {
  variable: {{variable}}
}

vars {
  variable: should_have_value
}

Screenshots/Live demo link

Duplicate of #352


Changes to own state of mounted stores should invalidate cache of ancestors

When a descendant of a mounted store updates its own state, we don't invalidate the cache of its ancestor mounted stores. This results in stale state appearing in the ancestor's own state.
Repro
'use strict';

const redux = require('redux');
const reduxMountStore = require('./');
const assert = require('assert');
const immutable = require('object-path-immutable');

const store = redux.createStore(
	state => state,
	{},
	reduxMountStore
);

const hostStore = store.mount('host')(
	state => state,
	{}
);

const childStore = hostStore.mount('child')(
	(state, action) => {
		if (action.type === 'MUTATE_CHILD') {
			state = immutable.set(state, 'childOwn', 'new child');
		}

		return state;
	},
	{
		childOwn: 'child'
	}
);

childStore.dispatch({
	type: 'MUTATE_CHILD'
});

assert.deepEqual(store.getState(), {
	host: {
		child: {
			childOwn: 'new child'
		}
	}
});

assert.deepEqual(hostStore.getState(), {
	child: {
		childOwn: 'new child'
	}
});

This script can be run from the root of the repo to reproduce the bug. The second assertion will fail. Note that the first assertion is fine, because the changes are included in the new state we return from the root reducer.

FYI @lzilioli

I see two possible solutions:

Keep track of which paths have updated their own state and recompute the cached state of their ancestors
Do a depth-first traversal of the paths (instead of the current breadth-first traversal) and update the cached state after recursing into descendants

The latter is probably the cleaner solution, but requires changes to getViewedState.


Removed assertion

The assertion breaks iOS errors.

Fixed

@derTuca please fix the merge conflicts so I can merge this PR


A more convenient way to get hidden_states.

Thank you for your very inspiring paper. I noticed that you are using Hook to get the output of each layer when capturing the activation values, in here. However, the model defined by Huggingface Transformers has a much more convenient way to get the output values for all layers, just by adding output_hidden_states=True:
returns = model(input_ids, output_hidden_states=True)
hidden_states = returns.hidden_states

The hidden_states will be a list of length L+1, where the 0th element is the output of the embedding layer, and the first element is the output of the 1st DeocderLayer, and so on. You can try to get hidden_states in this way, it will make your method much easier to understand and use, thanks.

Thanks a lot for the suggestion! I did not know this. I am very busy at the moment but once things calm down I will update the code accordingly.


feat(pagination): add pagination component

Waiting for @perriefidelis on the interaction
Implemented Google's implementation
What does this PR do
Add the pagination component as in the style guide
Description of Task to be completed
Creation of the pagination component
How should this be manually tested
Run npm run storybook
What are the relevant issues this PR belongs to
Resolves #36
Screenshots

Looks good, thanks @ashinzekene; @BolajiAyodeji 👍🏽

@perriefidelis Check this. When there are more than 10 pages

The direction arrows
The pagination buttons showing

looks good

Cool @perriefidelis
@BolajiAyodeji let's get #46 merged first. I've got some refactoring to do

Is this ready for a MR?

Yeah, just fixed a merge conflict


OGC Scenes API "competing" with STAC?

OGC seems to be creating a somewhat similar specification to STAC, the Scenes API.
I think we should check and discuss this, and if required, try to push them towards STAC. I'm not sure why they don't just use STAC?!
See: https://github.com/opengeospatial/ogcapi-coverages/issues/171 and https://github.com/opengeospatial/ogcapi-coverages/files/12491708/19-087.pdf, chapter 13.
Has anyone thoughts or more details?
cc @cholmes

@m-mohr The aim is not to compete with STAC but to integrate the STAC properties applying the OGC API - Records Local Resource Catalogs concept on "scene" resources within a specific collection (/collections/{collectionId}/scenes). This avoids the need for mixing a "metadata"-only collection that sits at the same level as a "data" collections in the same API end-point.
It is also to be able to provide access to the data at both an overall "collection" level comprised of multiple scenes (e.g., /collections/sentinel2-l2a/coverage), and for a single scene /collections/sentinel2-l2a/scenes/{sceneId}/coverage).
It also allows the use of record properties as queryables directly as part of a coverage request as part of the overall collection, so that a client does not need to first query scene metadata, then perform request on individual scenes -- it can do it all directly as part of a GET request on the overal /collections/sentinel2-l2/coverage resource.
The other aspect of the scene API is for being able to create / update / delete scenes that automatically updates the overall coverage.

I'm not sure if this resolves this particular issue or not but I should point out that the Local Resources Catalogue conformance class can be applied to any OGC API endpoint where catalogue-like queries make sense.  /collections/{collectionId}/scenes is one example of such an endpoint.  collections and /processes are other endpoint examples.


Dates loaded via ETL using dateFormat yyyy-mm-dd in CSV extractor only sets month to january (01)

OrientDB Version, operating system, or hardware.

[X] v2.2.5 community
[X] v2.2.6 community

Operating System

[ ] Linux
[X] MacOSX (10.11.6 El Capitan)
[ ] Windows
[ ] Other Unix
[ ] Other, name?

** I've only been testing this on OSX, it may be happening elsewhere.  I downloaded "ZIP for any OS" from the OrientDB website.
Expected behavior and actual behavior
I'm reporting this as a subset of a bigger problem I'm having with ETL as I posted on Stack Overflow in which dates aren't loading properly and edges with date properties are clobbering the vertex dates by overwriting the time field using the edge month value.  This report focuses specifically on the date loading issue.
I have a simple dataset of vertices in vertices.csv:
label,data,vDate
v01,0.1234,2015-01-01
v02,0.5678,2015-02-20
v03,0.9012,2015-03-30

I'm loading it into a database using the ETL loader based on what I've been able to find on Stack Overflow + the OrientDB manual.  It seems to work ok but dates get imported incorrectly.  Here's an example of the output when I query the vertices after import:
orientdb {db=bug-etl-dates.orientdb}> SELECT FROM myVertex

+----+-----+--------+------+-----+-------------------+
|#   |@RID |@CLASS  |data  |label|vDate              |
+----+-----+--------+------+-----+-------------------+
|0   |#25:0|myVertex|0.1234|v01  |2015-01-01 00:00:00|
|1   |#26:0|myVertex|0.5678|v02  |2015-01-20 00:00:00|
|2   |#27:0|myVertex|0.9012|v03  |2015-01-30 00:00:00|
+----+-----+--------+------+-----+-------------------+

The dates in v02 and v03 have their months set to january, which is incorrect.
The data, ETL, and helper scripts to replicate the issue are provided in the attached ZIP file.
Steps to reproduce the problem
Preparation
You need OrientDB Community 2.2.5
Set the ORIENTDB_HOME environment variable to the path orientdb-community-2.2.5 is located.
Steps to execute test

Download the attached zip file (2016-08-05_orientdb_bug_etl-dates.zip)
Open a shell and go to the location you downloaded the zip file.
$ unzip 2016-08-05_orientdb_bug_etl-dates.zip
$ cd 2016-08-05_orientdb_bug_etl-dates
$ bash execute.sh
Observe result showing month field always coming up as January (01) as shown above.

Explanation
The execute.sh will call 00_build_graph.sh, which will create a plocal graph in the test directory named bug-etl-dates.orientdb.  Next it will execute 01_query_graph.sh which will execute a "SELECT FROM myVertices" query.
Troubleshooting
If the script doesn't run and you get a bunch of exceptions saying that it can't find the commonVertices.json, etc. files... try editing the oetl.sh file in $ORIENTDB_HOME/bin and comment out the following line:
cd dirname $0
As best as I can tell, this doesn't affect the execution of oetl negatively by commenting it out... but leaving it in results in the script changing its current working directory into $ORIENTDB_HOME/bin, which is a royal pain in the a$$ forcing the use absolute paths in your command line and in the vertices.json file.
2016-08-05_orientdb_bug_etl-dates.zip

duplicate of #6581


Add a package to perform Mann-Whitney U test

What this PR does / why we need it:
This PR adds the mannwhitney package that provides a public function to perform the Mann-Whitney U test to be used by the analysis executor.
NOTE: All files within the PR are just borrowed from golang.org/x/perf/internal/stats which cannot be imported from external packages, so well tested.
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/todo skip

I think putting all of stats in the same package makes it to be hard to know where is our code for mann-whitney implementation.
So how about moving all stats files into a sub-package to be used as a utility.

@nghialv There is no our own code in the mannwhitney package at all. So I feel like it will not make it difficult to read.

I got it. I was thinking that mannwhitney.go is our added code.
Nice.
/lgtm

Ah, sorry for confusing you. I just wanted to emphasize that is the main file where is the only file including a public function.

Thank you!

Way to go
/approve

/changelog


chore(autoware_launch): minor fix with trajectory_follower param

Signed-off-by: Takayuki Murooka<EMAIL_ADDRESS>Description
Removed unnecessary parameters which are not used.

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@TakaHoribe Could you review the PR.

I confirmed this PR worked well with psim.

@taikitanaka3 Could you approve this


Add Android emulators to flutter/plugin test suite

Currently the way integration tests and native Android UI tests are run in flutter/plugins is via Firebase Test Lab, but we can only run those jobs for PRs from contributors. That means we're missing our most critical Android test coverage in presubmit for non-contributor PRs.
We should add a set of shards that run integration tests via Android emulators on Cirrus (example) to close that coverage gap.
We will likely need to rethink the existing coverage so that we're not just adding to our already-significant time+resource usage for Android tests. Things we could consider:

Making the FTL tests post-submit only
Removing one of the two FTL device configurations

/cc @blasten

Emulator support was just added to the repo in general, so I'm now actively working on this.

https://github.com/flutter/packages/pull/4494 has an initial experiment with enabling them:

[ ] shard 1 hung on camera_android (the first test it tried to run). This happened in a very preliminary experiment with emulators, so it's reproducible.
[ ] shard 2 failed google_maps_flutter_android: many tests didn't complete. Possibly a crash? Interestingly the app-facing tests did complete.

Possibly this is related to the lack of an API key on the bot? Although I don't know offhand why that wouldn't affect the app-facing package equally.

[ ] shard 3 failed in_app_purchase_android. The output says All tests passed!, and then there's a Failure [DELETE_FAILED_INTERNAL_ERROR]: Command: /b/s/w/ir/cache/android/sdk/platform-tools/adb -s emulator-5554 uninstall io.flutter.plugins.inapppurchaseexample, so it looks like this was a failure with terminating the tests rather than the tests failing.
[ ] shard 4 passed (local_auth, path_provider, quick_actions)
[ ] shard 5 failed shared_preferences: Test timed out after 12 minutes.. But shared_preferences_android was fine.
[ ] shard 6 failed webview_flutter_android: Failed a whole bunch of tests with exceptions like:The following assertion was thrown running a test:
Guarded function conflict.
You must use "await" with all Future-returning test APIs.
The guarded method "pumpWidget" from class WidgetTester was called from file:///b/s/w/ir/x/w/packages/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart
on line 190.
Then, the "pump" method from class LiveTestWidgetsFlutterBinding was called from
package:flutter_test/src/binding.dart on line 971.
The first method (WidgetTester.pumpWidget) had not yet finished executing at the time that the
second method (LiveTestWidgetsFlutterBinding.pump) was called. Since both are guarded, and the
second was not a nested call inside the first, the first must complete its execution before the
second can be called. Typically, this is achieved by putting an "await" statement in front of the
call to the first.

The next step is to see if any of these are reproducible locally, and to see if they are repeatable on CI.


Wrong_host when trying manual add esp over internet

          Thanks for the great job @rstrouse and the team!

I'm trying to add manually the ESPSomfy-RTS device to my HA instance over the internet and I'm getting wrong_host. I use my dynamic dns and the port forwarded to the port 80 of esp. I can verify that the port is open but no luck for the HA😊.
Also when I try to access the esp from a web page over the internet I can reach the site but it's useless because it keeps loading for centuries (attached picture)

From local access all are good!
Any help will be very welcome
Thanks again
Originally posted by @kostas125 in https://github.com/rstrouse/ESPSomfy-RTS-HA/issues/4#issuecomment-1702512258

ESPSomfy RTS uses a socket on 8080 for the web interface and the rest interface is on 8081.


Moving to the OrgManager org

@TiagoDanin To move this to the org:

Under settings, transfer the repo to the org

Then,  I'll create a node mantainers team and add you

I've given you the privileges required

Also, I've created an OrgManager org on npm

😔 Unfortunately the NPM does not allow delete or move the package.
Solution: Create a new package name
My NPM user: https://www.npmjs.com/~tiagodanin

@TiagoDanin But as we now have an org, we can scope the package, so that should fix it


Added a section about cleanup

Description
I would like to update this part of the documentation. I think adding this part about clean up would help future folks with debugging their error messages - at least they know that they did this part right.
Motivation and Context
This is for clarity in cleaning up the application prior to exit.
How Has This Been Tested?
This is not a code change. I believe this code was from an Electron examples folder from your code, which I also believe should be added to the documentation. I was not able to find this until I searched the repo.
Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

This is my first time doing this - I am not sure if you accept documentation changes. Please let me know what I can do to help.

Hi there!
Thanks for your PR ! We'll be glad to accept it ;). Documentation is part of the project, so you are helping pushing it further!
Would you mind resolving the conflict in README.md ? We'll merge this then.

Hi,
Thanks for your reply. I worked off the electron-2.0 branch, and I was hoping to merge my changes there instead of master. For now, I'll close out this pr and create a new one to master to document the cleanup, which is the same as https://github.com/WilixLead/iohook/blob/feat-support-electron-2.0/examples/electron-example/main.js.


Move CI to Github Actions

The CI is still configured to use TravisCI, although it hasn't built in the past 9 months. Since Travis stopped offering generous free plan for open source, most projects have moved to GitHub actions, which seems to be the default these days.
This migrates the existing Travis config to GitHub actions.
~The build status isn't reported due to security reasons from GitHub: a workflow added from a fork isn't running. You can see the build result on my fork: https://github.com/browniebroke/python-future/actions/workflows/ci.yml?query=branch%3Aci%2Fgh-actions~ Actually it seems to be triggering now 👀

FWIW, I tried to explore what's possible if you want to run tests outside of docker on another branch:
https://github.com/browniebroke/python-future/blob/ci/build-matrix/.github/workflows/ci.yml

Python 3.8 & 3.9 tests seems to be failing
Python 2.6 cannot run on GitHub actions

This last point means that we should keep things in Docker (unless dropping support for 2.6 is an option, but that probably defies the point of this library)

Closing as superseded by #603


Avoidance feedback to Navigator (rebased)

Rebased version of  #10240

if the vehicle projected position on the line previous-current triplet is past the current triplet, acceptance radius is enlarged such that navigator updates the triplets
if the vehicle is within the xy acceptance radius but not inside the z one, enlarge the altitude acceptance radius such that navigator updates the triplets set the feedback yaw acceptance to NAN such that it is ignored by navigator

Missions shouldn't get stuck anymore because a waypoint is not reachable or a waypoint is reached with a heading different from what navigator expects

I need to take another pass to review the details, but so far looks good.
The missing piece we need is to prevent both the FW & MC position controllers from publishing this message simultaneously in VTOL. @RomanBapst FYI
Check if vehicle_status.is_rotary_wing or not in each position_controller_status publication location should be sufficient.

@dagar  I have addressed your comments

Rebased on master.

This looks right, has it had much testing?

@dagar only SITL tested

@dagar @mrivi I tested this PR outside with the IF750A last Friday with obstacle avoidance enabled. It worked quite nicely and we did not have any issues anymore with mission points not getting checked off.

@bkueng could you assist Martina and Roman here and give the green light to merge if it looks good from your side? This has been flight tested by Tanja.

@bkueng as for the simultaneous publication:

is FlightTaskAuto the publication is done only for multicopter https://github.com/PX4/Firmware/blob/a79dd2529492360c13a6a5887403b1a55cfd360b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp#L228
in the FW pos control the opposite check https://github.com/PX4/Firmware/blob/a79dd2529492360c13a6a5887403b1a55cfd360b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp#L228

Is there anything else missing?


[Vulnerability] Accessible the /standalone/MySQL_config.php file

This MySQL_config.php file include the MySQL host, port, user id and password data.
All user can access this file, and read with plain text.
Original Japanese report:
https://blog.kentan.jp/2016/10/27/dynmap_security_hole/

THe file is only used if an external web server is configured, in which case it is executed and does not return the plain text.  If it isn't being used, it will not contain credentials.


sampled stream functionality

This pull request contains functionality for sampled stream endpoint.
A summary of the modifications contained in this PR are:

oauth.py: modifies OAuth2's make_request parameters and requests.get to add a stream parameter that enables the creation of a streaming connection.

api.py: creates a public interface for sampled_stream endpoint and its corresponding private implementation. These functions are used to establish a connection to the API and to return a generator that is used by the user for streaming purposes.

This endpoint can be tested using the following code:
bearer_token = ""
oauth2 = osometweet.OAuth2(bearer_token=bearer_token)
ot = osometweet.OsomeTweet(oauth2)

response = ot.sampled_stream(everything=True)

for tweet in response:
    print(json.loads(tweet))

Documentation and tests will follow on a different PR if we are ok with this implementation.

Documentation and tests will follow on a different PR if we are ok with this implementation.

Sounds good. Thanks!

Opps, I think I messed this PR up...

Opps, I think I messed this PR up...

Something other than the conflicts?

Just the conflicts, which I think I just fixed.
However, I'm now sure if the sampled_stream method can properly work with the rate limit manager. You might want to take a look.

Also, this PR seems to be reverting some of the previous commits from other PRs. I didn't touch them because I'm not sure which one we want.

Also, this PR seems to be reverting some of the previous commits from other PRs. I didn't touch them because I'm not sure which one we want.

Sorry if this is obvious but could you be more specific?

Matt is correct. I'll get back to this next week.

hey @ChrisTorresLugo - any update on this?


Add stdio logging adapter

Tracking issue
Need to add a basic log to stdio logger to mixer to provide barebones logging support.
Work is being done in #157.

This issue is really tracking the conversion of the initial version of the adapter to one that integrates with the config system, etc.

The adapter exists, but at the moment has NO configured log entry descriptors to work with. We could hard-code some as an initial bootstrapping workaround.

Default log entry descriptor added. Marking as resolved for now. There is another issue open for wiring in descriptors properly.


chore(main): release 2.5.0

:robot: I have created a release beep boop
2.5.0 (2024-12-12)
Features

track answers file for copier selections (813e0d5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/jwbennet/project-base/releases/tag/v2.5.0 :sunflower:


in last and most recent conflict

Hi,
I encountered this issue.
in last set to 5 days
num of post 10
most recent is true
If my loaded hashtags produces only 5 more recent post that are within 5 days, the script will keep skipping. I was thinking maybe we can continue the next hashtags if most recent is true and there are no more post older than 5 days, no point skipping post because it will never find it.
so i was looking into the script and located the section
if profile.inlast:
# get post date
postdate, ts = insta.get_post_date()
            if not insta.post_within_last(ts=ts, multiplier=profile.inlast_multiplier, tparam=profile.inlast_tparam):
                logger.info(
                    f'Post [{postdate}] is older than {profile.inlast_multiplier} {TParam[profile.inlast_tparam].value}{"s" if profile.inlast_multiplier>1 else ""}. Skipping'
                )
                insta.next_post()
                # time.sleep(DELAY or randint(1,10))
                time.sleep(get_delay(profile.delay))
                continue

can we modify it to something like this
if not insta.post_within_last(ts=ts, multiplier=profile.inlast_multiplier, tparam=profile.inlast_tparam) and not profile.mostrecent:
logger.info(
f'Post [{postdate}] is older than {profile.inlast_multiplier} {TParam[profile.inlast_tparam].value}{"s" if profile.inlast_multiplier>1 else ""}. Skipping'
)
insta.next_post()
time.sleep(get_delay(profile.delay))
continue
elif not insta.post_within_last(ts=ts, multiplier=profile.inlast_multiplier, tparam=profile.inlast_tparam) and profile.mostrecent:
logger.info(
f'Post [{postdate}] is older than {profile.inlast_multiplier} {TParam[profile.inlast_tparam].value}{"s" if profile.inlast_multiplier>1 else ""}. No more recent posts. Stopping'
)
break

It is ok now, I have made some changes to the code that made it work for me. Thanks


(PUP-9092) Improve process termination handling on Windows

@onyxmaster noticed we always wait a minimum of 1 second when launching external processes on Windows, which can greatly slow down puppet when there are a large number of exec resources. Now we wait at most 1 second, and repeat as necessary until the process exits or we're interrupted. Credit to @onxymaster for finding this and submitting a PR.
This supersedes PR#7038.

Earlier versions of ruby could not interrupted if the main thread was blocked in a native Win32 call. So for example calling WaitForSingleObject with a 1 second timeout, means it could be slow to respond to interruption. See my comment on an earlier version of the PR: https://github.com/puppetlabs/puppet/pull/7033#issuecomment-417436281. But in my testing it seems instantaneous, so perhaps ruby has gotten better about that?

CLA signed by all contributors.

@joshcooper I remember Ruby working in the same way you described (handling signals only at predefined cancellation points, which did not include system calls) when I was actively using it about 7 years ago (this was the reasoning behind setting the WAIT_INTERVAL to 15ms instead of something larger).
Maybe Ruby got smarter, or FFI is able to handle async exceptions in a smart way.

So I take back what I said about my testing it seems instantaneous. Setting the timeout to a larger value, ruby doesn't interrupt while blocked in the WaitForSingleObject call. So I think we need to choose a timeout that works for interactive users, while minimizing CPU utilization due to polling. Does 200ms seem ok?

I believe that anything below 250-300ms is OK. I think that 15ms will do fine though, without wasting CPU and/or power.
The proposed value of 15ms (actually 15.625ms) might be actually better than you believe, since it's the default scheduling quantum on Windows (it's not that simple, but GetSystemTimeAdjustment returns 156250, so it appears that it still holds).
Since this is a service thread (so no priority boosts), I guess that thread priority and process priority class are default ones, any non-zero-timeout sleep reschedules the thread to run in ceil(time/15.625)*15.625 milliseconds. So, sleeping for 1ms under normal circumstances will still block the thread for 15.625 ms (if it does nothing but sleeping in a loop).
But (there is always a "but") some programs (neither of which should be run on server) mess with the timer resolution (this, for example, includes old versions Chrome and lots of other software), so sleeping for 1ms might be unsafe, hence the 15ms wait time (no higher precision is available in wait functions).
If you prefer to be on the safe side (and I agree with you), I believe that picking the value that is 10 times larger (150ms) will not spend any significant amount of CPU and will produce the "instant" perception of signal handling.
P.S. Before I started writing this reply, I built and started a program that calls Win32 Sleep(15) in an endless loop. The system believes that it spent 31ms of CPU time for its lifetime of 1020 seconds, which makes it (31ms -cpu-time/ 1020seconds-running) * 86400seconds-per-day / 1000milliseconds-per-second = 2.626 seconds per day of CPU time spent.

I would like to add that I tested the "pure" case (a "while (true)" loop with only a Sleep inside, written in C#). We certainly must consider the const of the system call itself (I think that waiting on a handle is more complex than relinquishing the control), overhead of Ruby FFI and the cost of Ruby "native" sleep, so in practice 15ms might be just a little too fast.
As for my proposal of 150ms -- you already adjusted the value to 200ms, I believe that you should leave as it is, I don't think that many people will feel the difference of 50ms =)


Run Time State Setting

Not sure if I'm missing something in the docs, but I can't find anyway of doing this. I want to write a directive with a options of passing in a base path, ie
<div my-directive basepath="/some/path/"></div>

Then have my directive have a ui-router which appends all it's states to this path.
This doesn't seem possible at the moment as the states are created in the config step and there doesn't appear to be anyway of changing these. If the state urls could be looped through and updated, I could do this when the directive is first created and update the states.
Use cases for this are re-usable modules which bring there own routes. They would only really be re-usable if they could be appended to a specific state.
(I thought this kind of thing maybe possible after listening to Dean Sofer on JS Jabber - excellent module btw..)

The module should have its own ng-app right? I feel like setting the url: "" to should work to be relative from the current location


Merge pull request #1 from zephyrproject-rtos/master

update

update

Closing, since this seems to be a mistake


NPI-3294 - Updates to file properties extraction to allow broader use, addition of file name vs file contents check functionality

This PR splits out file properties extraction code from filename prediction code, to allow it to also be used in other checks (e.g. to check whether the timespan that a filename implies, matches what is found in the file).

This PR hasn't been touched in a while. @treefern it looks like you've resolved all of @jashlearn 's concerns so I would just resolved the conflicts that now exist between this branch and main and we can probably push this through as well

Initial set of unit tests added. One undiscovered bug was unearthed in the process, and fixed.
It would be good to review what values should be returned by these functions when a definitive answer can't be found.

Multiple issues identified after merging this.  New PR to follow


Rename "error"?

While working on purescript-batteries, I ran into a collision between Control.Monad.Eff.Exception.error and Control.Monad.Eff.Console.error. I think people are more likely to mean Console.error than Exception.error when they just say error.
I'm not sure what else I would call it, though. Maybe toError? Or perhaps there could be a throw :: String -> Eff (err :: EXCEPTION | e) a function, which would sidestep error and throwException.
Obviously this isn't a problem with this package per se. I could (and may) address this in purescript-batteries. But I wanted to open an issue here for discussion.

I would be in favour of throw = throwException <<< error. So far, the only function on Pursuit with that name is in neon, so there are (effectively) no clashes. Also, we already have unsafeThrow with type forall a. String -> a, so I think calling this function throw would be consistent.

Although I think we should still have a function String -> Error. If we do change the name to avoid clashes, I'd rather makeError or maybe newError than toError, although the clash doesn't bother me too much, honestly.

:+1: for throw. That would mean error wouldn't be as necessary, since you could throw a string directly.

I'm trying to address this in purescript-neon instead.


Random DI Exceptions for DbContextDependencies

Hi,
We're currently having troubles with random exceptions in DI for EF Core for our services.
We have an ASP.NET Service that gets TestDbContext via constructor DI.
It processes many requests per day but sometimes it randomly causes exceptions one or two times per day. We weren't able to debug the exceptions as we have no idea how to trigger them.
That's also why I can't provide a reproducable example. The code below works without issues but every few days after processing many messages and calls it randomly throws an exception.
Here is the exception we get:
Microsoft.Extensions.DependencyInjection: Object reference not set to an instance of an object.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(IServiceCallSite callSite, ServiceProviderEngineScope scope)
   at lambda_method(Closure , ServiceProviderEngineScope )
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_Model()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityType()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityQueryable()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.System.Linq.IQueryable.get_Provider()
   at System.Linq.Queryable.Any[TSource](IQueryable`1 source, Expression`1 predicate)
   at MyApp.HelperFunctions.CheckIfIdExists(String test, TestDbContext context)
   at MyApp.Controllers.TestController.Get(string id)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()

Here is the code of that service:
# <Startup.cs>
  services.AddDbContext<TestDbContext>(options =>
      options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))
  );
# </Startup.cs>

  public class HelperFunctions
  {
    public static bool CheckIfIdExists(String test, TestDbContext context)
    {
        if (string.IsNullOrEmpty(test))
            return false;

        return context.TestData.Any(m => m.Id == test);
    }
  }

  public class TestController : Controller
  {
      private readonly TestDbContext context;

      public TestController(TestDbContext context)
      {
          this.context = context;
      }

      [HttpGet("test/{*id}")]
      public async Task<IActionResult> Get(string id)
      {

          if (!HelperFunctions.CheckIfIdExists(id, context))
              return BadRequest("Id could not be found!");
          ...
      }
  }

We also have a console Service that handles many messages per day aswell (> 500.000) but it also ends up with a similar error every few days.
The DbContext gets injected via DI aswell and for each Process call we generate a new scope.
System.EntryPointNotFoundException: Entry point was not found.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.IServiceCallSite.get_Kind()
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
   at lambda_method(Closure , ServiceProviderEngineScope )
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_Model()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityType()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityQueryable()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.System.Linq.IQueryable.get_Provider()
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.AsNoTracking[TEntity](IQueryable`1 source)
   at MyApp.Handler.Process(EventMessage message) in ...

    public async Task<IEnumerable<EdiConnection>> Process(EventMessage message) {
     ...
            var connections = await context.Data.AsNoTracking()
                .Where(c => c.Active && (c.Id1 == message.Id || c.Id2 == message.Id))
                .ToListAsync();

     ...
    }

It looks to me that at random times the DbContextDependencies can't be resolved cause of some kind of race condition. We thought, for the ASP.NET Service, maybe the user closed the connection and everything gets disposed, which might cause this. But for the Console Service that can't be the case.
The following request works again. We thought about adding Context pooling but we're not sure if that would actually help and would prefer to know the root cause of the issue.
Further technical details
EF Core version: 2.1.1
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Linux Ubuntu / Docker Containers
IDE: Visual Studio 2017 / VSCode

@WolfspiritM I moved the issue to https://github.com/aspnet/Extensions/issues/433 because from the description and traces it seems like something is failing in the D.I. code.


Update products features

Codecov Report

Merging #88 (7813493) into main (6ecc1b3) will increase coverage by 2.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
+ Coverage   93.26%   95.39%   +2.12%
==========================================
  Files           5        5
  Lines         282      282
==========================================
+ Hits          263      269       +6
+ Misses         19       13       -6

Impacted Files
Coverage Δ

service/routes.py
96.70% <0.00%> (+6.59%)
: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 6ecc1b3...7813493. Read the comment docs.

Add test_route&test_model for find_by_name
Add like button in UI and finish related rest_api & BDD tests

IBM Cloud toolchain: Delivery Pipeline deployed products to prod, including commit 00e26cdb20a5debdae68813834d3505f8ee51798


FF: Support capital letters for user-entered values/tags

Is your feature request related to a problem? Please describe.
Currently, the user-entered values and tags are automatically converted to lowercase. This makes it not possible to create a tag such as "MATHia" or values/IDs that contain capital letters. Also, we support including capital letters for experiment participants, but not feature flag participants. We should make it consistent.
Describe the solution you'd like
We should support capital letters for user-entered values/tags for better usability and flexibility.
Additional context
Tags shouldn’t be case-sensitive in matching. If it’s “mathia” in one feature flag but “MATHia” in another, we should be able to click (or search) one and see both.

QA passed


Requires Admin Privilege

Hello, while I run the script and I want to save it as CSV file, however I encounter this kind of error to some of our configured policy.
How to bypass ?

HardeningKitty checks if a user is admin before using functions that require admin rights. If you want to check these settings, you need to run the script as admin. You could theoretically modify the script and set $IsAdmin = true to bypass the check, but you'll get access denied and other error messages.


Windows support

Right now we don't build on x86_64-pc-windows-msvc due to openssl in mumble-protocol.
We also build but don't run on WSL due to something with Alsa? Not much debugging has been done here.

Openssl can be vendored and libopus is in mingw.

Maybe https://lib.rs/crates/parity-tokio-ipc for ipc?


Add helper macros for common functions that use cloned!

This commit adds a macro for generating wrappers around functions that
accept a closure and makes it easier to pass cloned variables.
This commit also uses said macro to generate wrappers for the following
functions:

create_effect
create_memo
create_selector
create_root

Hmm, it seems like we would need to update MSRV to 1.54 to make this possible (which is fine by me).

I've given a few more thoughts about this and I don't think this is a good idea anymore. Some hooks also take arguments and that would be difficult with the macro syntax. I am thinking of create an alias for the cloned! macro, probably just c! so that it's a bit shorter.
create_effect!(my_signal, move || {
    my_signal.get();
});

vs.
create_effect(c!(my_signal, move || {
    my_signal.get();
}));


style: refer to Resin.io as resin.io, according to the style manual

For all, lower-case capitalization unless beginning a sentence (Ex. I
like resin.io. Resin.io is great.)

See: https://github.com/resin-io/docs#style-manual
See: https://github.com/resin-io/etcher/issues/797
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

Oh! I hadn't actually PRed this myself (don't worry, I didn't do any work towards it yet) as I was going to wait to see what came out of the 'Etcher' vs. 'etcher' debate ;-)


Wrap (via the linker) the exit, abort, and other functions that are unsafe from the Flutter Engine dylib.

We run into issues in the wild where applications calling exit without gracefully terminating the engine will cause crashes being reported to crash reporting mechanisms. These crashes are hard to reproduce because they happen on their way to a process termination. Even engine components like Tonic have caused these issues.
Linkers support the --wrap flag that replaces undefined references to a specified symbol with a custom wrapper.  I propose wrapping these calls that are unsafe and violate platform guidelines with replacements that insert a clearly named stack frame in the trace before terminating the process. Something like:
void APPLICATION_CALLED_UNSAFE_EXIT() {
  std::abort();
}

__wrap_exit(int retcode) {
  APPLICATION_CALLED_UNSAFE_EXIT();
}

Per @rmacnak-google, a mechanism was also introduced for Fuchsia (where restrictions similar to iOS/Android exist) that forced calls to exit throw an exception.
The following embedder config may be used to enforce that policy on other embedders and must be done on all isolate launches (cc @zanderso). This will only work for calls from Dart and only for exit:
Dart_Handle embedder_config_type =
    Dart_GetNonNullableType(io_lib, ToDart("_EmbedderConfig"), 0, nullptr);
FML_CHECK(!LogIfError(embedder_config_type));
Dart_Handle may_exit_result = Dart_SetField(
    embedder_config_type, ToDart("_mayExit"),
    ToDart(false));
FML_CHECK(!LogIfError(may_exit_result));

I propose setting the embedder config in Dart for all embedders as well wrapping the unsafe calls so crashes reported due to this are easily identifiable.
This will still not handle plugins and the application process calling exit however as the linker wrap will only affect references from the engine and its dependencies.

Setting _mayExit to false in the embedder config is potentially a breaking change on all platforms except for Fuchsia since it changes the behavior of Dart code. The linker wrap would not be a breaking change.

Fair point. Just the wrap should be fine.


Build directory appears to be missing in 0.8.4

I'm submitting a ...
[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary
I am getting the following error when trying to run the @graphql-codegen/cli:
✔ Parse Configuration
⚠ Generate outputs
  ❯ Generate to src/api/graphql/index.ts
    ✔ Load GraphQL schemas
    ✔ Load GraphQL documents
    ✖
      Unable to find template plugin matching 'plugin-typescript-swr'
      Install one of the following packages:
      - @graphql-codegen/plugin-typescript-swr
      - @graphql-codegen/plugin-typescript-swr-template
      - @graphql-codegen/plugin-typescript-swr-plugin
      - graphql-codegen-plugin-typescript-swr
      - graphql-codegen-plugin-typescript-swr-template
      - graphql-codegen-plugin-typescript-swr-plugin
      - codegen-plugin-typescript-swr
      - codegen-plugin-typescript-swr-template
      - plugin-typescript-swr

Other information
When checking the error being thrown inside the cli code, I see this message:
✔ Parse Configuration
⚠ Generate outputs
  ❯ Generate to src/api/graphql/index.ts
    ✔ Load GraphQL schemas
    ✔ Load GraphQL documents
    ✖ Cannot find module '[my project dir]/node_modules/graphql-codegen-plugin-typescript-swr/build/main/index.js'. Please verify that the package.json has a valid "main" entry

Checking the package.json for this plugin shows that main is build/main/index.js. When I install 0.8.3, everything works and I can see that the build dir is in included in the package:

In 0.8.4, this build directory is not included when installing the package:

Please let me know if I can provide any other info to help debug this issue!

Currently running on 0.8.3 for my project. Hope they fix this soon. Big thanks for noticing this issue, helped me a lot <3

Any updates on this?

get same problem


Cocoapods - some work, some don't...why?

I need to add a nice-looking popup to my iOS app. I would use the Toast plugin for Android, but wanted to use cocoapods for iOS. I had to search around and make many trials before I could find one that would work. For example:
HEAlert (https://cocoapods.org/pods/HEAlert) did not work at all.
OLGhostAlertView finally did the job: https://cocoapods.org/pods/OLGhostAlertView.
I am wondering whether we should take note of which cocoapods will or won't work (due to their structure), and document whether we should add parameters to our podfile to make sure that we can get things working.
thanks!

HEAlert is pure Swift - the APIs it defines aren't made available to Objective-C and so NativeScript can't consume them.
Libraries such as ios-charts that are written in Swift, but made Objective-C-compatible with the appropriate Swift mechanisms to do so, can be happily consumed by NativeScript. It's not a problem with CocoaPods, but with the library itself.

So what should be our strategy going forward with such Swift only libraries? Isn't there a way we can extract the necessary metadata?

It's not a question of metadata. We can't consume Swift APIs not exposed to the Objective-C runtime.

I added the ObjectiveDDP pod and all the classes are not exposed in my app. I followed these instructions: https://www.nativescript.org/blog/using-cocoapods-is-a-piece-of-cake-with-nativescript-1.3.0
Has anything changed since then?

It would be a pretty big job on the part of telerik keeping track of individual pods and their support level. The lack of objective-c support is the responsibility of the framework/library developer, and its my opinion that those wrapping frameworks into pods should be responsible for documenting if the framework/libary wrapped supports objective-c (if written in swift).
My question would be, is it possible to analyze a pod (essentially look at the framework/library it wraps) and see if its supported and if not, tell the nativescript developer the reason the build fails.

You can see what native APIs are exported in NativeScript in the generated TypeScript declarations. Trying it out with the HEAlert CocoaPod, here is the generated objc!HEAlert.d.ts file:
declare var HEAlertVersionNumber: number;
declare var HEAlertVersionString: interop.Reference<number>;

As you can see, there is only the framework version, that is exposed to NativeScript (and Objective-C).


Compatibility update please

Would you mind to do an update to bring this current and working with the latest arcdps?
Thanks!

When you update the addon without changing any of the visible code here in the repo, what is actually involved in that? How can we be helpful to you?

updooted


A question about Bladder-counts data and their annotations in FACS data of Tabula-Muris

Hi, I just wanted to use the Bladder-counts data of FACS folder and their annotations to do some analysis, but I found that the number of Bladder data samples seemed not to match their labels' number. In other words, I found there are 1638 cells in the Bladder-counts.csv, but the labels are only 1287. So how should I use the data? For Now I don't know what cell has its label or not.

@AllenWu18 I'd suggest you use the Tabula Muris Senis Bladder object from here
If you're only interested in the 3m data just subset the object for age=3m

Well, I went to the URL above and wanted to download the data, but it just showed
{"message": "Insufficient permissions", "code": "InsufficientPermissions"}
:(

OK I can download the data now. Let me load the new data and have a look.
THX :)


Update the game over message

Update the game over message so people know how to play again!

I won't be able to approve or request changes to my own pull request.


Fix function comments based on best practices from Effective Go

Every exported function in a program should have a doc comment. The first sentence should be a summary that starts with the name being declared.
From effective go.
PR generated by CodeLingo. Install here to drive Continuous Higher Standards.

Hi there!
Dan from CodeLingo here. This PR is testing out a new service. I'd love to hear your feedback or answer your questions. We're keen to learn how we can best help dev teams without getting in your way.
Dan & the CodeLingo Team

Hello guys!
I forked this package cause owner disappeared. Hope, he will be back, but it would be easier to merge these changes back if he is back
Link to my repo: create issue there and we'll discuss it.


Issue: Some Models Not Importing at Runtime

First off -- I have the newest release, which incorporates the fix from #22. Although this resolved my import problems with some assets, problems remain.
I am again experiencing problems on just a single asset two assets that I've found so far.
Those assets are:

"Puppy" by "Poly by Google"
"Policecar" by "Poly by Google"

(I'll continue to update this list as I find more)
It imports just fine in the editor, but my application needs assets to be imported at runtime, based on user input.
Unity version: 2018.2.16f1
Running in editor on macOS mojave.
Most models import okay. This one works, for example: https://poly.google.com/view/cOizz1RJnb3

I recently found the issue with the Policecar asset. While the puppy asset fails silently, the policecar produces the following error:
Attribute TEXCOORD_0 is missing data: wanted range [0, 10362), count was 3582
UnityEngine.Debug:LogWarningFormat(String, Object[])
PolyToolkitInternal.ImportGltf:CreateMeshPrecursorsFromPrimitive(ImportState, GltfPrimitiveBase) (at Assets/PolyToolkit/Internal/ImportGltf.cs:765)
PolyToolkitInternal.ImportGltf:CreateMeshPrecursorsFromMesh(ImportState, GltfMeshBase) (at Assets/PolyToolkit/Internal/ImportGltf.cs:346)
PolyToolkitInternal.ImportGltf:CreateMeshPrecursorsFromNode(ImportState, GltfNodeBase) (at Assets/PolyToolkit/Internal/ImportGltf.cs:335)
PolyToolkitInternal.ImportGltf:CreateMeshPrecursorsFromScene(ImportState) (at Assets/PolyToolkit/Internal/ImportGltf.cs:329)
PolyToolkitInternal.ImportGltf:BeginImport(GltfSchemaVersion, TextReader, IUriLoader, PolyImportOptions) (at Assets/PolyToolkit/Internal/ImportGltf.cs:244)
PolyToolkitInternal.AsyncImporter:BackgroundThreadProc(Object) (at Assets/PolyToolkit/Internal/AsyncImporter.cs:82)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback()

is this still an active project?

Thanks for the report! We're currently investigating the issue.

@bhylak These two assets import just fine for me. I do get the same warning for puppy, but it does import fine.
Unity 2018.3.4 and Poly Toolkit 1.1.2


Image in README need update

cloud command for v2 firmware is not support, so should update image, remove could command.

In iobroker i am able to get the status witv v2
Why is it not working in this case?


twr_nranges_tdma consistent crash on startup

When attempting to run the example app twr_nranges_tdma (1 master, 3 slave and 1 tag node) I always receive a crash exception on startup. It always occurs on at least the master and tag, which I am monitoring from a PC. My hardware platform is the Decawave MDEK1001 evaluation kit units.  The GDB exception and RTT output is included below.  I'd greatly appreciate any help is discovering the source of the issue. Thanks!
Reading symbols from bin/targets/nrng_tag/app/apps/twr_nranges_tdma/twr_nranges_tdma.elf...
os_tick_idle (ticks=33) at repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_os_tick.c:160
160    if (ticks > 0) {
Resetting target
0x000000dc in ?? ()
(gdb) continue
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
hal_system_reset () at repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_system.c:56
56            asm("bkpt");
(gdb) quit
A debugging session is active.

{"utime": 34566581,"seq": 30,"uid": 7211,"ouid": [16663,16556],"rng": [0.112,1.252]}
{"utime": 34593475,"seq": 31,"uid": 7211,"ouid": [16663,16556],"rng": [0.082,1.235]}
{"utime": 34620354,"seq": 32,"uid": 7211,"ouid": [16663,16556],"rng": [0.098,1.266]}
{"utime": 34647248,"seq": 33,"uid": 7211,"ouid": [16663,16556],"rng": [0.114,1.228]}
{"utime": 34674128,"seq": 34,"uid": 7211,"ouid": [16663,16556],"rng": [0.063,1.268]}
{"utime": 34701015,"seq": 35,"uid": 7211,"ouid": [16663,16556],"rng": [0.107,1.292]}
{"utime": 34727909,"seq": 36,"uid": 7211,"ouid": [16663,16556],"rng": [0.114,1.214]}
{"utime": 34754789,"seq": 37,"uid": 7211,"ouid": [16663,16556],"rng": [0.089,1.310]}
{"utime": 34781683,"seq": 38,"uid": 7211,"ouid": [16663,16556],"rng": [0.082,1.264]}
{"utime": 34830405,"seq": 0,"ouid": [0,0,2599,0,0],"rng": [0.000,0.000,0.000,0.000,0.000]}
{"utime": 34830405,"seq": 0,"ouid": [325,0,325,0,325,0,325],"rng": [0.000,0.000,0.000,0.000,0.000,0.000,0.000]}
{"utime": 34830405,"seq": 0,"ouid": [325,0,325,0],"rng": [0.000,0.000,0.000,0.000]}
{"utime": 34830405,"seq": 0,"ouid": [325,0,325,0],"rng": [0.000,0.000,0.000,0.000]}
{"utime": 34830405,"seq": 0,"ouid": [20688,56571,18441,18698],"rng": [0.000,9259532.000,-1.470,0.000]}
{"utime": 34830405,"seq": 0,"ouid": [597,0,1077,0],"rng": [32840.031,0.000,0.000,0.000]}
004461 Unhandled interrupt (3), exception sp 0x20000c98
004461  r0:0x20000890  r1:0x20002ccc  r2:0x00000000  r3:0x30333734
004461  r4:0x20000890  r5:0x20002ccc  r6:0x200008dc  r7:0x200008c4
004461  r8:0x00000000  r9:0x00000100 r10:0x00000000 r11:0x00000000
004461 r12:0x00000000  lr:0x0001bfc3  pc:0x30333734 psr:0x20000000
004461 ICSR:0x00421803 HFSR:0x40000000 CFSR:0x00000100
004461 BFAR:0xe000ed38 MMFAR:0xe000ed34

I can reproduce with 1 master, 1 slave, 1 tag,
(gdb) C
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
hal_system_reset () at repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_system.c:56
56                  asm("bkpt");
(gdb) list
51              if (hal_debugger_connected()) {
52                  /*
53                   * If debugger is attached, breakpoint here.
54                   */
55      #if !MYNEWT_VAL(MCU_DEBUG_IGNORE_BKPT)
56                  asm("bkpt");
57      #endif
58              }
59              NVIC_SystemReset();
60          }

With only 1 master node I get the following
{"utime": 10,"msg": "dw1000_dev_init"}
{"utime": 1223322,"msg": "dw1000_pkg_init"}
{"utime": 1231604,"msg": "uwb_ccp_pkg_init"}
{"utime": 1232447,"msg": "uwb_wcs_pkg_init"}
{"utime": 1233193,"msg": "tdma_pkg_init"}
{"utime": 1234052,"msg": "pan_pkg_init"}
{"utime": 1234643,"msg": "rng_pkg_init"}
{"utime": 1235243,"msg": "wcs_timescale_pkg_init"}
{"utime": 1236297,"msg": "nmgr_uwb_init"}
{"utime": 1236883,"msg": "nrng_pkg_init"}
{"utime": 1237684,"msg": "ss_nrng_pkg_init"}
{"utime": 1238295,"msg": "survey_pkg_init"}
{"utime": 1244058,"exec": "apps/twr_nranges_tdma/src/main.c"}
{"device_id":"DECA0130","panid":"DECA","addr":"FBA","part_id":"CC500FBA","lot_id":"82B3107"}
{"utime": 1244058,"msg": "frame_duration = 201 usec"}
{"utime": 1244058,"msg": "SHR_duration = 139 usec"}
{"utime": 1244058,"msg": "holdoff = 821 usec"}
{"utime": 153989005,"seq": 7,"ouid": [0,0,2619,0,0],"rng": [0.000,0.000,0.000,0.000,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [325,0,325,0],"rng": [0.000,0.000,0.000,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [325,0,325,0],"rng": [0.000,0.000,0.000,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [325,0,325,0],"rng": [0.000,0.000,0.000,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [20688,56571,18441,18698],"rng": [0.000,9259532.000,-1.470,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [601,0,1081,0],"rng": [32840.031,0.000,0.000,0.000]}
{"utime": 153989005,"seq": 7,"ouid": [9592,18288,19208,26651,2011,54528,48640,62399,36687,18694,19206,26826,62466],"rng": [-2147483648.2147483648,-0.503,-2147483648.2147483648,2147483647.2147483647,-0.501,0.000,257.877,-2147483648.2147483648,61477.468,2147
{"utime": 153989005,"seq": 7,"ouid": [19202,26648,61440,1,18288,48896,60912,57344,61519,17280],"rng": [2147483647.2147483647,2147483647.2147483647,2147483647.2147483647,-0.000,-2147483648.2147483648,-2147483648.2147483648,-2147483648.2147483648,0.000,21474
019713 Unhandled interrupt (3), exception sp 0x20002448
019713  r0:0x00000101  r1:0x2000218f  r2:0x0000007f  r3:0x0000d069
019713  r4:0x000000a0  r5:0x20005c00  r6:0x20006ad0  r7:0x200063d0
019713  r8:0x0000fb5d  r9:0x20006470 r10:0x00000000 r11:0x00000000
019713 r12:0x00000000  lr:0x0000ac9f  pc:0x34363338 psr:0x60000000
019713 ICSR:0x00421803 HFSR:0x40000000 CFSR:0x00000100
019713 BFAR:0xe000ed38 MMFAR:0xe000ed34

If you look at the two last utime lines they dont' have the finishing "]}", also they are longer than the others, added to the possible corrupt stack of the backtrace seems an overflow.
the two codes that I found that print lines like that are  uwb-core/lib/uwb_rng/src/rng_encode.c  and  uwb-core/lib/survey/src/survey_encode.c , and are compiled according to SURVEY_VERBOSE, NRNG_VERBOSE also in main.c there is SURVEY_ENABLED, tried disabling them one at a time and the error is gone when SURVEY_VERBOSE:0 , SURVEY_ENABLED: 1 NRNG_VERBOSE : 0
@ncasaril  @pkettle do you have any hint ?

Getting the same. Any hint to this? @ncasaril @pkettle. Have you fixed it @chepo92?

Getting the same. Any hint to this? @ncasaril @pkettle. Have you fixed it @chepo92?

I haven't implemented a fix as the workaround worked for now. but I think is a matter of fixing the print routine of survey as it is overflowing and causing the crash

I haven't implemented a fix as the workaround worked for now. but I think is a matter of fixing the print routine of survey as it is overflowing and causing the crash

@chepo92 okay! I'll check that out. Thank you :+1:

@chepo92 okay! I'll check that out. Thank you :+1:

@chepo92 After checking that, I'll just leave it with the argument SURVEY_ENABLED as you mentioned! It works like a charm now.
Nonetheless, currently I'm having issues setting up the environment. Do you use VS Code? If not what do you use? I'm trying to use VS Code but I can not seem to find the appropiate .vscode/ configuration after trying. Thanks a lot! I would love any guide you used to set it up.

@chepo92 After checking that, I'll just leave it with the argument SURVEY_ENABLED as you mentioned! It works like a charm now.
Nonetheless, currently I'm having issues setting up the environment. Do you use VS Code? If not what do you use? I'm trying to use VS Code but I can not seem to find the appropiate .vscode/ configuration after trying. Thanks a lot! I would love any guide you used to set it up.

I use VSC to edit (well, more for studying and commenting) the code, for debugging and compiling I open a separate msys terminal as I couldn't integrate it to VSC or launch a taks using msys from VSC, also, running on terminal, cmd or powershell always throws a newt, github, or another error, so I gave up with it and got used to command line, as usual.
I followed official docs https://mynewt.apache.org/latest/misc/ide.html

I use VSC to edit (well, more for studying and commenting) the code, for debugging and compiling I open a separate msys terminal as I couldn't integrate it to VSC or launch a taks using msys from VSC, also, running on terminal, cmd or powershell always throws a newt, github, or another error, so I gave up with it and got used to command line, as usual.
I followed official docs https://mynewt.apache.org/latest/misc/ide.html

Thanks for the quick response! Does your Visual Code resolve correctly the libraries? I'm finding that even though the libraries are "correctly" resolved, Visual Code detects errors. Moreover, the Visual Code does not seem to resolve the MY_NEWT variables, therefore everything is shadowed as the IDE thinks that part is not being included.
Do you develop on Windows or Linux (I can change to any if needed, but atm I'm in Linux) ? Would it be possible for you to share the .vscode/ folder so I can copy it and see if everything is working? I think this is purely a matter of me including wrong paths to the librararies of incorrect architectures.
From what you say it seems like you haven't set up the debugger or building the project from the VS Code. Funny enough, I've set it up and it seems to work. I'll copy it here so you can maybe try and make it work:
launch.json -> this is used for debug
{     // Use IntelliSense to learn about possible attributes.     // Hover to view descriptions of existing attributes.     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387     "version": "0.2.0",     "configurations": [         {             "name": "gdb_dw1001_tag",             "type": "gdb",             "request": "attach",             "executable": "${workspaceRoot}/bin/targets/twr_tag_tdma/app/apps/twr_tag_tdma/twr_tag_tdma.elf", //this can be any path you want             "target": ":3333",             "gdbpath": "arm-none-eabi-gdb",              "cwd": "${workspaceRoot}",             "remote": true,             "valuesFormatting": "parseText"         }     ] }
tasks.json -> with this you can launch commands from pressing F1 and then selecting. The debug command references the launch.json configuration
{     // See https://go.microsoft.com/fwlink/?LinkId=733558     // for the documentation about the tasks.json format     "version": "2.0.0",     "tasks": [         {             "label": "load_bootloader",             "type": "shell",             "command": "newt load dwm1001_boot"         },         {             "label": "build_twrTag_tdma",             "type": "shell",             "command": "newt build twr_tag_tdma"         },         {             "label": "load_twrTag_tdma",             "type": "shell",             "command": "newt load twr_tag_tdma"         },         {             "label": "debug_tag_tdma",             "type": "shell",             "command": "newt debug twr_tag_tdma -n"         },         {             "label": "run_tag_tdma",             "type": "shell",             "command": "newt run twr_tag_tdma 0"         },         {             "label": "clean memory",             "type": "shell",             "command": "JLinkExe -device nRF52 -speed 4000 -if SWD"         },      ] }
Note: I've got the Native Debugger installed! Hope it helps!

Thanks for the quick response! Does your Visual Code resolve correctly the libraries? I'm finding that even though the libraries are "correctly" resolved, Visual Code detects errors. Moreover, the Visual Code does not seem to resolve the MY_NEWT variables, therefore everything is shadowed as the IDE thinks that part is not being included.
Do you develop on Windows or Linux (I can change to any if needed, but atm I'm in Linux) ? Would it be possible for you to share the .vscode/ folder so I can copy it and see if everything is working? I think this is purely a matter of me including wrong paths to the librararies of incorrect architectures.
From what you say it seems like you haven't set up the debugger or building the project from the VS Code. Funny enough, I've set it up and it seems to work. I'll copy it here so you can maybe try and make it work:
launch.json -> this is used for debug
{     // Use IntelliSense to learn about possible attributes.     // Hover to view descriptions of existing attributes.     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387     "version": "0.2.0",     "configurations": [         {             "name": "gdb_dw1001_tag",             "type": "gdb",             "request": "attach",             "executable": "${workspaceRoot}/bin/targets/twr_tag_tdma/app/apps/twr_tag_tdma/twr_tag_tdma.elf", //this can be any path you want             "target": ":3333",             "gdbpath": "arm-none-eabi-gdb",              "cwd": "${workspaceRoot}",             "remote": true,             "valuesFormatting": "parseText"         }     ] }
tasks.json -> with this you can launch commands from pressing F1 and then selecting. The debug command references the launch.json configuration
{     // See https://go.microsoft.com/fwlink/?LinkId=733558     // for the documentation about the tasks.json format     "version": "2.0.0",     "tasks": [         {             "label": "load_bootloader",             "type": "shell",             "command": "newt load dwm1001_boot"         },         {             "label": "build_twrTag_tdma",             "type": "shell",             "command": "newt build twr_tag_tdma"         },         {             "label": "load_twrTag_tdma",             "type": "shell",             "command": "newt load twr_tag_tdma"         },         {             "label": "debug_tag_tdma",             "type": "shell",             "command": "newt debug twr_tag_tdma -n"         },         {             "label": "run_tag_tdma",             "type": "shell",             "command": "newt run twr_tag_tdma 0"         },         {             "label": "clean memory",             "type": "shell",             "command": "JLinkExe -device nRF52 -speed 4000 -if SWD"         },      ] }
Note: I've got the Native Debugger installed! Hope it helps!

@chepo92 have you got it working with other preamble lengths or data rates? I can't seem to get it working if I change default datarate and preamble length.
When changing those parameters, it seems like they can't communicate anymore... Do you have any hint into this? I tried to change them by using UWBCFG_DEF_DATARATE and UWBCFG_DEF_TX_PREAM_LEN. I've also tried to modify default RX_TIMEOUT values such as NRNG_RX_TIMEOUT, TWR_SS_RX_TIMEOUT, TWR_SS_NRNG_RX_TIMEOUT, NRNG_RX_TIMEOUT but none of them seems to work.
Thanks!

Had the same issue. There are two problems here.
 The nrng_json_t structure has ouid,rng arrays, which size depends on the NRNG_NODES define. The NRNG_NODES is defined differently for the nrng_master/slave_node (NRFNG_NODES == 16) and nrng_tag (NRNG_NODES == 8) targets.
The solution is to make the define equal, in my case I removed  the following lines:
NRNG_NFRAMES: 16
NRNG_NNODES: 8

from the uwb-apps/targets/nrng_tag/syscfg.yml config, thus making them default values:
NRNG_NFRAMES: 32
NRNG_NNODES: 16

Originally this misconfiguration comes from the description on the main page: https://github.com/Decawave/uwb-apps/tree/master/apps/twr_nranges_tdma , where it is said in the "Building target for tags" section to specify config values differently "syscfg=NRNG_NTAGS=4:NRNG_NNODES=8:NRNG_NFRAMES=16".
After the fix there is no more garbage output, but the cpu still faults. And we come to the problem number two.
Problem two: overflow of the nrng_json_t.iobuf thus stack corruption
After a bit of debugging I narrowed down the issue to the nrng_write_line, which fills in the ->iobuf, without checking the size of the iobuf, which is too small (256 bytes) for the whole json output. The fix can be in increasing the ->iobuf:
diff --git a/lib/nrng/include/nrng/nrng_json.h b/lib/nrng/include/nrng/nrng_json.h
index fdcfc0ff7cf9..382c0b8eb1bf 100644
--- a/lib/nrng/include/nrng/nrng_json.h
+++ b/lib/nrng/include/nrng/nrng_json.h
@@ -34,7 +34,7 @@
 #include <uwb/uwb.h>

 #ifndef PAGE_SIZE
-#define PAGE_SIZE 256
+#define PAGE_SIZE 512
 #endif

and of course adding a proper a size check of the ->iobuf:
diff --git a/lib/nrng/src/nrng_json.c b/lib/nrng/src/nrng_json.c
index 940c130de076..aa41c65f73ce 100644
--- a/lib/nrng/src/nrng_json.c
+++ b/lib/nrng/src/nrng_json.c
@@ -37,6 +37,8 @@ static int
 nrng_write_line(void *buf, char* data, int len)
 {
     nrng_json_t * json = buf;
+
+    len = min(len, sizeof(json->iobuf) - json->idx);
     for (uint16_t i=0; i < len; i++){
         json->iobuf[json->idx++] = data[i];
         if (data[i]=='\0'){

If maintainers do still care I'm happy to discuss the patches and make a proper pull request on this matter.
Thanks, regards.
--
Roman


Groovy documentation inconsistencies (regarding parentheses)

Hi,
I understand that Kotlin seems to be in focus now, but Groovy is still a valid DSL, and I find it weird when sometimes parentheses are used for a method call in your documentations whereas sometimes they are not, the following is just one example out of many:
Quoting from https://docs.gradle.org/5.6/userguide/plugins.html#sec:plugin_version_management :
                useModule('org.gradle.sample:sample-plugins:1.0.0')

vs.
            url '../maven-repo'

I don't think this is a good way of documenting code. There are various sources on the Internet about the disadvantages of inconsistency, I recommend reading them, e.g. https://medium.com/@jgefroh/why-consistency-is-one-of-the-top-indicators-of-good-code-352ba5d62020 .
While the https://groovy-lang.org/style-guide.html#_omitting_parentheses is not explicitly advocating the removal of parentheses where possible, I think the generic idea behind optionality is to reduce verbosity but only where readability is not sacrificed, so it really depends on the circumstances, still, should be unnecessary to write parentheses most of the time. And IDEs like IntelliJ IDEA gets that IMO, because it can auto-suggest removing unnecessary parentheses too. Groovy is about concise syntax, and it should be kept that way. If you don't like that syntax, you can switch to Kotlin, but if you code in Groovy, you should do it right.
When I use Gradle in a team, for me this is a frequent source of frustration, because I would always suggest the team members to spare the parentheses for consistency (except for cases when they would help readability of course), while the official documentation is working against me (they would tell that the official docs use parentheses so why should they omit them).
Thanks in advance.

Also opened https://issues.apache.org/jira/browse/GROOVY-9230, as the official style guide isn't the clearest either to begin with.

Thanks @rkrisztian for raising this concern. You are right there should be consistency. I think what you are proposing, reducing verbosity but only where readability is not sacrificed, is a great guideline. Would you have time to help improve this situation? The short term approach would be to double-check all our sample to ensure it's following this guideline. The longer-term approach would be to find a way to lint/reformat our code sample automatically.

Hi, @lacasseio, although not within the next few weeks, within 1 or 2 months I guess I can help you with the short-term approach. The longer one might actually be covered by https://github.com/CodeNarc/CodeNarc/issues/433 . But before I do anything, I'd like to see where that issue goes (coding styles are never an easy question).

@big-guy Any opinion on this? I would lean toward an auto formatter like clang-format or similar.


Create from Backup

Select backup panel, reloads based on Linode selection
Checkout Bar displays backup label and create time where Image info is displayed
Can land on the page with a query string that pre-selects the Create from Backup flow, Linode, and Backup

Our first instance of query string parsing, test this by visiting a Linode's backups and selecting "Deploy New Linode"

Add Notice for general errors during the creation flow
Handle errors for no Linode selected and no Backup selected
Disable plan selection for plans that don't meet the disk size requirement for the backup when a backup is selected

@alioso over to you for styling, the only thing that I think needs work is the size of the <CircleProgress /> when the SelectBackupPanel is loading

@asauber styled the loading panel to avoid the flickering issue. I also increased the grid size for the selection cards container underneath as they were all set to the wrong value.

For what it's worth, it otherwise works and we could consider this a bug. In there interest of moving forward, and if @martinmckenna is being slowed or blocked by this PR, go ahead and merge it and tackle this in another PR.


Unpin gRPC

For some reason #1492 pinned gRPC to a specific release, we need to unpin it. It will require resolving these issues:
Detected staticcheck failures:
cmd/agent/app/reporter/grpc/builder.go:133:36: grpc.WithBalancerName is deprecated: use WithDefaultServiceConfig and WithDisableServiceConfig instead.  Will be removed in a future 1.x release.  (SA1019)
pkg/discovery/grpcresolver/grpc_resolver_test.go:146:78: grpc.WithBalancerName is deprecated: use WithDefaultServiceConfig and WithDisableServiceConfig instead.  Will be removed in a future 1.x release.  (SA1019)
make: *** [lint-staticcheck] Error 1

@yurishkuro I can work on this?

WithDefaultServiceConfig introduces a json string serviceConfig that looks like this, should we also introduce a flag for this which defaults to {"loadBalancingPolicy":"round_robin"}

Also when I comment out override section for google.golang.org/grpc in toml file and do dep ensure -update google.golang.org/grpc, the following error shows (incomplete log):

Looks like @objectiser introduces the revision. Any idea we are pinning jaeger-client-go to 6733ee486c780528f2c8088305e16fdb685134c7 (Can we remove this constraint first)?

I already have a PR to remove client pin: #1780

WithDefaultServiceConfig introduces a json string serviceConfig

I assume json is an option, not a requirement, i.e. do we still have programmatic way to configure? I prefer we fix the main issue first, not introduce new configuration options.

@yurishkuro See https://github.com/grpc/grpc-go/issues/3003, looks like that's the only recommended way. We can put a const serviceConfig = <service config json string> for now to avoid setting flags.


Compiling with Phongap (Intel XDK)

Hi
I am trying to build your iosRTC plugin using intel XDK platform (Compiling with Phonegap). Although it is building in Android, but I am not able to build the application in iOS. Is there any twist or special things to take care ? Did you know someone who was able to do it using XDK?
The build log file give me errors when it tryes to compile swift files. Theres are a lot of errors such as this one:  error: use of undeclared type 'RTCPeerConnectionDelegate'… XDK does not support hooks.
Thanks
Denis Boulanger

This is an iOS only plugin, so I'm not sure what you'd be getting out of it in Android :-)
Your error sounds similar to the one happening when the bridging header is missing. Check this out: https://github.com/eface2face/cordova-plugin-iosrtc/blob/master/docs/Building.md#bridging-header

In addition to the doc provided by @saghul, this is what the plugin built-in Cordova hook does:
https://github.com/eface2face/cordova-plugin-iosrtc/blob/master/extra/hooks/iosrtc-swift-support.js


Work around to address build and lazy-loading issues.

Moves the output from the packagr builds to a libs directory under the main application project.  Also adds System.import functionality to work around AOT issue.

Addresses Issues #1 and #2.

Hey @dfbaskin,
I'm also using ng-packagr to bundle component-libraries for an angular-cli generated app.
While I'm able to use components from the bundle, I'm unable to lazy-load a feature-module.
Were you successful in lazy-loading npm packaged modules?
Thanks, yoni.

I ended up just using a work-around.  I used ng-packagr to build the libraries into a path local to the project that is using them.  (This PR does that.)  Then the library lazy-loads fine.

Well...in that case the real npm library is not lazy loaded. Actually, you got separate app chunk for your library which will be lazy loaded. Right?


Add method to insert an axis

Currently, converting an Array1 into a one-row or one-column Array2 is quite awkward. This comes up often when doing linear algebra. The best way I've found is to use into_shape:
let long_array_name = array![1, 2, 3];
let col = {
    let len = long_array_name.len();
    long_array_name.into_shape((len, 1)).unwrap()
};
assert_eq!(col, array![[1], [2], [3]]);

I suggest adding something like fn insert_axis(self, axis: Axis) -> ArrayBase<S, D::Larger>, which would be equivalent to NumPy's numpy.expand_dims(a, axis). This would also generalize to higher-dimensional arrays. The example would become:
let long_array_name = array![1, 2, 3];
let col = long_array_name.insert_axis(Axis(1));
assert_eq!(col, array![[1], [2], [3]]);

In my own code, I've implemented a custom trait on Array1 to add into_row and into_column methods, but a more general insert_axis would be very useful. By the way, thanks for writing ndarray! I use it for a lot of my scientific code.

Sounds good.

I think into_shape is already pretty good for this but it's far from perfect.
This has come up recently. into_dimensionality() is strict, but we floated the idea of a weaker version. Something that creates the extra axes so that .into_ndim::<Ix2>() on an 1d array makes a 2d array just like that. I guess we need two version for choosing where to insert the axes
We don't need a new associated type, because we already have the inverse relation:

fn insert_axis<A, D>(self_: Array<A, D::Smaller>, axis: Axis) -> Array<A, D>

That said, no reason to not add a new associated type if that's better. Then the Ix6 -> IxDyn thing is smooth, but I generally don't consider Ix6 to be an important use case.

.into_ndim::<Ix2>() is an interesting idea, and it would be sufficient for the Ix1 -> Ix2 case in combination with the .reversed_axes() method. (Use arr.into_ndim::<Ix2>() to get a row, and arr.into_ndim::<Ix2>().reversed_axes() to get a column.)
When generalizing into_ndim to higher dimensions, I would suggest always prepending 1 to the shape (instead of appending it) for as many additional axes are necessary, e.g. [3] -> [1, 3], [3, 2] -> [1, 3, 2], [5, 6] -> [1, 1, 5, 6]. This is analogous to the behavior of broadcasting operations.
into_ndim isn't quite as general as insert_axis (because it doesn't take an argument for where to insert the additional axis), and you would need to decide how to handle the case of the result dimension being smaller than the input. However, I think into_ndim would be sufficient for most cases, and it would be simpler than insert_axis in some cases (e.g. arr2.into_ndim::<Ix4>() versus arr2.insert_axis(Axis(0)).insert_axis(Axis(0))). Of course, there's no reason why you couldn't have both methods (and possibly some others too, such as numpy.swapaxes). :-)

Good point; I didn't consider that.

Fixed by #354. Will be in ndarray 0.10.8


Using TriMesh::cast_local_ray_and_get_normal FeatureId out of bounds if the face is a backface

TriMesh::cast_local_ray_and_get_normal requires reading source code to use correctly. The issue is that if the ray intersects with a backface, the function sets feature to FeatureId::Face(best + self.indices().len() as u32). When I unwrap the index and attempt to read the triangle (using TriMesh::triangle), I get an index out of bounds error.
This behavior isn't documented clearly enough. Later I learned that I can use TriMesh::is_backface to check whether it's a backface, but even then I can't know how to get the "real index", except by reading the source code and relying on an implementation detail.
Here's a pseudocode to  demonstrate the problem
let mesh = TriMesh::new( ... );
let ray = ..;
if let Some(intersection) = mesh.cast_local_ray_and_get_normal(&ray, 1000.0, false) {
    let tri_index = intersection.feature.unwrap_face();
    // if the face is a backface, the following line panics
    let tri = mesh.triangle(tri_index);
}

Also ran into this. Thank you for opening the issue, made it easier to troubleshoot.


FileNotFoundError doesn't exist in python 2

ccca3d6ebb6b35d3836b9580b8a4da93fe9c4be0
Traceback (most recent call last):
  File "testris.py", line 184, in <module>
    main()
  File "testris.py", line 155, in main
    except FileNotFoundError as e:
NameError: global name 'FileNotFoundError' is not defined

Well, that's annoying. I hate adding version compatibility cruft, but python 3 actually throws that exception, and it's nice to trap it explicitly, so I want to check for it. I guess we can just fall back to IOError. I'll take a look. Thanks.

Fixed in 44719c9a.


brew test-bot not longer support --help

Magic comments have no effect for commands in a tap, so
brew test-bot --help

now runs actual bot actions right away.

Magic comments have no effect for commands in a tap

I think this is the bit we should fix. Thanks for creating the issue.


Are you interested in  a little python script which downloads all JSON via API ?

I played around and got this here working; https://gist.github.com/nklamann/02dbf4d4a6add63ea67ec838aa9f7e84.
The python scripts loads only one page of data by default, but this can be changed trivially with a constant.

Yes. I can imagine that this could be very handy for some people. If you don't mind, I would like to use your code as inspiration to integrate this functionality into my Paperless-ngx CLI at some point.

That is fine by me.


Code base rewrite

Fundamentally, what the plugin does is very simple: get a list of loaded buffers, then generate a formatted string based on those buffers and their statuses. My goal is to restructure the code to reflect that structure more clearly and make future maintenance / modification easier.
As part of the rewrite, I plan on making some breaking changes to configuration options, which I think have gotten a bit out of hand. I want to remove most of the command options, including kill_maps and custom_command, but leave the underlying buftarget method exposed so users can create the commands they're actually interested in. I also want to remove some of the options that I consider useless, like disable_commands and show_no_name_buffers.
For formatting, I want to consolidate the available options into something like the tmux status line, which should both streamline setup and allow for more customization. As part of that, I plan on adding in the following features:

[ ] #9
[ ] #10
[ ] #12
[ ] #13
[ ] #14
[ ] Customize modified / read-only markers

If anyone happens to see this and has additional requests / feedback, feel free to post it. I hope to have time to work on this later this month.

It would be very cool to have an option to set an offset, to prevent buftabline from drawing above vertical sidebar splits, for example a filetree, to ensure tabs begin with the shown buffer.
Maybe something like this, but it can also be done differently:
offsets = { { filetype = 'NvimTree', offset = 40 }, { filetype = 'Example', offset = 20 } }

Feel free to not include this if it doesn't stick to the philosophy of this plugin.

So if I understand correctly, the offset option would pad the whole tab bar with spaces when a certain filetype is open? My initial reaction is that it's a bit out of scope, but I can consider it as part of the rewrite. Do any of the other tabline plugins have a similar feature I can use as a reference?

Take a look at:
https://github.com/akinsho/nvim-bufferline.lua#sidebar-offset
https://github.com/romgrk/barbar.nvim#integration-with-filetree-plugins
But if this idea is out of scope feel free to not integrate this feature in your rewrite.


Maybe a notification daemon?

Description
I mean, like whats stoping this team? u are the best i mean, swayidle and swaylock it was buggy as hell, just errors, crashes and freezes, but with the  newest packages of hypridle and hyprlock, its like its a entirely ecosystem, runs smooth, everything its like integrated. With that matter, what is stopping you ;) ? HyprNotify, as a notification daemon, which is simple, yet one of the best in the wayland world. Thank you

no such plans, you have ags and eww


How to edit the style/CSS of the Scheduler

Checklist

[X] I've looked through the README
[X] I've verified that I'm running react-big-scheduler-stch version 1.3.0

Please make sure the question is worded well enough to be understood
Hello,
First of all, I am using Next.JS (v 13.0.6).
I have noticed that the Scheduler has a margin as can be seen below:

I need to remove this margin, since spacing is handled on my page using padding of a top-level component. I have tried to no avail to override this styling. I noticed that the Scheduler does not accept style nor className to edit its styling. Is there any workaround for this?
Thanks!

Just use CSS to do it?
#RBS-Scheduler-root {
  /* Your styles here */
}

CSS can be added globally in Next JS, but that is not ideal if the component is only used in one page out of a hundred.
As far as I am aware the only other option is using CSS modules, but that doesn’t allow for overriding an existing class. Especially not if nor className nor styles can be applied.
Perhaps I am missing something. If it works for you please share how you import your CSS into the component where you have the scheduler.


Improve log message for YARN getApplicationInfoByTag

:mag: Description
Unify the words and provide the tag for the waiting submission case.
Types of changes :bookmark:

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

Test Plan 🧪
Manually review.

Checklist 📝

[x] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Codecov Report
Attention: Patch coverage is 50.00000% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 58.43%. Comparing base (28d8c8e) to head (30e3fde).

Files
Patch %
Lines

...pache/kyuubi/engine/YarnApplicationOperation.scala
50.00%
4 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #6366      +/-   ##
============================================
+ Coverage     58.41%   58.43%   +0.01%
  Complexity       24       24
============================================
  Files           653      653
  Lines         39880    39881       +1
  Branches       5481     5481
============================================
+ Hits          23296    23304       +8
+ Misses        14083    14077       -6
+ Partials       2501     2500       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Thanks, merged to master/1.9.1/1.8.3