AZ CLI CONSUMPTION EMTPY RESPONSE WHEN DATA AVAILABLE

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az consumption usage list
Errors:

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az consumption usage list -s {} -e {} --subscription {} --debug

Expected Behavior
Environment Summary
Linux-5.4.0-1055-azure-x86_64-with-debian-10.2 (Cloud Shell)
Python 3.6.10
Installer: DEB

azure-cli 2.27.0

Extensions:
ai-examples 0.2.5
ssh 0.1.5

Additional Context

I can see there is cost available for current month (Aug) on the Portal (WEB) but when using cli is not getting same info, just getting an emtpy list/array.
When trying same command with July works fine, but with Aug no data comes back.
Empty return
az consumption usage list -s 2021-08-01 -e 2021-08-05 --subscription xxxxxxxx
Works just fine
az consumption usage list -s 2021-07-01 -e 2021-07-05 --subscription 221ddaa9-f12f-4a5f-88ca-5fce9a69faa0
Thanks

route to service team

@martingianni, could you help run command with --debug as follows to catch debug log for us to further investigation?
az consumption usage list -s 2021-08-01 -e 2021-08-05 --subscription xxxxxxxx --debug

@martingianni, could you help run command with --debug as follows to catch debug log for us to further investigation?
az consumption usage list -s 2021-08-01 -e 2021-08-05 --subscription xxxxxxxx --debug

Here is the output:
az consumption usage list -s 2021-08-01 -e 2021-08-05 --subscription xyz --debug
Command arguments: ['consumption', 'usage', 'list', '-s', '2021-08-01', '-e', '2021-08-05', '--subscription', 'xyz', '--debug']
Event: Cli.PreExecute []
Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x03E0C978>, <function OutputProducer.on_global_arguments at 0x03E9ADF8>, <function CLIQuery.on_global_arguments at 0x03EC0DF8>]
Event: CommandInvoker.OnPreCommandTableCreate []
Modules found from index for 'consumption': ['azure.cli.command_modules.consumption']
Loading command modules:
Name                  Load Time    Groups  Commands
consumption               0.019         8         9
Total (1)                 0.019         8         9
These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_ai_did_you_mean_this']
Loading extensions:
Name                  Load Time    Groups  Commands  Directory
Total (0)                 0.000         0         0
Loaded 8 groups, 9 commands.
Found a match in the command table.
Raw command  : consumption usage list
Command table: consumption usage list
Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x040F4978>]
az_command_data_logger : command args: consumption usage list -s {} -e {} --subscription {} --debug
metadata file logging enabled - writing logs to 'C:\Users\xyz.azure\commands'.
Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x04133DF8>]
Event: CommandInvoker.OnPostArgumentLoad []
Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x04133F18>, <function register_cache_arguments..add_cache_arguments at 0x04145588>]
Event: CommandInvoker.OnCommandTableLoaded []
Event: CommandInvoker.OnPreParseArgs []
Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x03E9AE40>, <function CLIQuery.handle_query_parameter at 0x03EC0E40>, <function register_ids_argument..parse_ids_arguments at 0x04145540>]
Command group 'consumption' is in preview. It may be changed/removed in a future release.
Getting management service client client_type=ConsumptionManagementClient
msrest.universal_http.requests : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90
msrest.async_paging : Paging async iterator protocol is not available for UsageDetailPaged
msrest.service_client : Accept header absent and forced to application/json
attempting to read file C:\Users\xyz.azure\accessTokens.json as utf-8-sig
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - Authority:Performing instance discovery: ...
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - Authority:Performing static instance discovery
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - Authority:Authority validated via static instance discovery
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - TokenRequest:Getting token from cache with refresh if necessary.
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - CacheDriver:finding with query keys: {'_clientId': '...', 'userId': '...'}
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - CacheDriver:Looking for potential cache entries: {'_clientId': '...', 'userId': '...'}
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - CacheDriver:Found 37 potential entries.
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - CacheDriver:Resource specific token found.
adal-python : fdfc945c-8095-4dca-9633-c47081478ca2 - CacheDriver:Returning token from cache lookup, AccessTokenId: b'PSI9UNL+ZVsf+h/jvcvcEOlHc79FnlVdLtieEknu2kw=', RefreshTokenId: b'CR4gKdUqOytiI2l7aPGmoVl2PTkal6EubdlGm6370F0='
msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/xyz/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageEnd ge '2021-08-01T00%3A00%3A00Z' and properties%2FusageEnd le '2021-08-05T00%3A00%3A00Z'&api-version=2018-01-31'
msrest.http_logger : Request method: 'GET'
msrest.http_logger : Request headers:
msrest.http_logger :     'Accept': 'application/json'
msrest.http_logger :     'Content-Type': 'application/json; charset=utf-8'
msrest.http_logger :     'accept-language': 'en-US'
msrest.http_logger :     'User-Agent': 'python/3.6.8 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-consumption/2.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 (MSI)'
msrest.http_logger : Request body:
msrest.http_logger : None
msrest.universal_http : Configuring redirects: allow=True, max=30
msrest.universal_http : Configuring request: timeout=100, verify=True, cert=None
msrest.universal_http : Configuring proxies: ''
msrest.universal_http : Evaluate proxies against ENV settings: True
urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/xyz/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageEnd%20ge%20%272021-08-01T00%3A00%3A00Z%27%20and%20properties%2FusageEnd%20le%20%272021-08-05T00%3A00%3A00Z%27&api-version=2018-01-31 HTTP/1.1" 200 None
msrest.http_logger : Response status: 200
msrest.http_logger : Response headers:
msrest.http_logger :     'Cache-Control': 'private'
msrest.http_logger :     'Transfer-Encoding': 'chunked'
msrest.http_logger :     'Content-Type': 'application/json; odata.metadata=none'
msrest.http_logger :     'Content-Encoding': 'gzip'
msrest.http_logger :     'Vary': 'Accept-Encoding,Accept-Encoding'
msrest.http_logger :     'x-ms-ratelimit-remaining-subscription-reads': '11999'
msrest.http_logger :     'session-id': '7462f6a2-8e83-4f41-9c1e-03a118c70d8a'
msrest.http_logger :     'x-ms-request-id': '6be6c256-ba18-425c-90b7-2f1a82f0bc49'
msrest.http_logger :     'x-ms-correlation-request-id': 'f65af820-b7fe-4366-ab3f-68796cd69932'
msrest.http_logger :     'x-ms-client-request-id': 'fb7550ec-f6bb-11eb-a4cf-0cd292fcf818'
msrest.http_logger :     'x-ms-ratelimit-microsoft.consumption-tenant-retry-after': '60'
msrest.http_logger :     'x-ms-ratelimit-remaining-microsoft.consumption-tenant-requests': '9'
msrest.http_logger :     'x-ms-ratelimit-microsoft.consumption-clientAppId-retry-after': '60'
msrest.http_logger :     'x-ms-ratelimit-remaining-microsoft.consumption-clientAppId-requests': '59'
msrest.http_logger :     'OData-Version': '4.0'
msrest.http_logger :     'X-Powered-By': 'ASP.NET'
msrest.http_logger :     'x-ms-routing-request-id': 'BRAZILSOUTH:20210806T134128Z:f65af820-b7fe-4366-ab3f-68796cd69932'
msrest.http_logger :     'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
msrest.http_logger :     'X-Content-Type-Options': 'nosniff'
msrest.http_logger :     'Date': 'Fri, 06 Aug 2021 13:41:28 GMT'
msrest.http_logger : Response content:
msrest.http_logger : {"value":[]}
Event: CommandInvoker.OnTransformResult [<function _resource_group_transform at 0x04133390>, <function _x509_from_base64_to_hex_transform at 0x041333D8>]
Event: CommandInvoker.OnFilterResult []
[]
Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x040F4A98>]
az_command_data_logger : exit code: 0
Command ran in 8.882 seconds (init: 0.338, invoke: 8.544)
telemetry.save : Save telemetry record of length 2629 in cache
telemetry.check : Negative: The C:\Users\xyz.azure\telemetry.txt was modified at 2021-08-06 10:40:32.453702, which in less than 600.000000 s

