Refactor inCommRange(NAS2D::Point)

I noticed that bool inCommRange(NAS2D::Point<int> position) located in MapViewStateHelper.cpp reimplements basic distance functions when we should instead be using the Tile::distanceTo(Tile*) function. Will make the function a lot easier to read and reduce code redundancy.

I think you might want to go the other direction on this. A Tile has a position (Point), though a Point may not be associated with a Tile. Effectively the Point type is more abstract, and is the real thing you want to calculate distances between, or check for a distance threshold.
I think it would be better to implement distance calculations in terms of Point and Vector, which now have methods to help with that. In particular, there is now a Vector::lengthSquared() method to help with this.
A Vector::length was omitted for two main reasons:

Vector is a templated struct, so choosing the return type of length was non-obvious. Maybe you want it to be int, maybe you want it to be double.
Decisions made based on length or distance thresholds can be more efficiently handled using length squared, which also sidesteps the return type problem.

Example:
const auto maxCCRangeSquared = constants::ROBOT_COM_RANGE * constants::ROBOT_COM_RANGE;
const auto ccDistance = position - ccLocation();
if (ccDistance.lengthSquared() <= maxCCRangeSquared)
{
	return true;
}

I suspect what we want is a general purpose function that can check if two Point objects are within some threshold distance:
if (isWithinDistance(position, ccLocation, maxCCRange))

Of course, if you write it that way, you end up needing to square the range for every check, rather than doing it once upfront.
I suppose there are other ways to handle it though, such as methods that take a range of points and determine if any are within some distance. Such a method could do the squaring once internally, and then check every pair of points using the length squared.

I'm open to suggestion here. Ultimately I just want to see it done in a really simple to use way. It's why I like the Tile::distanceTo(Tile) function. It's really easy to understand how to use it.

I suppose the "is in range of" will be applicable to multiple scenarios, not just placing robots. E.g.: Police structure influence on the transformation of Residential into Red Light Districts? Area of effect damage when a Hot Lab or Tokamak explodes, disaster impact area, ...?
I toyed with the distanceTo function on my fork, but if this functionality is desired in mutiple scenarios outside of communication range when placing robots, I can see value in it being generalized.
Could such "range is important to the concept" be translated into a trait of some sort? E.g. a CommunicationsManager that has the ability to check communication range (for Command Centers and Communication Towers), a CrimeManager that has the ability to tell the crime for a certain tile depending on Police structures (if any) surrounding it?
Conceptually this can be seen as different "layers", eg a "communications layer" , "disaster layer", "crime layer", which translate to combinations of circles in a rectangular plane.
Reference to my fork: https://github.com/belgianguy/OPHD/commit/57ce194e2912b5f4dafead949ebb7259cc00b031

There are two related problems here:

point1.distanceTo(point2) -> float
isInRange(point1, point2, distance) -> bool

You can use 1 to implement 2 in an obvious way, but it's actually more efficient to implement 2 than to implement 1. What we need here is a solution for problem 2.
The main reason that problem 1 has less efficient solutions, is because it requires use of a square root, which is a relatively expensive operation. The square root algorithm requires iteration to converge on a solution, and may have a fair bit of calculation during each iteration. Further, if you're returning the value as float, there are type conversion costs as well. Translating between int and float is surprisingly expensive compared to other simple numeric operations. Most square root algorithms require floating point for the convergence to work, so you're paying to convert to float before starting the operation, and then paying to convert back when doing the distance comparison.
When implementing a solution to problem 2, you can rely on comparing squares instead of comparing square roots:
For a > 0 and b > 0:
a <= b <=> if a * a <= b * b
So instead of solving 1:
sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) <= distance
You can instead solve 2:
(x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) <= distance * distance
With solution 2 there is no need for sqrt, and no need for conversion to and from float. Solution 2 is probably about an order of magnitude faster than solution 1.
I know this isn't a huge issue for a turn based game, but if you can be more efficient about something, then why not? Especially if it leads to more clarity about what exact problem is being solved.
I should also point out that often you have a collection of points that will be compared to a single point. That means the efficiency of the distance check is multiplied by how many points need to be checked. Not only is solution 2 an order of magnitude faster, but for a list of points to compare, you can factor out the distance * distance part, since it is constant for all comparisons, so you have even less calculation in the loop.

Solution 2 is also very viable. While I'm a lot less worried about efficiency here since these aren't functions that are being run frequently, it would be irresponsible (I think) to just ignore it.
That stated, a function like isInRange(point, point, distance) is entirely acceptable to me. But I think it means that we should be consistent in its use everywhere. Which would mean removing the distanceTo() function. I see a pull request that I think addresses this so I'll be looking over that here in a bit.

I think we should still have a distance function. Just that often we don't need to calculate the actual distance if all we want to know is if something is within a certain distance.
The ore calculation based on route length is something that is dependent on the actual distance value. Though that may be calculated in an entirely different way, so perhaps not applicable to this discussion. Just pointing out that some calculation do need the actual distance, while others can rely on an in range check that doesn't need to calculate the actual distance.


[test] test Runner#run_async! and not Runner#run!

The main code runs Runner#run_async! but the tests go through run! which is a little different.
This changes the tests to testing run_async!, the methods that our code uses.
followups will obviously be

Change Task tests to not completely stub Runner
Drop Runner#run!
Drop Workflow methods that are blocking (unsure)

update:

rubocop fixes


Can't make overlay disappear

I can't seem to make the overlay go away, either by using the "Toggle overlays" button or by unselecting all of the elements in settings. I would like to be able to make all overlay elements (parking spaces, restrooms, campgrounds) not appear on the map however I can't seem to do this.

You can toggle individual overlays and point-of-interest categories in the map layers control (see https://gpx.studio/help/map-controls).
In the map layer settings, you can select which layers appear in the map layers control.

To clarify this further, there are two dialogs:

the map layers control on the right of the map, where you can add/remove layers to/from the map,
the map layers settings, accessible by Settings -> Map layers..., where you can choose which layers will appear in the map layers control.

I just pushed a fix that automatically removes a layer from the map if it is disabled in the map layer settings. Before that, it was possible to hide a layer from the map layers control, and still have it on the map if it was added beforehand.

Thanks for getting back to me. I think the overlay I was trying to get to disappear is actually just part of the MapBox Satellite basemap I was using. Thanks for the help.


fix: response body now written expanded for "magic" option

:tada: This PR is included in version 2.9.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ADDED] Ability to suppress echos from your own connection

Resolves #453
/cc @nats-io/core

Coverage increased (+0.1%) to 92.425% when pulling 535367e340df4d672bf665141e82b51541e875c7 on echo into e17ccb87605095902016487c9d11925ca0621864 on master.

I want to check on how clients interact with older server. May want to bump proto like we did for async INFO to allow clients to check before sending and not getting the result they want.

Ok, that would work on a connect where we can fail the connection saying that the server is not supporting that feature, but for a reconnect, what do we do? Say you connect to a server supporting echo, then it stops and the next server does not. Do you fail the reconnect?

I would expect that to be a rare situation, but let me think about it. Client could through async err indicating echo not supported on connected server. More client work I think.

the main issue with this feature being a client option is that, if the server doesn't provide the feature, and the option is set, the client will have to raise an error and still cope with the lack of the feature. The error can be mitigated if the client configuration specifies required vs optional, the client can progress on the connection, but the duplicate messages will be received (behaviour since the beginning of time).
If this setting was a server configuration that is transmitted to the client, existing clients would break, but the fix is one that the client could handle automatically by creating a second connection where those subscriptions can be processed. In my mind, this is an easier paradigm to migrate code.


Fix some PHP notice issues

Use of undefined constant min - assumed 'min'
Use of undefined constant max - assumed 'max'

merged to all 3 branches, thanks @BBcan177 !


[20.09] python3Packages.alerta-server: fix build

Motivation for this change
Backport of: https://github.com/NixOS/nixpkgs/pull/99694
ZHF: https://github.com/NixOS/nixpkgs/issues/97479
https://hydra.nixos.org/build/127938022/nixlog/
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

WFM macos 10.14, non-nixos linux x86_64


[WFLY-10004] httpclient components moved into wildlfy-core

In https://github.com/wildfly/wildfly-core/pull/3149 was httpclient components moved into wildfly-core.
This PR removes them from wildfly, as they are already part of widlfly-core.
https://issues.jboss.org/browse/WFLY-10004
https://issues.jboss.org/browse/JBEAP-12340

Can one of the admins verify this patch?

This is ok to test

Retest this please


GDAX returns strings  => cast to float

Using with GDAX results in the following error: "must be real number, not str
Need to cast string to float to make math operations work
       precision = {
-                'amount': -math.log10(amountLimits['min']),
-                'price': -math.log10(priceLimits['min']),
+                'amount': -math.log10(float(amountLimits['min'])),
+                'price': -math.log10(float(priceLimits['min'])),
}

Oh, ok... I'll fix it right away!

thanks a ton.
any chance for the future to create a fix myself? (enable branches on the repo?)

@stefandeml you're welcome!  If you feel like you want to contribute then go ahead, plz, feel free to submit PRs like other people do ;) No time for branches :)) Just make sure to read the CONTRIBUTING doc before actually making the changes. Also, so you can see from the edits introduced by the above commit, it's a pretty straightforward fix, and it maps one-to-one to your initial post, that gets inherited (transpiled) in Py from JS (more on that in the contributing doc).


