Collect metrics through datadog for the perf project

This PR adds the following:

sending of request metrics and test results to Datadog
making assertions based on datadog monitor events. Monitor events are emitted on:

If the value of the metric is above a threshold. I set thresholds based on average time during my testing
If the test failed at least once during the current test run.

I created two monitors for both tests:

Deposits test dashboard https://app.datadoghq.com/dashboard/rpx-xu2-b2g/deposits-perf-tests?from_ts=1605343939055&live=true&to_ts=1605430339055&tpl_var_env=perf_circleci
Transaction test dashboard https://app.datadoghq.com/dashboard/7kh-xx4-9qu/transactions-perf-tests

Created monitors:

Watcher info monitors - https://app.datadoghq.com/monitors/manage?q=watcherinfo
Childchain monitors - https://app.datadoghq.com/monitors/manage?q=childchain.submit
test monitors - https://app.datadoghq.com/monitors/manage?q=test failed

Notes:

Monitors and dashboards are bound to env tag set for Statix so they can be distinguished by env.
For circleci,  additional env tag is prepended so a failure in one test run won't cause failures in all test runs

Feedback:
The dasboards are great, but:

we lack information about what "Average test count" means. Average of what? What is being counter? This needs to be somehow reflected and evident in the dasboard (title, description... whatever is available).

there's one instance of the dashboard per test type (transaction tests, deposit tests). Correct?
This means, that we're only able to run one instance of the test at the same time? What if we want to run one of these tests towards development and another one towards sandbox?

@boolafish can you please review this pr

@boolafish

one side note: I am not sure how much do we need to chain the tests now (I know it was previously brought up for really long running tests like for days). One note/idea after looking at the PR is that we can actually separate traffic trigger and result checking into 2 spinnaker stages. This would make it flexible on having multiple previous stages that triggers the traffic and the one single last stage that check the metrics

I added the ability to run tests and make assertions separately.
From docs:
  Running tests without assertions.
  You can run tests without assertions by passing `false` as the last parameter:

    STATIX_TAG="env:perf_circleci" mix run -e "LoadTest.TestRunner.run()" -- "transactions" 1 80 false

  To just check if there are any events in the given period of time run passing start time and end time:

  STATIX_TAG="env:perf_circleci" mix run -e "LoadTest.TestRunner.run()" -- "make_assertions"<PHONE_NUMBER><PHONE_NUMBER>


Move gulp to devDependencies

Hey, I'm sure this package isn't top of mind for you lately, but my team still uses it and loves it.
There's an open CVE on lodash that (by a long chain of dependencies) is required by this version of gulp. This seemed like a reasonable compromise to me, we can still run that version of gulp on local when maintaining the package, but it doesn't need to be compiled into my shipping asset.
LMK if this works for you and you can merge it up, otherwise I can keep using my fork until we finally axe Angular 1.
Thanks again for this package, it's such a clever fluent addition I've always really appreciated it.

Hi! I'm glad to hear you are finding it useful. This looks good to me.
Good luck on axing Angular 1.x, what a pain 😛

@jwadhams I also created a release. Let me know if there's anything else you'd like me to do.


returning if active window is not "osm_viewer"

Hi, thank you for finding a fix and opening a PR so quickly! This is a promising lead indeed. A few points of feedback:

This solves the problem for this one example, but the general problem exists across any apps using the widgetry UI library. I was thinking we could detect this problem and suppress the event somewhere like https://github.com/a-b-street/abstreet/blob/3a7ce20dbb1ac4120be253a18d7fec4520eb4e22/widgetry/src/runner.rs#L424. When we get an event from winit, before we convert it to the widgetry event and pass it down to the app-specific code (like the place you've found), we should decide if that event should actually get ignored. Solve the problem in one place.

https://crates.io/crates/active-win-pos-rs looks like it brings in lots of new transitive dependencies (based on the change to Cargo.lock. It also doesn't look like it has WASM / web support. I'm wondering if we can use winit itself to detect this kind of thing? I notice some winit examples like https://github.com/rust-windowing/winit/blob/2486f0f1a1d00ac9e5936a5222b2cfe90ceeca02/examples/window_debug.rs#L128 compare WindowId. Maybe this is the right way to do this? I haven't dug into it before, might not be the right approach

Sure will look into it In Sha ALLAH

@abdulroufsidhu, I cleaned up your PR a bit and will merge now. The logic is correct -- the best we can do is listen for the sequence of key presses. I switched to using virtual key code enums instead of the raw numeric scancodes, in case somebody's keyboard layout is different. Thanks so much for solving this problem and sorry for the slow review!


Feature/timesheet dashboard

@heloufir Take a look over this. That error should be gone.

Added a table instead of a view for the time logged

Added a table instead of a view for the time logged

That looks better

@mihaisolomon
yep the first error is resolved, but I got another like I have said in the issue #29

https://flareapp.io/share/Bm0BJyW7
I think the activity is null, and it need to be checked with a condition like below:
foreach ($collection as $item) {
    if ($item->activity) { // <- HERE
        $datasets['sets'][] = $item->value;
        $datasets['labels'][] = $item->activity->name;
    } // <- HERE
}


Improve error screen and stack trace readability

This change makes the error screen much nicer to look at, while also conveying more useful information to the developer.
New:

Old:

If there isn't a specific line associated with the error, then no error line is shown:

This is a great dev usability improvement. Thank you so much.


Create guidelines for contributing to Supernova

As @0xazure is a man of fine taste, prefixing commit messages and PR's with feat, doc etc will help maintainers to identify what a commit was intended to change.
Getting started on a CONTRIBUTING.md with proper guidelines to follow would be great!
We can take inspiration from Rust's own CONTRIBUTING.md, Rustfmt's CONTRIBUTING.md or Rust-Cookbook's CONTRIBUTING.md.

I need to figure out where I picked up the message prefixes from, I think it would make a good addition to CONTRIBUTING.md and would help newcomers understand the reasoning behind it.
I'd also like to add How to Write a Git Commit Message as an additional resource for reference.
Definitely want to draw inspiration from existing CONTRIBUTING.mds, no sense in reinventing the wheel when there's so much goodness out there, and thanks for pulling together that list for inspiration!


install won't work with node > 0.12

Here's a pastebin of what followed after I ran npm install -g jsbin in git bash on Windows 8.1: http://pastebin.com/mCF93qrD

Node 0.12 isn't supported.
On Thu, 3 Sep 2015 23:07 Daniel Hug<EMAIL_ADDRESS>wrote:

Here's a pastebin of what followed after I ran npm install -g jsbin in
git bash on Windows 8.1: http://pastebin.com/mCF93qrD
—
Reply to this email directly or view it on GitHub
https://github.com/jsbin/jsbin/issues/2539.

Ran into the same issue. FWIW, tried updating the sqlite3 dependency to 3.x.x, after which installation worked fine on the same Windows setup @Daniel-Hug described. No idea (yet) whether something broke or not in the actual app, but at least based on a quick look things look fine. There might be a valid reason why sqlite3 version is ~2.2.0, thus I assume something related to local data storage isn't working fully on this 3.x.x version.

I also got this working by updating the sqlite dependency to 3.x.x but was not able to install jsbin locally. I had to run "grunt build" in the git checkout and run from there.

Sorry, meant to close this. Only node 0.10 is supported atm. There's a massive update to express that needs working into jsbin. Happy to take a PR, I've had a shot a couple of times, but I'm not familiar with the migration path.

This the one you're referring to? Debating taking a stab tomorrow rather than downgrade. Do you remember any particular pain points?

I don't, no. If it was going to be upgraded, jump past 0.12 and head straight for node 4 LTS land. Problem is: the deps are very much in need of updating, express in particular. I do have some time sectioned off in the near future to upgrade the deps (which might get it working on node 4), but I can't commit any dates atm.

I'm running 5.6.0 😉 I'll PR on an upgrade branch if its on your roadmap anyway. I just don't want to diverge significantly before/after adding another feature.


feat: LL-593 Allow user to edit account name when importing

For Discussion:

Choosing a hint for the user if the current swipe + blue ball is not liked. (glowing ball only, text based feedback, etc)
When to close the drawer when editing (after we come back/before so it's close on return)
There is no third point.

Add the ability to edit an account imported from Desktop by adding a swipe action to the rows.

Type
Feature
Context
https://ledgerhq.atlassian.net/browse/LL-593
Parts of the app affected / Test plan
Import accounts from desktop, potentially test other screens showing account lists :trollface: in case something broke.

For context, @gre linked to this article for inspiration. https://uxplanet.org/how-to-communicate-hidden-gestures-in-mobile-app-e55397f4006b @bscholving @khalilbenihoud @dekkaki

@gre flow complains on the node module itself, 🤷♂

Personally I'm not a huge fan of the autoclosing when multiple rows, I wonder what's the issue by letting user opening them all? Is there other apps doing these sort of things?
I think we can dismiss the row as soon as you click the button OR it can be "offsceeen" too (can hook to reactnavigation cycle)

I propose this simpler version, following the autoclose feeling you guys were talking about @aramab @gre and changing the hint to a simpler blue hue dot that animates. Still need to address ci for this, it doesn't like the gesture handler library


Ensure the engine is idle even when multiple requests are scheduled at once

If the crawler has multiple start_urls or yields multiple requests at once, the engine does not seem to terminate even if the process finishes successfully.
class ExampleCrawler < Vessel::Cargo
  start_urls(
    "https://example.com/1" => :parse,
    "https://example.com/2" => :parse
  )

  def parse
    yield [
      request(url: "https://example.com/3", handler: :parse),
      request(url: "https://example.com/4", handler: :parse)
    ]
  end
end

The number of req_enqueued to be increased when scheduling seems to be wrong.

Right you are) thanks!


