Make integration tests work on Travis

Travis currently can't handle our RNV scenario.
I could slim it down, but on the other hand, we already have other interesting things to run regularly, automatically, like the diagram generated from @highsource's data.
On what infrastructure can we run automated tests or test-like things which need more computing resources?

(There'll definitely be actual tests in the end which do run on Travis, that goes without saying.)

We could be run this on our infra machine where our current performance tests are executed on.

I still don't see what Travis' problem is. The whole process takes way under 1GB on my machine, and the limit on Travis is supposedly 3GB.

The whole process takes way under 1GB on my machine

I think we also have a maven memory limit set for unit tests in the pom.xml somewhere to 200mb (?) ... but maybe it got killed by their container management infrastructure due to heavy CPU utilization?

OK, with 77f2a49 I fixed a genuine performance problem with graph building, and with a5779b0 I am Ignoring the single test which now still fails (loading both GTFS feeds at the same time).

What exactly was the reason? Or when is the graph storage empty?

The graph storage is empty at that point when no OSM files are loaded.

How is location lookup handled if the location index is empty? Or is it chained and first tries a pt index and then OSM?

It's not the location index, it's a location index which I am using for intermediate computation (putting stops on the roads).

Is it here where we put stops on the roads?

Yeah. Not in the middle of roads, though. Just connect them to junctions. I haven't started looking into splitting edges in GraphHopperStorage yet.

I haven't started looking into splitting edges in GraphHopperStorage yet.

That is a current limitation if necessary after import. So in general the storage is append only (i.e. just an array) and we would have to implement kind of a garbage collection but changing edgeIds can introduce problems like in #911

To close here I would prefer to use a different maven profile for travis (which excludes the one integr. test) and the default profile should include all integration tests.

Done, not with profiles but similar.

A link for future reference: https://github.com/graphhopper/graphhopper/commit/2a621f4dee90b9d78bffb601bb182730b21828fc


Check syntax of XML comments during a build

This change ensures features like Add Using and Remove Unused Usings work with documentation comments. See dotnet/roslyn#2773.
:memo: This is limited to test projects as part of a specific change I'm working on.

LGTM

Codecov Report

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

@@           Coverage Diff           @@
##           master     #253   +/-   ##
=======================================
  Coverage   24.31%   24.31%
=======================================
  Files         197      197
  Lines      112379   112379
  Branches    11208    11208
=======================================
  Hits        27330    27330
  Misses      85022    85022
  Partials       27       27

Flag
Coverage Δ

#2015
24.31% <ø> (ø)
:arrow_up:

#2017
24.31% <ø> (ø)
:arrow_up:

#Debug
15.78% <ø> (ø)
:arrow_up:

#Release
14.85% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Send to F&F (from details or from send flow)

Send to F&F (from details or from send flow)

@cakesoft-swati Right now the send to F&Fs would only work from the test account(as checking acc is broken when it comes to sending to trusted contacts). Also, the send button on the details page of a given contact would select test account by default for the send instead of checking for now.

@cakesoft-swati Right now the send to F&Fs would only work from the test account(as checking acc is broken when it comes to sending to trusted contacts). Also, the send button on the details page of a given contact would select test account by default for the send instead of checking for now.

This is workin now.Tested on dev app v1.7.5(300)


[GSSoC'21]Power Set of a String

Hey @rudrakshi99 I would like to add this code in java section . Please assign it to me. I will follow the guidelines.

Hello, I would like to contribute to this project in c++ language.
->in O(2^n) time complexity
->in O(n) space complexity
I am a GSsoc'21 participant.
waiting for a positive response.

Hello, @plazzy99
I am a GSSOC'21 participant and  I would like to contribute to this project in Python and would like to use two approaches for the same.
APPROACH 1.  USING RECURSION.
APPROACH 2.  BY GENERATING BINARY NUMBERS.

Time Complexity -->  O(2^n)
Space Complexity --> O(n)
Waiting for a positive response.

Hello! I am a participant in GSSoC'21. I am really intrigued by this issue. Would be highly obliged if you could assign this to me. I will be using Java. Thanks!


Revert "Make scheduler optimistic about its bindings"

Reverts GoogleCloudPlatform/kubernetes#8261
The reason is that increased the latency of api calls.
@bprashanth @fgrzadkowski @lavalamp

LGTM will merge on green

Should help #8534, I didn't realize we were running density in the main tester, too.


jsk_pr2eus: 0.3.2-0 in 'jade/distribution.yaml' [bloom]

Increasing version of package(s) in repository jsk_pr2eus to 0.3.2-0:

upstream repository: https://github.com/jsk-ros-pkg/jsk_pr2eus
release repository: https://github.com/tork-a/jsk_pr2eus-release.git
distro file: jade/distribution.yaml
bloom version: 0.5.21
previous version for package: 0.3.1-1

jsk_pr2eus

No changes

pr2eus
* fix typo topuc -> topic
* robot-interface.l : add option to set queue size for /joint_state subscriber
* robot-interface.l : need a consistency of controller order in the the entry of controller-table fix #227 <https://github.com/jsk-ros-pkg/jsk_pr2eus/issues/227>
* Contributors: Kei Okada

pr2eus_moveit

No changes

pr2eus_tutorials

No changes

retriggering travis


Symbol Tree Can't Delete Group Nodes

Describe the bug
It is not possible to delete a group node in the Symbol Tree, even if all nodes with the group node have been deleted.
Note: This is a bug, not a feature request, because the Ghidra documentation explicitly states it should be possible to delete group nodes.
To Reproduce

Open a project
Find a Group Node in the Symbol Tree (group nodes are the folders that have many nodes with similar names)
Right Click on the Group Node
Observe the only option is a greyed out "Paste" icon, no delete is available.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
What it looks like on Ubuntu, no delete option is available.

Under Symbol Tree documentation. Obtained by going to Help -> Contents -> Search for Keywords -> Search for "symbol tree" -> Scroll down to "Delete Symbols"

Environment (please complete the following information):

OS: Ubuntu 20.04.2 LTS
Java Version: 11.0.11
Ghidra Version: 10.0.1 PUBLIC 2021-Jul-8 1512 EDT
Ghidra Origin: Github releases page

Additional context
A workaround is to delete all nodes individually, and then run the command
currentProgram.invalidate()

At the Python Interactive Prompt in Ghidra.

Note: This is a bug, not a feature request, because the Ghidra documentation explicitly states it should be possible to delete group nodes.

Solution: change documentation.  :smile:

Solution: change documentation. 😄

Doesn't seem like the optimal solution.  What about: delete documentation? 💯

Addressed in 704c89bc099ea70bed91b68be9541ead0584af39

It seems the commit does in fact fix this by removing the documentation.
Would it be possible to add the delete instead?
I have found situations, particularly where scripts screw up, where this would be quite useful.

I have reopened this ticket as an enhancement request.


Improved Django loader testing

Integrated testing against Django versions 1.7 to 1.10

Coverage increased (+1.0%) to 78.733% when pulling 3645cbc928bc4fef750785e7e4225f030259fa67 on improved_loader_testing into cf8c4548d3f14af9af2e6217bb9062077dfc1ee3 on master.

Coverage increased (+2.7%) to 80.464% when pulling 5238c7cf8e5a7a1a92806407e426f8e425dadaf4 on improved_loader_testing into cf8c4548d3f14af9af2e6217bb9062077dfc1ee3 on master.

@Psycojoker since this is just testing I'm going to merge later today unless you have any objections


Fix for bug #1457 in convolution operator with dilate > 2

Fix for https://github.com/dmlc/mxnet/issues/1457
I.e. this fixes an issue in the convolution operator if the dilate parameter is set to a value larger than 2.
This is the second part of the fix. The first part went into mshadow, and has already been merged. See
https://github.com/dmlc/mshadow/pull/102
Now it is neccessary to apply this, or the convolution op will be completely broken for dilate param > 2

Moved the test, as requested..

@kadeng can you test locally why the test_operators failed?

@tqchen:
I could determine two problems:
1.) My unit test had some python 2 style print statements. I have just removed them, since they could trigger syntax errors with python 3.
2.) If I build the current, unmodified master, and then run test_operators.py, I already get an exception that seems to be completely unrelated:
Traceback (most recent call last):
  File "test_operator.py", line 739, in <module>
    test_slice_channel()
  File "test_operator.py", line 171, in test_slice_channel
    check_slice_channel(2, 4)
  File "test_operator.py", line 73, in check_slice_channel
    op = mx.sym.SliceChannel(data=data, num_outputs=shape[1], squeeze_axis=1)
  File "/home/kai/Projekte/mxnet/mxnet/python/mxnet/symbol.py", line 988, in creator
    ctypes.byref(sym_handle)))
  File "/home/kai/Projekte/mxnet/mxnet/python/mxnet/base.py", line 77, in check_call
    raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: Cannot find argument 'squeeze_axis', Possible Arguments:
----------------
num_outputs : int, required
    Number of outputs to be sliced.
axis : int, optional, default='1'
    Dimension along which to slice.

Found the problem, had to do with me not being used to working with git submodules until now. All checks pass now, and it should be safe to merge..


Improve code-level documentation on models a bit more

This follows up on the very helpful 1eb67e4bf with a few further edits, for clarity and to expand a few places where I either wasn't sure myself quite what the story was, or had the sense that many other people would have questions about what something meant.
I believe each item here is correct, but in aggregate I'm not so confident that all of it is correct -- fact-checking definitely appreciated. :smile:

Looks reasonable, merged, thanks @gnprice!


add Copy to Clipboard or Select all key

Description

Add a copy to clip board button
https://www.freeformatter.com/html-formatter.html#ad-output
like these people did, if they can you can 2
and yes this is a issue

@StenAskerBergman
Thanks for filing this issue.
This pages has instructions on how to add this functionality: https://www.w3schools.com/howto/howto_js_copy_clipboard.asp
PRs welcome.

Hey there @bitwiseman
Can I take this issue?

If any maintainers could provide some feedback on that PR, it would be much appreciated (esp. button placement and UI changes).


0.30 - Fails to copy blockchain headers if they exist, status not running