Add documention on http client pool

Doc for https://github.com/php-http/client-common/pull/25

Maybe we could add a paragraph about the different use cases between HttpClientPool and the BachClient?

Maybe we could add a paragraph about the different use cases between HttpClientPool and the BachClient?

I don't see how they are related ?

and this looks good to me as well!

Good. I just had some minor comments.

cheers joel!


With componentWillMount deprecated where to retrieve token

In the App component the token is retrieved from localstorage in componentWillMount, when componentWillMount will be deprecated where should that be moved to?

@danielkarlsson its better to put it in componentDidMount or constructor itself.


Question: How to update the theme

Hi Dirk Olbrich,
I have used this theme you built a while ago when tailwind was at 1.4 now that I see you made changes to the code to make the theme work with 1.6 I want to update my site using this theme.
What I am trying to understand is which of the files in this theme repo I need to merge with my site?

Sorry, I can not answer this equations as I don't know what other changes you made to this starter theme.
Please be aware: This theme is a starter setup theme to aid in developing Hugo themes using the Tailwind CSS framework. It is not a standalone theme ready to use.
I would suggest use the DIFF function of Github to see which files are different, than change them accordingly.

Sorry, I can not answer this equations as I don't know what other changes you made to this starter theme.
Please be aware: This theme is a starter setup theme to aid in developing Hugo themes using the Tailwind CSS framework. It is not a standalone theme ready to use.
I would suggest use the DIFF function of Github to see which files are different, than change them accordingly.


Add scroll into checking whether element is overlapped and out of viewport

Last time I was still not quite right when I removed the scroll to the element for which it is checked if there is an overlapping element. Without this scroll we could get error in testing in those places where for example we want to click on a button inside custom select if it is out of popup area and we have to scroll to it. Or in such case when we have a dialog with sticky header and we need to fill in some input which far below, we scroll to it, but it is bellow header. Code executed correctly but not like we considered.
Snippet was taken from puppeteer code.

Published as<EMAIL_ADDRESS>


Add PX4_{WARN,ERR} log messages to the ulog file

This removes the mavlink log messages and adds PX4_{WARN,ERR} instead to the ulog. It still includes the important mavlink log messages, since they are logged to console as well.
Messages are rate limited to 50Hz with orb queue size of 2.
I did not add PX4_INFO, if someone has good reasons to add them, we can do that as well.
Also fixes a bug in the new logger, where garbage data was written to the log.

Nice. Please keep in mind that MAVLink log messages are user facing while PX4_INFO is not. so you cannot use PX4_INFO for user facing messages - it would need to be a new set of macros (e.g. PX4_USER_WARN, INFO, etc.
User facing messages are subject to approval from the UX team while a plain PX4_INFO message can be added by a developer.

Yes the distinction between user- and devel-facing messages still exists, and I did not plan to change that. What I mean is that if you use mavlink_and_console_log_critical for example, it will go into the log file as well.

@bkueng Can you rebase on master?

done

Reviewed, didn't see anything stupid.

rebased & applied


Can RedissonFairLock work if my application was deployed on more than one server

For example, i deploy my application on 3 servers
now,
the first request as req1 processed by server1
the secoind request as req2 processed by server2
the third request as req3 processed by server3
will RedissonFairLock works to make sure three requests be synchronized and the process order is
req1,req2,req3?

Yes, it can. Because fairlock state stored in Redis and not on Redisson side (client side)

thank you for you answer very much!


Run an accessibility audit on this UI

We've had a lot of trouble over the years in building accessible interfaces. Jupyterlab itself is not very accessible and will require a ton of work to get there because of its complexity.
I wonder if this UI is an opportunity to make more near-term progress on accessibility since it is much more streamlined. Perhaps we could run an audit on "classic with lab" and see what needs to be done?

Since JupyterLab Classic reuses most upstream lab and Lumino components as-is, it looks like it might be simpler to work on the upstream components, and then update classic to the new versions?
In a way, JupyterLab Classic should benefit from all the accessibility work without too much effort.
That said, there could of course be an accessibility audit done on JupyterLab Classic too, just to double check how it compares to JupyterLab. Would be interesting to see the outcome!

Since JupyterLab Classic reuses most upstream lab and Lumino components as-is, it looks like it might be simpler to work on the upstream components, and then update classic to the new versions?
In a way, JupyterLab Classic should benefit from all the accessibility work without too much effort.
That said, there could of course be an accessibility audit done on JupyterLab Classic too, just to double check how it compares to JupyterLab. Would be interesting to see the outcome!

For sure - I'd hope that "making the JupyterLab-Classic" UI more a11y-friendly would just mean making upstream improvements in JupyterLab components. I'm just saying that if we prioritized the components that this distribution of JupyterLab uses, we might get to at ~100% a11y-friendly notebook UI faster.

For sure - I'd hope that "making the JupyterLab-Classic" UI more a11y-friendly would just mean making upstream improvements in JupyterLab components. I'm just saying that if we prioritized the components that this distribution of JupyterLab uses, we might get to at ~100% a11y-friendly notebook UI faster.

@choldgraf Do you have a sense if it is more colors or reading of tags are more the issue with the accessibility?

@choldgraf Do you have a sense if it is more colors or reading of tags are more the issue with the accessibility?

No I'm not sure, we were planning to map all of this out last year in the a11y planning meeting, and then COVID happened :-/  but I think there is momentum building behind this again (due in no small part to @isabela-pf's leadership here) and I'm hopeful we can make progress!

No I'm not sure, we were planning to map all of this out last year in the a11y planning meeting, and then COVID happened :-/  but I think there is momentum building behind this again (due in no small part to @isabela-pf's leadership here) and I'm hopeful we can make progress!

Hi all! I've been summoned by the magical @ and now I'll give you my best guess of where JupyterLab Classic is based on what we've been working on with JuptyerLab. Keep in mind I'm not an expert on this at all.
The biggest problems we've been facing with JupyterLab right now is that it is so inaccessible we can't even get a full review yet because it basically can't be navigated. Sometimes, you can't even get into open notebooks from my understanding. This is down to the foundational Lumino level in many cases. So like what @jtpio said, many of the changes we are making now should help with Classic as well. The reason I bring this is up is that even though I agree it would be helpful to audit JupyterLab Classic, I think it's likely it has the same base problem as we are having in JupyterLab and an audit won't be able to provide helpful direction yet. It could still be good to check, but it also might make sense to check once some if not all the WCAG standards (especially labels, tab order, and keyboard controls three of our biggest blockers for more in depth review) have been met since I can't imagine those not influencing Classic.
Since I think it will affect both interfaces, if people want to work work on making JupyterLab Classic more accessible it might make sense to collaborate and unite energy towards the shared parts first so that we can get a better audit to provide specific accessibility needs for Classic sooner rather than later.

Hi all! I've been summoned by the magical @ and now I'll give you my best guess of where JupyterLab Classic is based on what we've been working on with JuptyerLab. Keep in mind I'm not an expert on this at all.
The biggest problems we've been facing with JupyterLab right now is that it is so inaccessible we can't even get a full review yet because it basically can't be navigated. Sometimes, you can't even get into open notebooks from my understanding. This is down to the foundational Lumino level in many cases. So like what @jtpio said, many of the changes we are making now should help with Classic as well. The reason I bring this is up is that even though I agree it would be helpful to audit JupyterLab Classic, I think it's likely it has the same base problem as we are having in JupyterLab and an audit won't be able to provide helpful direction yet. It could still be good to check, but it also might make sense to check once some if not all the WCAG standards (especially labels, tab order, and keyboard controls three of our biggest blockers for more in depth review) have been met since I can't imagine those not influencing Classic.
Since I think it will affect both interfaces, if people want to work work on making JupyterLab Classic more accessible it might make sense to collaborate and unite energy towards the shared parts first so that we can get a better audit to provide specific accessibility needs for Classic sooner rather than later.

@isabela-pf Thanks for sharing your experience :D Are you aware of any tools that could be run on a regular basis (perhaps even CI) to report on accessibility compliance? It would be great to have a baseline so that future decisions in UI take into accessibility. It would also be interesting to track progress over time. Also, IIRC, open edx has a library of react components that are accessible.

@isabela-pf Thanks for sharing your experience :D Are you aware of any tools that could be run on a regular basis (perhaps even CI) to report on accessibility compliance? It would be great to have a baseline so that future decisions in UI take into accessibility. It would also be interesting to track progress over time. Also, IIRC, open edx has a library of react components that are accessible.

This is a priority we've discussed a few times without making significant progress on yet. But I think we would be basically wasting all effort to start this work and not make it a part of the regular development process (I'm still figuring out the design side).
I'm looking into tools (mostly on CI because I think that's the best way to get this team running tests regularly) and will need feedback from people with knowledge of the code base that I don't have to verify what might work best for JupyterLab components. But I'm happy to share some of the resources I've been looking at so far!
The most extensive resource I've found for various test is from the W3C. This is the overview and this is a list of specific tools. Be aware not all these tools seem totally free, and some have been deprecated. It's still one of the better collections I've found.
From the above link, I've noted the following for a further check:

squizlabs / HTML_CodeSniffer
IBM's accessibility-checker
AccessLint / accesslint.js
pa11y / pa11y
dequelabs / axe-core