⚠ AVS (kty) has degraded performance

In 484ca30, AVS (kty) (https://avus.com.br) experienced degraded performance:

HTTP code: 200
Response time: 8817 ms

Resolved: AVS (kty) performance has improved in cc85704.


Use split.js for splitting code and web output

copies split.dart file from flutter/devtools repo

discussed offline with Andrew: we're going to merge as-is and incorporate the new version of the split package later


Compile error on Android

Getting a compile error when building for Android:
* What went wrong:
Execution failed for task ':awesome_gallery_saver:compileDebugJavaWithJavac'.
> error: invalid source release: 17

A fix version: ^0.0.5


Custom Chip Size

Have a popup that will allow the user to specify/change the custom chip size. We cannot use the tool for quick layouts because of this missing feature.

Implemented BUT This is still buggy in terms of generating the edges automatically and segregating them in the SVGs.
Commit: f4e2a0b50441f904461fe10c4d91dc726accfc4a


Horizontal scrollbar is hidden when scrolling vertically (OS X Chrome)

Does this still occur? Can't reproduce.

Sorry, erroneous title for the issue (fixed now).
Still happens using master.

I can verify that the issue is reproducible in Chrome 43, however only on a non-retina display. Issue can also be seen in Vaadin Sampler on non-Valo themes.

Reported a framework issue here https://dev.vaadin.com/ticket/18376


Adventures

Stuff.
@seanlip do you see this?

Follow-up comment. Sean is not mentioned in this. Does he still get an email?

@seanlip is mentioned in this one.


help tableview didselect delegate function

Hi,
I am a beginer who get started 2 month ago
I'm made paging menu using PagingMenuController, but have one issue.
I made Navigationcontroller at first, import PagingController, and addSubView ViewController (using tableviewcontroller)
I need to go to the detailView when I touch on it, but I can not move it.
please help me.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let parentsView = ProductListViewController()
    parentsView.moveDetailView(str: "https://m.naver.com")

}
<PagingMenuController view class (must move ProductDetailViewcontroller)>
func moveDetailView(str: String) {
    let sb = UIStoryboard(name: "Main", bundle: nil)
    if let uvc = sb.instantiateViewController(withIdentifier: "ProductDetailViewController") as? ProductDetailViewController {
        uvc.linkUrl = str
        self.navigationController?.pushViewController(uvc, animated: true)
    }

}

I clear this issue.
Have a nice day~


import roboFont

RoboFont was never supposd to work as module. I guess this was auto generated by py2app.
I would advice to test if a script is running inside RoboFont by:
try:
    import mojo.roboFont
    inRF = True
except:
    inRF = False

this occurs in https://github.com/adobe-type-tools/box-drawing/blob/master/boxDrawing.py#L45 and https://github.com/adobe-type-tools/python-modules/blob/master/WriteFeaturesMarkFDK.py#L117

Fixed.
Was also in https://github.com/adobe-type-tools/python-modules/blob/master/WriteFeaturesKernFDK.py#L156


Boolean settings can't be un-set at workspace level using new settings editor if set at user level

If I have formatOnSave: true in my user settings but want to disable it for a specific workspace, I can do it by setting formatOnSave: false in my workspace settings json file, but I can't do it via the settings editor - it only allows tick/untick, and unticking it just removes the setting, it does not explicitly set it false.
I think there should be some way to override a boolean setting with a false in the workspace settings editor.

https://github.com/Microsoft/vscode/issues/58038


Custom Events vs mitt

Hi and thanks for the nice work :)
I am exploring the options for events handling in the browser in general and stumbled upon this lib.
My question is a bit general and is: what problem does mitt solve that is not covered by Custom Events?
https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
I know it is not really an "issue", unfortunately I do not see github discussion tab here.
Thank you!

My personal experience, CustomEvent is coupled with DOM, while mitt is not. So that when writing unit tests for event-related logic, I don't have to involve DOM in the tests.

Also worth noting: because CustomEvent is a DOM API, it's generally slower than mitt - firing DOM events requires repeatedly crossing bindings between JS and native browser code.


Rancher health checks not starting for some services

Rancher Version:
v1.1.2
Docker Version:
1.11.2
OS and where are the hosts located? (cloud, bare metal, etc):
RancherOS 4.4.10 - AWS
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single node, external DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
Bring up a new stack w/ at least ~15 health-checked services on one rancher host
Results:
Services eventually come up, but health checks never start for some of them. Seems random which ones it doesn't start for. Looking at the container logs, these services are healthy and simply not receiving health-check requests from rancher. Because of this, some services are never actually marked healthy and are stuck in an activating/removing cycle
Expected:
Service healthchecking should start after the grace period
This is happening to me pretty reliably when a new host comes online or new stack is deployed and 10-20 services are being brought up at once. Usually at least 1/3 of them never actually start receiving health checks and so they are eventually terminated and restarted by rancher because it considers them unhealthy when they aren't. This cycle seems impossible to get out of until I manually delete the containers in these services, and often times that doesn't even work. I have also noticed that even though these services are never marked healthy, rancher still starts routing internal traffic to them, which is making things worse as active requests are then being dropped when rancher decides to terminate the container because it thinks it's unhealthy. Is this expected?
Happy to provide logs if someone could tell me where to look. Rancher health-checking seems like a bit of a black box right now.

Can you provide the docker-compose.yml and rancher-compose.yml of your stack?

Unfortunately it's a lot of private images. I'll try and reproduce with a similar stack though and share that if I see the same issues.

We are seeing a similar issue with stacks we are starting that need health checks for the traefik load balancer to pick up the backend of the service.
This is on Rancher 1.1.4 with Docker 1.1.12
Once our stack is started, I can upgrade the primary service, and add the same health check settings that I have in my rancher-compose.yml file - and it then works.
Any ideas on where to look ?

I should add that the health checks I am having issues with are defined in rancher-compose.yml files that are part of a custom catalog that we are launching instances from.
If I add health checks to the launched instance with exactly the same settings, they are added and enabled correctly.

Please comment or reopen if someone has a reproducible way to cause this on a modern release.


Cell as SKU in intra-vc scheduler

New cell as SKU feature in intra-vc scheduler, work items:

[x] new interface for pod group and scheduling result placement
[x] pod request parsing and conversion
[x] affinity group / pod group adjustments before intra-vc scheduler
[x] new scheduling algorithm in intra-vc scheduler
[x] scheduling placements adjustments
[x] update original test cases (leaf cell) #37
[x] spec, request examples and document, design document
[x] add new test cases (within feature) #38
[x] end-to-end tests and debug

Codecov Report

Merging #34 (3a7d752) into master (66f26ac) will decrease coverage by 18.56%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #34       +/-   ##
===========================================
- Coverage   88.46%   69.90%   -18.57%
===========================================
  Files           8       10        +2
  Lines        1890     2309      +419
===========================================
- Hits         1672     1614       -58
- Misses        166      613      +447
- Partials       52       82       +30

Flag
Coverage Δ

unittests
69.90% <ø> (-18.57%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...cheduler/pkg/algorithm/topology_aware_scheduler.go
3.15% <0.00%> (-86.85%)
:arrow_down:

...om/microsoft/hivedscheduler/pkg/algorithm/types.go
22.83% <0.00%> (-62.21%)
:arrow_down:

...ft/hivedscheduler/pkg/algorithm/cell_allocation.go
58.93% <0.00%> (-33.34%)
:arrow_down:

...om/microsoft/hivedscheduler/pkg/algorithm/utils.go
75.49% <0.00%> (-9.91%)
:arrow_down:

...ft/hivedscheduler/pkg/algorithm/hived_algorithm.go
76.19% <0.00%> (-9.05%)
:arrow_down:

...hivedscheduler/pkg/algorithm/intra_vc_scheduler.go
100.00% <0.00%> (ø)

...soft/hivedscheduler/pkg/algorithm/sku_scheduler.go
81.13% <0.00%> (ø)

...microsoft/hivedscheduler/pkg/algorithm/types_v2.go
84.04% <0.00%> (ø)

...m/microsoft/hivedscheduler/pkg/algorithm/config.go
96.39% <0.00%> (+0.04%)
: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 66f26ac...3a7d752. Read the comment docs.

Can we first add some basic examples, design docs, so we can easily review?

Only backtrace to parent pod group may not enough to find the whole pod root group placement if it exist in theory.
Consider the following example:

Only backtrace to parent, result in no solution, but in theory, a solution exist.
We can add more pod group sorting criterias, such as if it has withinOneCell requirement, but still cannot prove only backtrace to parent is enough.
So given we have small trees, backtrace to previous bound pod group (i.e. parent or left sibling node) should not too time consuming, which is enough to find the whole pod root group placement if it exist in theory.

Add demo here, such as pods withinOneCell and single pod's non-leaf cell type

Refers to: example/feature/README.md:2 in c5e1bf1. [](commit_id = c5e1bf14e62631e2d9e2899694b72e154a8829b1, deletion_comment = False)


Feature Request: Remember IP Address

Hi there,
Thanks for making OpenScreen, it's exactly what I've been looking for and suits my minimalist needs quite well.
I just have a quick question/feature request:
Is there anyway to save the IP Address without having to type it in every time I open the program?
Whether it's saved in the GUI or in a config file that it reads, whatever would be easiest to achieve.
Thanks a lot for building this, going straight into my preferred tools list.

Hi, @blumpcus
I added the function you requested.
Now if the "Remember IP Address and Port" field is checked, the IP address and port will be saved and they will be restored on the next program launches.
Link to installer with updated app: OpenScreen-Installer.msi
Link to new release: OpenScreen v1.2
PS. I'm very pleased that my project was useful to someone. 😄

I just wanted to say thank you so much for considering this function, adding it, and doing it within 24 hours of my request.
That was very generous of you, I really appreciate it.
My friends and I are officially using this tool and getting great use out of it =)

I just wanted to say thank you so much for considering this function, adding it, and doing it within 24 hours of my request.
That was very generous of you, I really appreciate it.
My friends and I are officially using this tool and getting great use out of it =)


WIP: fix(ts-typings): update ts typings

Closes #1010

also adds proper type checking and intelisense for Stateless Components 🍺

TODO:

[x] extract common types which should be private ( for instance consumer shouldn't be able to import VDOMElement from 'skatejs' )

hmm there is some strange issue during build
Cannot find module 'regenerate'  😢

when #1009  is merged can you review this one pls? we are kind of dependent on having these changes backed in ( within https://github.com/wc-catalogue/blaze-elements ), so we can upgrade to latest skate.
cheers!

@Hotell yeah, I upgraded Rollup hoping that it'd be okay, but it broke stuff. That is what ultimately spurred the Webpack 2 rewrite. I've merged that in and now there's a conflict in the tsconfig.
It seems the tsconfig changed in #1009, but I don't remember changing it. Not sure if it was an auto-update from VSCode or what. It looks the same, but I'll let you resolve. Everything else LGTM.

Just a general question, do you think we should have a src-ts instead of putting it in src? Just thought I'd 🚲 shed that one :)

I just pulled the changes but I'm not able to use it with HTMLAnchorElements:
Property 'toString' is missing in type 'HTMLProps<HTMLAnchorElement>'.

I tried to extend the element with a toString?: string, but had no luck. I think this might be related to https://github.com/Microsoft/TypeScript/issues/13345 but without the actual exception.
I changed the definition a bit to be a single interface and it seem to work

@d-schiffner I'm of that issue. But it was there before this PR.  Once I'll resolve this, merge will follow

@Hotell ,
thx, good work btw!
If I can help, just give me a note

@treshugart

Just a general question, do you think we should have a src-ts instead of putting it in src? Just thought I'd 🚲 shed that one :)

Probably not, we wanna be "consistent" with root public api entry point which is index.js and mirror it with index.d.ts if we moved the /ts-typings folder outside /src we would end up with not very nice import file references and so on...
Maybe in next iteration we can do that, and mirror actual js source files structure with .d.ts definitions. Question is if it's worth it ( probably not ? ) :D


Should run on server for high concurrent requests for thumbnail conversion?

So, we have a production grade application ready to ship in couple of months. We were missing thumbnails conversion for images and office files. I have added preview_generator to our application as a separate service. I'm having good time using it, generates thumbnails for most of the files 👍. It'll be great to see video conversion, if you guys are planning for that.
Right now I'm overriding the PreviewManager's features as it doesn't let me specify mime myself My bad, the feature is actually there! That's not a major issue but I saw my docker container has 💯% CPU usage when asking for converting thumbnails.
The docker instance has Quad core CPU cores enabled and a couple Gigs of memory. It only has single endpoint only for thumbnail conversion.
What's my concern is to use this for production or not. Are you guys working on performance improvements? Like you have mentioned in your issues about libreoffice instances running in multiple.
How do you efficiently run CLI calls?
Thanks 😄!

Hi, nice to see preview_generator user !
About performance and concurrency issue, there is effectively a strong limitation for libreoffice handled file, as see it this issue: https://github.com/algoo/preview-generator/issues/77
code will run only one libreoffice instance at the same time (there is issue when trying to run 2 different libreoffice at the same time with same env_info parameter, so we have a lock here).
Best solution is relying on  UNO Api instead of cli call with libreoffice as server mode which was done for that usage. Another but more hacky solution is using a pool or autogenerated env_info for using many different libreoffice (same behaviour as other builders).
For rest of the app, preview_generator code is not yet ready for high concurrency, it's totally synchronous, we do use check_cal for most cli call (https://docs.python.org/3.6/library/subprocess.html#subprocess.check_call) which mean that call is done with another process (which is good) but wait for answers.
We are currently not working on these kind of improvements.
If you have any idea about improving performances, feel free to make propositions as issue and or as PR.

@abhigyan-tiwari I forgot to mention one important thing, preview_generator, do store generated preview, so, it will generate preview only one time, then it will use cached preview.


[Trace Testing] Yakuza: Like a Dragon - Missing clouds

In the game Yakuza: Like a Dragon there are no clouds, the sky is completely blue.
This bug was introduced somewhere between 4a0a9d62 and 727fd7ac  (list of commits).
Bug can be reproduced on the following configurations

VANGOGH, NAVI21
radv 22.1.4

Check out https://ci-dashboard.steamos.cloud/bugs/19 for the full history!
Sample frame showing the issue

Click here to compare this frame with the reference frame or other GPUs.

is there any way to get the trace?

Looks the same to me on Nvidia.
Windows

DXVK (dcd0c6ce)


Change the twitter icon to X icon

I Would like to change the All the Twitter icons present in the Website to the X icons .

If you want to add anymore icons of other social media handles .Please Feel free to assign.
I would be grateful if you assign me this issue under the Gssoc-ext ,hacktoberfest label.Looking Forward to Work on this issue.
My Github Username is @Bhanuprakash842

Hey @BhuwanSKumar I can work on this.

I would like to work on this. Please assign me.


Add objects, gofmt

Adds some missing objects. Removed some trailing whitespace.

Thanks a lot for contributing, Stefan!
I would like to warn you about a few things that I'm going to change after merge:

probably, I'll return blank lines within structs later (really later, it does not matter much) because:

I think, it makes code a bit more readable (multiline comments stick only to corresponding code lines)
I've seen such blanks in your new structs (Regs, Pmp, Deal)
it seems, that my gofmt does not cut these blanks, so I suppose, that it's OK

Rename some types and keys, capitalizing abbreviations (Pmp -> PMP, stands for Private Market Place; Coppa -> COPPA etc.) because:

I'm trying to keep such style through the entire repo (for example, Geo struct - RegionFIPS104, ZIP, UTCOffset keys)
even if sometimes it does not look too nice, this approach makes naming style a bit more consistent and allows not to think much about "how to camelize it in the most beautiful way"

I strongly discourage you from using this code in production because:

names may change a bit (mostly camelization)
types may change a bit (mostly int/float types, for example - int64 -> int16 if 64-bit container is an overkill for key type or something like this)

Actually, I started this repo just to have nice foundation for future RTB-related tasks.
So right now I'm thinking more about making this code as well-organized as possible instead of "just work".
That's why some breaking changes may occur till v1.0 (all TODOs should be implemented and code should be strictly reviewed).
If you would like to start writing production-ready code using this lib right now, I suggest you using GoDep.
If GoDep cannot stick to commit hash - please, notify me somehow to create an intermediate release
Or simply use only forked repo for your development.

Seems to be done, the only changes were Regs.Coppa -> Regs.COPPA, Pmp -> PMP (still in doubt, if it is right decision, as PMP object referred in OpenRTB 2.3 specs as "Pmp" and not "PMP", but it seems OK) and Deal.At -> Deal.AT (Auction Type).

Hi, I'm actually not using this code for anything currently. I just thought the repo needed to exist as the openrtb entities are a pain to implement from scratch. I would agree that you should not worry about breaking changes at this stage in it's development.
Naming conventions are a good idea. Sounds like a sensible approach.
Sorry about the space reformatting. It's annoying, I know. Though I think it may have been gofmt that did it and I'd always recommend following what gofmt thinks is best.
BTW, it'd be good if issues were enabled on this repo.

Regarding space reformatting - now it seems to be fine. Probably, I did not pay enough attention to diffs or git merged it preserving those blank lines - don't know exactly, but I'm fully satisfied with current formatting.
Now issues are enabled, thanks for advice.


Data grouping.

{
  # group
  nuxt: [{
    "name": "filename",
    "url": "fetch file url"
  }],
  〇〇: [{
    "name": "filename",
    "url": "fetch file url"
  },
  {
    "name": "filename",
    "url": "fetch file url"
  }]
}

branch
https://github.com/webcyou-org/coppeno/tree/feature/group

https://github.com/webcyou-org/coppeno/pull/10


very consufing installation process

Im using this command to install:
curl -fsSL https://deno.land/install.sh | sh
After 1 hour i realized i need to add some more setting to my $HOME/.basrc
Most users will expects smooth experience, this little decision wreck it. Why we cant just ask the user:
 If you dont want to call deno by its full path, you must add this line xxxx into your .basrc. Do you want us to add it automatically? Y/N?

duplicate of #286


DLL load failure

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Win 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): pip
TensorFlow version: 1.12
Python version: 3.6.4
Installed using virtualenv? pip? conda?: pip
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: CUDA v9.0
GPU model and memory: GTX 1060 6gb