Just to add here on the Azure Portal also its looks strange.. it shows 55 USD in 7 days.. no breakdown available, no cost by service showing neither, tried two accounts, same issue. Guessing it maybe something wrong with the backend where the cost data is saved or the api fetching the data.. just my 2 cents.

Seems it's the issue related to backend service as you can see the response body from service is empty, so route to service team
msrest.http_logger : Response content:
msrest.http_logger : {"value":[]}

@jsntcy
Same issue. However, instead of using:
az consumption usage list
I'm using PowerShell's (PSVersion 7.1.4) Invoke-RestMethod with $uri:
'https://management.azure.com/subscriptions/xxxx-xxxxx-xxxxx-xxxx/providers/Microsoft.Consumption/usageDetails?startDate=2021-06-01&endDate=2021-06-10&$top=5&api-version=2019-10-01
Same result. No Payload:
with 0-byte payload VERBOSE: received 12-byte response of content type application/json VERBOSE: Content encoding: utf-8 value : {}
This process works for other subscriptions of the same offer-type, same security roles, same access token, same powershell $env's. A few subscriptions return 0 records though they clearly have billing details in the portal for the period noted.
No $Error[0] is thrown.

@Evogelpohl, for PowerShell issue, please report issue in https://github.com/Azure/azure-powershell which is owned by other team.

@Evogelpohl, for PowerShell issue, please report issue in https://github.com/Azure/azure-powershell which is owned by other team.

It isn't a PowerShell issue. It's a billing-service issue. Any program that can call a REST endpoint - az (python), invoke-restmethod (powershell/.net), Postman - all return the same empty value {} for me.
I was reenforcing the fact that this bug is repo'able by other REST clients, beyond the Az CLI.
Hope that helps. Thanks!


Replace .indexOf() with index in .forEach()

2nd argument of forEach() is the index:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Also .indexOf does a full O(n) scan of the array.

I had some troubles to merge this PR so I picked changes manually. Thanks!


ENH: Crawl dataset's metadata only once and before Nipype's workflow

Aggregate dataset-wise operations that typically traverse the list of input files (datalad get, extract biggest file size and metadata extraction) in a single step.
Resolves #1316.

Yeah, no objections to the overall strategy.

So essentially this shifts to keeping all metadata in memory?

Yes, that's correct. If memory becomes a concern (although metadata's size should be negligible), you can set them to None and only load them when needed from the pickle file.

What if the fields get pared down to only the ones relevant to the pipeline?

Not sure I understand -- you mean further filtering metadata within the new loop so only the relevant metadata is kept?

I realize I'm not familiar with what mriqc actually needs the metadata for - is it using the information to calculate something, or just aggregating it into the report?

I realize I'm not familiar with what mriqc actually needs the metadata for - is it using the information to calculate something, or just aggregating it into the report?

Aggregating it in the report. However, fMRIPrep does something similar as it attaches all the metadata to the output. We could have some dictionary of relevant metadata, or leave to the user to find non-critical unmodified metadata (in fMRIPrep).
MRIQC does filter some metadata when submitting to the webapi, but I'm a bit sceptical that will actually shave off a lot of memory.


Matrix username spoofing

This implements username spoofing for Matrix similar to Discords webhooks.
Matterbridge will rename itself - only in the room - to the username of the message by using a room state event.
The equivalent in Element is /myroomnick $nick.
If the username already exists in the room then Element will show the mxid next to the username.
There's a new setting introduced for Matrix named SpoofUsername=true which defaults to false.
Caveats:

This will make an additional API request per message. So if you're already near rate limits then this will probably rate limit you.
This could be reduced a bit by caching the last messages username and only change the name when necessary.
By default all nickname changes are shown inside the Element chat which looks ugly but can be turned off per user globally.

Comparison screenshots
Default:

This PR with default Element settings:

This PR with nickname changes turned off locally:

Discord:

While I like not requiring a Matrix server and appservice access for this which https://github.com/42wim/matterbridge/pull/1864 brings support for, I am not sure if changing the display name constantly is a good idea.
Then again Matrix doesn't seem to be providing anything serverless for this anytime soon, https://github.com/matrix-org/matrix-spec/issues/840 has also became over an year old.

I am not sure if changing the display name constantly is a good idea.

It's definitively not the best thing to do, but I don't see an alternative without hosting a full-blown homeserver which we would have no other use for.
I admit, I've just played around how a behavior similar to Discord webhooks can be achieved, and it turns out it was that simple and was surprised there wasn't already a PR like this. Changing the nickname instead of embedding the name into the message is so much better to read that IMHO this change provides great usability. The channel is fairly low frequent, but we already ran into rate limits in the past on the Matrix side. If this gets merged it should default to false and include a warning regarding the additional requests.

An alternative actually exists: application services as I've tried to implement in https://github.com/42wim/matterbridge/pull/1864.
It allows a server to properly impersonate users, and was built in the matrix standard for that reason.