The Issue
Was going between 0.21.2 and 0.30 and noticed that the daemon won't fully start (is_running = false) if the headers file exists in lbryum and lbc_mainnet.
2018-09-19 12:22:56,465 INFO     lbrynet.daemon.Daemon:264: Platform: {"processor": "Intel64 Family 6 Model 158 Stepping 9, GenuineIntel", "python_version": "3.6.4", "platform": "Windows-10-10.0.17134", "os_release": "10", "os_system": "Windows", "lbrynet_version": "0.30.0a", "lbryschema_version": "0.0.16", "build": "dev", "ip": "<IP_ADDRESS>"}
2018-09-19 12:22:56,513 WARNING  lbrynet.daemon.Components:296: Moving old headers from C:\Users\SoloDolo\AppData\Roaming\lbryum\blockchain_headers to C:\Users\SoloDolo\AppData\Roaming\lbryum\lbc_mainnet\headers.
2018-09-19 12:22:56,515 ERROR    lbrynet.daemon.Component:61: Error setting up blockchain_headers
Traceback (most recent call last):
  File "lbrynet\daemon\Component.py", line 55, in _setup
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\SoloDolo\\AppData\\Roaming\\lbryum\\blockchain_headers' -> 'C:\\Users\\SoloDolo\\AppData\\Roaming\\lbryum\\lbc_mainnet\\headers'
2018-09-19 12:22:56,543 INFO     lbrynet.daemon.Components:128: Loading databases
2018-09-19 12:22:56,559 INFO     lbrynet.database.storage:177: connecting to database: C:\Users\xxx\AppData\Roaming\lbrynet\lbrynet.sqlite
2018-09-19 12:22:56,587 INFO     lbrynet.daemon.ExchangeRateManager:212: Starting exchange rate manager
2018-09-19 12:22:56,674 INFO     lbrynet.core.RateLimiter:70: Starting rate limiter.
2018-09-19 12:22:57,680 WARNING  lbrynet.daemon.Components:696: upnp discovery failed:
failed to get version from git
2018-09-19 12:22:57,979 INFO     lbrynet.dht.protocol:208: DHT listening on UDP 4446 (ext port 4446)
2018-09-19 12:22:57,980 INFO     lbrynet.daemon.Components:426: Started the dht
2018-09-19 12:22:57,986 INFO     lbrynet.daemon.Components:339: Starting torba wallet
2018-09-19 12:22:58,301 INFO     torba.basedatabase:50: connecting to database: C:\Users\SoloDolo\AppData\Roaming\lbryum\lbc_mainnet\blockchain.db
2018-09-19 12:22:58,325 INFO     lbrynet.dht.node:239: Attempting to join the DHT network, 0 contacts known so far
2018-09-19 12:22:58,352 WARNING  torba.basenetwork:59: Error setting up socket: module 'socket' has no attribute 'TCP_KEEPIDLE'
2018-09-19 12:22:58,376 INFO     torba.basenetwork:151: Successfully connected to SPV wallet server: tcp:lbryumx1.lbry.io:50001
2018-09-19 12:22:58,401 INFO     torba.baseledger:99: lbc_mainnet: added BlockHeightEvent(height=439361, change=2) header blocks, final height 439361
Unhandled error in Deferred:
2018-09-19 12:22:58,565 CRITICAL twisted:154: Unhandled error in Deferred:

2018-09-19 12:22:58,582 CRITICAL twisted:154:
Traceback (most recent call last):
  File "twisted\internet\defer.py", line 1416, in _inlineCallbacks
  File "twisted\python\failure.py", line 491, in throwExceptionIntoGenerator
  File "lbrynet\daemon\Component.py", line 62, in _setup
  File "lbrynet\daemon\Component.py", line 55, in _setup
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\xxx\\AppData\\Roaming\\lbryum\\blockchain_headers' -> 'C:\\Users\\xxx\\AppData\\Roaming\\lbryum\\lbc_mainnet\\headers'

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of the user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

not fixing at this time


Support multi-key auth