Describe the problem
Basically trying to import tensor results in an "ImportError: DLL load failure." I already have cudart64_90.dll installed to its destination along with other necessary files. A complete re-install of TensorFlow does not fix this problem. Checked the CUDA paths only to find no issues.
Provide the exact sequence of commands / steps that you executed before running into the problem
import tensorflow
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Traceback (most recent call last):
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Python\Python36\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Python\Python36\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/PycharmProjects/TensPlease/CanITens.py", line 7, in
import tensorflow as tf
File "C:\Python\Python36\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:\Python\Python36\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Python\Python36\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Python\Python36\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

Fixed the issue.
Downgraded to Tensorflow 1.5, for some reason it works, and restarted the system.


Firestore security rule match path to a field in dictionary

Let's say I have this Firestore below user object with fields name, address, and cars (note only user is a collection).
user {
      name: "John Smith"
      address: '123 Firebase Road, Firestore CA, 10000"
      cars: {
               asfdfsd811r9UAdfasdf1: {
                       name: "Ford Explorer"
                       carSold: false,
                       salesComment: "This is the best SUV in the world"
               },
               12342342ADSfas! :{
                        name:" Testla Modal X"
                        carPrice:false,
                       salesComment: "This is the best electric car in the world"
               }
      }
}

I want to set a security rule to enforce the client libraries can only edit salesComment, but nothing else in this user collection object, how do I do it? I set up a matching path like below, but it doesn't work :( . Can you set up a match path to field dictionary, like in this case, cars? Does match and variableId pattern only apply to collections only.
service cloud.firestore {
  match /databases/{database}/documents {
  	match /user/{userId} {
    	      match /cars/{carName}/salesComment {
    	            allow write: if request.auth.uid == userId;
              }
               allow read: if request.auth.uid == userId;
    	}

Out of scope for this repo. Please use StackOverflow or Firebase Support for product usage questions.

Just a simple one line answer if you know the answer. You read the question, and isn't just as easy to answer it as to close this? Well, I guess I will post this in stack overflow and have it maybe never answered.

Started 50 bounty because couldn't get answer from Stackoverflow: https://stackoverflow.com/questions/60960218/firestore-security-rule-match-path-to-a-field-in-dictionary


Set Index hashtree sync_stop timeout to infinity

When stopping a riak node, riak_kv_vnode terminates and riak_kv_index_hashtree:sync_stop/1 called.
This may end up in crash if it could not finish in 5 sec:
CRASH REPORT Process <0.1193.0> with 1 neighbours exited with reason: {timeout,{gen_server,call,[<0.1248.0>,stop]}} in gen_fsm:terminate/7 line 600
I think this could created a situation where a normal riak stop can cause this error:
 CRASH REPORT Process <0.3158.0> with 0 neighbours exited with reason: no match of right hand value {error,{db_open,"Corruption: truncated record at end of file"}} in hashtree:new_segment_store/2 line 728 in gen_server:init_it/6 line 328

I think there are plenty of situations where 5s could be too short, so I agree about changing this.  However, do we want to allow this to try forever, especially as it can recover from the crash?
My gut feeling is to use 60s not infinity.  That is just an immediate reaction though, happy to discuss.
I will review that area of the code in more detail later this week, but I will make sure whatever we agree to change goes into the 3.0.9 release which should be out in the next 2 weeks.

Agree, 60 sec could be enough (or at least helps a lot) and we won't run the risk what if it hangs somehow.
Thanks!


Fix issues with developer installation steps

Unclear if this is still needed at this stage or not. The Python code reorg might be done after the Sep release (or possibly between rc0 and rc1).


Set fuzzing action to run for the featured project as well

Switches the fuzzing action to use a matrix to run fuzzing in both our jazzer project and the featured projects one. The project used in cifuzz.yaml will remain the same since that would be executing jobs manually and would require the executor be authorized to do run the job.

@br-lewis Our secret lacks permission:
Did not succeed uploading the fuzzing artifact: rpc error: code = PermissionDenied desc = Insufficient privilege for project


k8s: add K8s endpoints equalness and missing function

Read per commit basis.
Stop triggering unnecessary loadbalancer setups for every Kubernetes endpoint watch event.

This change is

Awesome. This looks great and brings us a lot closer to moving more code into pkg/k8s.

I've noticed that, some of the functions depend on daemon only to access the loadbalancer. Once the loadbalancer will be in its package it will be a lot easier.

test-me-please

test-me-please

test-missed-k8s

test-missed-k8s


[Conflict] v2.0.1,  Splatter texture renders above all tokens when perfect-vision is enabled

After the latest updates, whenever I enable perfect-vision, splatter texture is applied above the tokens instead of below.
Disabling perfect-vision makes the Splatter textures appear below tokens as expected. Here even if moved around, tokens stay below the texture making them hard to see. Console do not show me any specific error/warning.
Here is how it looks like when
perfect-vision is enabled.

perfect-vision disabled.

Thanks for the report! Because of how PV changed in 2.0 to improve performance, I have to manually resolve these kinds of things. Fixed in v2.1.0.


[Feature Request] Register startup tasks via IStartupTask

A recurring problem I get is how to run a task that need to run only once in ASP.NET Core?
This blog post write about all the solution, and the shortcoming of each of them (@andrewlock).
He solved the problem elegantly in the part 2 by making a new interface IStartupTask that he registers in the DI in Startup, and an extension method IWebHost.RunWithTasksAsync to call instead of RunAsync().
public static async Task RunWithTasksAsync(this IWebHost webHost, CancellationToken cancellationToken = default)
{
	// Load all tasks from DI
	var startupTasks = webHost.Services.GetServices<IStartupTask>();

	// Execute all the tasks
	foreach (var startupTask in startupTasks)
	{
		await startupTask.ExecuteAsync(cancellationToken);
	}

	// Start the tasks as normal
	await webHost.RunAsync(cancellationToken);
}

This solution has no downside, but I feel that this is something that Aspnet Core should have out of the box as this is a very common problem.
Despite being a long time .NET guy, I was not finding a good enough solution until I stumbled up on his blog.

IHostedService should work for this in 3.0.

StartAsync() of IHostedService is running after the kestrel server start servicing the requests though.

See https://github.com/aspnet/AspNetCore/issues/11437

Closing this then, happy to see it coming. I can't wait for 3.0.


Error in installing MEAN.io in Ubuntu14.04

:~$ sudo npm install -g meanio@latest
/

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/meanio/node_modules/mean-health
node ./postinstall.js

npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/meanio
cd ./lib/core_modules/server && npm install && cd ../../..

npm ERR! Error: Attempt to unlock ., which hasn't been locked
npm ERR!     at unlock (/usr/lib/node_modules/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/lib/node_modules/npm/lib/cache/add-local.js:30:5)
npm ERR!     at /usr/lib/node_modules/npm/lib/cache/add-local.js:47:20
npm ERR!     at /usr/lib/node_modules/npm/lib/utils/locker.js:22:20
npm ERR!     at /usr/lib/node_modules/npm/node_modules/inflight/inflight.js:22:7
npm ERR!     at Array.forEach (native)
npm ERR!     at res (/usr/lib/node_modules/npm/node_modules/inflight/inflight.js:21:9)
npm ERR!     at f (/usr/lib/node_modules/npm/node_modules/once/once.js:16:25)
npm ERR!     at afterMkdir (/usr/lib/node_modules/npm/lib/cache/get-stat.js:53:14)
npm ERR!     at /usr/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR!     http://github.com/npm/npm/issues
npm ERR! System Linux 3.13.0-65-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /usr/lib/node_modules/meanio/lib/core_modules/server
npm ERR! node -v v0.10.37
npm ERR! npm -v 1.4.28
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/lib/node_modules/meanio/lib/core_modules/server/npm-debug.log
npm ERR! not ok code 0
npm ERR<EMAIL_ADDRESS>postinstall: cd ./lib/core_modules/server && npm install && cd ../../..
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is most likely a problem with the meanio package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cd ./lib/core_modules/server && npm install && cd ../../..
npm ERR! You can get their info via:
npm ERR!     npm owner ls meanio
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-65-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "meanio@latest"
npm ERR! cwd /home/minerva
npm ERR! node -v v0.10.37
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

Tried a couple of times, still same result. No luck with "sudo npm install -g mean-cli" either. Help, please ?

Paste the sudo npm install -g mean-cli
On Oct 17, 2015 10:10, "Keerthana Krishnan"<EMAIL_ADDRESS>wrote:

Tried a couple of times, still same result. No luck with "sudo npm install
-g mean-cli" either. Help, please ?
—
Reply to this email directly or view it on GitHub
https://github.com/linnovate/meanio/issues/77#issuecomment-148892374.

I'm on Ububtu 14.04.
I've installed node version 4 following the instruction here
I'm using the 4 version, not the 6 version, because the 4 version it seems to be the LTS.
After the installation check the node version from a console
$ node --version
v4.4.7
Then I've installed npm
$ sudo npm install npm -g
the version I've now is
$ npm --version
3.10.5
Then I've installed mean-cli
$ sudo npm install -g mean-cli
and initiated a new application
 $ mean init yourNewApp
from inside the yourNewApp folder I've runned node install
I had some error - look at the invalid packages

├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>invalid (git://github.com/linnovate/meanio-admin.git#66b03424a94cf51199ba21b5f2ac1d9eefa9e0aa)
│ ├──<EMAIL_ADDRESS>(git://github.com/linnovate/meanio-circles.git#10e8982d280488c4c751ccb4da089d8ffff1cb6f)
│ └──<EMAIL_ADDRESS>(git://github.com/linnovate/meanio-users.git#79dacf5194d2cfa1676ac5ac59066138db37f74d)
└──<EMAIL_ADDRESS>invalid (git://github.com/linnovate/meanio-system.git#a1b1b2b35eec858493d3a308e56d1e2014627ed5)

but I've solved installing the latest version
$ npm install meanio-admin
$ npm install meanio-system
launching gulp everything is working correctly


Return field values in sdk format

This pul request has two purposes.
Return field values
By default, CloudSearch returns all return enabled fields.
See: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/retrieving-data.html
nozama-cloudsearch has no support for return enabled fields option. It would be better to return all fields by default.(2796139)
Support for sdk format
Add support for format=sdk(0092411).
I'm using aws-sdk-ruby as CloudSearch client. It sends a search request to CloudSearch with format=sdk query, and then CloudSearch returns field values in array format regardless of index field types.
hit: [
  {
    fields: {
      name: ["hokuma"],
      country: ["japan"],
    },
    id: "1"
  }
]

I can't find format query option in official documentation, but aws-sdk-ruby has a api definition in which the endpoint includes format=sdk query(https://github.com/aws/aws-sdk-ruby/blob/master/aws-sdk-core/apis/cloudsearchdomain/2013-01-01/api-2.json#L17)

This seems fine too, thanks for contributing!

Would you be interested in make this a 1.2.0 release and adding yourself to the Readme.txt explaining your changes briefly there? I'll then test it out and then tag this release.

@oisinmulvihill

Would you be interested in making this a 1.2.0 release?

Yes, but I want to send one more  pull request to this repository to satisfy my usecase.
https://github.com/oisinmulvihill/nozama-cloudsearch/pull/9
After that is accepted(of course if acceptable), I will send a PR updating README.txt.


Add common serializers to cirq

Adds 3 sets of serializers to cirq:
- SINGLE_QUBIT_SERIALIZERS: A list of GateOpSerializer for single qubit
    rotations using cirq Gates.
- MEASUREMENT_SERIALIZER:  Single GateOpSerializer for the measurement gate
- SINGLE_QUBIT_HALF_PI_SERIALIZERS: A list of GateOpSerializer for single qubit
    rotations confined to half-pi increments using cirq Gates.

Automerge cancelled: Not an open pull request.


Feature/development gulpfile code cleanup

code cleanup - use pipe callback instead of settimeout function for executing callback for gulp less tasks.
@ivan-c Ivan, this is good for this sprint but probably can wait until next sprint also.

Sorry for the nitpicking, I was hoping to make it easier to run npm/gulp from any directory, but it seems gulp will cd to the same directory when you specify --gulpfile, reducing the need to use absolute paths everywhere

--gulpfile, -f Manually set path of gulpfile. Useful if you have multiple gulpfiles. This will set the CWD to the gulpfile directory as well.


Support landscape mode

Hello,
I love using Unlauncher on my tablet, but absolutely need landscape mode.
For now I can force it using the Rotation Manager app, but it has a major downside, which is that I have to toggle it off before installing apps or granting permissions then toggle it back on before going to the launcher.
Thanks

Hello, landscape mode now became totally unsupported since the last update.
Could you please do something before it gets so incompatible that you'd decide to mark it wontfix ? Thank you

Just wanted to collect some thoughts on what a solution to this issue would involve.
Support for landscape in Unlauncher was broken when we pulled in changes from Slim-Launcher and the AndroidManifest.xml was hard-coded to only support the portrait screen orientation. To simply re-enable landscape mode, all that needs to happen is replacing that line in the AndroidManifest.xml with android:screenOrientation="fullSensor" (should be able to remove the locked LockedOrientationActivity attribute too).
Unfortunately, just allowing landscape mode really breaks the Unlauncher layout (since it is not responsive). The Options page is basically unusable and most of the home apps are not visible (the ones that are overlap with the quick buttons).
To properly support landscape mode we would need at least:

#83
Responsive layout for the home screen.  Maybe something like the screenshot below.  The important thing would be to try to keep things simple and preserve all the existing elements on the home screen, but just update their layout....

Well, can you at least allow it for now ?
I really have no issue with it on my device.
It's not like you're removing or replacing a feature : it won't break current users' setup.
Thanks

I don't really like the idea of re-enabling a half-broken feature (since I think that most users prefer a UX that only lets them do things that "work").
However, I recognize that more advanced users may prefer to accept the trade-offs of broken functionality in order to address their use case.  With that in mind, anyone who wants a version of Unlauncher, in its current state, with landscape mode enabled can download it from the Artifacts section from this CI build.
Disclaimer: The APK from the CI build is signed with a different key than the normal Unlauncher APKs distributed via F-Droid. So, to use the APK from the CI build you will have to uninstall Unlauncher from your device before side-loading the APK.  Then, if you ever want to switch back to the version of Unlancher distributed via F-Droid, you will need to uninstall Unlancher from your device before installing the F-Droid version.
I realize this is not an ideal solution and I intend to add proper support for landscape mode and a reactive UI in the future. But since the pace of development on Unlancher is slow (thanks to it just being a side project), hopefully this is acceptable as a temporary solution.


Advance to "Allow direction in distinct on expressions" commit.

Coverage increased (+0.1%) to 85.343% when pulling 37da9edecf3cfff7a0c16a820b117477923705be on distinct-direction into 23a4f12b9dd95fad596a77231f1eee244fe37e66 on master.


& isn't showing properly in captions

https://trello.com/c/s2PgyHlH
earliest we're able to confirm as working was 3/13. seems to have broken shortly after that
Hilary estimates about 15% of reportbacks are using this for Comeback Clothes and it would look good for sponsor to be able to promote these.

potentially related to https://github.com/DoSomething/dosomething/issues/3704

http://staging.beta.dosomething.org/reportback/676?fid=2684 confirms that apostrophes are working, but & seems to be causing issues.
not sure about other special characters

Refs #4098

@sergii-tkachenko @aaronschachter I've fixed (locally) this in the permalink by using filter_xss instead
@mikefantini are there other places this is broken other than the permalink right now?

@angaither Sounds good.

sorry @angaither I put this on the pr but can you check if it's breaking in the gallery as well (showcase + step 4)?


Tidy up the code for transforming body slices

Closes #7753.
Mostly this is moving code around in a not-especially exciting way, just breaking up the monolithic parseBody function and creating some more robust types so we can lean on the type checker. I was kinda hoping TypeScript would be able to start checking the types in Body.tsx, so if it sees gifVideo it knows it's getting the correct types or whatever – but it doesn't seem to work, and I don't want to dig into it further right now.

Closing in favour of #7880.


Add Base32 C++ wrapper

In wallet core, Nimiq, Stellar and Algorand need to use base32 encoding, it would be nice to have a C++ Base32 class like Base58 or wrapper like Base64

Since this is implemented elsewhere (Trezor), and used from there, no need to reinvent the wheel, I just create a wrapper for it.

#697 merged


Is it possible somehow to run Safari on Windows/Linux?

I'm wondering if there is a possibility to run tests in Safari on Windows or Linux (Not Mac) machine? If you - pls provide an example.

@VladyslavZagorodnyi no official Safari binaries for recent versions exist for Linux \ Windows. We have browsers/safari images built from WebKit source code (https://hub.docker.com/r/browsers/safari). This is not a true Safari but browser engine is the same.

@vania-pooh , thanks, is there some guide which describe how to use it? (if yes, pls share)

@VladyslavZagorodnyi you just add Safari images to browsers.json as other images like Chrome.

@vania-pooh
I added safari to browsers.json

but when I run tests I see this:

maybe something is not correct?

Try to change path to "/".
пт, 14 окт. 2022 г., 13:27 Vladyslav Zagorodnyi @.***>:

@vania-pooh https://github.com/vania-pooh
I added safari to browsers.json
[image: image]
https://user-images.githubusercontent.com/29700638/195825269-72406348-c6d5-4484-8aee-6f0e99a9beb4.png
but when I run tests I see this:
[image: image]
https://user-images.githubusercontent.com/29700638/195825467-bd81f025-8149-4391-960b-6dbed77620a9.png
maybe something is not correct?
—
Reply to this email directly, view it on GitHub
https://github.com/aerokube/selenoid-ui/issues/498#issuecomment-1278813670,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKY23M6BFOUDQUYWHTD22DWDEYQHANCNFSM6AAAAAARDJABUQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

please change
"path": "/wd/hub" to "path": "/"
in browsers.json
пт, 14 окт. 2022 г., 13:40 Vladyslav Zagorodnyi @.***>:

@aandryashin https://github.com/aandryashin
Tried to add / to path at "image" but still failed
[image: image]
https://user-images.githubusercontent.com/29700638/195827770-c5716d38-89a7-4f07-b471-865800d80499.png
—
Reply to this email directly, view it on GitHub
https://github.com/aerokube/selenoid-ui/issues/498#issuecomment-1278831830,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKY23MYTO5WNIQBHFE22I3WDE2AHANCNFSM6AAAAAARDJABUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@aandryashin
Unfortunately nothing changed

@VladyslavZagorodnyi you should use RemoteWebDriver instead of SafariDriver.

@aandryashin Unfortunately nothing changed

You still need to revert back / prefixed to browser image name.


Task timeout

By default, Symfony Process sets an upper bound on process execution time: $timeout is set to 60s.  Exceptions thrown because the runtime of a task exceeded this limit were encountered while testing modules, particularly when installing platform packages with apt-get.
Most tasks should complete in well under 60s, but it should be possible for a Task to declare a longer max execution time.
Symfony Process also allows for unlimited execution time and it might be useful to allow Tasks to run unlimited too - I can't immediately think of a use case for this.
Suggested solution:
Tasks:
  - name: "Do a thing for a long time."
    command: "some:command"
    max_runtime: 300 # seconds; or 0 for unlimited; not set == default (60s)

@boite adding a max_runtime option to all commands is a bit messy. I'm thinking we should disable timeouts all together in all Symfony Process runs, the 60 second limit is pretty arbitrary. If we'd want to implement time-outs properly, we should allow to specify them at the task level, and the task runner should keep an eye on if the task is running too long. It shouldn't matter if this is a regular php command or something spawned by Symfony Process.
What do you think?
For the moment I'll just disable the timeout for the apt commands.

@joostfaassen there's two things that need to be done then:-

Set a reasonable default Task::RUNTIME_MAX (current value is 60s) - the TaskRunner is already using Task.maxRuntime to keep an eye on run time.
Go through all existing commands which use SymfonyProcess and disable the timeout.

Fixed in v1.19.0


Wrong timeToExpire unit

timeToExpire value returned from the increment function is in milliseconds instead of seconds. Because of that NestJs ThrottlerGuard sets the wrong Retry-After header in the HTTP response when the throttling limit is hit.
From the quick debug session, it looks like calling the PTTL Redis command returns milliseconds that are not converted to seconds afterwards.

I can confirm this issue. The content of the Retry-After header is incorrect. It should contain seconds, while in practice in contains milliseconds. I think we should convert millis to seconds here right before we return the result to the guard.

Hi. Thanks a lot for noticing this, unfortunately this became a problem during the big rewrite last time. The tests did check for a number, but not a specific number. I've modified tests to make sure the secs are beings checked to make sure this won't happen again in the future.
I've just released this immediately under v0.3.1 on NPM.

Hi. Thanks a lot for noticing this, unfortunately this became a problem during the big rewrite last time. The tests did check for a number, but not a specific number. I've modified tests to make sure the secs are beings checked to make sure this won't happen again in the future.
I've just released this immediately under v0.3.2 on NPM.


Aachen: update apag scraper and geojson

This PR fixes apag (parking provider Aachener Parkhaus GmbH) scraper and geojson.
Note: apag includes the cities of Aachen, Würselen, Dülmen, Datteln and even a parking in Berlin (East Side Mall).

Latest updates are minor updates, so I'll merge without another approval


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Codecov Report

Merging #17 into v4 will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                 v4      #17   +/-   ##
=========================================
  Coverage     95.29%   95.29%
  Complexity      872      872
=========================================
  Files           105      105
  Lines          3677     3677
  Branches        168      197   +29
=========================================
  Hits           3504     3504
  Misses          173      173

Flag
Coverage Δ
Complexity Δ

#js
100% <ø> (ø)
0 <ø> (ø)
:arrow_down:

#php
93.72% <ø> (ø)
872 <ø> (ø)
:arrow_down:

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 cd27119...00771ee. Read the comment docs.


The Publish-SitecoreSqlDatabase cmdlet must output the connection string.

The Publish-SitecoreSqlDatabase cmdlet must output the connection string for succeeded databases.

This issues has been implemented.


[3.x] Fix the logic to restart the Godot application

Fixes #53716

You should document that file's licensing in COPYRIGHT.txt like this:
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index 52cdbd321f..765d820fb7 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -80,10 +80,9 @@ Comment: The Android Open Source Project
 Copyright: 2008-2013, The Android Open Source Project
 License: Apache-2.0

-Files: ./platform/android/java/src/com/android/vending/licensing/util/Base64.java
- ./platform/android/java/src/com/android/vending/licensing/util/Base64DecoderException.java
-Comment: The Android Open Source Project
-Copyright: 2002, Google Inc.
+Files: ./platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix.java
+Comment: Process Phoenix
+Copyright: 2014, Jake Wharton.
 License: Apache-2.0

 Files: ./platform/android/power_android.cpp

(Also cleaned up two files where the paths were outdated - the files still existing within com/android/vending/licensing/ but I no longer thing we need to go so deep documenting copyright, I think it's good enough to keep those included as part of the general licensing library's copyright statement.)

Also, while this can't go in thirdparty/ like other thirdparty libraries, it might be worth adding a comment in the file that documents its provenance and the commit that was copied over (and if relevant any downstream changes).

And you'll want to exclude the file from the clang-format script:
diff --git a/misc/hooks/pre-commit-clang-format b/misc/hooks/pre-commit-clang-format
index e8e62e6470..1277ce7628 100755
--- a/misc/hooks/pre-commit-clang-format
+++ b/misc/hooks/pre-commit-clang-format
@@ -130,6 +130,9 @@ do
     if grep -q "platform/android/java/lib/src/com" <<< $file; then
         continue;
     fi
+    if grep -q "platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix.java" <<< $file; then
+        continue;
+    fi
     if grep -q "\-so_wrap." <<< $file; then
         continue;
     fi
diff --git a/misc/scripts/clang_format.sh b/misc/scripts/clang_format.sh
index cb007b0c6b..97daf5fcb0 100755
--- a/misc/scripts/clang_format.sh
+++ b/misc/scripts/clang_format.sh
@@ -35,6 +35,8 @@ while IFS= read -rd '' f; do
                 continue 2
             elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/gl/EGLLogWrapper"* ]]; then
                 continue 2
+            elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix.java" ]]; then
+                continue 2
             fi
             python misc/scripts/copyright_headers.py "$f"
             continue 2

Or maybe use /* clang-format off */ in the file to turn it off.

@akien-mga Thanks for the info! I've applied the updates you mentioned.


Credit for your work

👋 @Protohedgehog - it looks like GitHub doesn't know about the email address (jon.tennant.2gmail.com) you're committing changes with to this repo. This means that the commit history looks like this:

If you want to fix this, just add this email address to your GitHub profile: https://help.github.com/articles/adding-an-email-address-to-your-github-account/

Huh, that's weird. It's there in my profile, and I didn't change anything. Maybe it's because I'm doing this from R Studio and using Git from my laptop, and ther's something broken there..

Weird indeed... Not sure what's going on there then!

I have an idea..


Issue: SharePoint SSO Component - valibot throwing errors

I'm on my third go-around of trying to get this Copilot Studio bot working in SharePoint and I'm very frustrated.  I just did a totally fresh third git clone on npm 18.20.4 and then I get these two errors (which I got on the first two tries as well) on gulp build:
Build target: SHIP
[09:51:47] Using gulpfile C:\CopilotStudioSamples-2\SharePointSSOComponent\gulpfile.js
[09:51:47] Starting 'bundle'...
[09:51:47] Starting gulp
[09:51:47] Starting subtask 'pre-copy'...
[09:51:47] Finished subtask 'pre-copy' after 103 ms
[09:51:47] Starting subtask 'copy-static-assets'...
[09:51:47] Starting subtask 'sass'...
[09:51:47] Finished subtask 'sass' after 20 ms
[09:51:47] Starting subtask 'lint'...
[09:51:47] [lint] eslint version: 8.7.0
[09:51:47] Starting subtask 'tsc'...
[09:51:47] [tsc] typescript version: 4.7.4
[09:51:47] Finished subtask 'copy-static-assets' after 117 ms
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,27): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,42): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,65): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,74): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,94): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,108): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2170,109): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,32): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,47): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,70): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,79): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,99): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,113): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(2197,114): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,55): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,71): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,87): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,96): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,104): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,123): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,125): error TS1434: Unexpected keyword or identifier.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,134): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3358,135): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,65): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,81): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,102): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,111): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,119): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,138): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,140): error TS1434: Unexpected keyword or identifier.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,149): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(3381,150): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,58): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,77): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,92): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,103): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,106): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,114): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,131): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,144): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,168): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,182): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5066,183): error TS1128: Declaration or statement expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,58): error TS1139: Type parameter declaration expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,77): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,92): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,103): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,106): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,114): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,131): error TS1005: ',' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,144): error TS1005: ')' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,168): error TS1109: Expression expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,182): error TS1005: ';' expected.
[09:51:53] Error - [tsc] node_modules/valibot/dist/index.d.ts(5226,183): error TS1128: Declaration or statement expected.
[09:51:53] Error - 'tsc' sub task errored after 6.08 s
exited with code 2
[09:51:53] 'bundle' errored after 6.28 s
About to exit with code: 1
Process terminated before summary could be written, possible error in async code not continuing!
Trying to exit with exit code 1
Build target: SHIP
[09:51:58] Using gulpfile C:\CopilotStudioSamples-2\SharePointSSOComponent\gulpfile.js
[09:51:58] Starting 'package-solution'...
[09:51:58] Starting gulp
[09:51:58] Starting subtask 'package-solution'...
[09:51:58] Error - [package-solution] No manifests were found in 'C:\CopilotStudioSamples-2\SharePointSSOComponent\release/manifests'. Ensure a build has completed successfully
[09:51:58] Finished subtask 'package-solution' after 29 ms
[09:51:58] Finished 'package-solution' after 36 ms
[09:51:58] ==================[ Finished ]==================
Error - [package-solution] No manifests were found in 'C:/CopilotStudioSamples-2/SharePointSSOComponent/release/manifests'. Ensure a build
has completed successfully
[09:51:59] Project pva-extension-sso version:0.0.1
[09:51:59] Build tools version:3.18.0
[09:51:59] Node version:v18.20.4
[09:51:59] Total duration:4.3 s
[09:51:59] Task errors:1
The build failed because a task wrote output to stderr.
Exiting with exit code: 1
So this valibot has been causing me endless headaches, and then I assume as a result of the valibot problems, no manifests get created.  Please assist with this, as I've spent days trying to troubleshoot this on my own (and with ChatGPT) with no luck.

Issue is in Valibot inside the Botframework!  So what's needed is to download a older version and add it to the nodemodule of Botframeworks!
18 seems to be the latest version that's supported, as newer version uses Typescript 5 and SPFX does support that
npm i<EMAIL_ADDRESS>


[Dubbo-5479]fix generic reference does not implements real Interface

What is the purpose of the change
fix #5479
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

@tswstarplanet
Hello, your unit test failed.
[ERROR] Failures:
[ERROR]   ReferenceConfigTest.testReferenceRetry:115 expected: false but was: true

@tswstarplanet
Hello, your unit test failed.
[ERROR] Failures:
[ERROR] ReferenceConfigTest.testReferenceRetry:115 expected: false but was: true

Yes, I debugged on my computer. I found it is because of the cache file. So I add a piece of code to the unit test method to delete the cache file. It works well on my computer. I don't know why it is not ok on github.

I pulled your code to my local machine, and after running the unit tests, it is consistent with the github answer.
Maybe you forgot to modify
https://github.com/apache/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L115
https://github.com/apache/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L116
        Assertions.assertTrue(success);
        Assertions.assertNotNull(demoService);

@tswstarplanet
Hello, your unit test failed.
[ERROR] Failures:
[ERROR] ReferenceConfigTest.testReferenceRetry:115 expected: false but was: true

Yes, I debugged on my computer. I found it is because of the cache file. So I add a piece of code to the unit test method to delete the cache file. It works well on my computer. I don't know why it is not ok on github.

I pulled your code to my local machine, and after running the unit tests, it is consistent with the github answer.
Maybe you forgot to modify
https://github.com/tswstarplanet/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L115
https://github.com/tswstarplanet/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L116
        Assertions.assertTrue(success);
        Assertions.assertNotNull(demoService);

No, we should not modify the code like that just to pass the assertion.

@tswstarplanet
Hello, your unit test failed.
[ERROR] Failures:
[ERROR] ReferenceConfigTest.testReferenceRetry:115 expected: false but was: true

Yes, I debugged on my computer. I found it is because of the cache file. So I add a piece of code to the unit test method to delete the cache file. It works well on my computer. I don't know why it is not ok on github.

I pulled your code to my local machine, and after running the unit tests, it is consistent with the github answer.
Maybe you forgot to modify
https://github.com/tswstarplanet/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L115
https://github.com/tswstarplanet/dubbo/blob/509d0ae44d944d4bbaa92b018a354673f239e9ee/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java#L116
        Assertions.assertTrue(success);
        Assertions.assertNotNull(demoService);

No, we should not modify the code like that just to pass the assertion.