I think both options are useful. Running a Matrix homeserver is a bit more involved that you make it sound like, and if Matrix is "just another service to bridge to" for you than simpler is better.

Fair enought, I can certainly agree that this has its uses, because I can definitely understand why one wouldn't want to host a [matrix] homeserver :-)

LGTM: A bit dirty, but it does the job and not too much code change.
@Lucki a follow-up PR with the cache is welcome :)
:rocket:

I want to remind you that /myroomnick sends a state event into the room every time which leads to lots of state events over time. This will for example slow down room joins and make other state changes take longer to process.
Matrix is not built to handle frequent state changes like this.

I hear https://github.com/matrix-org/matrix-spec-proposals/pull/3883 might help with this, but I stand in the opinion that Matrix really does nothing to help us who cannot host a Matrix server with how heavy it is compared to IRC and point to https://github.com/matrix-org/matrix-spec/issues/840.
Matrix developers at least those following a specific waterduck have been aware of this PR since opening it resulting to comments on RELAYMSG, while not here. I don't think Matterbridge or its contributors can be blamed if this is another public Matrix DDoS attack like the IRCnet bridge with NICK 0.

Seconding @timokoesters here — this is a horrendously bad idea. Seriously, really really bad.
Every time the bridge spoofs someone by sending an updated membership event, it is lengthening the auth chain for the bridge user. State resolution is likely to get progressively more and more expensive on resident homeservers as a result, resulting in additional load and worsening event processing times, quite likely up to the point that bridged rooms will become unusable or unjoinable.

I stand in the opinion that Matrix really does nothing to help us who cannot host a Matrix server with how heavy it is

Ultimately we know these problems exist and are spending a lot of time optimising and trying to figure out ways to reduce persistent room state in Matrix. That is no easy task — it requires deep architectural changes and is not going to happen overnight. That does not mean it isn't happening.

I don't think Matterbridge or its contributors can be blamed if this is another public Matrix DDoS attack

I partially disagree. The right answer here is, and always has been, appservices for user puppeting. Forcing through state changes for every relayed message is not the right answer and is instead a major footgun.

Based on the feedback, although this feature isn't enabled by default, I'm thinking about reverting the PR.
Most users will not understand the impact of enabling it.
But if this can result into a DoS, maybe there should be more strict ratelimiting on those member state updates.

I tested this for a couple of minutes and as it doesn't work on either FluffyChat or Nheko, I am disabling it. From so-called flagship Matrix clients by New Vector Ltd. Element iOS didn't work either while Element Web and Hydrogen work.

Something that has not been pointed out is that this is based on the sole assumption that the client will render the user's display name at the given point in time where the message was sent. Element does do that by default (and can be disabled) but for instance, Nheko and Fluffychat do not.


error: package com.google.android.gms.ads does not exist

[javac] E:\develop\tests\phonegap\gameOnApp\platforms\android\src\com\rjfun\

cordova\admob\AdMobMediation.java:5: error: package com.google.android.gms.ads does not exist
Tried to move to Cordova 3.7.1

the package is in a dependent plugin: com.google.playservices, it should be added automatically.
or, you can try add it manually:
cordova plugin add<EMAIL_ADDRESS>

Thanks!
Doing:
cordova plugin add<EMAIL_ADDRESS>before installing com.google.cordova.admob fix it for me.
On Sat, Feb 7, 2015 at 1:53 PM, Raymond Xie<EMAIL_ADDRESS>wrote:

the package is in a dependent plugin: com.google.playservices, it should
be added automatically.
or, you can try add it manually:
cordova plugin add<EMAIL_ADDRESS>—
Reply to this email directly or view it on GitHub
https://github.com/floatinghotpot/cordova-admob-pro/issues/80#issuecomment-73363146
.

For anyone else who has this problem, using com.google.playservices is deprecated according to its github page: https://github.com/MobileChromeApps/google-play-services (YMMV, but installing it caused me duplicate-library problems with most other plugins that use Google Play Services.)
I was getting this error when running ant release, which I now know I wasn't supposed to be running at all. This issue helped me straighten everything out. Hope this helps someone!


cargo-upgrade verbose option broken

Problem
when running with --verbose no verbose output is printed and the command says to use --verbose.
> cargo upgrade --verbose
    Updating 'https://github.com/rust-lang/crates.io-index' index
    Checking MYCRATE's dependencies
note: Re-run with `--verbose` to show more dependencies
  latest: 20 packages

Steps

run cargo upgrade --verbose
observe output

Possible Solution(s)
unsure of the code fix, but verbose should print the actual verbose info and not a message to use verbose
Notes
No response
Version
> cargo version --verbose
cargo 1.78.0 (54d8815d0 2024-03-26)
release: 1.78.0
commit-hash: 54d8815d04fa3816edc207bbc4dd36bf18014dbc
commit-date: 2024-03-26
host: x86_64-pc-windows-msvc
libgit2: 1.7.2 (sys:0.18.2 vendored)
libcurl: 8.6.0-DEV (sys:0.4.72+curl-8.6.0 vendored ssl:Schannel)
os: Windows 10.0.22631 (Windows 11 Professional) [64-bit]

cargo upgrade is not an official cargo command but comes from a third-party package, cargo-edit.  I'd recommend creating an issue there.
However, my guess is that the command is telling you that you need an extra level of verbosity to see the output (--verbose --verbose).

@epage double flag works. i thought the whole cargo-edit suite was being merged into cargo itself which is why it was posted here. i opened an issue on their tracker though as requested.

Yes, cargo-edit is being merged in but cargo upgrade has not been and will not be directly merged.  See https://github.com/rust-lang/cargo/issues/12425
cargo-edit hasn't been getting much activity because there isn't much activity to do.


[ENH] Pure Nipype brain extraction workflow