This is a priority we've discussed a few times without making significant progress on yet. But I think we would be basically wasting all effort to start this work and not make it a part of the regular development process (I'm still figuring out the design side).
I'm looking into tools (mostly on CI because I think that's the best way to get this team running tests regularly) and will need feedback from people with knowledge of the code base that I don't have to verify what might work best for JupyterLab components. But I'm happy to share some of the resources I've been looking at so far!
The most extensive resource I've found for various test is from the W3C. This is the overview and this is a list of specific tools. Be aware not all these tools seem totally free, and some have been deprecated. It's still one of the better collections I've found.
From the above link, I've noted the following for a further check:

squizlabs / HTML_CodeSniffer
IBM's accessibility-checker
AccessLint / accesslint.js
pa11y / pa11y
dequelabs / axe-core

@isabela-pf Great resources. The best resource that I have seen are the ones that were curated by 18F. Some friends worked at 18F and made resources for the US government agencies' use. https://accessibility.18f.gov/

@isabela-pf Great resources. The best resource that I have seen are the ones that were curated by 18F. Some friends worked at 18F and made resources for the US government agencies' use. https://accessibility.18f.gov/

Hoping in here!
Based on @jtpio answer above ( re classic reusing  JLab components) I would suggest looking into the JLab audit first and carry over to Jlab classic.
Re automated CI I would be glad to help with a PR (maybe joint with @isabela-pf) I have used pally and accesslint.js within other CI workflows before. This way we could start with the baseline

Hoping in here!
Based on @jtpio answer above ( re classic reusing  JLab components) I would suggest looking into the JLab audit first and carry over to Jlab classic.
Re automated CI I would be glad to help with a PR (maybe joint with @isabela-pf) I have used pally and accesslint.js within other CI workflows before. This way we could start with the baseline

FYI a new pre-release for Notebook 7 is out: https://github.com/jupyter/notebook/releases/tag/v7.0.0a6
It includes the update to CodeMirror 6 so if folks would like to try it that would be great!
Closing this issue since the RetroLab repo is going to be archived soon. Happy to continue discussing this in https://github.com/jupyter/notebook or https://github.com/jupyter/accessibility.


Deploy "customized" ISPmail /w Nginx, acme.sh - please advise

Hi,
I like ISPmail, and I prefer deployment using ansible.
However I prefer to use (Free)Nginx (as replacement for Apache) and acme.sh (as replacement for certbot).
Could you please advise how to modify ansible?
THX

@cmonty14 I understand your preference for Nginx. But at the moment I cannot provide anything ready-to-use.
There are semi-official Ansible roles in the Ansible Galaxy for Nginx virtual hosts that you can use. Remember to also set up PHP. Same goes for acme.sh.
If you are not that familiar with Ansible: it's a useful asset and really not that hard to learn.


Add important information to FITS header

Target Name
RA, DEC
MJD
Gaia DR3 source_id (try FITS header, since most targets were given to Veloce's VQ via the source_id, otherwise use astroquery to match?).
VBARY (calculate via astropy)
Calculate quick VRAD for header via Gaussian fit to CaT and Halpha?

Update:
Added to the primary FITS header (extension 0):

OBJECT (Taken from the night log)
MEANRA (Taken from FITS header of science frame)
MEANDEC (Taken from FITS header of science frame)
UTMJD (Universal Time Modified Julian Date of start of exposure. Taken from FITS header of science frame)
BARYVEL ('None' or a float if actually used)

Closing this issue, but creating 2 new issues for the remaining information:
Gaia DR3 source_id -> https://github.com/svenbuder/VeloceReduction/issues/9
VRAD via Gaussian fit to CaT and Halpha (should now be possible, because BARYVEL is provided): https://github.com/svenbuder/VeloceReduction/issues/10


Chinese translation of corresponding sections in English

Create directory for chapter of recommender-systems and add two sections of index and movielens dataset.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Layouts show item name and ID when --debug is passed to the client

I play with --debug at all times for general troubleshooting on rare occasions client issues pop up, but don't want to see debug tooltips all the time. Can these be gated behind a command being run instead? eg. ::layouts debug on or something of the sort

uh, are they ever useful? If no I could just throw them into a plugintest-only plugin.

idk, have you ever used them? :shrug:


docs(v2): update docs about creating a new plugin

Motivation
I was reading the docs about creating a new plugin, and it referred to "docusaurus.config.js" as the file that contains the plugin code. I thought this was somewhat strange as it seems like the plugin code should just be an index.js or similar, so I modified the docs a little bit to help.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
N/A
Related PRs
N/A

thanks !


ldap password in config file

The bind password used for authentication and/or authorization is both readable in the config file and in Kibana.
It will be better to use a hash like for internal user password or to store the password with another mechanism like the elastic keystore.

I'm having the same problem. I'm currently working on something with a requirement that no passwords must be in plain text. It might not give much more meaningful security in reality, but it will allow this system to conform to many countries regulations for no sensitive data to be found in plain text.

Any update?

Not to my knowledge.

Hello any update on this ?
Another solution is also to store the ldap password in the keystore

Hello, any progress on this requirement?

No progress, but we'd gladly review a pull request for this functionality

We are doing some "spring cleaning in the fall", and to make sure we focus our energies on the right issues and we get a better picture of the state of the repo, we are closing all issues that we are carrying over from the ODFE era (ODFE is no longer supported/maintained, see post here).
If you believe this issue should still be considered for current versions of OpenSearch, apologies! Please let us know by re-opening it.
Thanks!

This issue should still be considered (I have not enought skill to help you on this :) )


Discuss approach to supporting in/out matrices in MSL

@HansKristian-ARM, et al...
The GLSL in and out variable declarations get translated to vertex output structure and fragment stage_in structure elements.
In GLSL it is posible to define a matrix as an in or out variable.
However...In MSL, matrices (and scalar & vector arrays) cannot be passed as between vertex and fragment shaders in the vertex shader output struct and the fragment stage_in struct.
One way around this might be to convert the matrices back and forth to 4 (or less depending on matrix size) vectors, each with its own element in the in/out struct.
Assuming this makes sense...I'd like to discuss how best to do this.
My thoughts so far revolve around having CompilerMSL special-case matrices in the OpLoad and OpStore operations to inject code that will convert back and forth to vectors appropriately when it knows it is dealing with a matrix that is part of StorageClassInput or StorageClassOutput struct.
I'm throwing this issue out here for discussion...because I'm not sure this will cover all use-cases...and I'm not sure that there are not better approaches that could be explored.
For example...could the existing flattening functions within CompilerGLSL be of any help here? I am not familiar with their use.
Or would it be better to inject the appropriate conversion code into the SPIR-V itself...maybe by glslang?
Thoughts?
Thanks.

For considering just input/output, I think we can go with a lowering scheme. E.g. the internal variable is a matrix, but at the end of a vertex shader, or start of a fragment shader, we can copy over the matrix.
I did this recently with MSL MRT for example, where if you have an array of render targets, I had to flatten that separately. Internally, I have an actual array, but and the end of main(), the array elements are written out to the MSL render targets.
The problem with flattening a matrix is that you can dynamically index into one, so we need at least to express it as an array-of-vectors if we are going to directly flatten things.

@HansKristian-ARM  I've started to explore this. Let me know if you are too.

No, I haven't looked into this yet, go ahead.

This enhancement was added in PR #607.


Add yarn peer dependency instructions to README.md

i use yarn,  many people use yarn, it should not just close this PR

all yarn users already have to know how to convert npm commands to yarn commands; in this case it's changing "npm info" to "yarn info" and "npm install" to "yarn add" - the readme space isn't adding value.


Update the dependency to core-java 0.10.47-SNAPSHOT.

Auto-generated PR to update core library dependency to the latest version.

Version already updated in https://github.com/SpineEventEngine/jdbc-storage/pull/85.


Is there a change log for releases?

I've reviewed the diff since 2.5.0 but it's hard for me to decipher what if any of the changes are backwards incompatible for me to consider when upgrading my app to 2.6.1.  Is there a change log anywhere that documents the differences between releases to help out with this?

By the way, thanks for the awesome work!

This issue is stale because it has been open for 60 days with no activity.

This issue was closed because it has been inactive for 7 days since being marked as stale.


End to end testing of Updates

Updates work as far as exporting to the staging bucket. We need to check they propagate downstream.

[ ] get an actual DCP2 dataset (that needs updating) into the staging staging bucket (either re-export or copy from prod to staging bucket or ? which is easiest?)
[ ] make updates to the project
[ ] notify downstream components - slack (Raaid and Jeff) that this has been done, could they test import please and (let them know we plan to test additions too, maybe) check if we need to complete the snapshot request form so that it can be passed downstream further
[ ] Wait for confirmation import was successful
[ ] Make additions to the project and export
[ ] notify downstream components - slack (Raaid and Jeff) that this has been done, could they test import please
[ ] Wait for confirmation import was successful
[ ] Review with Raaid and Jeff how this process went to inform on how we can improve this sort of multi-component testing in the future

There are two datasets that are good for these two separate things to test (additions and updates).
https://staging.contribute.data.humancellatlas.org/projects/detail?uuid=3959a67a-9080-4030-a292-2ba153a43a2b
I exported this dataset, then made another submission that added additional data files, and exported that. Am about to notify downstream components (Raaid and Jeff) on Slack.
On testing updates to metadata, a conversation with ray showed that the functionality for actually CHANGING metadata might not be available yet. Checking with a dev to see if this functionality is available.

Both projects have been successfully imported:
https://embl-ebi-ait.slack.com/archives/C9XD6L0AD/p1613736665028000
https://embl-ebi-ait.slack.com/archives/C9XD6L0AD/p1613731990026900
Awaiting confirmation from browser team that they are reflected in browser, and also need to set up a review with Raaid and Jeff to improve this testing.


Implementation idea of the inline version

Instead of extending the class, it is better to split it into components and make the whole thing easier. Also, I will share the screenshots here with the issue what I was facing with styles.

Can you elaborate on the issue with the styles?
this is how it looks for me:


Update Windows Installation Link

I think you might like to update the Ionide page as well - while I dont get this description at all, since Ionide installs FSharp anyway?

Fun thing: Microsoft decides to use http in 2017 on their downloads page?

Then stays the outdated link.


Using Subreddits as source

I can't download any file from subreddits, it always return with "no result, no valid source of the site returned result", I already searched the issues for similar problems like mine but I can't figure out what I'm doing wrong.
I don't know anything about coding, but I really like the UI from imgbrd-grabber because I can easily download from the sources that came with the software and most scrappers I came across use Python.
Could you make a easy step-by-step guide for morons like myself?
Any additional info I can gladly provide ;)
Thank you for your awesome work too 〆(・∀・＠)

Hello, that's because Reddit is not supported by Grabber (yet), so you won't be able to add subreddits as sources no matter what you do.

Oh thanks anyway ;)

Still awesome work <3


Add: new

Codecov Report

Merging #608 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #608   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files         184    184
  Lines        1848   1848
=====================================
  Hits         1848   1848

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 ab136d6...6408a01. Read the comment docs.


Go 1.18 beta reports M1 MacBook as AMD64 instead of ARM64

What version of Go are you using (go version)?
$ go version
go version go1.18beta1 darwin/amd64

Does this issue reproduce with the latest release?
1.18 beta2 seems affected as well:
$ go1.18beta2 version
go version go1.18beta2 darwin/amd64

gotip is not:
$ gotip version
go version devel go1.19-4f04e1d Tue Mar 1 06:01:28 2022 +0000 darwin/arm64

$ gotip env
GO111MODULE="on"
GOARCH="arm64"

What operating system and processor architecture are you using (go env)?
I am using a MacBook M1 (arm64) with OSX 12.2
What did you do?
Building programs that use build tags of file extensions to provide architecture-specific code breaks because assembly routines that generate AMD64 code are compiled on ARM64 systems.
What did you expect to see?
go version and go env should properly detect that the platform is arm64 and not amd64, for example:
$ go version
go version go1.18beta1 darwin/arm64

What did you see instead?
(see output of go version)

You installed the wrong version but it's running because of rosetta 2. Install the arm64 version.

User issues indeed, I realized this afterwards when reinstalling Go!
I go confused by OSX/M1 being able to run some amd64 programs (it breaks on some vectorized instructions).
Thanks for following up quickly!


[BUG] ApplicationGatewayData FirewallPolicy can't be null

Library name and version
Azure.ResourceManager.Network
Describe the bug
As for this PR:  https://github.com/Azure/azure-sdk-for-net/pull/27090, it appears that ApplicationGatewayData cannot have the FirewallPolicy parameter set to null. This is valid behavior, as it's acceptable for a sub-resource to not exist. How can we handle this scenario?
relevant applicationGatewaData code - https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/network/Azure.ResourceManager.Network/src/Generated/ApplicationGatewayData.cs

Expected behavior
We want to allow FirewallPolicy to be null.
Actual behavior
FirewallPolicy can't be null, it could just have an empty body when policyId = null.
Reproduction Steps
Create applicationGateway with policy and try to remove it (with policy = null). policyId = null won't work as the whole sub-resouce should be null.
Environment
No response

Thank you @liorstauber for your feedback, @HarveyLink please look into this issue.

Hi @liorstauber , Thank you for reaching out.
Please note that the operation to remove a Firewall Policy cannot be directly performed through the Azure portal either. To remove the policy, you will first need to  associate it with another resource. Afterward, you can safely disassociate the policy from the original Application Gateway.
If you require any further assistance with this process, feel free to let us know. We're here to help!


How to use it?

Download this, copy the folder into your project, after the copy and recompilation you will have "FolderIcons" file appear in your "Assets" folder. Click on it and add folders you want to modify. There is a small plus button that adds three fields after you click on it - place the folder into the first field and the new texture in the second field.  Repeat for each folder you want drawn.

This should be in the Readme.


using add exec_module in the _ImportRedirect

fix #1435

Thanks for the PR, I managed to fix it without the need for temporary state in the loader. The full name is part of the ModuleSpec.


:broom: Removal of vendor and third-party license dirs

Changes

:broom: Removal of vendor and third-party license dirs

/kind cleanup

Review dog is failing some checks because the of how big the diff is

/override Do Not Submit
/override style / Golang / Do Not Submit

/override style / Golang / Lint

/override "Do Not Submit"

/override "style / Golang / Do Not Submit"

/override "style / Golang / Lint"
/override "style / suggester / shell"

/override "style / suggester / yaml"


"a" in ["a"] broken

"a" in ["a"] in the ast is an ast.Compare and an ast.In.
This works for lists and sets when transpiling to Rust, however it does not work for dicts in Rust, and it fails for all container types in the other target languages.

The printing of sets and dicts doesnt work because of missing Display trait on HashSet/HashMap, which is because the print logic is using {} instead of {:?}, which is a separate minefield wrt compatibility with Python.

That looks like a bug I introduced sometime back. Probably mistaken global replace.

       return self.visit_Any(node)

       return self.visit_In(node)

This should be fixed by https://github.com/adsharma/py2many/pull/98

This should be fixed by #98

Add use of this syntax to coverage.py test case ?

https://github.com/adsharma/py2many/tree/coverage_container_in
cpp and go fail. Everything else passes after this commit

If you dont want to get cpp and go working (yet), you could use this syntax in the global.py test case, which already fails on go and c++ for other reasons.  Having this syntax will be very helpful in creating other container based tests cases, and those usually fail on cpp & go anyway.


FieldPath.documentId() must be a string or a DocumentReference

Operating System version: macOS Catalina
firebase-admin version 8.12.1
Firebase Product: firestore
Node.js version: 10

Problem
This query doesn't work when using firebase-admin, throwing an error:

'... FieldPath.documentId() must be a string or a DocumentReference'

import admin from 'firebase-admin'

const menus = await admin
  .firestore()
  .collection('menus')
  .where(admin.firestore.FieldPath.documentId(), 'in', [
    'cUKi4Kj42LOcLsqBZOBhM',
  ])
  .get()

This issue has been reported and apparently resolved in nodejs-firestore (https://github.com/googleapis/nodejs-firestore/issues/990)
Same query using the @google-cloud/firestore package works:
import { FieldPath, Firestore } from '@google-cloud/firestore'

const firestore = new Firestore()

const menus = await firestore
  .collection('menus')
  .where(FieldPath.documentId(), 'in', ['cUKi4Kj42LOcLsqBZOBhM'])
  .get()

+1

Our dependency on Firestore is defined as "@google-cloud/firestore": "^3.0.0",. So if you reinstall the package from the scratch NPM should pull the latest Firestore library with the required fix (v3.7.3 and up).

Closing as this has been fixed and released. If this is still an issue in the latest @google-cloud/firestore, please comment and we can re-open.

Sorry, I'm a little lost here.
The problem was reported for admin sdk https://firebase.google.com/docs/admin/setup running on emulator.
Are we supposed to stop using admin sdk?
Can you please provide guidance?
I'm not sure how to proceed, replace admin-sdk or have this working as expected on emulator.
is it documented anywhere?
Thank you very much.

@robsoncombr Admin SDK just uses @google-cloud/firestore under the hood. So as long as that dependency is up-to-date there's no other action items.

Hello @hiranya911 thank you for the reply.
I have uninstalled / reinstalled firebase-admin, I get version "^8.12.1"
When I check google-cloud/firestore dependencies inside its packages.json seems to be ok:
$ grep firestore functions/node_modules/firebase-admin/package.json
"@google-cloud/firestore": "^3.0.0",
"@google-cloud/firestore": "^3.0.0",
However, the problem remains when running on emulator.
await admin.firestore().collection('tenants').where(admin.firestore.FieldPath.documentId(), 'in', tenants)
Results in:

Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]".

I still believe we have some sort of problem that affects at least emulator, can I get this blessed?

I needed to remove and recreate the lock file to get the latest version of @google-cloud/firestore. It all works now.

I'm not sure how you guys are fixing it, mine does not work. Any guidance is appreciated. Thanks.

Check what version of @google-cloud/firestore is specified in your lock
file. It has to be "3.7.3" or higher
On Thu, Jun 25, 2020 at 9:12 AM Robson Martins<EMAIL_ADDRESS>wrote:

I'm not sure how you guys are fixing it, mine does not work. Any guidance
is appreciated. Thanks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://mailtrack.io/trace/link/82d29d3136bf622e7d60f9ba9eb3ab26ae3a1fee?url=https%3A%2F%2Fgithub.com%2Ffirebase%2Ffirebase-admin-node%2Fissues%2F913%23issuecomment-649171364&userId=1558808&signature=a9b8bf30f93eb809,
or unsubscribe
https://mailtrack.io/trace/link/59318edcc83e920379459a477fd98943d786602b?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABMWO2MBRK2ZQ5MPTPODILLRYKXARANCNFSM4OFG7P5A&userId=1558808&signature=3076c8d04641b318
.

 Can you provide us a repro that we can locally test? Ideally a zipped up version of your project.

I have done a lot of troubleshooting.
The last was to uninstall firebase-admin, delete npm lock file and re-install firebase-admin.
I have the latest version installed so I noticed it is requiring firestore 3.0.0

Isn't it the issue?
My project is huge, maybe I could try to start a new one from scratch to run only this.
A fast explaining, I'm running it from a function call.
I create a function using firebase-admin with app initialized using service credentials.
const admin = require('firebase-admin');
(..init..)
exports.testFunction= functions.region('us-east1').https.onCall(async (data, context) => {
    const tenants = [<ids-here>];
    await admin.firestore().collection('tenants').where(admin.firestore.FieldPath.documentId(), 'in', tenants)
      .get().then(s => { console.log('IN => ', s.docs) });
});

I run it using localhost emulator.
Then I call from app:
await firebaseApp.functions('us-east1').httpsCallable('auth-testFunction')().catch(e => console.error(e))
This causes the error on the emulator console:

Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]".

It doesn't reproduce to us. It also seems other developers managed to get it working by simply reinstalling the dependencies. We will need some sort of a test app to repro this. If you can provide a simplified version of your project that would be most helpful.

Still having this issue, using both @google/cloud-firestore and firebase-admin throwing this error:
Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "1"
package.json:
  "dependencies": {     "@firebase/testing": "^0.20.9",     "@google-cloud/firestore": "^4.1.1",     "@types/cors": "^2.8.6",     "body-parser": "^1.19.0",     "cors": "^2.8.5",     "express": "^4.17.1",     "firebase-admin": "^9.0.0",     "firebase-functions": "^3.6.1",     "firebase-tools": "^8.6.0",     "nodemon": "^2.0.4"   },
I tried uninstalling, installing both dependencies, deleting node_modules and installing everything all over again, no luck.
Also running using local emulator.

@13dante04 Can you paste your code snippet? I wonder where the "1" comes from.
Also if you could provide the output of npm list | grep firestore that might help us. This is very likely a dependency conflict.

Well, a fast for the record note, I'm following you and I still have the issue but th suggested solution never resolved the issue. Good that someone else is experiencing the same issue.
ubuntu@codi:/codi/dev/controledigital.app/firebase/functions$ npm list | grep firestore
│ ├─┬<EMAIL_ADDRESS>ubuntu@codi:/codi/dev/controledigital.app/firebase/functions$ npm ls @google-cloud/firestore
functions@ /codi/dev/controledigital.app/firebase/functions
└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>I have just reproduced to confirm, from the debug log:

[info] >  Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]". {"user":"Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]".","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]"."}}

[info] >      at CollectionReference.validateReference (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1342:19) {"user":"    at CollectionReference.validateReference (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1342:19)","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at CollectionReference.validateReference (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1342:19)"}}

[info] >      at value.map.el (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:46) {"user":"    at value.map.el (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:46)","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at value.map.el (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:46)"}}

[info] >      at Array.map () {"user":"    at Array.map ()","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at Array.map ()"}}

[info] >      at CollectionReference.where (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:31) {"user":"    at CollectionReference.where (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:31)","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at CollectionReference.where (/codi/dev/controledigital.app/firebase/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1048:31)"}}

[info] >      at exports.getCustomToken.functions.region.https.onCall (/codi/dev/controledigital.app/firebase/functions/auth/getCustomToken.js:94:51) {"user":"    at exports.getCustomToken.functions.region.https.onCall (/codi/dev/controledigital.app/firebase/functions/auth/getCustomToken.js:94:51)","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at exports.getCustomToken.functions.region.https.onCall (/codi/dev/controledigital.app/firebase/functions/auth/getCustomToken.js:94:51)"}}

[info] >      at process._tickCallback (internal/process/next_tick.js:68:7) {"user":"    at process._tickCallback (internal/process/next_tick.js:68:7)","metadata":{"emulator":{"name":"functions"},"function":{"name":"auth-getCustomToken"},"message":"\u001b[90m> \u001b[39m     at process._tickCallback (internal/process/next_tick.js:68:7)"}}

My repro command is simple:
const tenants = [<ids-here>]; await admin.firestore().collection('tenants').where(admin.firestore.FieldPath.documentId(), 'in', tenants).get().then(s => { console.log('IN => ', s.docs) });
Maybe we could just have someone from Firebase to try it from scratch on their side, simply install emulator, write a function that uses FieldPath.documentId() and see the error.
Cheers.

I tried the following in a standalone script, and it worked without any hiccups.
# File: run.js
const admin = require('firebase-admin');

admin.initializeApp();

const tenants = ['foo', 'bar'];
admin.firestore().collection('tenants')
  .where(admin.firestore.FieldPath.documentId(), 'in', tenants).get()
  .then(s => {
    s.docs.forEach((doc) => {
      console.log(doc.data());
    })
  });

$ npm install firebase-admin
$ node run.js
{ name: 'bar' }
{ name: 'foo' }

Can you repro the issue in a similar minimalistic script?

@13dante04 I'm fairly sure the problem is in your code. I can reproduce your exact error when the list of IDs contains the integer 1:
const tenants = [1, 2];
admin.firestore().collection('tenants')
  .where(admin.firestore.FieldPath.documentId(), 'in', tenants).get()
  .then(s => console.log(s.docs));

/Users/hkj/Projects/firebase-admin-node/fsissue/node_modules/@google-cloud/firestore/build/src/reference.js:1323
            throw new Error('The corresponding value for FieldPath.documentId() must be a ' +
            ^

Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "1".
    at CollectionReference.validateReference (/Users/hkj/Projects/firebase-admin-node/fsissue/node_modules/@google-cloud/firestore/build/src/reference.js:1323:19)

Document IDs must be strings. Therefore please make sure the list of IDs passed in to the IN query only contains strings.
@robsoncombr you might be having the same issue. From your error message it seems some of the values in your tenants list are objects:

Unhandled error Error: The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "[object Object]".

Having the same issue with latest firebase-admin: 9.4.2.
My firestore references some data from a psql db so the ids are numbers toStringed().

Thanks @hiranya911 , your comment helped me to debug a piece of code.
The code received [undefined] in the variable in the in condition resulting in the following error message:
The corresponding value for FieldPath.documentId() must be a string or a DocumentReference, but was "undefined".

The input variable was explicit any:
const itemData: any = itemRef.data();

Avoid explicit any at all costs.
It will save a lot of headaches.


Question: How to get the billing details out of Apple Pay / Google Pay?

Hello, thank you for the awesome Plugin!
Is there a way to receive the billing information after payment, so I can create an account for the user on my backend?

The data is incomplete. Address and name are missing. The plugin capacitor-plugin-applepay also return the full address. So it should be possible for the stripe plugin.

@mariusbolik Thanks for issue. You can set field at Apple Pay:
We prepare requiredShippingContactFields for get user information. Please pass by method of CreateApplePayOption.
https://github.com/capacitor-community/stripe/blob/master/ios/Plugin/ApplePay/ApplePayExecutor.swift#L49-L67
Please try this.
But not implement to get Google Pay's shippingAddress. I shall challenge you to implement it in the near future.
Thanks.

Reference: https://developers.google.com/pay/api/web/guides/tutorial?hl=ja#load

The data is incomplete. Address and name are missing. The plugin capacitor-plugin-applepay also return the full address. So it should be possible for the stripe plugin.

Did you manage to find a solution for this?
Are we subscribing to the correct event? Are the shipping details only available after Authorization (apple pay)?

I created PR #280 which should solve this. It's working for our use case (we get the email address and phone number from Google Pay users on Android), but let me know if anyone has issues using it.  We are running against a fork, but would love to get back on the official package if this is merged 🤞

This Issue is closed due to a long period of inactivity. Please create a new Issue if necessary.


Renamed scoped-properties/ to settings/

Fixes #27 and all its duplicates.

There's already #13...

@jroesch we'd love a version bump.


touchosc: make updateScript more readable and robust, <IP_ADDRESS> → <IP_ADDRESS>

Description of changes
Performed misc cleaning on an updateScript for one of my packages
Changes:

factor out different system attrs for nixeval function
factor out narhash function
avoid doing work if version has not actually changed
better support running script directly instead of via maintainers/scripts/update.nix

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@prusnak, do you think you'd be able to review this one too since the script is basically the same as the one for kodelife (since they're both from hexler.net) in #216851?
I'll also open PRs to update both of these once the scripts are in

I went ahead and ran this updateScript and included the version update in this PR


Hot fix: corrected condition in lbfgs

The feature I had introduced in https://github.com/google/jaxopt/pull/323 was failing when the run function was jitted and was a no-op when not because of the following reason:
 ~True == -2  # this is True

Therefore when jitted it was complaining about different types in a condition function, and when not jitted it was equivalent to always being False.
EDIT
Actually I am still running into an error when jitted, so will continue to investigate.
The gist of the error is Abstract tracer value encountered where concrete value is expected, basically doing (not self.stop_if_linesearch_fails | ~state.failed_linesearch) is not allowed because one is a bool and the other is an abstract value.

With a jnp.logical_or the second issue was resolved

Could you add a non-regression test? Thanks

Yes just did that: my diagnosis was incorrect it was not jitting the run that was problematic but rather not using implicit diff (which I am not in my use case).
Therefore I just added a case in the rosenbrock test, which fails when I don't have the current fix, and doesn't now.

Actually I am still running into an error when jitted, so will continue to investigate.

Is this one fixed too?

Yes actually the problem was not coming from it being jitted but from setting implicit_diff to False, I had the wrong diagnosis

Perfect! :) Please squash and I'll merge.

Done you can merge when all green in CI


Lost coins after swapping, getaddressinfo ismine: false

Preflight Checklist

[X] I have searched DeFiChain’s Github Issue Page and none matches my issue
[x] I have read through How To Submit Issues for DeFi App

Issue Details

Current DeFi App Version: 2.1.15
Previous DeFi App Version: 2.1.14
Operating System (OS): MacOS 11.1

Yesterday i tried to swap ETH into DFI. The defi-app confirm the swap - so I thought it works fine. But the DFI didn’t come and the swapped ETH were not usable anymore. No transfer and no swap again were possible because of insufficient funds. The ETH’s stayed in the app.
That happened during a sync problem. To solve the problem I restart the app. The sync worked fine, but the unusable ETH’s stayed in the app.
I tried a reindex. Worked fine but no change with the ETH’s.
So I deleted all of the defi-files on my computer and did a reinstall of the app and the wallet with my keywords. During this process I looked into the same wallet on an another computer. After syncing with all the new blocks the ETH’s were missing. Later on the reinstalled wallet the same problem. Zero ETH’s.
I checked the old address (copied out of the transactions at cake or Bittrex) in the dex-Explorer. The missing ETH’s are still there.

So I tried to reactivate the address in the app. It wasn’t possible because the address belongs not to me anymore.

After checking getaddressinfo it displayed the same problem. ismine=false.

All former addresses that I deleted in the past worked fine - except of this one. I have no access to this address and with it to the ETH’s.
Please help!
Best regards
Marcus

I sent 1 DFI to the crashed address. It worked fine. But no access to this address.

I have the same problem with adresse dbPyCJidc5mSe3Lys56XCSs1vYxhZigLCs

I could reproduce the problem with the not accessible address. I encrypt the wallet first and delete the wallet after that to restore the wallet. After restoring with the 24 keywords the wallet is not encrypted anymore. By adding the old addresses from the former encrypted wallet-version come the same error message like my issue: "Invalid address. Please check this belongs to you". A new encryption with the same passphrase didn't help. Obviously the addresses from a former encrypted wallet are not usable in a restored wallet. So this would be no problem when the balances are there. In my case I afraid, that the lost coins are somehow connected with the address from the former encrypted wallet.
So I hope for help getting the lost coins or solving this problem with the next app-version.

I have a similar problem. After reinstalling the DeFi app, only 2 of 3 wallet addresses were displayed. When trying to enter the missing address by hand, the following error occurs: Invalid address. Please make sure this address is yours. (Ungültige Adresse. Bitte versichere dich, dass diese Adresse dir gehört.) Need help very soon ='(

I tried the unusable address again in 2.1.17. There happened something strange. Again I could not add the old address, but after set on automatically adding, there was suddenly the old address displayed.

But this address didn't work correct. There were not the missing token displayed and by using the dex, it told me, that this address is not my own.

after closing and restart the app, the address was missing.

hoping for the next app version
Marcus

Hi @szene23 @Adrian-source-cmd , regarding the issue Warning: Address not saved by seed phrase, we can further discuss on the problem there. Let’s keep this thread related to what the original author opened. Thank you for your understanding.

Hi @HeinrichvLangen , thanks for your feedback. As I understand, one of the tech team devs replied you on reddit. Please understand that we’re not here to recover if you’ve lost your funds due to your own misinterpretation / misunderstanding — or whether impermanent loss etc, but what we can do is try to help investigate where the funds went.
After investigating your situation, in summary:
• User swapped ETH to DFI.

• Transaction did not get through because of insufficient utxoDFI.

• User then restarted the app because there was a sync problem, synced to 100%, ETH still reflected in app. This confirms that your ETH did not leave the address.

• But it seems like user misunderstood the issue and went to reindex and deleted deli-files on PC A, did a reinstall of app with mnemonic seed

It is possible that your ETH did not leave your address dWbNJYqsZeLg8baQbb3mYoxtkT8rAktJLU as shown here. Meaning to say that there was not an issue and you may have complicated it.
What you could do is try and recover your wallet using your wallet.dat, on Mac it is located here:
Mac — Go to Folder:

/Users/<username>/Library/Application Support/DeFi/wallets/wallet.dat

you will see several wallet.dat files named wallet-bak-1234567890123.dat — do not delete any of these, make a copy and move them to a safe location.

Proceed with the following:

Ensure app is not running

2. Backup the wallet.dat file

3. Remove wallet.dat from DeFi/wallets folder

4. With the remaining wallet.dat, rename one of the files to wallet.dat

(in my case I’ll rename _1605637015196.dat__to wallet.dat)

Launch app and see if your balances are reflected.

Hello izzycsy,
thanks for your response. Unfortunately i deleted these folders and cleared my trash since that. So i don`t have any backup from the encrypted version of my wallet.

maybe there is a way you can recover the files. I did a quick google search and there seem to be some options to recover after trash clearing.

Thanks, yacrazyone. You are so nice, but i already tried easeus as well as some other software the whole week. I think i tried all of them on the market. Without success. They found nothing.

Hello izzycsy,
i tested the encryption-fuction a little bit more under 2.1.15 and there are some things the team should know. The problems appeared with NEW addresses after encryption and AFTER doing a backup. By restoring the wallet with the seeds OR a backup before adding a new adress, the new Addresses were not accepted. So i think the only way in an encrypted wallet to avoid this problem is to backup everytime after creating a new address. But this should be mentioned in your advice https://github.com/DeFiCh/app/wiki/Wallet-Encryption
There some other things i want to address:

The only note that the seeds are gone appear directly AFTER encryption. Then it's too late. Is has to be appear before. Everyones seeds are holy. If someone don't realize or forget this information, they have lost.
During the wallet is locked, there is no note, that the backup wasn't created. You got a note that transfers or swaps are not possible, but no note, that the backup was not created. Users maybe wonder about, that there is no backup, when it's needed.
By resetting the wallet in 2.1.15 there was no warning, that in future the seeds are useless and a backup or the old wallet.dat with all new added addresses are nessesary to keep the funds.
After resetting the wallet in 2.1.15, there was no option to load a backup in the UI - only restore from the (useless) seeds. It seems that then is no need to import the backup, but it only works with it.

I can't believe that i am the first one who realize this and i can't believe that the seeds are useless. Hope there is a missunderstanding on my side but maybe it helps you to improve the app and the encryption guide.
I know you are doing your best.
Marcus

Hello izzycsy,
thanks to Ahmed Hilali for changing the Encryption-guide. I wish I could have read this before. I would never have encrypted the wallet. Anyway. Do you have any ideas, what to to with the funds? They have a rising value and they are still in nirvana. Will an update solve the problem?
Marcus

Hi @HeinrichvLangen you can see if you can add your address back to your wallet and self transfer to your new address. If you've deleted your wallet.dat files then we're unable to help guide you on how to retrieve it either.
Please do understand that DeFiChain an open source project and that your funds are your own responsibility, what we can do is try to help investigate where the funds went. Transactions are either processed or not processed, there's no "halfway" state where it gets stuck in the middle. Thank you for your understanding and patience once again.
Regarding Warning: address not saved by seed phrase , there's currently no fix for this error yet as the mnemonic seed somehow does not register the existing addresses, a few users faced the same issue as well. However, moving forward in update v2.3.0, we'll be introducing wallet passphrase (optional), and the utilisation of wallet.dat. Please keep your wallet.dat file safe. Hence, this error should not occur anymore. Apart from safe-keeping wallet.dat, personally, I keep a copy of my addresses in my Notes too. With this, I'll be closing this issue. Thank you for your understanding and patience on this issue!


What one need to do to use local repository in monodevelop?

Right now I can add packages from remote repository. For gentoo this is not very good (because these files are binaries with unknown trust level).
My idea is to build packages locally with ebuilds, and put packages somewhere locally.
There is the "repositorypath" parameter (from here https://docs.nuget.org/consume/nuget-config-settings ) which allows to define package location for NuGet.exe.
My idea is following:

create a symlink from NuGet.exe.config to /etc/nuget/nuget.conf file
set the location of package repository to subfolder of distfiles ("${DISTDIR}/NuGet")
create a symlink (or bash script with mono) /usr/bin/nuget for NuGet.exe

I need to know,

how exaclty monodevelop calls the NuGet (through command line, or loads it as an assembly, and uses API directly)
what should be pached to make both local and external scenarios possible (might be some parts of monodevelop UI ? Just a list of repositories?)

also, do you use gitter.im?

If you create a local directory on your machine you can use that as the location for packages that you want to use in your projects. Then you can copy the packages you want to allow to that directory. In MonoDevelop you can then add this directory as a package source via Preferences - NuGet - Package Sources by specifying the full path to the directory (e.g. /Users/matt/packages). Then you can disable all the other package sources in Preferences and only enable the local directory. The local directory package source is displayed in the Add Packages dialog in a drop down list.

For older versions NuGet.exe was only used to restore packages. Newer versions do not use NuGet.exe. However all versions use a custom build of NuGet.Core.dll which is included next to the NuGet addin within MonoDevelop.
Nothing needs to be patched. Add the local directory to the list of package sources.

Mono 3.6 and above include NuGet and also should create a symlink so you can just use nuget from the command line.
The repositorypath in the NuGet.Config file is used as the destination for NuGet packages that are installed into a project. It is not a NuGet package source.
There is a MonoDevelop gitter.im

i created an ebuild, which instals the nuget from this repository into GAC, and monodevelop-5.7.0-r1.ebuild, which uses that assembly (the one with NuGet addin is not used/installed).
i need to add system-wide directory during the install (of monodevelop), not from menu through UI
i don't want to disable other sources unconditionally, because user will ask, why they are disabled.
There are many projects, which include nuget packages (like GitExtensions application, for example, but htere are alot of them). I want to create a common approach to deploy such projects with ebuilds. I want to compile packages first, install them to local nuget repository, then install the project. Monodevelop should use local packages, and all this should work from install cd (without the need of manual reconfiguration)

Whilst NuGet in Visual Studio supports a system wide directory for the NuGet.Config unfortunately MonoDevelop currently does not support this. In Visual Studio the user can disable this system wide packages directory if they want to. Right now there are two options:

Update the NuGet.Config in the user's profile.
Creating a NuGet.Config in the root of the drive. MonoDevelop will check each directory starting with the solution's directory back to the root of the drive for a NuGet.Config file.

Also the NuGet.Config file configuration can be overridden by a NuGet.Config file in the solution.
I will have a look at supporting system wide NuGet.Config file in MonoDevelop. There have been some discussions with @directhex about this feature.
The repositoryPath setting was originally designed as a way to share a packages directory between multiple solutions. So instead of a NuGet package being installed into the solution's packages directory it would be installed into the repositoryPath. You can use this directory as a package source since NuGet will search that directory and one subdirectory down for .nupkg files. When I think of a local package source I always think of it as a directory with just .nupkg files in it. The difference between using repositoryPath is that the NuGet packages will be unzipped into the repositoryPath directory when you add the NuGet package to a project. Also any new NuGet package you install into a project would also be added to the repositoryPath. For a local package source that is just a directory on disk, not the repositoryPath, you could restrict it to have the set of NuGet packages you trust.

you can then add this directory as a package source via
Preferences - NuGet - Package Sources by specifying the full path to the directory (e.g. /Users/matt/packages).

actually i can't:

NuGet.Config is loaded from many different places (user directories)
/root/.config/NuGet/NuGet.Config
/home/user/.config/NuGet/NuGet.Config
i think this is here -
https://github.com/mrward/nuget/blob/2.8.5-monodevelop/src/Core/Configuration/Settings.cs#L151

/usr/share/NuGet/NuGetDefaults.config
Is this file used?
https://github.com/mrward/nuget/blob/2.8.5-monodevelop/src/Core/Configuration/ConfigurationDefaults.cs#L21

Please bring this discussion to the mono-packagers mailing list, it's relevant to all distributions.
https://wiki.debian.org/Teams/DebianMonoGroup/NuGet is the as-yet unimplemented plan for Debian

Not sure what Linux distribution you are using. The package sources in preferences is a gtk widget and I have not seen it not display on any Linux distribution I have used. Do any of the preferences windows show anything? Anything in the IDE logs?

These are used as configuration for a solution. This is mainly used to specify the repositoryPath so multiple solutions can specify a common packages directory. I believe it will also affect the package sources shown in the Add Packages dialog. It does for Visual Studio and I believe this works with MonoDevelop and Xamarin Studio.

NuGetDefaults.config is not used but the ~/.config/NuGet/NuGet.Config is used. These are the per user settings. When you modify the package sources in MonoDevelop, if it was working for you, then they would be saved in this config file.

You mean - "used" for saving from monodevelop?

Because I created that file -  /usr/share/NuGet/NuGetDefaults.config
and nuget shows me a line from it:
# LANG=C nuget sources list
Registered Sources:
  1.  My Gentoo Nuget Repository [Enabled]
      https://github.com/ArsenShnurkov/NugetPackages

But looks like this (strangely) override sources from ~/.config/NuGet/NuGet.Config

also i specified "repositorypath" (in ~/.config/NuGet/NuGet.Config) as given here
https://docs.nuget.org/consume/nuget-config-file

nuget config repositorypath
/var/calculate/remote/distfiles/NuGet
and
# nuget install nuget
Installing 'Nuget 0.0.1'.
Successfully installed 'Nuget 0.0.1'.
# ls /var/calculate/remote/distfiles/NuGet
Nuget.0.0.1

So, I think it is possible just add one more config location with gentoo-specific patch, something like this:
            string etcPath = "/etc";
            if (Directory.Exists(etcPath))
            {
                var etcSettingsFilePath = Path.Combine(etcPath, "NuGet", Constants.SettingsFileName);
                var etcSettings = ReadSettings(
                    fileSystem ?? new PhysicalFileSystem(Directory.GetCurrentDirectory()),
                    etcSettingsFilePath);
                if (etcSettings != null)
                {
                    validSettingFiles.Add(etcSettings);
                }
            }

before the line
https://github.com/mrward/nuget/blob/2.8.5-monodevelop/src/Core/Configuration/Settings.cs#L177
The next function is called LoadMachineWideSettings which have the same meaning,
but I don't see where it is used.

Yes, used by MonoDevelop when it saves its package sources.

Whilst NuGetDefault.Config is supported by NuGet I have not seen it used in practice. Although this seems to be read from a machine specific location.

Not sure I agree with the location of that code change. The method is loading user specific NuGet package source configuration so I would not expect it to be reading a machine specific configuration.

Instead I think we should either use the location as specified by Environment.SpecialFolder.CommonApplicationData since this is already used by NuGet when looking for machine specific settings. Or if this location is not correct on Linux and or Mac we choose a better directory and use that. This would then require a change to MonoDevelop so it supports machine specific package sources. Also it would the CommandLineMachineWideSettings class to change.
LoadMachineWideSettings is used by CommandLineMachineWideSettings but not currently used by MonoDevelop. It is used by Visual Studio.

CommonApplicationData is /usr/share on Linux, which is the wrong place for per-system configuration data (which belongs in /etc). We have no SpecialFolder for /etc.
/etc is part of the Filesystem Hierarchy Standard, so I don't see the harm in hardcoding it - I don't know what the correct behaviour is on Mac

I think it is possible to patch mono's implementation of
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

to allow redefining builtin locations in machine.config, or in app.config.
But I am unsure - will upstream accept such extensions or not...

https://github.com/mrward/nuget/compare/2.8.1-monodevelop...ArsenShnurkov:2.8.1-monodevelop?expand=1


feat: forward disabled property to underlying button

forward disabled property to underlying button
this PR removes onClickDisabled which does not work in that case anymore. (so this is breaking).

@frabbit we need to resolve conflicts here ;)


[WIP] Modify Params Context

Purpose

Provide a context within which parameters belonging to FSDP or accelerate-offloaded models can be safely modfied
Note that the parameters must be modified in-place through in-place operations like copy_ rather than assignment or assigning to the tensor data directly

Closing, can be reopened when better FSDP support is the priority


FoundationPress installation via npm failed

When installing FoudationPress via npm failed with message,
this.processing = new Promise(function (resolve, reject) {
ReferenceError: Promise is not defined

I am using Ubuntu 14.04 LTS , npm 1.3.10 and node v0.10.25
Detailed message is attached.
log.txt

You need to be running Node v4+ for FoundationPress

Thank you, after Installing latest node, it worked.


Improve APCSignUpPermissionsType for use from Swift

Resolves ResearchKit/AppKit#21

Changes look good to me.

Shouldn't the enumerator element names drop the k prefix as well?
APCSignUpPermissionsTypeNone instead of kAPCSignUpPermissionsTypeNone, etc.

@rsanchezsaez I'd have preferred that as well, but it doesn't matter for Swift. Since all other enums use the k as well and I didn't need to change those I left it in place for APCSignUpPermissionsType as well.

The only advantage of the "k" is it helps distinguish an enumeration from a class name.

It's uncommon in modern Apple enumerations, although still present especially in the C frameworks.


Input placeholder animates when initialized with a value

Bug, feature request, or proposal:
Bug
What is the expected behavior?
When an input is initialized with a value, the input's placeholder should not animate to be above the value.
What is the current behavior?
The animation always triggers. Looks funny when the input is loaded, especially on pages where there are many inputs.
To see an example of this, go to the Examples tab at http://localhost:4200/components/component/slider

Looks related to https://github.com/angular/material2/issues/2620

Gif to illustrate the problem


Add some extra styles to the generated Diagram

I added some shadows instead of borders
Reduce some colors to make it more readable
In the links remove the underscore and change the blu

Thanks for this great tool !!
An screenshot of the refreshed style:


Develop

I added translations and a test for the css 'transform' property, when I stumbled upon a bug that a value, which was already translated, would be translated again if the values would match again ('drehen' -> 'rotate' -> 'redate'), which should be fixed now.
The npm test reported it works, though I wasn't able to run the module via either grunt or gulp to test the integration, as I couldn't get around the error message 'unexpected reserved word' triggered at 'require' in the index.js of the module, but maybe I'm using it wrong (I'm new to postcss).

Thanks for this PR, I will have a look at it tomorrow.

When I thought about that code again, I noticed that this might cause an
issue when having multiple values like "background: green no-repeat;", as
it will translate only the first one with this PR. I'll think of a better
solution tomorrow. One probably has to mark somehow which parts of the
string were translated already, to prevent double translations.
2016-04-30 0:14 GMT+02:00 Tim Cheung<EMAIL_ADDRESS>
Thanks for this PR, I will have a look at it tomorrow.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/timche/postcss-german-stylesheets/pull/13#issuecomment-215895775

A few more test cases would be ideal for this.


Fixed broken image-upload; undefined dowloadURL issue.

Looking at the Firebase#storage() documentation, the downloadURL must be
requested separatly from the the put-instruction and is not automatically available anymore,
The Vue.set() line is used to force Vue to refresh an image-field when
it previously was 'undefined'.
(Only defined properties get reactive-setters by vue,
the if content[fieldName] yields undefined then you probably have to attach a reactive
listener manually using Vue.set() )

Hi @telamon , Thanks for submitting this PR, if you are interested in submitting other PRs, please do so against the develop branch. Thank you

Hi @telamon, thanks for contribution. Agree with your changes you did in PR, just a little suggestion if you can use this.$set(after all component is also a instance of vue) instead of Vue.$set in that way you wont require to import Vue and as @mahnouman suggested please make PR againts develop branch it will help us to manage.

I'm closing this pull request because it was sent to base:master instead of base:develop.
Also the fix for the mentioned issue was applied in b72bd98e9990d3b3f5a6cab940ead712898bc3b0 by me with the replacement of deprecated snapshot.downloadUrl with snapshot.ref.getDownloadURL()


Chain deployment script commands

Currently, for setting up a testnet, you need to run:
python -m raiden_contracts.deploy raiden
python -m raiden_contracts.deploy token
python -m raiden_contracts.deploy register

As suggested by @kelsos , it would be nice to chain the commands.
However, we need to make sure the deployment functionality is clear for production vs. development.

I guess the most sensible way is to keep
python -m raiden_contracts.deploy token

as a separate command, and combine
python -m raiden_contracts.deploy raiden
python -m raiden_contracts.deploy register

Now I'm not sure.  register can be called multiple times after raiden.

The most annoying thing is that we have to copy over addresses from stdout of one command to the command line argument of another invocation.  What if register command reads the address of TokenNetworkRegistry from the deployment file?

Since I needed a script to deploy the contracts easily on a private testnet I ended up doing this https://github.com/kelsos/test-environment-scripts/blob/master/scripts/deploy_testnet.py
While I haven't updated it for a while, at least it helps me get the private network setup on a single step.

Maybe something like this would work?
python -m raiden_contracts.deploy token ... | python -m raiden_contracts.deploy register --token-address - ...

--token-address - says "use the standard input as the token address".

Maybe click’s command chaining could help you here?
https://click.palletsprojects.com/en/7.x/commands/

Now it's getting fun.

This should wait till https://github.com/raiden-network/raiden-contracts/issues/963 is done.


Better token parsing

While writing some custom sniffers I was surprised how bad the original PHP token parsing is (Note: by PHP itself - not criticizing the lib here!).
It parses most of the PHP tokens as just text, without a proper "token id" etc:
 'content' => ')',
 'id' => NULL,
 'isArray' => false,
 'line' => NULL,

It would be good if the php-cs-fixer parser here on top would enhance the result to allow making the fixer classes itself less complex.
Currently, way too many tokens are not too usable out of the box right now, or we need to compare strings instead of the functionality they provide / their semantic meaning in that context:
if ($tokens[$leftIndex]->getContent() === ')') {
	continue;
}
// Is ) now part of a method declaration or a (x+y) operations binder etc?

This makes the code often times more complicated, as well.
Sometimes, I added this inside the fixers to be able to work with it in a clean way:
// Why are those two (apart from many more) not included in the PHP token constants?
// Seems like PHP itself really has some catching up to do.
define('T_GREATER_THAN', 1024);
define('T_LESS_THAN', 1025);

// Fix incomplete token parsing
if ($tokens[$comparisonIndex]->getContent() === '<') {
	$tokens[$comparisonIndex]->override(array(T_LESS_THAN, '<', $tokens[$comparisonIndex]->getLine()));
}
if ($tokens[$comparisonIndex]->getContent() === '>') {
	$tokens[$comparisonIndex]->override(array(T_GREATER_THAN, '>', $tokens[$comparisonIndex]->getLine()));
}

...
// Now we can use the complete list of operation token ids
$tokensToCheck = array(T_IS_IDENTICAL, T_IS_NOT_IDENTICAL, T_IS_EQUAL, T_IS_NOT_EQUAL, T_GREATER_THAN, T_LESS_THAN,
			T_IS_GREATER_OR_EQUAL, T_IS_SMALLER_OR_EQUAL);
if (!in_array($tokens[$comparisonIndex]->getId(), $tokensToCheck, true)) {
	continue;
}

a) We should, like phpcs(f) does, provide more constants on top of the existing ones, shimming older PHP versions, if required, in the process:
// Some PHP 5.5 tokens, replicated for lower versions.
if (defined('T_FINALLY') === false) {
	define('T_FINALLY', 1059);
}
if (defined('T_YIELD') === false) {
	define('T_YIELD', 1065);
}
// Some PHP 5.6 tokens, replicated for lower versions.
if (defined('T_ELLIPSIS') === false) {
	define('T_ELLIPSIS', 1066);
}

Less id => null means better way of working with the tokens inside the fixers. Especially when some chars can mean different things in different contexts.
if ($tokens[$leftIndex]->getId() === T_OPEN_PARENTHESES) {
    continue;
}
// Now it is clear

b) We could pre-parse the token list and add more information to them, e.g. where the scope closer or parentheses openers/closers are and complete the line numbers where missing. This would take out the logic overhead in the fixers, as well, that need that information.
Alternatively we could provide such methods in the Tokens class:
public function findMatchingOpener()
public function findMatchingCloser()

etc.
The better the token parser, the easier and maintainable the fixers IMO.
What do you think?

Thanks for discussion.
Parsing was discussed sufficiently, some idea was rejected, some was already done via Transformers.
Candidate approach was moved into separate thread: #984


Gitlab avatars

One more thing needs to be fixed ... missing avatars in Search suggestions popup, but I'm not sure if it's just Gitlab related issue or general drone issue.
Anyway, good job Bugagazavr!


e2e tests for virtlet pod restart

This change is

Review status: 0 of 3 files reviewed at latest revision, all discussions resolved, some commit checks failed.

tests/e2e/restart_virtlet_test.go, line 38 at r2 (raw file):

	BeforeAll(func() {
		includeDisruptive()

Such thing in BeforeAll() will not work. It needs to be added to test case (to It()).
That's why now in test logs you have first case skipped, but second executed.

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

tests/e2e/restart_virtlet_test.go, line 38 at r2 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
Such thing in BeforeAll() will not work. It needs to be added to test case (to It()).
That's why now in test logs you have first case skipped, but second executed.

Ah, thx. I was searching for it in a docs

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

tests/e2e/restart_virtlet_test.go, line 38 at r2 (raw file):
Previously, lukaszo (Łukasz Oleś) wrote…
Ah, thx. I was searching for it in a docs

https://godoc.org/github.com/Mirantis/virtlet/tests/e2e/ginkgo-ext ;)

Comments from Reviewable

Reviewed 1 of 2 files at r3.
Review status: 1 of 4 files reviewed at latest revision, 1 unresolved discussion.

deploy/virtlet-ds.yaml, line 196 at r3 (raw file):

            - /bin/sh
            - -c
            - socat - UNIX:/run/virtlet.sock </dev/null

Maybe we should add a similar probe for the libvirt container?

tests/e2e/restart_virtlet_test.go, line 2 at r3 (raw file):

/*
Copyright 2017 Mirantis

2018

tests/e2e/restart_virtlet_test.go, line 69 at r3 (raw file):

	}, 3*60)

	It("Should contain logs from attach session", func() {

"Virtlet restart Should contain logs from another session" doesn't sound good, maybe "Should keep logs from another session"?

Comments from Reviewable

Review status: 1 of 4 files reviewed at latest revision, 4 unresolved discussions.

deploy/virtlet-ds.yaml, line 196 at r3 (raw file):
Previously, ivan4th (Ivan Shvedunov) wrote…
Maybe we should add a similar probe for the libvirt container?

Done.

tests/e2e/restart_virtlet_test.go, line 2 at r3 (raw file):
Previously, ivan4th (Ivan Shvedunov) wrote…
2018

Done.

tests/e2e/restart_virtlet_test.go, line 69 at r3 (raw file):
Previously, ivan4th (Ivan Shvedunov) wrote…
"Virtlet restart Should contain logs from another session" doesn't sound good, maybe "Should keep logs from another session"?

Done.

Comments from Reviewable