Very weird, sometimes success and sometimes failure on my machine.

I know the reason. When we use a Reference to subscribe a service without setting a specified protocol, it will subscribe a Service with any type of Protocol. And the other unit tests may cache service locally. And the failed test will get it.

Why does the added mockprotocol3 cause ClassNotFoundException ?

Codecov Report

Merging #5589 into master will increase coverage by 0.04%.
The diff coverage is 55.55%.

@@             Coverage Diff              @@
##             master    #5589      +/-   ##
============================================
+ Coverage     61.21%   61.26%   +0.04%
  Complexity      423      423
============================================
  Files           922      922
  Lines         37498    37515      +17
  Branches       5431     5437       +6
============================================
+ Hits          22956    22983      +27
+ Misses        12056    12047       -9
+ Partials       2486     2485       -1

Impacted Files
Coverage Δ
Complexity Δ

.../java/org/apache/dubbo/config/ReferenceConfig.java
69.71% <45.45%> (+0.16%)
0 <0> (ø)
:arrow_down:

...org/apache/dubbo/rpc/filter/GenericImplFilter.java
58% <71.42%> (+0.55%)
0 <0> (ø)
:arrow_down:

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
30.76% <0%> (-7.7%)
0% <0%> (ø)

.../dubbo/remoting/transport/netty4/NettyChannel.java
60.39% <0%> (-5.95%)
0% <0%> (ø)

.../apache/dubbo/remoting/transport/AbstractPeer.java
58.69% <0%> (-4.35%)
0% <0%> (ø)

...pache/dubbo/remoting/transport/AbstractServer.java
53.75% <0%> (-3.75%)
0% <0%> (ø)

...c/main/java/org/apache/dubbo/rpc/RpcException.java
80% <0%> (-3.34%)
0% <0%> (ø)

.../exchange/support/header/HeaderExchangeServer.java
65.09% <0%> (-1.89%)
0% <0%> (ø)

...g/apache/dubbo/registry/consul/ConsulRegistry.java
61.87% <0%> (-0.63%)
29% <0%> (ø)

.../dubbo/registry/integration/RegistryDirectory.java
78.31% <0%> (-0.61%)
0% <0%> (ø)

... and 13 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 3308a19...5e19605. Read the comment docs.

Thanks, fixed by another patch #5481. Please help to review if you got time.


pkix/est: NullPointerException on HTTP/1.1 Transfer-Encoding chunked during ESTResponse processing

Problem Statement
I am using EST simpleEnroll (bcpkix-jdk18on, 1.72) against an EST Server which answers the request using Transfer-Encoding Chunked. When the response is processed, the following exception occurs:
Exception in thread "main" org.bouncycastle.est.ESTException: Cannot invoke "java.lang.Long.longValue()" because "this.max" is null HTTP Status Code: 0
	at org.bouncycastle.est.ESTService.enroll(ESTService.java:322)
	at org.bouncycastle.est.ESTService.simpleEnroll(ESTService.java:352)
	at com.bbraun.cit.pki.est.Main.main(Main.java:59)
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Long.longValue()" because "this.max" is null
	at org.bouncycastle.est.CTEBase64InputStream.pullFromSrc(CTEBase64InputStream.java:43)
	at org.bouncycastle.est.CTEBase64InputStream.read(CTEBase64InputStream.java:104)
	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:82)
	at org.bouncycastle.asn1.ASN1InputStream.readObject(ASN1InputStream.java:189)
	at org.bouncycastle.est.ESTService.handleEnrollResponse(ESTService.java:634)
	at org.bouncycastle.est.ESTService.enroll(ESTService.java:311)
	... 2 more

Problem Analysis
The problematic code starts in ESTResponse:
https://github.com/bcgit/bc-java/blob/c8ff5b11a5a3cf643166f7f24d9f770e56041dc4/pkix/src/main/java/org/bouncycastle/est/ESTResponse.java#L165-L168
When we have a chunked transfer, getContentLength() returns null since no content length is known before the transfer is complete. So CTEBase64InputStream's constructor receives null as its reading limit max. This leads to the fact that, CTEBase64InputStream#pullFromSrc produces the above mentioned NPE on the following line:
https://github.com/bcgit/bc-java/blob/c8ff5b11a5a3cf643166f7f24d9f770e56041dc4/pkix/src/main/java/org/bouncycastle/est/CTEBase64InputStream.java#L43-L46
Solution
Passing a reading limit is not feasible when dealing with chunked transfers since the Content-Length header is not set. Besides chunked transfers, passing a reading limit is not neccessray at all since all inputStreams which are passed to the constructor return -1 when finished. All CTEBase64InputStream's methods respect this convention and consider the processing to be finished. Hence, removing this reading limit is fine.
I created a patch and tested it against real world servers. Chunked Transfers and non chunked transfers are working.
I am happy to provide a PR.

Thanks for the report. Yes, please provide a PR.

Thanks for the report. Yes, please provide a PR.

Opened a PR: https://github.com/bcgit/bc-java/pull/1325
Added the bugfix. In addition, I also added a bunch of unit tests as well as a regression test for this issue.

Hey @dghgit, I just discovered another bug in ESTService related to chunked transfer encoding when responses are processed:
https://github.com/bcgit/bc-java/blob/8d9afb81250c105ec461d32cc1ba5852fcd228a6/pkix/src/main/java/org/bouncycastle/est/ESTService.java#L160-L166
As argued above, checking the content length is not feasible when dealing with chunked transfer encoding. Additionally, there is no need to check the content length since the underlying ESTResponse is, starting with this PR, handling all transfers correctly.
The ESTService has another mehtod which is prone to the exact error:
https://github.com/bcgit/bc-java/blob/8d9afb81250c105ec461d32cc1ba5852fcd228a6/pkix/src/main/java/org/bouncycastle/est/ESTService.java#L683-L688
I removed those lines and I have proper response processing. Shall I add my changes to the existing PR?

Yes please! Thanks.

The fix for this is in 1,73, which has now been published.

Thanks for working on this. We will switch to 1.73 in favor of our internal fork :)


Strange behavior with webhooks

I update my issue description, regarding the other comments, but I'll leave my initial issue description below.
DeliverHooks called from gogs update doesn't seems to work.
Two issues, first one is the one described in comment 2. The gogs update doesn't wait for the DeliverHooks go routine which means that it is only done partially
Second issue I've found when calling DeliverHooks, not in a go routine, is that for some unknown reason (I'll investigate more on this) the req.Response() when calling the hooks will always fail in this process, but will succeed when called from gogs web
Two errors I've had so far:

Post http://<IP_ADDRESS>:3001/hooks/toto/1: read tcp <IP_ADDRESS>:3001: i/o timeout
Post http://<IP_ADDRESS>:3001/hooks/toto/1: net/http: transport closed before response was received

I'm using the latest github version of gogs. This project seems really awesome. I wanted to test the webhook feature, but I have an issue when running it on my computer.
If I only enable one webhook, then I will never receive anything. If I create a second webhook, then I'll start receiving all the webhooks.
I've tried to reproduce this issue with the try.gogs.io, but it seems to work well.
From what I can see in the xorm logs, when only one webhook is enabled, I have the INSERT in the hook_task table and then an update setting the is_delivered value to true, which means that when > the "cron" comes, it doesn't see any new hook task to perfom and won't do anything.>
When more then one webhook is active on a repository, then I only get the INSERT and that's all, the update comes later on "cron" for the hooks.
Thanks a lot for your hard work, and hope you can help me with this issue. I can add some logs or try anythings like that if needed.
 WHEREid= ? [args] [add0f66e-ff25-4bd3-9412-201af69f085d 1 http://<IP_ADDRESS>:3001/hooks/toto/1 {"secret":"DFGHJK","ref":"refs/heads/master","commits":[{"id":"5000a717cf8e8bd1bc1aa503d8e8665f4ec4e74d","message":"FGHJ\n","url":"http://localhost:3000/scritch007/a/commit/5000a717cf8e8bd1bc1aa503d8e8665f4ec4e74d","author":{"name":"Benjamin Legrand","email":"dev@legrand.ws","username":"scritch007"}}],"repository":{"id":2,"name":"a","url":"http://localhost:3000/scritch007/a","description":"","website":"","watchers":0,"owner":{"name":"scritch007","email":"dev@legrand.ws","username":"scritch007"},"private":false},"pusher":{"name":"scritch007","email":"dev@legrand.ws","username":"scritch007"},"before":"749c84d375b86bc1dcc384983b5f3322ec44e5c1","after":"5000a717cf8e8bd1bc1aa503d8e8665f4ec4e74d","compare_url":"http://localhost:3000/scritch007/a/compare/749c84d375b86bc1dcc384983b5f3322ec44e5c1...5000a717cf8e8bd1bc1aa503d8e8665f4ec4e74d"} 1  false true false 47]

For the record, removing the
go DeliverHooks()
from CommitRepoAction  (gogs/models/action.go) fixes my problem.

I've investigated a little bit more, and I think I've found what is going wrong in here. Tell me if I missed something:
When you push through ssh,

gogs update $1 $2 $3 is spawned, this will add some update_task entries
gogs serv will be called.

This process will look at task to update and will then start a new go routine for handling the hooks.
this is the go DeliverHooks() call.
But it doesn't wait for this go routine to stop (this is because it doesn't want to block for all the hooks).
Since noone waits for this go routine, once the other jobs have been done, the process stops, and leaves the current DeliverHooks as they are.
An easy test to show that, is to add a sleep at the beginning of the DeliverHook some logs, and you'll see that those logs will never be shown.
This is probably why with one hook I get an error, but with more then one, the find is a little bit longer, and it doesn't even get into the delivery loop.
One other possible issue/race condition I've found, is that if DeliverHooks can be called both from the gogs serv and from gogs web, there is nothing that prevents it from calling twice the hooks with the same information. Indeed the only protection, is the find("is_delivered"=false) but if both makes this call at the same time then they could be doing the same thing

Hi @scritch007 , thanks your report and sorry for late!

removing the go DeliverHooks() from CommitRepoAction (gogs/models/action.go) fixes my problem.

I think this right solution, if you can confirm this DID solves your problem, I would remove and push to GitHub. :smile:

Hi @Unknwon
Yes this actually fixed the webhooks. Now the "cron" does it for you and correctly :). So this means that in the worst case you'll have to wait 60 seconds (by default) before being notified of the push. I don't think this is a problem, but maybe it would be nice to have a better fix.
Maybe for a later version, gogs serv could send a message (http or a signal) to the main gogs web process, so that this triggers the webhooks delivery. It's true that it would be nice to have realtime webhooks, but there are many more important feature then this.

Right, I forgot that gogs serv and gogs web makes two independent processes so that the isShooting actually won't work at all.
Maybe create a separate issue called realtime webhook would be best solution for now. How do you think?

Yes an enhancement issue would be great. I'm gonna create one, so that you can close this one.


Append URLs from JSON File

I have additional URIs from a different JSON object. Is it possible to append this json object to my swagger UI in Rust?
I already tried this with actix but if I add an additional SwaggerUi service then I get a 404 for both. #599
.service(
                SwaggerUi::new("/api/{_:.*}")
                    .url("/api-docs/openapi.json", ApiDoc::openapi().clone()),
            )
            .service(
                SwaggerUi::new("/api/core/{_:.*}")
                    .external_url_unchecked("http://localhost:3006/core/swagger", json!({"openapi": "3.0.0"}))

After changing it to /clm-core/ it worked. But I get the message No operations defined in spec!. What does that mean?