Using the implementation of antsBrainExtraction.sh from niworkflows
(supersedes #48)

Before: https://256-160736148-gh.circle-artifacts.com/0/tmp/ds054/derivatives/smriprep/sub-100185.html
After: https://213-164755300-gh.circle-artifacts.com/0/tmp/ds054/derivatives/smriprep/sub-100185.html

Note: none of the builds are executed with fixed seed for atropos, hence the little differences.

Is it possible to fix the seed by environment variable?

We can include that. Are you thinking of a shared env variable for all algorithms accepting a seed?
Something like $BIDS_PREP_SEED ?

No, I meant more "Does Atropos accept a seed"? I would rather we let these things be controlled by the underlying tools if at all possible, just to keep things simple.

I suppose I should say this shouldn't hold up this PR. I think we should be deliberate and perhaps solicit input from @repronim before settling on an approach, anyway. (Also, it looks like ANTs does have some work in this direction: https://github.com/ANTsX/ANTs/pull/599)

Atropos does not accept a seed, it only provides a boolean switch to make it random or not

I wonder if we can persuade them to move in a more consistent direction with the Registration stuff.

Alright, is it okay to merge then?


Monaco: switch to IFluidMountableView and removed unused compiled view

This is a bit on hold as we hack away on monaco for FHL.


Fallback static pages are not rendered

When my error page encounters an exception during render, the fallback static public/500.html is not rendered. Instead I see the Rails default text:
500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

I fixed that using a rescue block:
  def show
    render "errors/#{@rescue_response}", status: @status_code, layout: (logged_in? ? 'application' : 'external')
  rescue
    # For some reason the static 500.html is not being rendered as a fallback,
    # this fixes it. When the render above encounters an exception, this will
    # catch it and render the static page.
    render file: 'public/500.html', status: 500, layout: false
  end

I then figured out that this also affects other error pages, so I used this code which fixed it:
  def show
    render "errors/#{@rescue_response}", status: @status_code, layout: (logged_in? ? 'application' : 'external')
  rescue
    # For some reason the static fallback pages are not being rendered.
    # This rescue block fixes it. When the render above encounters an exception, this will
    # catch it and render the static page.
    if File.exists?("#{Rails.root.join('public', "#{@status_code}.html")}")
      render file<EMAIL_ADDRESS>status: @status_code, layout: false
    else
      render file: 'public/500.html', status: 500, layout: false
    end
  end

Am I doing something wrong which is causing gaffe to not handle this fallback gracefully automatically?

Unfortunately, Gaffe sets the exceptions_app option to a custom Rack app and let it handle exceptions. This overrides the default exception catching mechanism in Rails.
If you want to implement some kind of static file fallback, you have to implement it yourself, just like you did in your last example :smile:
I’m going to close this issue, feel free to re-open it if you have other questions.


Fix gateway perpetual price quantum

A description of the changes proposed in the pull request:
The problem in #5890 is GatewayEVMPerpetual is using base class' (GatewayEVMAMM's) get_order_size_quantum which is based on the token info on the chain. These tokens don't necessarily match the pairs on perpetual.
The price amount is fixed 18 decimal on perp documentation, so use this fixed value in GatewayEVMPerpetual.
https://support.perp.com/hc/en-us/articles/7161930550681-Open-Close-Position
uint256 amount; // 18 decimals
uint256 oppositeAmountBound; // 18 decimals
uint256 deadline; // 0 decimal timestamp
uint160 sqrtPriceLimitX96; // 96-bit fixed-point number as defined [here](https://docs.uniswap.org/sdk/guides/fetching-prices#understanding-sqrtprice)

Tests performed by the developer:
The first time position was opened on perpetual. Second time, again the request was made but there was another problem using the same nonce, which is another problem. The error on #5890 didn't appear.
Tips for QA testing:

PR update:

Run tests on source client and docker gateway build on AWS
Successfully build docker gateway image for tests
Setup gateway and perpfi wallet successfully connected
Setup simple Spot-Perpetual Arbitrage using perpfi as derivative connector
Observed that the PR had fix the Unhandled error n background tasks: USD... when executing orders
There are also noticeably issues with the connector not recognizing the open position when the bot has been stopped or relaunch.

Pending github ticket shall be created when this PR is merged to development
Issue observed does is not related to the PR

Pending:

Waiting for PR to be merged to developement then we can approve this #5885

Hi @kadirc thanks for this PR we found a underlying issue on the perpfi connector. While this PR is good to be approved, we have to wait for #5885 to be merged since it was the first one to be approved, we appreciate your time on fixing this issue. Thank you 🙇

Merged PR in behalf of Hummingbot foundation team. The fix has been added to development branch and will be available on the release version 1.11.0

Hi @kadirc , please fill up & submit the AML Policy Form via this link: https://forms.gle/fw89MmiCnwLizbHNA
This is a one-time process for each ETH Address used to receive HBOT bounty.


[extension request] Yanking the entire bibtex entry

Hi!
In addition to the base \cite command, it would be very handy to be able to copy the entire .bib reference for the search result.
My usage in this regard is like this. I always have a local .bib file in the same directory as my document, but then I add a master .bib file to the global search path. This is often useful when working on collaborative documents because you don't want to share your master bib file. Instead, you want to transfer in entries from the master bib file to the local file when the required entry is needed.
So for example, something like:
:Telescope bibtex-entry
which yanks or yanks+pastes the corresponding entry would be useful.

Sounds like a good feature that is fairly straight to implement. I will look into it as soon as I have a bit more time :)

I just merged this feature, fell free to test it and give me feedback if anything does not work.
You can call it with :Telescope bibtex entry


Move accessmode into models/perm

as title.

Codecov Report

Merging #17828 (134ef7d) into main (24a8d54) will decrease coverage by 0.00%.
The diff coverage is 73.09%.

@@            Coverage Diff             @@
##             main   #17828      +/-   ##
==========================================
- Coverage   45.54%   45.54%   -0.01%
==========================================
  Files         808      809       +1
  Lines       90059    90059
==========================================
- Hits        41019    41017       -2
+ Misses      42491    42487       -4
- Partials     6549     6555       +6

Impacted Files
Coverage Δ

cmd/serv.go
2.46% <0.00%> (ø)

models/branches.go
47.89% <0.00%> (ø)

models/error.go
39.24% <0.00%> (ø)

models/ssh_key_principals.go
6.55% <0.00%> (ø)

modules/context/org.go
43.24% <0.00%> (ø)

routers/api/v1/repo/collaborators.go
14.86% <0.00%> (ø)

routers/api/v1/repo/key.go
17.20% <0.00%> (ø)

routers/web/org/teams.go
0.00% <0.00%> (ø)

routers/web/repo/projects.go
16.19% <0.00%> (ø)

routers/web/repo/setting.go
14.43% <0.00%> (ø)

... and 50 more

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 24a8d54...134ef7d. Read the comment docs.


net/http: TestClientTimeout_h2 is failing

TestClientTimeout_h2 is failing, skipping for now.

Dup of #13540


fix cacheFile=false

Description

fix for correctly disabling caching when cacheFile=false

Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #10 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #10   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines          68     68
  Branches       14     13    -1
=====================================
  Hits           68     68

Impacted Files
Coverage Δ

lib/TvmClient.js
100% <100%> (ø)
: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 fdbff12...cd69ad6. Read the comment docs.


Getting 'E/launcher - Error: TypeError: require(...).run is not a function' when trying to run my congi.js file

trying to setup protractor-cuucmber sample project using custom framework using protractor-jasmine-cucumber npm. getting below error on executing config.js file to generate the step definition for the my step in feature.
C:\Users\INDIRA\workspace\ProtractorCucumber\runner>protractor conf.js
[17:36:43] I/hosted - Using the selenium server at http://<IP_ADDRESS>:4444/wd/hub
[17:36:43] I/launcher - Running 1 instances of WebDriver
[17:36:47] E/launcher - Error: TypeError: require(...).run is not a function
    at C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\built\runner.js:324:43
    at _fulfilled (C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
    at self.promiseDispatch.done (C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30)
    at Promise.promise.promiseDispatch (C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
    at C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:556:49
    at runSingle (C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:137:13)
    at flush (C:\Users\INDIRA\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[17:36:47] E/launcher - Process exited with error code 100

my config file :+1:
exports.config = {
  seleniumAddress: 'http://<IP_ADDRESS>:4444/wd/hub',
  getPageTimeout: 60000,
  allScriptsTimeout: 500000,
  framework: 'custom',
  // path relative to the current config file
  frameworkPath: 'node_modules/protractor-jasmine-cucumber',
  //frameworkPath: require.resolve('protractor-cucumber-framework'),
  capabilities: {
    'browserName': 'chrome'
  },

  specs: [
    'feature/sampleFeature.feature'
  ],
   cucumberOpts: {
   require: '../stepdefinition/test.js',
   format: 'pretty',

  }
};

all 3 npm below are installed globally
Protractor version : 4.0.2
protractor-jasmine-cucumber version : 0.2.2
cucumber version : 1.2.1

Hi there 😄
This sounds like an issue with the path you are passing in frameworkPath (potentially because protractor-jasmine-cucumber is only installed globally? installing the module locally or using require.resolve should fix this).
In addition, your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thanks!

i tried both ways . i get same error

i request to reopen the issue

@VenkatanarasimhanS protractor-jasmine-cucumber has been deprecated you could check out there github page https://github.com/DealerDotCom/protractor-jasmine-cucumber. This is certainly not an protractor's issue. Please raise it in their github repo. Thanks!

@igniteram Thanks, is there any way to use Cucumber with protractor . Thanks!


Bump joda from 2.12.2 to 2.12.7

Description
Bump joda from 2.12.2 to 2.12.7
Related Issues

Resolves https://github.com/opensearch-project/security/issues/4249
Resolves https://github.com/opensearch-project/security-analytics/issues/983
Resolves https://github.com/opensearch-project/spring-data-opensearch/issues/262

Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[X] Commits are signed per the DCO using --signoff
[X] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[X] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@cwperks can you resolve the conflicts and push again? Thanks

There is a regression introduced by this change 👎 @cwperks can you look into this?
org.opensearch.common.time.DateUtilsTests.testTimezoneIds

java.lang.AssertionError: Antarctica/Vostok
Expected: <25200000>
     but: was <21600000>

@peternied I fixed the error by updating the test. There's a list of IGNORE tzs in the test for this exact case. I was able to remove America/Ciudad_Juarez from this list and have it continue to work, but I had to add Antarctica/Vostok to the ignore list.


feat: add eslint

Additionally, please rename the .eslintrc.json to eslint.config.js. Also, add the @stylistic/eslint-plugin-js as a dependency.
Read more about the file here, and about the dependency here.

Additionally, please rename the .eslintrc.json to eslint.config.js. Also, add the @stylistic/eslint-plugin-js as a dependency.
Read more about the file here, and about the dependency here.

And please migrate to the flat config. Read more here.

Additionally, please rename the .eslintrc.json to eslint.config.js. Also, add the @stylistic/eslint-plugin-js as a dependency.
Read more about the file here, and about the dependency here.

I added `@stylistic/eslint-plugin-js' and rewrote the config to flat.

@ZEROM22, please resolve conflicts.


Converting brackets to !

My Code starts with
(function() {
}();
which results in
! function() {
();

This is a classic minifier trick, and one enabled by default by UglifyJS.
If you don't like it, please pass the "compress" option "negate_iife" option to false.
gulpUglify({
  compress: {
    negate_iife: false
  }
})


theme: improve warning messages in case a page is not file based

In this case the message was generated by a false positive deprection warning that is fixed with #580.
We won't fix this until there is a real use case in the wild.


JavaScript Syntax Highlighting: Ternary object declaration

VSCode Version: 1.4
OS Version: Windows 10

Steps to Reproduce:

Create a new file and set language to JavaScript
Paste the following in:

class Test {
    let style = type ? {
        color: '#FFF',
        padding: '15px'
    } : {
        overflow: 'hidden',
        height: '0px'
    };
}

The resultant highlighting will render as such:

IE: No highlighting on second object and also breaks code formatting (Alt + Shift + F).

This issue was moved to Microsoft/TypeScript-TmLanguage#234


All local variables must be prepended with var

Otherwise it causes problems in 'use strict'; mode

Guys, any reason why you don't accept it?

Just a time thing :)

@davidtmiller still better than never, thanks ;-)


chore(master): release 1.3.15

:robot: I have created a release beep boop
1.3.15 (2024-03-24)
Bug Fixes

deps: update dependency wayofdev/laravel-cycle-orm-adapter to v4.11.1 (40c354e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-webhook-client/releases/tag/v1.3.15 :sunflower:


print traceback when log_err is called

This PR adds a traceback function to the log_err macro.  I have been running into a few cases where an error was raised (say when opening a netcdf file) but it wasn't clear where we were at in the code.  This should help.
Tested with gcc and clang.
Example:
Joes-iMac:~/Dropbox/src/VIC/vic/drivers/classic (feature/log_err_traceback)$ ./vic_classic.exe -g not_a_file.txt
---------------------------------------------------------------------------
Traceback (most recent call last):
2   vic_classic.exe                     0x000000010e7e4ddc main + 126
1   vic_classic.exe                     0x000000010e7f6e26 open_file + 163
[ERROR] ../shared/src/open_file.c:63: errno: No such file or directory: Unable to open File not_a_file.txt

For gcc on linux, the traceback requires the -rdynamic compiler flag to print the function names.  For pgi, the traceback requires the -Meh_frame flag.
ref: http://www.gnu.org/software/libc/manual/html_node/Backtraces.html

This isn't working on Lightning (Intel) in the CESM driver.
@apcraig, maybe you have an idea why. If I add the -rdynamic flag to the VIC build CFLAGS.  I also tried adding -rdynamic and -Wl,-export-dynamic to ADD_LDFLAGS but that didn't work either.
When I say not working, I mean, we just don't get a useful traceback (function names are not included). The compilation succeeds and a traceback is printed on exit, its just not helpful.
Supporting this isn't mandatory but it does provide a nice debugging tool when VIC exits.

@jhamman : Can you include an example of the unhelpful traceback on lightning?

From a few minutes ago:
---------------------------------------------------------------------------
Traceback (most recent call last):
[0xe852e1]
[0x400efc]
[0x453bae]
[0x42df78]
[0x513d78]
[0x519da5]
[0x5271e1]
[ERROR] /p/home/jhamman/rasm_vic5/models/lnd/vic/vic/drivers/cesm/src/vic_init_output.c:128: errno: Is a directory: Error creating /work2/jhamman/vic5.RI.test.20150911a/run/

@jhamman : Since it does not really break anything I suggest we merge it after you resolve the conflict.


Backup progress

Provide a way for users to see the progress of an in-flight backup. Some thoughts:

if backing up all namespaces, first get a list of all namespaces so we know how many there are to process
try to find out how many different types of GroupResources are being backed up, so we can record progress per namespace
periodically record status somewhere in backup.status

Idea: store per-backup log file to object storage. Add ark backup log command to retrieve it.

Note, backup logs are separate from progress. We'll be coming up with ways to track real-time progress as described above to close out this issue.

For backups, we process first by resource then by namespace.
For restores, we process first by namespace then by resource.
I think for progress reporting, we should not be tightly coupled to the current mode/order of processing since that could change. We can count the number of resource-namespace combinations and then report as each pair gets completed.
My initial thought is something like:
// OperationProgress describes the overall progress for a backup
// or restore operation.
//
// BackupStatus and RestoreStatus will each have a field of this type.
type OperationProgress struct {
	// PercentComplete is a weighted sum of individual items' progress.
	// Each item has a weight of 1/len(Items), and a value equal to the
	// item's PercentComplete. This is provided as a useful summary
	// of the more detailed item progress information.
	PercentComplete int

	// Items is the individual units of work that make up the
	// operation (currently defined as namespace-resource pairs).
	Items []ItemProgress
}

// ItemProgress describes the current backup/restore progress for
// a namespace-resource pair.
type ItemProgress struct {
	Namespace string
	Resource  string

	// PercentComplete is computed simply as (# items processed)
	// divided by (total # items for namespace-resource pair)
	PercentComplete int
}

@ncdc let me know if you have any thoughts on this

@skriss it would be nice if operationProgress.percentComplete were more accurate, based on the percentages of the individual ItemProgresses.
When we do a backup, we know up front how many different types of resources we have, and how many items we have per resource type. If we store that information in backup.status, we can use it when restoring. Doing it that way, we could simply use % complete per resource type, and not worry about namespace.

We could store a map of GroupResource string to
type ResourceStatus struct {
  Processed int
  Total int
}

It could look like this:
resourceProgress:
  pods:
    processed: 15
    total: 100
  storageclasses.storage.k8s.io:
    processed: 0
    total: 3

And if we need to precalculate and store percentages, we could, although it's probably easy enough not to and just let consumers do it.
Also, if we ever move to a work queue and we want to have multiple workers independently updating progress, we could get a lot of conflicts and retries trying to update a single map in a single Backup. Maybe json patch would help there...

I'd be fine just doing it per-resource rather than also by namespace.

When we do a backup, we know up front how many different types of resources we have, and how many items we have per resource type
How do we know total # items per resource type? We list/back them up per-namespace

If we store that information in backup.status, we can use it when restoring
I like this idea in theory, but need to think about how it interacts with restore includes/excludes, label selectors

Also, if we ever move to a work queue and we want to have multiple workers independently updating progress, we could get a lot of conflicts and retries trying to update a single map in a single Backup. Maybe json patch would help there...
WDYT about having a single goroutine responsible for updating progress, and the workers just report to that goroutine?

Regardless of implementation approach chosen, I would strongly suggest against using percentages to measure progress. I would recommend using "x of y" instead.

Yeah we won't - as I wrote above

And if we need to precalculate and store percentages, we could, although it's probably easy enough not to and just let consumers do it.

cc @jbeda - another UX question

I think that status of a backup comes down to a set of questions:

Is this thing making progress?
How long is this going to take? Should I wait? Get coffee? Go home? Come back next week?

The problem with percentages is that it is hard to answer these if it will take a long time.  If it takes 5 minutes to move one percent then you have to wait 5-10 minutes to get an idea.  With that in mind, having the raw data helps.  Doesn't have to be super accurate -- something like "tasks".  Or some counter that moves regularly.

I like this idea in theory, but need to think about how it interacts with restore includes/excludes, label selectors

My initial impression here is that we'd store the total in the backup, but may have to recalculate when doing a selective restore. So a backup could hold 10 items, but we only want 6 in this restore. That does mean we're duplicating the logic, but currently I think that's not terrible.

This is pretty rough, although working pretty well.
It's using the json output in restic (using master, json output as added after 0.9.4) to update the CR with progress. It's also dumping the restic output to the pod logs although it's an awful lot of output so maybe that's not great.
https://github.com/fusor/velero/pull/4
I don't know if and approach like this, if cleaned up, would be interesting?

@jmontleon I really like the idea. Looking at it some more.

@skriss if you'd like to see it in action I have an image at docker.io/jmontleon/velero with the changes. Should work if you just update the image in a test environment and perform a backup with restic.

@jmontleon sorry I've been slow in providing feedback here - hasn't fallen off my radar.

thanks @skriss and @nrb for having fix for this issue..
I have one question regarding backup progress when using plugins:
Does this PR also covers taking progress/feedback from the plugins that are doing backup of volume's data?

It does not - no information is collected from the plugins to inform progress. We could consider that, but it would be a separate enhancement.


upgrade image tag to 0.17.1

What this PR does / why we need it:
Upgrade nginx-ingress image tag go 0.17.1
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
I am using Azure kubernetes.
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.6", GitCommit:"9f8ebd171479bec0ada837d7ee641dec2f8c6dd1", GitTreeState:"clean", BuildDate:"2018-03-21T15:21:50Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.5", GitCommit:"32ac1c9073b132b8ba18aa830f46b77dcceb0723", GitTreeState:"clean", BuildDate:"2018-06-21T11:34:22Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

The ingress works fine on setup. However, doesn't pick up any updates to Ingress objects later. The behavior was inconsistent with 0.15.0. After upgrade image to 0,17.1. I see nginx.conf not getting an update on every ingress change.
If the new version of images working fine, it's really useful to have come that by default. So that people are not losing time trying to debug the problems. This could also be achieved by passing values on the command line to helm, at the time of installation. In this case, I would recommend updating the readme with a note.
I am happy to run any kind of testing required to make this happen. Kindly guide me.
Special notes for your reviewer:
Thanks for you love.

/assign @scottrigby

This is missing the securityContext pieces required with the nginx upgrade (found in my linked PR).

@jpds Nice catch.
I think this one should be closed in favour of #6745.
/close

/close
already merge here: https://github.com/helm/charts/pull/6745

/close


Edit button doesn't work on Classes and Users

I was clicking "edit" on Classes and Users page but it's not responding.

This one is a little odd -- I actually can't recreate it.  I can get myself in a situation where clicking one of the edit buttons causes a few second delay before the screen changes, but never completely unresponsive.
You may also notice some delay in being able to click immediately upon visiting the page (esp with 'users' page on mtest) since the server call happening on the fly there is taking forever to return.
Could you see if the clicks are eventually registering like I mentioned, or if they really aren't an exact step-by-step used to get to that point (eg. from a full page refresh, what links were clicked, was the refresh icon spinning while doing those actions?). This is pretty low priority though, since the admin tool wont be user-facing.
Thank you!

@stevenolen - It happens when you do a search first then clicking the edit button. In the class search for "test" then tap "Edit" button of Test Class. Then in the user search for "mwf.cathy" then tap "Edit" button for mwf.cathy.

@ctrance retest when you get a chance...should be fixed (note if you test with user the server call delays may slow you up a bit when jumping between the user detail and main user list pages!

fixed now!


fix Escape key dose not fire by onKeyPress

When double click the Todo item > edit > press Escape key, nothing is changed, because the Escape key dose not fire by keypress event, check this link
https://stackoverflow.com/questions/47849060/capturing-escape-keypress-in-reactjs
But we can use keydown or keyup event to avoid this issue

@hefengxian Thank you for your first contribution!
I'll check this PR detail within a few days 😀

@hefengxian I've just confirmed this PR behavior is working fine close text edit by ESC key!
Just a little thing, could you fix that failed test?
https://github.com/laststance/create-react-app-typescript-todo-example-2020/pull/446/checks?check_run_id=2345590511#step:6:18
It is similar to you've modified app code, change keyPress -> keyDown at the line.

@hefengxian I've just confirmed this PR behavior is working fine close text edit by ESC key!
Just a little thing, could you fix that failed test?
https://github.com/laststance/create-react-app-typescript-todo-example-2020/pull/446/checks?check_run_id=2345590511#step:6:18
It is similar to you've modified app code, change keyPress -> keyDown at the line.

OK, thank you, I will try my best to fix that test

I fixed that failed test, now all checks have passed

@hefengxian Thanks! that's so excellent you added part of tests!
I'll merge it, thank you so much for your dedicated work 🤗

@all-contributors please add @hefengxian  for code test


Access to helper methods in Thor task

I externalized helper methods into an own extension. They can successfully be used in the templates.
Now I would also like to apply them in custom tasks, but I do not know how to reference them:
#config.rb
...
require "lib/nethelpers"

#lib/nethelpers.rb
require "middleman-core"

Middleman::Extensions.register :net_helpers do
  NetHelpers
end
class NetHelpers < Middleman::Extension

  def initialize(app, options_hash={}, &block)
    super
  end

  helpers do
    #...
    def some_method

    end
    #...
end

#tasks/sanity_check.rb
module Middleman::Cli::Net
  class SanityCheck < Thor::Group
    include Thor::Actions

    def sanity_check
      app = Middleman::Application.new
      # app.data and app.sitemap work properly
      # internal helpers like app.link_to(...) also function
      # but how to call some_method?
    end

I already tried directly calling some_method, app.some_method, ...
I also tried to find some helper attribute of app, but I did not succeed.
The documentation also did not provide any promising hints for me.
Thank you very much in advance!

Most of the helpers execute in a template context and it's very difficult to use directly. However, there are some more generic util methods that might solve this specific problem:
::Middleman::Util.url_for(app, path_or_resource, options_with_resource)

https://github.com/middleman/middleman/blob/master/middleman-core/lib/middleman-core/util/paths.rb#L148-L234


Purpose of /configuration and /outputcache/{region} endpoints

Follow up on issue #989. I'm curious as to what the purpose is of the /configuration and /outputcache/{region} endpoints?
The existence of these endpoints wasn't even realized by my team until they showed up in swagger and there's no mention of them in any of the documentation I can find. They only seem to return 404, but still curious about insight onto why they exist.
Specifically my concern is that given Ocelot is typically public facing, doesn't having exposed endpoints (especially for global configuration and routes) represent a security risk?
Thanks in advance for any help/clarification!

Hi @b-shep !
Welcome to Ocelot world! 🐯
And sorry for the 2+ years late reply...

I'm curious as to what the purpose is of the /configuration and /outputcache/{region} endpoints?

Well... In Administration API section everything is described! Ask us once again if something is unclear.
Click the links above: read the docs!

The existence of these endpoints wasn't even realized by my team until they showed up in swagger and there's no mention of them in any of the documentation I can find.

Ok. Sometimes it happens when undocumented feature is uncovered by you. This is bad for sure. Personally I found 3 undocumented features in Ocelot during last 6 months. It happened when PR is merged without docs, so docs weren't updated. As a project coordinator, I require writing docs for all new features, or feature updating possibly requires docs updating too. This is a part of our current development process.
I'm sorry that you were confused by undocumented feature.

They only seem to return 404, but still curious about insight onto why they exist.

Those requests were unauthorized! You had to get access JWT token first to communicate to Ocelot Admin API.

Specifically my concern is that given Ocelot is typically public facing, doesn't having exposed endpoints (especially for global configuration and routes) represent a security risk?

There is no risk because in order to communicate to Administration API endpoints you have to create auth JWT token by internal or external Identity Server.
The risks are the same as for every public website on internet.
There are the best practices to eliminate sec risks:

Use https protocol to host Ocelot instance to encrypt data
Use short life time tokens with expiration always: short expiry is better
Use Ocelot deployments in private networks with VPN server. This will require to open VPN tunnel for all clients which communicate to Ocelot instance including Administration API. This is the most secured environment setup.

Hope it helps!


Target encoding categories with a single training example

Expected Behavior
When target encoder is trained on a binary target and transforms an example where only one instance of the particular category is seen in training, I would expect the output to differ from the cases where no training instances are given for the category.
Actual Behavior
When target encoder is trained on a binary target and transforms an example where only one instance of a particular category is seen in training, the output is as if there were no training instances for the category and does not seem to take into account the value of the target in the training instance.
Steps to Reproduce the Problem
Using the following file: data.csv
In the following example you can see that the encoded category is the same for e.g. 'Acokanthera' and 'Adenium' when the target value for the training instances differ. Similarly the encoded value is the same for cases with no training instances, e.g. 'Prismatomeris'
    import pandas as pd
    import category_encoders as ce
    data = pd.read_csv('data.csv')
    train = data[data['Name'] != 'Prismatomeris']

    X_train = train['Name']
    y_train = train['Target']
    target_encoder = ce.TargetEncoder(cols=['Name'])
    target_encoder.fit(X_train, y_train)
    encoded_X_train = target_encoder.transform(X_train)
    encoded_X_train.to_csv('train_encoded.csv')

    test = data[data['Name'] == 'Prismatomeris']
    X_test = test['Name']
    encoded_X_test = target_encoder.transform(X_test)
    encoded_X_test.to_csv('test_encoded.csv')

Specifications

Version:2.5.1.post0 (pandas version 1.4.1)
Platform: Linux
Subsystem: ?

On updating, this issue appears to have been resolved in category encoders version 2.6.0


Fix the SID Viz workflow shutdown process with the new pipeline shutdown process

Due to the changes in #1233, the pipeline shutdown process has been slightly altered. This updates the viz demo to shutdown correctly without error. Also added support for exiting on Ctrl+C
Fixes #1391

viz works as expected now. thanks.

/merge


Initial setup issue in Bundle install

After running the initial 'suspenders foo'
Installing capybara (1.1.2)
Installing capybara-webkit (0.7.2) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
    /Users/tibbon/.rbenv/versions/1.9.2-p290/bin/ruby extconf.rb

Gem files will remain installed in /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.7.2 for inspection.
Results logged to /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.7.2/./gem_make.out
An error occured while installing capybara-webkit (0.7.2), and Bundler cannot continue.
Make sure that gem install capybara-webkit -v '0.7.2' succeeds before bundling.
Configuring app
insert  config/application.rb
insert  config/environments/development.rb
insert  config/environments/test.rb
insert  config/environments/staging.rb
insert  config/environments/production.rb
generate  rspec:install
Could not find gem 'sprockets-redirect (>= 0) ruby' in any of the gem sources listed in your Gemfile.
Run bundle install to install missing gems.
/Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/suspenders-0.3.2/lib/suspenders/actions.rb:10:in read': No such file or directory - /Users/tibbon/Code/artistparty/spec/spec_helper.rb (Errno::ENOENT) 	from /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/suspenders-0.3.2/lib/suspenders/actions.rb:10:in replace_in_file'
from /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/suspenders-0.3.2/lib/suspenders/app_builder.rb:83:in generate_rspec' 	from /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/generators/app_base.rb:96:in build'
from /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/suspenders-0.3.2/lib/suspenders/generators/app_generator.rb:96:in configure_app' 	from /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in run'

I have the exact same issue.

I just came back to this.
As per the output, I attempted the following:
dhcp-128-146-210-218:prey tibbon$ gem install capybara-webkit -v '0.7.2'
Building native extensions.  This could take a while...
ERROR:  Error installing capybara-webkit:
ERROR: Failed to build gem native extension.
    /Users/tibbon/.rbenv/versions/1.9.2-p290/bin/ruby extconf.rb

Gem files will remain installed in /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.7.2 for inspection.
Results logged to /Users/tibbon/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.7.2/./gem_make.out

Same issue here


Strange behavior from forkJoin on a Map.prototype.values iterable

Bug Report
I'm trying to build a Map where the key is a string and value is an observable. I want to make an Observable that waits on all of the values in this map.
Current Behavior
The behavior seems to be weird whenever you pass in an iterable from Map.prototype.values()
Reproduction

REPL or Repo link:
https://stackblitz.com/edit/rxjs-jmnxda

The key part is here:
forkJoin(obsMap.values()).subscribe(x => console.log(x));

This makes the console.log statement log an array that contains a single observable with the last value of the iterable. However, if I plug the iterable into Array.from it works as I'd expect it:
forkJoin(Array.from(obsMap.values())).subscribe(x => console.log(x));

Expected behavior
I'd expect the behavior to be the same for the iterable version and the array version.
Environment

Runtime: Chrome 74.0.3729.108
RxJS version: 6.4

This is due to we expect specific (i.e length property) to determine certain execution paths of given inputs, reason why Array.from will makes this work.
I personally don't have any opinion at this moment if we'd need to support mapiterator for this or not, but curious if other operator we have supports iterables would work same way.

It's likely that this is related to the problem solved in https://github.com/ReactiveX/rxjs/pull/4741

If the code isn't intended to support mapiterator (or other iterators), that may be ok. But if that's the case, I would expect to get an error of some kind that says iterators aren't supported rather than code that silently does the wrong thing and gives a weird resposne.

Closing this because this is the expected behaviour. If an array is passed as a single argument, that array is interpreted as the array of observable inputs.
This can be seen in the TypeScript signatures, too.
The behaviour is by-design. However, there is an ongoing discussion about how this sort of thing can rationalised in v7 - so that there are fewer surprises. And I agree with you that, as  it is, the API's behaviour is strange.


docs(website): add GraphQL Serve docs

Let's get this in and we can improve it with links to CRUD once the docs lands https://github.com/aerogear/graphback/pull/1655
/cc @craicoverflow


Main page has severe performance issues when loading repos

Viewing ibm.github.io results in a complete slowdown of Firefox 46.0.1 and Chrome 51.0.2704.54 on OSX 10.11.5. Loading the repos on the page seems to be causing lots of performance issues.

Not just that, it actually completely freezes the browser when using Palemoon.... Argh.. crash& burn

I've reverted the changes that enumerated all of the strongloop repos individually which is what was causing the performance issues. Working on a site redesign soon.

In #44 I added a progress bar - otherwise, you don't know if the page has finished loading or is just stuck. #52 reverted this because the page slowed to a crawl (sorry about that). Re investigate it?

I reverted because it caused severe performance degradation. I haven't had time to investigate. I would welcome any help in tracking that down, though!

I still find this page is very slow on a modern Firefox (56.0 on Linux).
(Being mindful that I have not at all been involved in the development of this site - but it occurs to me that the repository information doesn't really need to be in real time, and could potentially be generated statically and updated by a bot every so often to avoid all the API calls.)