@chef/lob @manderson26 I still have to test against pushy-pedant (and maybe add a test there) but I wanted to get this out for review.
This is the "just make it work with the current code" version of this fix.  I think we could probably extract some of this out into a common library for use in other projects (pushy_http_common is probably a good starting point for a generic erchef_client and most of the code here: https://github.com/chef/opscode-pushy-server/pull/111/files#diff-6c2407c0c1779021963948964504cee0R177 could probably be moved into a chef_authn function that provides a nice API).
Overall I think we do eventually need a better endpoint than principals (principals is fine, it just doesn't really do what we need), but I'd prefer to put some thought into that rather than push it through quickly.

Plan of record:

[ ] @manderson26 is going to merge some updates required to get us on the latest and greatest pedant.
[ ] Merges the first commit of this via another PRC
[ ] Investigate whether there is benefit in pulling this out into a library function for use in other add-ons.

I've been looking at reporting and while it uses the principals endpoint for the same purpose, it's HTTP client implementation is a bit different as it includes a caching layer.

After all that review, there's nothing major here. This looks good. Nice!

:+1: Looks good, there's some tech debt here I need to clean up later, but that shouldn't be a blocker.

@sdelano @manderson26 Almighty, I addressed the code review comments.  I also backed out some of the changes I made where I converted functions to return error tuples rather than throw them.  The changes were unnecessary cruft from an initial refactoring idea and they were not playing nicely with dialyzer.
I turned off dialyzer's -Wunderspec.  After spending too much time trying to get it to work, I got it down to the following warnings:
pushy_principal.erl:43: Type specification pushy_principal:request_principals(OrgName::binary(),Requestor::binary()) -> [#pushy_principal{}] is a supertype of the success typing: pushy_principal:request_principals(binary(),binary()) -> [#pushy_principal{requestor_id::'undefined' | binary(),requestor_type::'client' | 'undefined' | 'user',requestor_key::'undefined' | binary()},...]
pushy_principal.erl:56: Type specification pushy_principal:parse_principal_response(#chef_api_response{} | {'error',any()}) -> [#pushy_principal{}] | {'error',any()} is a supertype of the success typing: pushy_principal:parse_principal_response({'error',_} | #chef_api_response{response_api_version::'undefined' | integer(),response_code::'undefined' | string(),response_body::'undefined' | {maybe_improper_list()},response_headers::'undefined' | [any()]}) -> [#pushy_principal{requestor_id::'undefined' | binary(),requestor_type::'client' | 'undefined' | 'user',requestor_key::'undefined' | binary()},...] | {'error',_}

I think I could probably resolve this by putting 'undefined' in the type specs for the record definition and maybe a few other places; but since we have this off in our other erlang projects I figured I would just turn off the warnings here too.

CI failed for this on RHEL7 but the failure looks unrelated: http://wilson.ci.chef.co/job/opscode-push-jobs-server-test/342/
@manderson26 any thoughts there?  Otherwise this is ready to merge.


getting empty file by Running "feature_extraction_global.py" to extract the global concepts.

getting empty files by Running "feature_extraction_global.py" to extract the global concepts.
The resultant files contains only column names like; ,target,name

Hi Muhammad, thanks for reaching out to me.
Can you provide more details about your setup? Have you executed the 'Netdissect' approach before executing the code? This step guarantees that the setup is correct.
If you have already executed it, can you check your dataset directory and the settings on the 'settings.py' file?

Actually the below code is returning empty lists of activations_sum, activations_max, activations_avg:
### Function to extract values from the model for each image
activations_sum=[]
activations_max=[]
activations_avg=[]
def hook_fn(m, i, o):
unit_sum={}
unit_max={}
unit_avg={}
for grad in o:
try:
for i,j in enumerate(grad):
##sum of all values in the activation map
unit_sum[i+1]=j.sum().item()
##max
unit_max[i+1]=j.max().item()
##avg
unit_avg[i+1]=j.mean().item()
activations_sum.append(unit_sum)
activations_max.append(unit_max)
activations_avg.append(unit_avg)
except AttributeError:
print ("None found for Gradient")
Layer that I'm going to use. After all, try to get all layers
layer = model._modules['layer4']
layer.register_forward_hook(hook_fn)


QVariant missing

Trying to utilize QtCore.QVariant yields this error and hangs Python:
AttributeError: module 'Qt.QtCore' has no attribute 'QVariant'
Replacing import statement with PyQt5 instead of Qt allows the code to function.
OS: Win7 64bit
Python version: 3.6.1
PyQt5 is installed, not PySide2

Thanks @Fondor1, unfortunately QVariant isn't part of PySide 1 or 2 and will not be included with Qt.py.
See here for details and workaround.

https://wiki.qt.io/Differences_Between_PySide_and_PyQt#PySide_only_supports_PyQt.27s_.22API_2.22_.28PSEP_101.29


fix: Enforce 64-bit version of mesa-va-drivers-freeworld

Potentially solves an issue where, when rpmfusion is out of date, this will install the 32-bit version of the package and not fail as it should.
As a result, this PR should fail to build until the package is built upstream. We'd rather not update than update w/ broken builds.

Confirmed this fails to build, marking as ready for review as a result. This won't merge unless everything build successfully which is the intended behavior

FYI for @ublue-os/approver : please do not force merge this PR. It should only be merged once a full set of clean build checks can run.

FYI for @ublue-os/approver : please do not force merge this PR. It should only be merged once a full set of clean build checks can run.

And... in Discord Jorge, Kyle, Noel and I discussed further.  We wanted to avoid breaking builds with this PR, but, all builds are now broken due to upstream Fedora/RPMfusion package updates. So this seems a good time to merge as we won't break things worse, but should get a clean build once the dust settles. So this can now be force merged.


[HOLD for payment 2023-08-16] [$1000] mweb - Conversation - Login field is focused when sign out in offline mode

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login to NewDot
Disable the internet connection
Tap on a few chats in LHN
Tap Settings
Tap Sign out
Enable the internet connection

Expected Result:
When Login page appear the login field should not be focused (cursor should not be shown on the input field)
Actual Result:
The login field is focused (cursor is shown on the input field)
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.44-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/9fa08dc1-f26b-435c-bdd0-cb79856aaf67
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012346a785d1fce53c
Upwork Job ID:<PHONE_NUMBER>766251520
Last Price Increase: 2023-07-28
Automatic offers:

hoangzinh | Contributor | 25890078

Was able to recreate — getting eyes on this

Proposal
Please re-state the problem that we are trying to solve in this issue.
Login field is focused every time the login screen is reached.
What is the root cause of that problem?
The ref={input} attribute of the TextInput element on App/src/pages/signin/LoginForm.js.
What changes do you think we should make in order to solve the problem?
At first sight, if it doesn't affect another part of the application, just removing it will solve the problem.
https://github.com/Expensify/App/assets/10087643/34b964fc-333f-470a-aa33-3f359e56fb63

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~017244f379211cb72b

@thesahindia any thoughts on the proposal above?
Also, I'm heading OoO until 8/14, so reassigning BZ to keep an eye on this while I'm out 👍

@thesahindia bump on the checklist above ^^^

Payment has been made to @hoangzinh and contract completed in UpWork!
Bump @thesahindia on the checklist above so we can close this out 👍

Regression test has been linked above, so this can be closed! Thanks all1

Reviewed the details for @thesahindia. $1,500 approved for payment (equivalent to C) based on BZ summary above.


Email notification integration support

Is your feature request related to a problem? Please describe.
We are trying to implement notification integration within Terraform on snowflake. Although snowflake allows EMAIL type notifications we cannot implement it here.
Describe the solution you'd like
Implementation to support EMAIL type notification integration
Describe alternatives you've considered
Creating the notification manually when deploying new environments.
Additional context
Add any other context or screenshots about the feature request here.

If people find this in the future here is the resource: https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/email_notification_integration

Closing because #1720 was merged.


Switch from Warp to Rocket

Switch from Warp to Rocket as the web server library for the following reasons:

Warp lengthens the compilation times due to heavy use of generics.
The heavy overloaded use of filter functions makes the code difficult to write/modify if you're not familiar with the API.
Rocket has recently became compilable on stable Rust.
Rocket denies REST tree traversal by default.

Rocket doesn't support async yet, maybe it's better to wait.

All of the points are covered by the recent move to from warp to hyper, so I think it's fine to close this.


Changes for LessOrEqual operator

This PR implements LessOrEqual operator, and fixes issue #722.

Ref and GPU are implemented.
Compilation and tests pass.

100% tests passed, 0 tests failed out of 282

It might be easier to implement it as y = not(greater(x))

Actually, it could be implemented as not(less(y, x)) by just flipping the inputs.

Closed this branch as the changes here are unnecessary. Working on another branch.


[WIP] Serialize widget chart content to yaml before saving to miq_widget_contents

Previously, MiqWidgetContents#contents would contain YAML-encoded data in the db
---
:data:
- !ruby/array:ReportFormatter::JqplotSeries
  internal:
  - 72
...

now it gets saved as {:data=>[[72, 61, 53, 40, 23, 19, 17, 15, 11, 9, 99]], :options=>..., which is wrong.
This PR restores the previous (YAML) behaviour..

WIP until I can figure out ziya, and tests..
@miq-bot add_label wip

@vojtechszocs - this should fix your problems.. (might need to regenerate the widget first)

@himdel is this a bug that we need a BZ for?

@dclarizio probably could use one, yeah..

@miq-bot remove_label wip

This only affects jqplot, so no BZ..

Needs some tests..
@miq-bot add_label wip

@martinpovolny can you review please? Should be ready except for some tests..

@himdel : code looks good. I'll test this in UI once you add a spec or two ;-)

@miq-bot remove_label wip

@martinpovolny added three :)

All ok, waiting for travis, the merge.


IndexError in get_recent_tracks when now_playing=True

What did you do?
Called get_recent_tracks on the current pylast user, with now_playing set to True and a track currently playing.
What did you expect to happen?
The returned history should include the requested number of tracks, including the currently playing one at the top.
What actually happened?
Received IndexError: list index out of range in _extract_played_track line 2211.
What versions are you using?

OS: Windows 10 x64
Python: 3.10
pylast: 5.1.0

Please include code that reproduces the issue.
import pylast

last = pylast.LastFMNetwork(API_KEY, API_SECRET, USER_TOKEN, USER_NAME)
for track in last.get_authenticated_user().get_recent_tracks(now_playing=True):
    print(track)

Traceback (most recent call last):
  File "X:\project-root\scratch.py", line 9, in <module>
    for track in last.get_authenticated_user().get_recent_tracks(now_playing=True):
  File "X:\project-root\venv\lib\site-packages\pylast\__init__.py", line 2359, in get_recent_tracks
    return _get_recent_tracks() if stream else list(_get_recent_tracks())
  File "X:\project-root\venv\lib\site-packages\pylast\__init__.py", line 2356, in _get_recent_tracks
    yield self._extract_played_track(track_node=track_node)
  File "X:\project-root\venv\lib\site-packages\pylast\__init__.py", line 2211, in _extract_played_track
    timestamp = track_node.getElementsByTagName("date")[0].getAttribute("uts")
IndexError: list index out of range

Note that the code behaves as expected when now_playing=False or when the user is not currently playing something.  I searched the issues and found #33 which seems to match this, but it's a very old issue.

My current workaround is to fetch the now playing independently and add it manually.
now_playing = last.get_authenticated_user().get_now_playing()
history = [now_playing] if now_playing is not None else []
history.extend(map(lambda e: e.track, last.get_authenticated_user().get_recent_tracks(stream=True)))

for track in history:
    print(track)

This looks like a Last.fm bug.
It's falling over on timestamp = track_node.getElementsByTagName("date")[0].getAttribute("uts"):
    def _extract_played_track(self, track_node):
        title = _extract(track_node, "name")
        print(title)
        track_artist = _extract(track_node, "artist")
        date = _extract(track_node, "date")
        album = _extract(track_node, "album")
        timestamp = track_node.getElementsByTagName("date")[0].getAttribute("uts")
        return PlayedTrack(
            Track(track_artist, title, self.network), album, date, timestamp
        )

Because there is no "date" element for the now playing track.
For example, looking at the API response for https://www.last.fm/user/bbc6music's nowplaying:
https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=bbc6music&api_key=TODO
<lfm status="ok">
  <recenttracks user="bbc6music" page="1" perPage="50" totalPages="28322" total="1416084">
    <track nowplaying="true">
      <artist mbid="b614843c-bec3-421f-9af1-03169cdd4b63">Quasimoto</artist>
      <name>Come On Feet</name>
      <streamable>0</streamable>
      <mbid>066c08c8-4c1c-4770-8d59-41bdd365fe64</mbid>
      <album mbid=""/>
      <url>https://www.last.fm/music/Quasimoto/_/Come+On+Feet</url>
      <image size="small"/>
      <image size="medium"/>
      <image size="large"/>
      <image size="extralarge"/>
    </track>
    <track>
      <artist mbid="b614843c-bec3-421f-9af1-03169cdd4b63">Quasimoto</artist>
      <name>Come On Feet</name>
      <streamable>0</streamable>
      <mbid>066c08c8-4c1c-4770-8d59-41bdd365fe64</mbid>
      <album mbid=""/>
      <url>https://www.last.fm/music/Quasimoto/_/Come+On+Feet</url>
      <image size="small"/>
      <image size="medium"/>
      <image size="large"/>
      <image size="extralarge"/>
      <date uts="1673005448">06 Jan 2023, 11:44</date>
    </track>
    <track>
      <artist mbid="">Nate Brazier</artist>
      <name>Patterns</name>
      <streamable>0</streamable>
      <mbid/>
      <album mbid=""/>
      <url>https://www.last.fm/music/Nate+Brazier/_/Patterns</url>
      <image size="small"/>
      <image size="medium"/>
      <image size="large"/>
      <image size="extralarge"/>
      <date uts="1673005249">06 Jan 2023, 11:40</date>
    </track>

That first track is the now playing one: <track nowplaying="true">
But it has no <date ...>.
The others, which are scrobbled tracks, do:
<date uts="1673005448">06 Jan 2023, 11:44</date>
...
<date uts="1673005249">06 Jan 2023, 11:40</date>

This looks like a bug on the Last.fm side.
And the API documentation page for user.getRecentTracks does show a <date> for the nowplaying track:
<recenttracks user="RJ" page="1" perPage="10" totalPages="3019">
  <track nowplaying="true">
    <artist mbid="2f9ecbed-27be-40e6-abca-6de49d50299e">Aretha Franklin</artist>
    <name>Sisters Are Doing It For Themselves</name>
    <mbid/>
    <album mbid=""/>
    <url>www.last.fm/music/Aretha+Franklin/_/Sisters+Are+Doing+It+For+Themselves</url>
    <date uts="1213031819">9 Jun 2008, 17:16</date>
    <streamable>1</streamable>
  </track>
  ...
</recenttracks>

I've reported it to Last.fm: https://support.last.fm/t/regression-date-missing-from-nowplaying-in-user-getrecenttracks/69875?u=hvk


Effect called twice

Hello
I'm writing a simple login component using ngrx, and the effect that controls de the remote call got called twice when the Action is dispatched.
I didn't subscribed to the effect as another issue mentioned.
I'm using Angular 2 Final and ngrx/effects 2.0.0.
Thanks in advance for your help.

I have the same behaviour when I am registering the effects in different modules.
ie:
Module A import EffectsModule.run(AEffects),
Module B import EffectsModule.run(BEffects), and Module A

Than I have my Effect played twice... To circumvent the issue I am only using the EffectsModule.run(...) in Module Main.

Thanks Bretto, you are right, I was declaring the effects in 2 modules the AppModule and the StoreModule that was imported into the AppModule.
Problem solved.


proper configuration of access-groups via keycloak

Dear Folks,
Thanks again for this great tool. I really enjoy working with shinyproxy.
I've got a setup where the authentication runs via keycloak, but I had no luck so far to define the access-groups with group memberships that should come from keycloak. I'm new to use keycloack based authentication. It might be that I do not fully understand how it works. Is it possible to specfiy access-groups while using only keycloak or do I have to use OIDC for that? I want to realize an access restriction per app based on group membership. The authentication already works, but if I set a group restriction, the app vanishes.
Any hint is much appreciated.
Best

Hi Panoptikum,
Keycloak groups you can use just to group deiifernt users at your Keycloak. But to use Keycloak to define Shinyproxy access rights (groups) you need roles. For your realm define role for client which you create for shinyproxy.  That role you give to users (or to Keycloak group for easier user mgm). That role name will appear in Shinyproxy as access-group but also as enviroment variable SHINYPROXY_USERGROUPS but you have to add to application.yml file in Keycloak section 'use-resource-role-mappings: true' (so you can also use it from your R application).
There is some more details about Keycloak and Shinyproxy but only if you need closer connection so that you need more info from Keycloak from your R apps...

Hi Dusan,
I'm not sure whether I have understood you correctly. We have several groups/teams in our company like:
Team A
Team B
Team C
...
Team Z
There is already a claim for this in our identity management. Then I will have several apps like:
App 1
App 2
...
App 10
Now I want for example the following access rights:
App 1: Team A, Team B
App 10: Team C, Team F, Team Z
If I only define one role to which I add users then I can only grant access to shinyproxy in general but not on a per-app basis. Is that correct or am I missing something?

For your case, you need to create one client role per app. And then to assign that role to teams.
Client role eg. role_app_1, role_app_2....
And for groups Team A and Team B assign role_app_1
And in application.yml for App 1 put:
access-groups: [role_app_1]
I think that would be your setup and later with joining or removing users from group (Team X) in Keycloak you can control access to apps in Shinyproxy.

This is not an option for me as I do not want to maintain such roles in coexistence with our existing groups that are widely used across the comapny. I'm now using OIDC directly where I can use the already existing claim that returns me an array with all group memberships. It seems to work well. I'm new to the world of authorization providers, but as I understand keycloak is based on top of OIDC. In my case this eventually means the user experience is no different to keycloak.


Missing documentation for Zend\View\Helper\HtmlTag

The view helper "HtmlTag" needs some explanations and code examples.
https://github.com/zendframework/zend-view/blob/master/src/Helper/HtmlTag.php

This issue has been moved to the zend-view  repository.


canRelayFailed.find is not a function

Can relay object looks like this:
{ name: 'CanRelayFailed',
events:
[ { name: 'relay',
type: 'address',
value: '0x62a96edc3af17b1dd168b53c9e2ec947dae5c9ff' },
{ name: 'from',
type: 'address',
value: '0xc6e831aa742f78bbd7c8f13d8810b0140607facf' },
{ name: 'to',
type: 'address',
value: '0xf49f5f2458f27b3e52d0755bfac623877b1fc3f5' },
{ name: 'selector', type: 'bytes4', value: '0x9e80c074' },
{ name: 'reason', type: 'uint256', value: '2' } ],
address: '0xd216153c06e857cd7f72665e0af1d7d82172f494' }
The iterable array is "events"

Great catch! Indeed, canRelayFailed was created by filtering for name == 'canRelayFailed' on line 53.
Could you look into adding a test to catch this? Thanks a lot!

Have a look now.

Neat! It'd be great if we had a simpler way of generating a receipt, but this will do for now. Thanks a lot!


Can't open VSCode from command line with --extensions-dir flag

VSCode Version: 1.25.1
OS Version: Windows 10

In command prompt when I enter code it opens VSCode, but if I add the --extensions-dir flag it does not open VSCode. I experience the same behavior when I add the property to the VSCode stortcut.
I am attempting to change the extensions folder location.
Steps to Reproduce:

Open command prompt
Enter code --extensions-dir C:\My\Path\.vscode\extensions

@Grehgous Do you see any errors when you use extension-dir flag?


bug.yml: update issue template

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

See https://github.com/Homebrew/homebrew-core/pull/75049, https://github.com/Homebrew/homebrew-core/pull/75088.

Review period will end on 2021-04-14 at 12:08:14 UTC.

Makes sense, thanks @carlocab!

Review period skipped due to critical label.


运行时报错，求解决

1.-weak_library and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
2.error: cannot parse the debug map for "/Users/apple/Library/Developer/Xcode/DerivedData/Yep-gouotshhrmygmlfbwvfancwfrsyn/Build/Products/Debug-iphoneos/Yep.app/Yep": No such file or directory

Use develop branch


Multiple options can't copy files to the same directory.

Installer.files() returns a dictionary of of destination/source key-pairs, this makes it impossible to have multiple options copy files to the same directory seeing as there can only be one key-pair per destination.
A fix could be using a list of tuples instead.

Installer.files() should return a mapping of source -> destination - but I'm not seeing the use case for this. The entire point of that was to do the priority "math" for the end-user so they wouldn't need to worry about them.
The only point I can think of would be in targeting the same folder but pyfomod handles only files.

I see, I was under the impression that the Installer was supposed to function with any fomod file. Copying entire directories is a common practice. This might have been out of line.

the Installer was supposed to function with any fomod file

It does, but I realize that my statement above may be misinterpreted - I meant the files() method should only return a map of file source -> file dest, such that any folder sources have been "broken down" into the files within. See here. The point is so that users don't have to worry about what has priority over what and whether something is a folder or not, pyfomod handles all that and returns only files.
So if you specify a example_dir/ folder source that contains example_dir/example1.png and example_dir/example2.txt to a boop destination you should get a map like:
{
  "example_dir/example1.png": "boop/example1.png",
  "example_dir/example2.txt": "boop/example2.txt"
}

Did you actually find a bug or was this from reading the docs?

I see, I was not having this outcome when testing the library so I assumed it didn't do this. I will further investigate what could have caused it to fail earlier.

Sure, leave some feedback with an example!

This was an error on my part, I was under the impression that the path argument passed to the Installer was supposed to be the output directory and not the fomod root directory.
I was running into the error TypeError: unsupported operand type(s) for /: 'str' and 'str' when only providing the root path to the installer, not knowing it needed to be of type Path and didn't think it was logical to have to provide the root path twice.
Might I suggest changing this to
if isinstance(root, Path) and path is None:
    self.path = root
elif isinstance(root, str) and path is None:
    self.path = Path(root)

in order to allow for string root paths.

Ah, finally, a bug! :D Fixing it right now.

Fixed in 3f6d6b58daac1864d31594bc12284100fa7a8903


Replace channel filter settings warning with info

Partially addresses #12643, i.e. this PR replaces the warnings with an info message only for EDF/BDF. The other two issues described in #12643 could be addressed in a separate PR, because I think this is the most urgent one.

Closing in favor of #12661.


Packaging and distribution

I noticed that this extension is not packaged and distributed on VS Code's marketplace and wanted to ask two questions.

Are there any plans to set this up?
Do you need/want help setting this up?

I'd be happy to contribute.
Cheers.

I wanted to set this up but was reluctant to give microsoft my birthdate, but I guess I could get past that now, also a bit concerned it would open up the floodgates and I would get a deluge of issues ...

I see your point.
Even if you choose not to publish your extension to VS Code's marketplace, we may do the following.

Package the extension as a VSIX package, ready to be installed manually into VS Code. The VSIX could be distributed through GitHub releases.

We could publish the extension on the Open VSX Registry.

Please let me know if and how you'd like to proceed.

yeah, that sounds like a good option :+1: at least starting with a github release

I created an issue to host the vscode extension on nixpkgs, they already package vim/emacs plugins
https://github.com/NixOS/nixpkgs/issues/189095

I've updated the build to auto publish the phpactor.vsix extension file https://github.com/phpactor/vscode-phpactor/releases/latest
@nhedger what benefit is there to publishing it on the Open VSX registry? what editors use that (not sure why i'd need to sign an Eclipse agreement to register)

Requesting plugin at least on Open VSX

Hi. Are you considering publishing this extension to the marketplace now? I am the maintainer of vscode-php-debug and vscode-php-intellisense. I really like how the Phpactors LSP backend is designed and how feature rich it is. I think a lot of people would benefit if it got exposed more.
I'm using VSCode and one important aspect of publishing it on the Marketplace is the integration with VSCode Remote Containers. The setup of the container is able to install extensions - if they are on the Marketplace.
Let me know if you need any info about how the process looks like.
Also one comment: Interesting approach that the extension package doesn't contain the actual LSP code - but rather downloads it via composer. I know there are LSP extensions that do that (golang) but - at least me - I'd prefer that the extension would contain an exact version of the code bundled with it.... There are of course drawbacks.
Best and thank you.

I don't use VS code myself so this extension doesn't really get the attention it needs. The composer install method could/should now be changed to download the latest PHAR release. I'd be happy to have the extension published

Interesting! Composer does have some benefits - just today I did not realize my container was missing ext-pcntl and ext-posix - but then again I know where to look for so I found it quick :)
I'll try to look at what you are suggesting here when I have some time.
One peroblem might be the lack of Windows support. I need to check if a VSIX can be created that only works on certain platforms. I know there is some support for this.
Second there is a need to create a Marketplace publisher. I can assist with this, if you will let me know your Microsoft account and can then add you to it. We can coordinate about this separately.
The third step is to create a Devops Azure Personal Token and store that in GitHub and extend the GitHub Actions to automatically publish to Market place.
The same - but simpler - process can be done for OpenVSIX - I have my extensions on both markets.
Let me know what you think about this.

Great, can we co-ordinate on Symfony Slack or another platform?

Hey @isidorn ! I'm pulling you into this thread if you can give us some advice. I'm helping out Dan with publishing this extension to the Marketplace. There are two points where I'd be gratefull for some guidance.

Extension ID
Currently the extension is build with an ID of dantleech.vscode-phpactor and is distributed only as a VSIX. I suggested it be changed to phpactor.vscode-phpactor similarly to what we have done with php-debug.
Now, there are some people out there, that have this extension installed manually.  I was thinking of doing the following:

register publisher dantleech
publish current VSIX
register publisher phpactor
publish phpactor.vscode-phpactor
ask you to deprecate the old extension with link to the new one

Does this make sense? Would you recommend some other course of action?

Platform support
The PHP Language Server behind this extension (written in PHP) currently doesn't work on a win32 file system.
I know about platform specific extension publishing, but as I intend to get this fixed sooner than later, I have just disabled the extension with a warning message for now: https://github.com/phpactor/vscode-phpactor/commit/934d0311a22844e04878c252896267a08dfacba0

Do you have any suggestions here?
And as always, I hope you are doing great :)

This makes sense, but the id of each extension now need to be unique So Marketplace will probably prevent you from creating an extension called vscode-phpactor if there already is one. I suggest to use a slightly differnt ID, and as Display Name you can use whatever you want
VS Code is also dropping support for win32 as a platform. So I think we are good here https://code.visualstudio.com/docs/supporting/FAQ#_can-i-run-vs-code-on-older-windows-versions

Hey guys, thanks for providing this extension. I'm configuring a docker setup to develop our PHP projects and would like to add this extension. It's a headache to install the extension manually though. Is there any update on the market release?

Hi. I am just about to do the initial release under the new ID.

Good news everyone! https://marketplace.visualstudio.com/items?itemName=phpactor.vscode-phpactor
Please let me know if you have any issues.


Inconsistent and faulty use of service functions: DiagTrack, Diag WAPPush/CheckDMWService

Windows10Debloater.ps1/Protect-Privacy has  the disable  processing for DiagTrack service, but there is no equivalent for the dmwappushservice service shouldn’t it?
Windows10DebloaterGUI.ps1/Protect-Privacy has no DiagTrack or dmwappushservice disable processing – shouldn’t it have both?
Windows10DebloaterGUI.ps1/Revert-Changes has DiagTrack and dmwappushservice enable processing-which seems correct.
In the “Main” portion of Windows10Debloater.ps1 (i.e. lines 705+)
a.	The ‘Yes’ portion (lines 737+) has a DisableDiagTrack and DisableWapPush function (which you would expect), but the seem to be non-existent and if you set the $ErrorActionPreference = ‘stop’ just before this and then reset (if you want) just after this you will see the error that they do not exist.
b.	CheckDMWService (which does exist and starts the service) seems to be something you would want in ‘revert-changes’ not ‘protect-privacy’. (plus it would undo DisableWapPush if that existed).
c.	[Side Note]: in my version of this I have the start/stop (or enable/disable) service functions combined into one routine and just pass a true/false flag to one routine that does all four functions (enable/disable for both services).  You seem to have a new InstallService so maybe that can be handled by that too.
d.	[Side Note]: Since the Yes/No portion of the Everythingorspecific Debloat prompt (lines 731 to 800) does the same processing except for DebloatAll vs DebloatBlacklist and Remove3DObjects (why doesn’t DebloatBlacklist have this?) why not put the common processing after the yes/no processing to declutter the code.
e.	[Side Note]: Since you have a lot of Write-Host messages and Start-Sleep whny not put these within the functions and declutter the code-your functions names are well described enough to know what they do.
[Side Note]: If the functions in Windows10Debloater.ps1 were put in a separate file that the GUI version could access then there would be no way to be out-of-sync with each other- I know, ‘cause I have a working version just that way--the GUI script is minimal and way easier to maintain.

+1
Additionally leverage PSSCriptAnalyzer to detect these issues early.
You have a ton of trailing white spaces within the code, can be replaced with this regex [ \t]+$


Unable to build with Xcode 15.3

Description

Reproducing the issue
No response
Firebase SDK Version
10.22.1
Xcode Version
15.3
Installation Method
Swift Package Manager
Firebase Product(s)
Analytics, Authentication, Crashlytics, Database, Firestore, Messaging
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

{
  "pins" : [
    {
      "identity" : "abseil-cpp-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/abseil-cpp-binary.git",
      "state" : {
        "revision" : "df308b8b46607675f2b9ec8e569109008f9155ce",
        "version" : "1.2022062300.1"
      }
    },
    {
      "identity" : "app-check",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/app-check.git",
      "state" : {
        "revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
        "version" : "10.18.1"
      }
    },
    {
      "identity" : "facebook-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/facebook/facebook-ios-sdk",
      "state" : {
        "revision" : "c19607d535864533523d1f437c84035e5fb101cf",
        "version" : "14.1.0"
      }
    },
    {
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk.git",
      "state" : {
        "revision" : "be49849dcba96f2b5ee550d4eceb2c0fa27dade4",
        "version" : "10.22.1"
      }
    },
    {
      "identity" : "googleappmeasurement",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleAppMeasurement.git",
      "state" : {
        "revision" : "482cfa4e5880f0a29f66ecfd60c5a62af28bd1f0",
        "version" : "10.22.1"
      }
    },
    {
      "identity" : "googledatatransport",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleDataTransport.git",
      "state" : {
        "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565",
        "version" : "9.4.0"
      }
    },
    {
      "identity" : "googleutilities",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleUtilities.git",
      "state" : {
        "revision" : "26c898aed8bed13b8a63057ee26500abbbcb8d55",
        "version" : "7.13.1"
      }
    },
    {
      "identity" : "grpc-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/grpc-binary.git",
      "state" : {
        "revision" : "ea4cb5cc0c39c732b85386263116d2e2fdbbdc61",
        "version" : "1.49.2"
      }
    },
    {
      "identity" : "gtm-session-fetcher",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/gtm-session-fetcher.git",
      "state" : {
        "revision" : "76135c9f4e1ac85459d5fec61b6f76ac47ab3a4c",
        "version" : "3.3.1"
      }
    },
    {
      "identity" : "interop-ios-for-google-sdks",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
      "state" : {
        "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
        "version" : "100.0.0"
      }
    },
    {
      "identity" : "leveldb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/leveldb.git",
      "state" : {
        "revision" : "43aaef65e0c665daadf848761d560e446d350d3d",
        "version" : "1.22.4"
      }
    },
    {
      "identity" : "nanopb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/nanopb.git",
      "state" : {
        "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
        "version" : "2.30910.0"
      }
    },
    {
      "identity" : "promises",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/promises.git",
      "state" : {
        "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
        "version" : "2.4.0"
      }
    },
    {
      "identity" : "swift-protobuf",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-protobuf.git",
      "state" : {
        "revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8",
        "version" : "1.25.2"
      }
    }
  ],
  "version" : 2
}

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

We're not able to reproduce. Please share a reproducible example.

I have similar issues. But my side project build is okay. But while app installing the physical device or simulator, it was throw error and can not be installed. I solved issue by downgrading the XCode 15.3 to 15.2
Firebase SDK Version
10.22.1
Xcode Version
15.3
I also open a ticket to Apple, they said this should be Firebase issue. Here are some logs may be can help you.
Domain: IXUserPresentableErrorDomain Code: 1 Recovery Suggestion: Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX/Frameworks/UserMessagingPlatform.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist: No such file or directory User Info: { IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker; } -- Failed to install the app on the device. Domain: com.apple.dt.CoreDeviceError Code: 3002 User Info: { NSURL = "file:///*/Library/Developer/Xcode/DerivedData/XXXX-cajfftopzjlzkhagllbipqxaketp/Build/Products/Debug-iphoneos/XXXX.app/"; } -- “XXXX” Yüklenemiyor Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Lütfen daha sonra yeniden deneyin. Recovery Suggestion: Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist: No such file or directory -- Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.xq7ygO/extracted/Payload/XXXX.app/Frameworks/UserMessagingPlatform.framework/Info.plist: No such file or directory Domain: MIInstallerErrorDomain Code: 35 User Info: { FunctionName = "-[MIBundle _validateWithError:]"; LegacyErrorString = PackageInspectionFailed; SourceFileLine = 64; } -- Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : { "device_isCoreDevice" = 1; "device_model" = "iPhone12,1"; "device_osBuild" = "17.3.1 (21D61)"; "device_platform" = "com.apple.platform.iphoneos"; "dvt_coredevice_version" = "355.24"; "dvt_mobiledevice_version" = "1643.100.58"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 4770; "operation_errorCode" = 1; "operation_errorDomain" = IXUserPresentableErrorDomain; "operation_errorWorker" = IDEInstallCoreDeviceWorker; "operation_name" = IDERunOperationWorkerGroup; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_checker_tpc_enable" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 0; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 99; "param_launcher_substyle" = 8192; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_structuredConsoleMode" = 1; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos17.4"; "sdk_osVersion" = "17.4"; "sdk_variant" = iphoneos; } --

I have same issue with @Twinsens
M2 Macbook Air, Xcode 15.3, Firebase 10.22.1, iPhone 11 Pro(17.4)
But, Works fine on iPhoneX(16.5)

I deleted all the libraries I added and added them again. My problem is solved. Thanks.


2015-07-15 JavaScript Media

I'm pretty excited about the prospect of a set of JS talks that focus on some of the more creative aspects of the web (mostly because I rarely get to do it).
Date
Wednesday 15th July 2015, 7:30pm
Speakers
TBA, @benfoxall mentioned that Solé might be keen, which would be awesome based on her previous talks.
It would also be great to get at least one more local speaker, perhaps to talk about JavaScript games, web audio, d3, canvas, animation, or something like that.
Core actions

[ ] Confirm sponsorship for snacks/drinks (@spikeheap)
[ ] Confirm availability of White October (@benfoxall)
[ ] Organise speakers

Event organisation

[ ] Ensure someone has carried out the actions above
[ ] Add to MeetUp.com (just prior to preceding event)
[ ] Announce event

Meetup.com draft event: http://www.meetup.com/JSOxford/events/221686899/

Hey @benfoxall, how's it going with this? Any chance we could announce this event this evening?

Sure - let's announce.  Coming back to this, I'm even less sure about "media" title part.  Though everything else works

"Creative JavaScript"?

Yeah! Something along those lines would be cooler.


Add trait for count down times that allow reading out elapsed time

Concrete suggestion to resolve https://github.com/rust-embedded/embedded-hal/issues/186.
I'd prefer Elapsed::elapsed to be infallible, but that is probably against the tide of the times :)
We use pretty much this implementation in https://github.com/lpc55/lpc55-hal/blob/5c70be5f73da2a6e1330aefc82a53f6cd3ddc7d6/src/drivers/timer.rs#L43-L48; looking at various STM32 and the nRF HAL this seems very implementable.
Of course this is infinitely bike-sheddable (remaining? now? etc...), it would be a pity not to have a standardized way of reading out a timer if embedded HAL is headed for a 1.0.
Perhaps Elapsed would pair better with a CountUp timer, and Remaining with a CountDown timer?
The trait is "add on" on purpose, the goal being to have a simple upstream trait to bound on (perhaps bounding Self::Time on some embedded-time type) in drivers and portable firmware. The Timer type (!) from embeded-time seems too heavy-weight with its generic parameters, and rtic-monotonic has additional requirements.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ryankurte (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Looks good to me. I can imagine elapsed() implementations returning an error if the timer was canceled in the mean time, for example.
Maybe some more documentation about this could be added.


Sorting nested objects

Hi,
I am trying to search the model Person and sorting the result by score, then by person.addresses.row_order using the following query:
$persons = Person::search();
$persons->should()
    ->match('full_name', $this->keyword);
$persons
    ->sortBy('_score', 'asc')
    ->sortBy('addresses.row_order', 'desc');
return $persons->get()->hits();

The query returns the searched result but adresses are not sorted as specified. Am I doing it wrong?
Any hint would be really appreciated.

hello @warrio4, please try to get the DSL query as follow $persons->toDSL() and check if it's the intended query.
Please open another issue if you find any problem with the generated query.


[FLINK-10869] [build] Update S3 tests to reference new access key environment variables.

What is the purpose of the change
This updates the S3 credentials used for Integration Tests that interact with S3.
The S3 bucket and account were provided by data Artisans and our permission setup was changed to a cleaner and more isolated model.
Verifying this change
Not possible on the pull request. Only the mast branch builds have access to the environment variables with S3 credentials, to prevent leaking the credentials.
After merging, we have to check that the tests still execute the S3 integration tests and do not skip them.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: yes

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Does it mean that those tests will always fail on user's travis(unless they setup AWS credentials)?
If so I think we should at least skip those tests if credentials are not provided?

btw, for verifying this change we can push it to a separate branch in the apache repo.

Thanks for the reviews.
The migration of credentials is not yet complete. End-to-end tests are missing and the Yarn ITCase as well.
The old credentials still work, will be phased out once we migrated everything.
+1 to adding a test utility to capture access to the env variables and the path construction.
Will add a commit here that refactors that.

Manually merged


mrb_funcall hitting error "too much recursion" on Emscripten build

I have a simple C program that does this:
// Engine struct used for all engine data
typedef struct {
    SDL_Window* window;
    SDL_Renderer* renderer;
    mrb_state* mrb;
} Engine;

static void mainloop(void* arg) {
    Engine* engine = (Engine*)arg;

    mrb_value r_engine = *(mrb_value*)mrb_class_get(engine->mrb, "Engine");
    mrb_funcall(engine->mrb, *(mrb_value*)engine->mrb->kernel_module, "puts", 1, r_engine);

    SDL_SetRenderDrawColor(engine->renderer, 255, 0, 0, 255);
    SDL_RenderClear(engine->renderer);
    SDL_RenderPresent(engine->renderer);
}

This is called by an Emscripten method further down that basically runs the JS function requestAnimationFrame so it attempts to run mainloop several times a second. Here's that code:
#ifdef __EMSCRIPTEN__
emscripten_set_main_loop_arg(mainloop, &engine, 0, 1);
#endif

However, when this code is compiled and run in Firefox, the function will print about 20 times and then throw a recursion error:

I'm not familiar with how compilers work. What could be the cause here?

I don't know much about emscripten so I could be wrong.
Would it work better to change the stack size by adding something like linker.flags << “-sSTACK_SIZE=262144” in your build configuration file?
https://emscripten.org/docs/tools_reference/settings_reference.html#stack-size
If it doesn't work, I would suggest checking for an infinite loop somewhere.


[MySQL] Crash.

I am not sure.
MySQL R39-6. Win and Linux.
I am just testing mode with mysql and I have dynamic IP.
When mode is running and my IP(dynamic) changes, server crashes. Also my DB has restriction by IP and it can't connect to DB due to IP changed(maybe it's related somehow), but server crashes(not sure). Check.
Autoconnect is true.
Functions: mysql_connect, mysql_close, mysql_tquery, mysql_escape_string, cache_get_row_count, cache_get_field_content, cache_get_field_content_int, cache_affected_rows.
Logs:
the same 6 messages: [19:12:14 06/27/17] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'userblabla'@'IP Here' (using password: YES)
After nothing, crashed.

I'm getting a similar bug with the MySQL plugin too. (It seems to only happen on the Windows server)

[17:14:57] [debug] Server crashed due to an unknown error
[17:14:57] [debug] Native backtrace:
[17:14:57] [debug] #0 004016eb in ?? () from samp-server.exe
[17:14:57] [debug] #1 544c6cc9 in ?? () from plugins\mysql.DLL
[17:14:57] [debug] #2 544c9712 in ?? () from plugins\mysql.DLL
[17:14:57] [debug] #3 544adb57 in ?? () from plugins\mysql.DLL
[17:14:57] [debug] #4 544aecf4 in ?? () from plugins\mysql.DLL
[17:14:57] [debug] #5 544af47e in ?? () from plugins\mysql.DLL
[17:14:57] [debug] #6 00469a66 in ?? () from samp-server.exe
[17:14:57] [debug] #7 0048d4db in ?? () from samp-server.exe
[17:14:57] [debug] #8 0049b4a1 in ?? () from samp-server.exe
[17:14:57] [debug] #9 0049b4b1 in ?? () from samp-server.exe
[17:14:57] [debug] Registers:
[17:14:57] [debug] EAX: 038ca6c0 EBX: 00740ab4 ECX: 038de020 EDX: 00000008
[17:14:57] [debug] ESI: 000000a8 EDI: ffffd8bf EBP: 0049b4a1 ESP: 0019fe98
[17:14:57] [debug] EIP: 0049b4b1 EFLAGS: 00010246
[17:14:57] [debug] Stack:
[17:14:57] [debug] ESP+00000000: 004ab4a0 0019ff70 004ab0e1 ffffffff
[17:14:57] [debug] ESP+00000020: 00000094 00000006 00000002 000023f0
[17:14:57] [debug] ESP+00000040: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+00000060: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+00000080: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+000000a0: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+000000c0: 00000000 00000000 c0000005 00000000
[17:14:57] [debug] ESP+000000e0: 004ba530 00000000 0019ff94 75b462c4
[17:14:57] [debug] ESP+00000100: 77000fd9 0033b000 3034b5fa 00000000
[17:14:57] [debug] ESP+00000120: 00000000 00000000 3034b5fa 0019ffa0
[17:14:57] [debug] ESP+00000140: 00000000 0019ffec 77000fa4 ffffffff
[17:14:57] [debug] ESP+00000160: 0033b000 00000000 78746341 00000020
[17:14:57] [debug] ESP+00000180: 00000020 00000000 00000014 00000001
[17:14:57] [debug] ESP+000001a0: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+000001c0: 00000044 000002e0 00000254 00000000
[17:14:57] [debug] ESP+000001e0: 00000336 00000000 2d59495b 000008b8
[17:14:57] [debug] ESP+00000200: 32ceeacd 00000be8 00000042 00000c2c
[17:14:57] [debug] ESP+00000220: 0000005e 00000fbc 00000356 00000000
[17:14:57] [debug] ESP+00000240: 00000392 00000010 00000009 000000ec
[17:14:57] [debug] ESP+00000260: 00000001 00000002 00001738 000007a0
[17:14:57] [debug] ESP+00000280: 00000001 00000004 00002d64 00000314
[17:14:57] [debug] ESP+000002a0: 00000002 00000006 00003110 000000cc
[17:14:57] [debug] ESP+000002c0: 00000001 00000009 000032cc 00000028
[17:14:57] [debug] ESP+000002e0: 00000001 64487353 0000002c 00000001
[17:14:57] [debug] ESP+00000300: 00000001 00001584 0000002c 0000005e
[17:14:57] [debug] ESP+00000320: 00000000 00000000 00000000 00000000
[17:14:57] [debug] ESP+00000340: 00000038 00000000 003a0043 0057005c
[17:14:57] [debug] ESP+00000360: 006e0069 00780053 005c0073 00000000
[17:14:57] [debug] ESP+00000380: 00000254 00000001 f33271ba 000003b8
[17:14:57] [debug] ESP+000003a0: 2d59495b 0000073c 00000032 00000770
[17:14:57] [debug] ESP+000003c0: 00000042 00000ab0 00000330 00000004
[17:14:57] [debug] ESP+000003e0: 00000356 00000005 b1280544 00001198
[17:14:57] [debug] Loaded modules:
[17:14:57] [debug] 00400000 - 00519000 samp-server.exe
[17:14:57] [debug] 76fa0000 - 77123000 ntdll.dll
[17:14:57] [debug] 75b30000 - 75c10000 KERNEL32.DLL
[17:14:57] [debug] 75d90000 - 75f31000 KERNELBASE.dll
[17:14:57] [debug] 74690000 - 75a68000 SHELL32.dll
[17:14:57] [debug] 76730000 - 767ee000 msvcrt.dll
[17:14:57] [debug] 745c0000 - 745f6000 cfgmgr32.dll
[17:14:57] [debug] 76a30000 - 76f9e000 windows.storage.dll
[17:14:57] [debug] 73ee0000 - 740f1000 combase.dll
[17:14:57] [debug] 76650000 - 76730000 ucrtbase.dll
[17:14:57] [debug] 73a80000 - 73b41000 RPCRT4.dll
[17:14:57] [debug] 73a60000 - 73a7e000 SspiCli.dll
[17:14:57] [debug] 73a50000 - 73a5a000 CRYPTBASE.dll
[17:14:57] [debug] 75a70000 - 75aca000 bcryptPrimitives.dll
[17:14:57] [debug] 760e0000 - 76121000 sechost.dll
[17:14:57] [debug] 73bb0000 - 73bf5000 powrprof.dll
[17:14:57] [debug] 75f40000 - 75fb7000 advapi32.dll
[17:14:57] [debug] 764b0000 - 764f6000 shlwapi.dll
[17:14:57] [debug] 767f0000 - 7681b000 GDI32.dll
[17:14:57] [debug] 73c00000 - 73d5a000 gdi32full.dll
[17:14:57] [debug] 768d0000 - 76a2f000 USER32.dll
[17:14:57] [debug] 768b0000 - 768c5000 win32u.dll
[17:14:57] [debug] 74520000 - 7452d000 kernel.appcore.dll
[17:14:58] [debug] 74530000 - 745b8000 shcore.dll
[17:14:58] [debug] 768a0000 - 768af000 profapi.dll
[17:14:58] [debug] 71cb0000 - 71cd4000 WINMM.dll
[17:14:58] [debug] 71bf0000 - 71bf8000 WSOCK32.dll
[17:14:58] [debug] 76300000 - 76363000 WS2_32.dll
[17:14:58] [debug] 71c80000 - 71ca3000 WINMMBASE.dll
[17:14:58] [debug] 760b0000 - 760d5000 IMM32.DLL
[17:14:58] [debug] 54500000 - 54550000 crashdetect.DLL
[17:14:58] [debug] 77f90000 - 77ff9000 MSVCP100.dll
[17:14:58] [debug] 788d0000 - 7898f000 MSVCR100.dll
[17:14:58] [debug] 544a0000 - 544f5000 mysql.DLL
[17:14:58] [debug] 537e0000 - 538be000 libmariadb.dll
[17:14:58] [debug] 597d0000 - 597ee000 log-core.dll
[17:14:58] [debug] 54430000 - 5449d000 MSVCP140.dll
[17:14:58] [debug] 537c0000 - 537d5000 VCRUNTIME140.dll
[17:14:58] [debug] 72ca0000 - 72cb2000 napinsp.dll
[17:14:58] [debug] 72c80000 - 72c96000 pnrpnsp.dll
[17:14:58] [debug] 72c60000 - 72c74000 NLAapi.dll
[17:14:58] [debug] 70b60000 - 70bae000 mswsock.dll
[17:14:58] [debug] 72500000 - 7257d000 DNSAPI.dll
[17:14:58] [debug] 761d0000 - 761d7000 NSI.dll
[17:14:58] [debug] 724d0000 - 724ff000 IPHLPAPI.DLL
[17:14:58] [debug] 72c40000 - 72c4c000 winrnr.dll
[17:14:58] [debug] 72c20000 - 72c31000 wshbth.dll
[17:14:58] [debug] 70ad0000 - 70af1000 mdnsNSP.dll
[17:14:58] [debug] 70a70000 - 70a78000 rasadhlp.dll
[17:14:58] [debug] 10000000 - 1000f000 sscanf.DLL
[17:14:58] [debug] 53760000 - 537ba000 streamer.DLL
[17:14:58] [debug] 70a80000 - 70ac9000 fwpuclnt.dll
[17:14:58] [debug] 715a0000 - 715bb000 bcrypt.dll

@SAMPmysql Running a server bound to an IP address that will change eventually will obviously result in a crash.
@seanny I'll need more info on that one. Which version are you using? Is it reproducible? Can you share your debug logs?


How do you do web3.js addition into this code? and...

How do you do web3.js addition into this code? and...
Any examples for calling rest api (from golang backend) etc?

Any examples for calling rest api (from golang backend) etc?

None yet, you can use the standard net/http library for this. See also #31

How do you do web3.js addition into this code? and...

It doesn't look like web3.js does any frontend rendering at all, so it's not really related to Vecty. I see you've already asked this here: https://github.com/gopherjs/gopherjs/issues/927 so I will close this in favor of that.


could not parse "XXX" as int value for flag port

I have this weird error bazel-remote terminated: could not parse "tcp://<IP_ADDRESS>:8080" as int value for flag port: strconv.ParseInt: parsing "tcp://<IP_ADDRESS>:8080": invalid syntax while running it on a Kubernetes cluster.
<IP_ADDRESS> is the ClusterIP of bazel-remote service.
I've tried it with and without cli args, neither worked.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: bazel-remote
spec:
  replicas: 1
  selector:
    matchLabels:
      app: bazel-remote
  template:
    metadata:
      labels:
        app: bazel-remote
    spec:
      containers:
      - name: bazel-remote
        image: buchgr/bazel-remote-cache:latest
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080
          name: http
        - containerPort: 9092
          name: grpc
        args:
        - --dir=/data
        - --max_size=20
        - --host=localhost
        - --port=8080
        - --grpc_port=9092
        - --s3.secret_access_key=xxx
        - --s3.access_key_id=xxx
        - --s3.endpoint=xx.xx.xx.xx
        - --s3.disable_ssl=true

Hi.
I suspect that this is a problem in your kubernetes setup, but I have no experience with kubernetes myself so I'm not sure of a good way to debug this. Maybe you could substitute a shell script that echos the command line args and environment variables in this YAML, then see where the tcp://<IP_ADDRESS>:8080 is coming from? Do you happen to have a BAZEL_REMOTE_PORT variable set in the environment?

@mostynb It was the environment issue. Thank you
Kubernetes automatically sets environment variables for services, which I coincidentally named the service bazel-remote which set BAZEL_REMOTE_PORT, lol.

Ah, mystery solved :)

omg, I just spent hours on the exactly same issue. Thank you for documenting it here.

I filed a PR to get better error messages out of the command line argument parsing library:
https://github.com/urfave/cli/pull/1168
Would this have helped you find the error sooner?

Probably, although for this particular case I'd say that changing the env vars to make it harder to conflict with k8s would be beneficial as well, but it's kind of a breaking change.

Yeah, it's difficult to motivate a breaking change like that.
Out of curiosity, what is kubernetes setting this <servicename>_PORT value to?

0-65535 port numbers
On Fri, Aug 7, 2020 at 7:40 AM mostynb<EMAIL_ADDRESS>wrote:

Yeah, it's difficult to motivate a breaking change like that.
Out of curiosity, what is kubernetes setting this _PORT
value to?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/buchgr/bazel-remote/issues/257#issuecomment-670243365,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMPI4OX6V5VNYI7M4WAYLTR7M5PBANCNFSM4MSCAKNA
.

--
Thanks,
Qiaosen Huang.

0-65535 port numbers

Multiple port numbers? If it's a single port, wouldn't it parse as an int value?

sorry for the confusion. I meant a port number, value between 0-65535.
On Fri, Aug 7, 2020 at 4:46 PM mostynb<EMAIL_ADDRESS>wrote:

0-65535 port numbers
Multiple port numbers? If it's a single port, wouldn't it parse as an int
value?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/buchgr/bazel-remote/issues/257#issuecomment-670406602,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMPI4IYHAVG3Z5FVQJDQULR7O5O5ANCNFSM4MSCAKNA
.

--
Thanks,
Qiaosen Huang.

Sorry, I should have re-read the issue description: could not parse "tcp://<IP_ADDRESS>:8080" as int value for flag

You are right, it’s a string. This issue has been silent for ages, memories
blurred.😂
On Fri, Aug 7, 2020 at 4:52 PM mostynb<EMAIL_ADDRESS>wrote:

Sorry, I should have re-read the issue description: could not parse
"tcp://<IP_ADDRESS>:8080" as int value for flag
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/buchgr/bazel-remote/issues/257#issuecomment-670409218,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMPI4LMGP7K3NVLBXG2UC3R7O6FLANCNFSM4MSCAKNA
.

--
Thanks,
Qiaosen Huang.


Volvo2mqtt terminates unexpectedly after ValueError: invalid literal for int() with base 10: '55.4'

Describe the bug
Volvo2mqtt terminates with the following error registered in the log.
Traceback (most recent call last):
File "/volvoAAOS2mqtt/main.py", line 13, in
authorize()
File "/volvoAAOS2mqtt/volvo.py", line 52, in authorize
check_supported_endpoints()
File "/volvoAAOS2mqtt/volvo.py", line 159, in check_supported_endpoints
state = api_call(entity["url"], "GET", vin, entity["id"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/volvoAAOS2mqtt/volvo.py", line 250, in api_call
return parse_api_data(data, sensor_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/volvoAAOS2mqtt/volvo.py", line 372, in parse_api_data
fuel_amount = int(data["fuelAmount"]["value"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '55.4'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
To Reproduce:
Attempt to restart generates the same error.
Expected behavior:
The service should bee able to handle unexpected API responses and if not, restart according to the user watchdog preferences.
Screenshots:
N/A
Version info:
1.7.2 in HA Addon in hassio 2023.6.3
Logs:
},
"rearRightTyrePressure" : {
"name" : "rearRightTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
},
"frontRightTyrePressure" : {
"name" : "frontRightTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
},
"frontLeftTyrePressure" : {
"name" : "frontLeftTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
}
}
}
Jul 05 18:19:42 volvo2mqtt [107] - INFO: Success! Tire Rear Left is supported by your vehicle.
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: Response status code: 200
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: {
"status" : 200,
"operationId" : "6078c11b-130e-43e9-9fb3-e48f0f111df6",
"data" : {
"rearLeftTyrePressure" : {
"name" : "rearLeftTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
},
"rearRightTyrePressure" : {
"name" : "rearRightTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
},
"frontRightTyrePressure" : {
"name" : "frontRightTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
},
"frontLeftTyrePressure" : {
"name" : "frontLeftTyrePressure",
"value" : "NORMAL",
"timestamp" : "2023-07-05T15:03:30Z"
}
}
}
Jul 05 18:19:42 volvo2mqtt [107] - INFO: Success! Tire Rear Right is supported by your vehicle.
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: Starting GET call against https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/engine-status
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: https://api.volvocars.com:443 "GET /connected-vehicle/v2/vehicles//engine-status HTTP/1.1" 200 226
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: Response status code: 200
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: {
"status" : 200,
"operationId" : "25b3c403-5eb8-4d09-bf15-d756f5f01596",
"data" : {
"engineRunning" : {
"name" : "engineRunning",
"value" : "false",
"timestamp" : "1970-01-01T00:00:00Z"
}
}
}
Jul 05 18:19:42 volvo2mqtt [107] - INFO: Success! Engine State is supported by your vehicle.
Jul 05 18:19:42 volvo2mqtt [107] - DEBUG: Starting GET call against https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/fuel
Jul 05 18:19:43 volvo2mqtt [107] - DEBUG: https://api.volvocars.com:443 "GET /connected-vehicle/v2/vehicles//fuel HTTP/1.1" 200 244
Jul 05 18:19:43 volvo2mqtt [107] - DEBUG: Response status code: 200
Traceback (most recent call last):
File "/volvoAAOS2mqtt/main.py", line 13, in
Jul 05 18:19:43 volvo2mqtt [107] - DEBUG: {
"status" : 200,
"operationId" : "809b848e-468c-4610-a045-89d05a0605ee",
"data" : {
"fuelAmount" : {
"name" : "fuelAmount",
"value" : "55.4",
"unit" : "liters",
"timestamp" : "2023-07-05T15:03:30Z"
}
}
}
authorize()
File "/volvoAAOS2mqtt/volvo.py", line 52, in authorize
check_supported_endpoints()
File "/volvoAAOS2mqtt/volvo.py", line 159, in check_supported_endpoints
state = api_call(entity["url"], "GET", vin, entity["id"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/volvoAAOS2mqtt/volvo.py", line 250, in api_call
return parse_api_data(data, sensor_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/volvoAAOS2mqtt/volvo.py", line 372, in parse_api_data
fuel_amount = int(data["fuelAmount"]["value"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '55.4'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

I got thr same error.. think maybe it´s the value of fuel ammonut that is now getting a decimal place?

Same for me, worked before and after a restart today I get the same error.

v1.7.3 has been released. Please test, as I can't...

I can confirm that 1.7.3 works. Many thanks!

Works again for me after 1.7.3. Good job !


Add auto merge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/simplegmail-feedstock#2.


EXCEPTION: St9bad_alloc

I started running a full node 1.10 since yesterday evening/this early morning, and at some point it crashed.
https://gist.github.com/greenbigfrog/17dfad5cced1c66c2e55172b4c83d472
This is on a 2GB RAM VPS (without swap), so that is most likely the issue here.

Duplicate of #65 apparently.


chore: bdd-gh-1583456327 to 0.0.1

chore: Promote bdd-gh-1583456327 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Unhandled Runtime Error

Describe the bug
TypeError: Failed to fetch
To Reproduce
Steps to reproduce the behavior:

Setup environment for development
Start the server
Create project
Run

Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: Chrome

Additional context
I think this error is related with command difference between OS
'export' is not recognized as an internal or external command,
operable program or batch file.
Process on port 49160 killed

There were no issue to start with guide using docker.
I used dev setup guide.
terminal output

browser console

Hey @SnoopyDevelops this is a problem with setting terminal env vars on Windows.
Running e2b with WSL should solve this but if you want you can try adding https://www.npmjs.com/package/cross-env to make it work on Windows without WSL.
I think these lines are the problem and adding cross-env there would resolve this error:
https://github.com/e2b-dev/e2b/blob/961ece0e6c5cf8d96748bad6069449531b5c4239/package.json#L11
https://github.com/e2b-dev/e2b/blob/961ece0e6c5cf8d96748bad6069449531b5c4239/api-service/playground/nodemon.json#L14

It worked!

It worked!


Deserialize OsString on Windows

Fixes #825.

egad sorry about that!

You know, I was just tearing my hair out trying to figure out why sccache was broken on Windows! (Turns out also the unit tests that would have caught it in CI weren't running on Windows...)


Extension-less URLs are aren't correctly cached by CloudFlare

So I started looking at cache headers and...

If I request a badge with an extension and then request the same badge again a few second later, everything works as epxected. I get a cache miss first time, then a hit the second time:
$ curl -I "https://img.shields.io/appveyor/build/gruntjs/grunt.svg" | grep cf-cache-status

cf-cache-status: MISS

$ curl -I "https://img.shields.io/appveyor/build/gruntjs/grunt.svg" | grep cf-cache-status

cf-cache-status: HIT

All is well in the world.
..but then if do the same thing with the extension-less version of the same badge then on both requests I get cf-cache-status: DYNAMIC:
$ curl -I "https://img.shields.io/appveyor/build/gruntjs/grunt" | grep cf-cache-status

cf-cache-status: DYNAMIC

$ curl -I "https://img.shields.io/appveyor/build/gruntjs/grunt" | grep cf-cache-status

cf-cache-status: DYNAMIC

As far as I can tell, the meaning of cf-cache-status: DYNAMIC is:

This resource is not cached by default and there are no explicit settings configured to cache it. You will see this frequently when Cloudflare is handling a POST request. This request will always go to the origin.

so for the extension-less routes, my reading of that is that we're always hitting heroku for every request :scream:
Both versions (with and without extension) get served with the same cache control header:
$ curl -I https://img.shields.io/appveyor/build/gruntjs/grunt.svg | grep cache-control

cache-control: max-age=30, s-maxage=30

$ curl -I https://img.shields.io/appveyor/build/gruntjs/grunt | grep cache-control

cache-control: max-age=30, s-maxage=30

Before I start worrying about how to solve this, can someone else just double-check and make sure my assessment of this is right?
Looking at the graph, we are definitely serving a decent amount of requests from cache, but I suspect we should be serving more.

Also, side note: apparently we are serving ~20 million requests per day at the moment :open_mouth:
y'know - as you do

Welp. Yep, your analysis sounds right to me. 💣
Traffic is definitely way up over the last year. And way up over a few years ago, especially given that since we started using the CDN downstream and setting cache headers, badges are also cached by the browser.
I thought our page rules were ignoring extensions, though I guess it is using some default logic instead.
https://community.cloudflare.com/t/cache-by-file-extension-and-cf-cache-status-dynamic/138666
On a quick search I found this post though it's about extensions and caching in general, not about how to cache extensionless content.

Relevant articles:
https://support.cloudflare.com/hc/en-us/articles/200172516
https://support.cloudflare.com/hc/en-us/articles/218411427
Having done a bit of reading/poking about, my instinct is there are 2 things worth trying:

Explicitly send a Cache-Control: public header (but maybe put it behind a flag which is off by default for self-hosting users - refs discussion in https://github.com/badges/shields/pull/5046 )
Change our page rule from "Cache Level: Standard" to "Cache Level: Cache Everything".

Can you think of any reason why Cache Everything would be a bad idea for us? Obviously if you have a site which does server-side scripting, sends cookies, has content which is restricted to logged in users, etc you definitely don't want to do this but I think it is OK for us to just treat everything shields.io serves as being static/cache-able? (if I'm failing to think of important examples, please shout)

This is the definition of Cache Everything:

Cache Everything -  Treats all content as static and caches all file types beyond the Cloudflare default cached content.  Respects cache headers from the origin web server unless Edge Cache TTL is also set in the Page Rule. When combined with an Edge Cache TTL > 0, Cache Everything removes cookies from the origin web server response.

I agree that is what we want (the key being, "respects cache headers from the origin web server.")
The things that shouldn't be cached are the posts for the github auth workflow, and maybe the suggest endpoint (since it depends on the post body). Maybe it's worth checking a couple of the suggest calls after turning this on, to make sure they aren't being cached.

Right, yes. These are good points. When you say

posts for the github auth workflow

am I right that what happens here is the user hits https://img.shields.io/github-auth which just redirects them to github, but then at the end of that transaction, github sends a POST back to us?

and maybe the suggest endpoint (since it depends on the post body)

From what I've read, CloudFlare does not ordinarily consider a POST request to be cache-able so neither of these should be a problem. I can't find anywhere that really explicitly confirms that turning on "cache everything" doesn't change that but from reading https://blog.cloudflare.com/introducing-the-workers-cache-api-giving-you-control-over-how-your-content-is-cached/ for example it does seem like you have to jump through some hoops if you actually want to cache POSTs so I would assume that POSTS are non-cachable even with "cache everything" on (which would seem sensible).
So long story short, I think it the 2 things we're concerned about are POSTs, then its fine.
If we turn that on we do also have to be very conscious of the impact on any features we introduce in future. I guess if we ever want to introduce something non-cacheable it needs to live on nocache.shields.io or whatever. Possibly worth thinking about in the context of the discussion in https://github.com/badges/shields/issues/5014#issuecomment-699114560
Do you favour going straight to that option rather than adding the  public header to badges first to see what happens?

Just thinking about this issue again in the context of https://github.com/badges/sc/pull/3
@paulmelnikow  Do we still have staging set up so it is behind CloudFlare from when you were debugging https://github.com/badges/shields/pull/5712 ? If we do, we could try setting up staging to deploy off a branch where we are sending the public header and see it that works..

I've just switched this over to "cache everything" and that seems to have resolved the issue. I can't see anything wrong, but I'll continue to monitor this evening. If anyone else spots something that seems to have gone wrong

Change cache level back to Standard in Page Rules and
Purge the cache under Caching

In terms of the long game on this, I am still curious whether we could correct this with headers. At the moment, I don't think there is any issue with setting "cache everything" and probably our design goals for the service won't change in the near future, but it feels like a workaround. People build applications that have a mix of cache-able and non-cacheable content on extension-less URLs all the time. It feels like we should be able to instruct CloudFlare which content is and is not cacheable at the application level by sending the correct headers.

It feels like we should be able to instruct CloudFlare which content is and is not cacheable at the application level by sending the correct headers.

Yes – and I think that is what our cache headers are already doing.
This is my interpretation of Cloudflare's options:

Standard: Only cache certain file extensions, while respecting cache headers
Cache Everything: Cache all file extensions, while respecting cache headers

I can't off hand think of any content we serve that isn't cached. (Maybe something like https://img.shields.io/this-is-bogus.svg?)

Well, looks like nothing has broken so that's good. Interestingly, the proportion of cached vs uncached traffic hasn't gone up very much since doing that, which I think implies very few users are actually using the extension-less URLs in the wild.
One thing I'm still slightly unclear about with the Cache Everything setting is: if we wanted to have some non-cacheable content in future (for whatever reason), is the only way to deal with that by using CF page rules, or would it respect private if we set that on some content? I guess we can test that if we need it..

I can't off hand think of any content we serve that isn't cached. (Maybe something like https://img.shields.io/this-is-bogus.svg ?)

Nope. 404s do get cached (at least now). We are choosing to serve it without explicitly setting a max-age on it (lets not get back into that), so CloudFlare assumes a default:
$ curl -I "https://img.shields.io/this-is-bogus.svg"
HTTP/2 404
cf-cache-status: MISS

$ curl -I "https://img.shields.io/this-is-bogus.svg"
HTTP/2 404
cf-cache-status: HIT

I think the default 3 min or 5 min for the 404.

Sounds like things are in pretty good shape. I'm surprised that there aren't more extensionless URLs in the wild, though I guess most of our traffic probably comes from badges that were added a long time ago.
Is it worth deploying something to the staging branch and setting private or no-cache to resolve your question?

Yeah. As I say, I think "everything on shields.io can be cached downstream" is actually quite a good design goal for us to stick to, but I would quite like to try deploying a test so that we can have a play with the headers just to understand exactly how this setup works and what our options/constraints are with it moving forwards. How did you go about doing that when you were debugging the requireCloudflare() PRs?

Once you push the draft branch to the remote, in the Heroku dashboard, you can pick any branch to deploy:

It'll get re-deployed on the next commit to master so it can get bumped out from under you, but it still works well for a few minutes of testing.

What URL do I need to proxy through CloudFlare?
If I request http://shields-staging.herokuapp.com/ I think I'm hitting the staging env directly, not going through CF?

Ah, right, it's https://staging.shields.io/.

it's https://staging.shields.io/.

sneaky :rofl:
I set this up and had a play. Even with "cache everything" on, if we serve a response with private or no-store, we get cf-cache-status: BYPASS so if there are response we want to explicitly instruct CloudFlare to not cache, we can do that with headers - so that seems pretty sensible :)
Just FYI, I created a page rule in CloudFlare turning on "Cache Everything" for staging.shields.io to test this. I haven't deleted it - I'm going to leave it for now. I figure it is useful if the staging setup works the same as prod, but simultaneously we are limited on the number of page rules we get (without additional charges) so we might want to reclaim it at some point. We probably need to review the page rules when we move the frontend to heroku anyway.
Either way, I think this issue is done. We've fixed the issue and the setup we are now on is sensible :tada: