Prettify query variables

Closes #990
and rid of unnecessary editors updates when content not changed during prettification

@benjie should I add some tests to increase coverage?)

@benjie Updated 🥳

Merged! Thanks :tada:


splitter position is incorrect based on its percentage if splitPaneLayout just occupy a portion of the screen

Having some views above and below the splitPaneLayout, i.e. a toolbar and a navigationBottomBar, then SplitPaneLayout doesn't calculate correctly the position of the splitter the first time it is loaded.

This is fixed in pull request #24


Figi filter must be optional

The parameter "figi" with en empty value must be removed from the path to disable "figi" filter. Otherwise, Api does not return any operations.

@aabiryukov, Thanks!


Incorrect display of selected item in Navigation Drawer

Describe the bug
Select Check-In tab in Navigation Drawer then view activity log of any attendee and then press back to land up in Attendee List Fragment. Now, again view the activity log for any attendee and see the navigation drawer. The tab selected will be Dashboard instead of Check-In.
Expected behavior
The selcted tab should be Check-In whenever user is in Check-In or it's child fragments.
Screenshots

Would you like to work on the issue?

[ ] Yes
[x] No

I would like to work on this.


Add a BSD-3 License

Would like to use this repository for open source projects, it would be possible only when we can add a license as BSD-3.

Thanks, you are right. Done


MY FIRST OPEN SOURCE CONTRIBUTION: Add an example of dup and replay through a different proxy.

WIP -- don't merge yet.

Hi,
I'm closing this for now. Please open a new PR once you have something we can take a look at! 😃
Cheers,
Max


E2E: Add Api Server option to kubectl

simple improvements to kubectl.go which will allow it to reference API Server at different IP Addresses.   works for my local tests for the base kubectl functionality (i.e. test guestbook and so on).

solution fo the #6707  for remote apiservers...

+1 this fails on instances where you are running e2e tests on a non-master node.  Which is what our build env is.

This is clearly failing on our Jenkins now as well, but wasn't running for the last several days due to other issues.

LGTM. Will merge on some green.


Stricter Redis mock to avoid errors like OLS-416

Description
Stricter Redis mock to avoid errors like OLS-416
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[x] Tests hardening

Related Tickets & Documents

Related Issue #OLS-416

/lgtm

/approve


Exploding messages: timer to the right

The styling is still a little rough around the message container & send indicator. It'll probably be cleaned a little in a later PR, when the EXPLODED annotation is added. This is the timer counting down and the boom icon as things explode:

r? @keybase/react-hackers

What are the performance implications of this?

@adamjspooner the timer updates as infrequently as possible (due to getLoopInterval), so the most performance heavy case is a very active chat with a relatively short explode time, where you can have a lot of these timers going off every second. I tested that case and didn't notice a difference in performance.


Authorize Developers can only edit their own profiles

Jumping off from #13, this is intended to solve #10

Let me know if I wrote the test the way you like! I also noticed Pundit generates its own test files, so I wasn't sure if you wanted to run authorization tests through the Pundit tests, or integrations tests. I played it safe and put the added test in the integration test. I'm also not well versed in best practices for tests, so any and all criticism is definitely welcomed


use bitcore-style errors

Could you please rebase it? we are ready to merge it.

I will take a look tomorrow.

I fixed the conflicts, but the test coverage went down. I'm trying to see how to maintain coverage

@matiu I added some new tests around the error conditions and it brought coverage up. This should be ready now.

Great. LGTM.

@matiu There were some additional merge conflicts. I just fixed those.


Handel House Museum Error

Dear Peter,
I hope you’re well. I was hoping to input the data today but I’m having trouble joining the survey. When I click to join it comes up with a page saying it is unavailable, with error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
Do let me know how I can get around this.

Have requested the info of operating system/browser etc

Looks like a Chrome error (possibly on XP).  Could try FireFox browser (v19+) which has its own ECC SSL system? https://theadminzone.com/threads/cloudflare-universal-ssl-web-browser-compatibility.118718/

I use the browser Google Chrome
All links lead to this error apart from the ‘What are the Details?’ which takes you to a page on Issuu
Our operating system is Microsoft Windows XP Professional
A screenshot of the error page – see below (have forwarded email to Joe).

Unfortunately we can't securely support Windows XP (it is no longer supported by Microsoft).  Options:

Try Firefox rather than Chrome since it uses a different security system.
We could set up an unsecured version of the interface.

I have set up an unsecured alias for the interface at http://unsecured.insight.blackradley.com/
There is a demonstration of it in action at https://saucelabs.com/tests/d347d8568ba34f9991c1d38bab90199d

Have emailed to say use firefox or try a different PC that isn't XP. Will see what they say.

Did you get any response?

Yes - got email saying sorted yesterday - haven't had chance to close yet.
On 16 April 2015 at 10:02, Joe J Collins<EMAIL_ADDRESS>wrote:

Did you get any response?
—
Reply to this email directly or view it on GitHub
https://github.com/blackradley/nesscliffe/issues/36#issuecomment-93684321
.

--
Peter Collins
Enterprise and Culture Executive
Black Radley Culture
e<EMAIL_ADDRESS>t: 0845 2260363
m:<PHONE_NUMBER>8
www.blackradley.com
LinkedIn https://www.linkedin.com/in/utopianliving
Twitter: @BlackRadley https://twitter.com/BlackRadley
Improve resilience at your Museum, Gallery or Heritage site - find out
about Insight http://insight.blackradley.com/
Supported by the Digital R&D Fund for the Arts - Nesta, Arts & Humanities
Research Council and public funding by the National Lottery through Arts
Council England.


Add auto-formatting and add style check

Well, I don't mind, but I don't think all are using black, pghoard still uses yapf.

Well, I don't mind, but I don't think all are using black, pghoard still uses yapf.

Ah, you're right, rohmu has already switched to black but not all repos.
I'd still push for black though, I think it's the general direction we're taking everywhere (and the rest of the Python community).


Feature/mi 19 bigcommerce token and customer services

Provide services for the following operations commonly used in the mesh:

Get the customer impersonation token, from the cache if possible
Generate a JWT for a logged in customer, and extract their customer id from such a JWT

I have also:

deprecated existing methods for these operations
used the token service for automatically injecting the customer impersonation token in the graphql client
modified two resolvers to use the new services as examples

@brettcutt-aligent I see that you've previously implemented this as a Request class, which I think makes sense for at least the customerId part of this. I'm interested in where you think the service boundaries should be here (general tokens, per-request information, customer information etc.) and very open to re-architecting this

@brettcutt-aligent I see that you've previously implemented this as a Request class in client work, which I think makes sense for at least the customerId part of this. I'm interested in where you think the service boundaries should be here (general tokens, per-request information, customer information etc.) and very open to re-architecting this

@tvhees What you have in this PR looks good and follows along with the discussion of last weeks meeting. Ideally I would rather have a service which handles all the required request headers in one spot but couldn't be sure of the best approach to allow certain requests even if authentication fails e.g. storeConfigs`.

@brettcutt-aligent I'd like to reduce dev responsibility for setting headers too but I'm concerned it makes the services quite complex for not enough gain. Happy to revisit once these services are used across the codebase?

@brettcutt-aligent Ready for re-review


Using ESP-LCD component as a display driver design

Found that Espressif has a ESP-LCD component with documentation but only few example drivers.
Maybe its a better idea to build/port drivers using this design although not sure the efforts required for it now.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/lcd.html

Hi,
I think it's being currently being used in the backlight control.
We're currently working (in the devel branch) to abstract the communication interface from the display drivers, with the goal of being able to add new communication interfaces easily.
Any tips @tore-espressif?

Somehow I feel everything is messed up with the v8 migration.
Sharing my feedback from another issue on the esp32 port repo here
I tried the following steps

Create a fresh ESP-IDF project
Add lvgl (from main repo) as an IDF component
Add lvgl_esp32_drivers (develop branch) as a IDF component =compiles fine

Now I need an example to test. Could not find one with the latest functions. Every one of the sample was throwing errors because some function names have also changed during the port and probably some issues with kconfig too.
Do you have a working ESP-IDF+v8 sample which shows just a label?
When you enable touch, the I2C port settings won't show up, when you go back to menuconfig, there is a new option to enable and define the I2C pins.
I am using Wireless-Tag WT32-SC01 3.5" 480x320 board with ST7796s and FT6336U.
Tried v7 using the master and it works but extremely slow.
Tested the display using Arduino+TFT_eSPI and performs great.

Here is my sample main.c
What am I missing? Nothing shows up in the display.

The portv8 branch of that repo is several months old, it was a leftover branch I used to test LVGL before v8 was officially released. I forgot to delete it and I've seen some people using it.
We got an example project on the CI of this repo using LVGL v8, having support for both versions in a single main file is a bit harder and uglier, but I can work on it only on my free time.

The portv8 branch of that repo is several months old, it was a leftover branch I used to test LVGL before v8 was officially released. I forgot to delete it and I've seen some people using it.
We got an example project on the CI of this repo using LVGL v8, having support for both versions in a single main file is a bit harder and uglier, but I can work on it only on my free time.

I didn't use the v8 port but pulled from the main lvgl rep.
I don't need v7. I need v8 with IDF working sample :)

And here is the difference in out between different versions

So I copied main.c from v7 to v8, and trying to make the required changes.
v8
lvgl_driver_init() function is missing. I believe its replaced with lvgl_interface_init()
lvgl_helpers.c
lvgl_get_display_buffer_size() returns 0 because for LVGL 8 there is a TODO statement - so not implemented.
v8 API changes?
changed 'lv_disp_buf_t' to 'lv_disp_draw_buf_t'
changed 'disp_drv.buffer' to 'disp_drv.draw_buf'

Hello @sukesh-ak
If you really need LVGL v8, then the esp_lcd component, that you mentioned, is a better place to start, as the examples for esp_lcd were written exclusively for v8.
ST7796s and ST7789 have identical interface, so you can start with this example: https://github.com/espressif/esp-idf/tree/master/examples/peripherals/lcd/i80_controller
and modify it for SPI (I can help with that).

Hello @sukesh-ak If you really need LVGL v8, then the esp_lcd component, that you mentioned, is a better place to start, as the examples for esp_lcd were written exclusively for v8. ST7796s and ST7789 have identical interface, so you can start with this example: https://github.com/espressif/esp-idf/tree/master/examples/peripherals/lcd/i80_controller and modify it for SPI (I can help with that).

I have been a software guy all life, so have not gone into LCD driver side of things. So its a big of grey area for me.

Initialize Intel 8080 bus

What is this portion of the code for? Is it using parellel interface instead of SPI?
Is this 'examples/peripherals/lcd/tjpgd' a better sample to refer?

I can help with that

Thank you.

@tore-espressif Appreciate your help.
Wireless Tag WT32-SC01

3.5" 480x320 ST7796S TFT Display
Capacitive touchscreen FT6336U

- TFT_RST=22
- TFT_SCLK=14
- TFT_DC=21
- TFT_CS=15
- TFT_MOSI=13
- TFT_MISO=-1
- TFT_BCKL=23

- TOUCH_DRIVER=0x6336
- TOUCH_SDA=18
- TOUCH_SCL=19

- TOUCH_IRQ=-1   ; not connected
- TOUCH_RST=-1   ; not used, connected to 3.3V
- I2C_TOUCH_FREQUENCY=400000
- I2C_TOUCH_ADDRESS=0x38

Datasheet - ST7796s
https://www.displayfuture.com/Display/datasheet/controller/ST7796s.pdf

Sorry for the late reply, I got caught with other issues.

Is it using parellel interface instead of SPI?

Yes, Intel 8080 interface is parallel interface. You need to change it to SPI.

Is this 'examples/peripherals/lcd/tjpgd' a better sample to refer?

This example uses SPI interface but misses the LVGL porting part. It is a good starting point to verify that your setup is correct.

Also what about capacitive touch (I2C) while using esp_lcd ?

Touch controller is not part of esp_lcd and we don't have similar component for touch controllers yet. However, touch controllers are a lot simpler to handle than display controllers, so you should be able to copy-paste it from this repo

@tore-espressif
What about these libraries? Looks like a lot of code for relevant displays are already written.
The list of supported Display drivers looks complete and the sample uses lvgl too.
https://github.com/espressif/esp-dev-kits/blob/9f7a9b56f28f399b5bf383949c26d900375adedd/esp32-s2-hmi-devkit-1/components/screen/CMakeLists.txt#L3

Finally found LovyanGFX the best drivers which works for both Arduino and ESP-IDF.
ESP-IDF & Arduino samples for WT32-SC01 using LVGL8 + LOVYANGFX
Device : WT32-SC01
Display / Touch Drivers : LovyanGFX
Widgets : LVGL 8.x
ESP-IDF => WT32-SC01 + LVGL8 + LOVYANGFX
https://github.com/sukesh-ak/LVGL8-WT32-SC01-IDF
Arduino => WT32-SC01 + LVGL8 + LOVYANGFX
https://github.com/sukesh-ak/LVGL8-WT32-SC01-Arduino


#127 Warn about EnsureDir in one of the volumes

Looks fine, except format("'{0}'", path.display()) formatting. That was useful in old rust. You should use format("{:?}", path) in new rust, it represents paths well enough, and adds quotes on it's own.

Merged in 18b6341


Setup storyshots for storybook snapshot testing

We don't currently have it configured.

Going to punt on this, we've moved away from the approach.


discovery.kubelet doesn't work on GKE Autopilot

What's wrong?
Hi, while trying to migrate to Grafana Alloy as one solution, we found that Kubelet doesn't work for GKE Autopilot because of usage /pods that require nodes/proxy, which is not allowed on Autopilot.
User "system:serviceaccount:NS:SA" cannot get resource "nodes/proxy" in API group "" at the cluster scope: GKE Warden authz [denied by managed-namespaces-limitation]: cluster scoped resource "nodes/proxy" is managed and access is denied"
The only one solution which works for us now is OpenTelemetry kubeletstatsreceiver which, how I see, uses /stats/summary under the hood and then create metrics based on it.
GKE Documentation says that it's not recommended to use nodes/proxy either autopilot or standard.

If your workload uses the /pods endpoint on the insecure kubelet read-only port, you need to grant the nodes/proxy RBAC permission to access the endpoint on the secure kubelet port. nodes/proxy is a powerful permission that you can't grant in GKE Autopilot clusters and that you shouldn't grant in GKE Standard clusters. Use the Kubernetes API with a fieldSelector for the node name instead.

Do you plan to make this module work on Autopilot as well?
Steps to reproduce

Deploy Alloy on GKE Autopilot
Enable discovery.kubelet
See Forbidden in logs

System information
GKE Autopilot v1.29.5 ~ v1.30.3
Software version
Grafana Alloy v1.4.1 / Helm Chart 0.9.0
Configuration
discovery.kubelet "default" {
  bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
  tls_config {
    ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
  }
  url = string.format("https://%s:%d", sys.env("K8S_HOST_IP"), 10250)
  refresh_interval = "30s"
}

Logs
No response

This example helps me understand how it works. https://github.com/grafana/alloy/issues/452#issuecomment-2260218491

Hi @artem-zherdiev-ingio ,
Were you able to fix the issue or find any workaround?
I'm stuck with the same problem and could really use some help.
Cheers!

@nasielgarcia Hi, yes, I am using such config on alloy in daemonset mode. It connects to cadvisor metrics on node kubelet.
prometheus.scrape "cadvisor" {
  forward_to        = [prometheus.relabel.cadvisor.receiver] // or your metric receiver

  scrape_interval = "30s"
  job_name = "cadvisor"
  targets  = [{
    "__address__" = string.format("%s:%d", sys.env("K8S_HOST_IP"), 10250),
    "__metrics_path__" = "/metrics/cadvisor",
    "instance" = sys.env("HOSTNAME"),
  }]
  scheme   = "https"

  tls_config {
    server_name          = sys.env("K8S_HOST_IP")
    ca_file              = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
    insecure_skip_verify = false
  }

  bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"

}

Hi @artem-zherdiev-ingio
Thank you so much for your help; it worked perfectly for me! I was having trouble using the ServiceMonitor approach with a kubelet pointing service as the "entry point," like the Grafana Agent Operator and Prometheus Operator use. Even though the documentation said switching from Grafana Agent to Alloy should be easy, it didn’t work for me.
Thanks a lot again.
Have a nice one!


chore(main): release pixels 0.7.1

:robot: I have created a release beep boop
0.7.1 (2024-05-28)
Bug Fixes

pixels: add Json themes to component (13328d9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fuf-stack/uniform/releases/tag/pixels-v0.7.1 :sunflower:


resolve tensorflow issues

https://github.com/geet2019/rgn
sir I wanted to implement this code. but his instruction is to have python 2.7 and TensorFlow in between 1.4 and 1.11
doubt :
Can I able to execute in Python 3.7 and in TensorFlow 2.1?
whether I am able to execute all functions in TensorFlow <1.11 in TensorFlow 2.1. If not, is there any possible way to do so?
As you know "https://github.com/geet2019/rgn " this a GitHub project ? is there any way to execute it in GitHub desktop itself. If so, can you please provide me with help as early as possible.
Looking forward to a quick response from you that helps me a lot.
thank you so much for your valuable support for my work.

@geet2019
The instruction says "TensorFlow >= 1.4 (tested up to 1.12)" which means you can try on 2.1 as you want to, please go ahead and replicate and let us know in case yo face any issues when you do so.
Please confirm if this resolves your issue related to version.
As this is not an issue or bug we suggest you post further queries on "Stack Overflow" , unless it is a feature or bug related to tensorflow.

This issue is not relevant here


add --time for post-dating items

This is needed for importing old, hand-edited, files.

Oh, I did this but forgot to close the issue.


would you accept ability to override existing vars

I have this PR on original repo: https://github.com/dotenv-rs/dotenv/pull/69. Would it be accepted here?

Yes.
Also add tests and rename dotenv_overwrite to overload. The naming should be consistent with bkeepers/dotenv.


Cron job error

Describe the bug
Error reported by Shubham Saxena (@shubham599)
Regarding the cron job not running - I tried debugging that and found an issue.
I was observing a Hash.DoesNotExist error, which led to termination of the cron job.
As per screenshot 1 attached (Django Model.get), the documentation specifies that if the Model.objects.get() method does not find any object, it throws a Model.DoesNotExist error.
Now, as per screenshot 2 (Hash Model), the function Hash.find_item_name() does NOT catch the exception. It just runs Model.objects.get() and returns the value. I checked further, the caller of Hash.find_item_name() expects a ‘None’ value when no objects are found; it doesn’t expect/catch any errors either.
So I added a try-catch block around that function call (see screenshot #3, Hash Model with exception handling), and ran the cron job, it was able to run and fetch datasets (verified this by running the app - I see the fetched laws in the app).
Is it ok to go ahead and raise a PR for this change?

To Reproduce
TBD
Expected behavior
Handle error
Screenshots
N/A
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@tonypearson recommends using Django Filter function instead of Get. Filter returns None if item is not found instead of raising an error like Get.

@shubham599 any updates on this issue? Thank you.
FYI @demilolu

Finished with #157


issue: nessus license not valid when moving container around

Nessus and plugins are loading but the license is invalid, even when using the same MAC address. It is not possible to use it as backups.

from #20

Indeed, when i commit and save the two images (e.g nessus:licensed and nessus-unlicensed-data) and try to load on another docker server, the license is not recognized as valid. Of course, the specified MAC address is the same.
Does anyone experienced the same issue ?

Not yet, I haven't tried moving the image around (we are actually starting to think about orchestration of a scanning image) so this might provide some proving ground.

keep this issue open and posted.

haven't forgotten about this - WIP

+1

#26


Rearchitecting Add code

What changed?
This is a major refactor of the app add command. It creates a new App Service package, that'll contain the implementation for app commands.
It also creates interfaces for all dependencies the app command needs.
Note:
In order to speed up the approval process of this PR, I decided to roll back any UX change, so, now it's behaving as is today. There should be no changes at all, besides possible bugs, introduced in the process.
I can create a new PR only with those UX changes if needed, I'm leaving the description below for historical reasons, but that's not valid anymore.
~As much as possible I haven't change the current behavior, all the 3 modes stay the same and work as current implementation, but as I was doing the development I felt the need to add new flags and make some changes to simplify the "mode selection".~

Details
These were the changes:
Add in the user repo
Stays exactly the same, with no changes at all as this is the default behavior, by running the command below the manifests will be generated, applied to the cluster, and committed to the user repo.
wego app add .

Add without committing manifests
For this mode, I added a --commit-manifests flag, it does the same as the default mode but it only applies the manifests to the cluster and doesn't commit them to any repo.
wego app add . --commit-manifests=false

Add with external repo
This mode had the biggest change, for it I added 3 new flags:
--automation-repo string          Repository that will hold the Gitops Automation manifests
--automation-repo-branch string   Repository branch that will hold the Gitops Automation manifests (default "main")
--automation-repo-path string     Repository path that will hold the Gitops Automation manifests (default "./wego")

To add an app using an external repo the user can do:
wego app add . --automation-repo https://github.com/luizbafilho/wego-automation

The above command will read the current directory looking for the app repo URL and save the manifests in ./wego directory in the wego-automation repo.
wego app add --url https://github.com/stefanprodan/podinfo --automation-repo https://github.com/luizbafilho/wego-automation

This one will create all the manifests save them in wego-automation repo, but point them to the repo specified in the --url
I did those changes because it felt a bit easier to understand, although I'm not attached to them or any naming I've used, so feel free to question them.

Why?
Testing in the current code is hard, this PR makes it quite easy to inject and define the behavior of the dependencies making it super easy to test our code.

How did you test it?
Just use it, try to add apps using the current three modes and check if something breaks.

Release notes

Documentation Changes

hi @cdavisafc and @bia tagging you because but I've made some changes to the UX and I'd love your feedback on it. those are mere suggestions since there was a need to input the same path and branch to the external repo, which is different from the path and branch of the app, so I've made a call and picked a name but I'm good with any name.

skipped some acceptances tests after discussion with rokshana


vartable:0.1.1

I am submitting

[ ] a new package
[x] an update for a package

Description: just corrected a few mistakes here and there,
and added the possibility of customizing the bars between signs in the sign tables

Thank you.


Suround vs Surround

Isn't surround spelled with two rs?
Noticed my help had typos-lsp attached and complained

Yes, and it will be fixed in v0.7 (as I misspelled surround in the code, including configuration names, which means that this would be a breaking change)

Yes, and it will be fixed in v0.7 (as I misspelled surround in the code, including configuration names, which means that this would be a breaking change)

Thought as much. Just wanted to make sure that you were aware 👍


mrbdoc header file error

I'm currently developing my own mrbgem and for some reason I keep getting this error when I add include/*.h in the .yardopts it gives me this error:
file_system_serializer.rb:88:in `block in build_filename_map': undefined method `+' for :"mrb_bb_rpg.h":Symbol (NoMethodError)
My .yardopt file looks like this when the error happens:
--markup markdown
--plugin mruby
--plugin coderay
--output-dir doc/api

src/*.c
include/*.h
mrblib/*.rb
test/*.rb

Closed by #15 & #16 Thanks to @jmhmccr


Writeup Scaling How To

Under 'development' section.
Should include some real code snippets. Maybe this is an addendum to the python log example.
Basically .. write code for N=1 case, then scale up and test. Should cover M/R cases

duplicate


core: add support for vlan tag and vlan_filtering for bridge driver

Netavark config allows users to assign VLAN tag and to enable filtering
when using bridge driver.
Users could use --opt flag to specify vlan=id and filtering will we
enabled on the bridge and host end master of bridge will be assigned
respective tag.
Closes: https://github.com/containers/netavark/issues/108

This needs upstream: https://github.com/little-dude/netlink/pull/222 which is still under discussion and review.

CI failures are expected because of missing upstream.

What is going on here?

I'll rebase this, my needed patch is already merged and released a while ago.

@flouthoc friendly reminder


feat: DingTalk provider value case unsensitive

Fix: #686

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@Resulte

fix:

Use feat: instead of fix:

@Resulte

fix:

Use feat: instead of fix:

@hsluoyz all done


Kafka plugin: Support TLS

Description
Adds TLS support in the Kafka plugin. The changes (as they are now) expect the needed files to be present on the machine where Conduit is running.
Fixes #141
Quick checks:

[x] I have followed the Code Guidelines.
[x] There is no other pull request for the same update/change.
[x] I have written unit tests.
[x] I have made sure that the PR is of reasonable size and can be easily reviewed.

@hariso I propose moving this PR to the extracted kafka plugin, since we will move to that soon and it's not a feature that's urgently needed at this moment. WDYT?

Closing in favor of https://github.com/ConduitIO/conduit-connector-kafka/pull/3


Grant-CsTenantDialPlan fails with UPN

Unable to apply Dial Plan to users using UPN.
Using the following cmdlet:

Grant-CsTenantDialPlan -PolicyName US -Identity<EMAIL_ADDRESS>
Error:
Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsUserPolicy : User does not exist
 At C:\Program Files\WindowsPowerShell\Modules\MicrosoftTeams\3.1.1\net472\custom\PsExt\Grant-CsUserOrTenantPolicy.ps1:61 char:13
+             Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsUserPo ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: ({ Identity = 0b...ntUserRequest }:<>f__AnonymousType56`3) [Grant-CsUserPolicy_GrantExpanded], Exception
    + FullyQualifiedErrorId : ClientError,Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Cmdlets.GrantCsUserPolicy_GrantExpanded

Versions Tried:

4.0.0 - fail with similar error above
3.1.1 - fail
3.1.0 - fail with similar error above
3.0.0 - fail with similar error above
2.6.0 - cmdlet works as expected

Workaround 1
Grant-CsTenantDialPlan -PolicyName US -Identity ObjectID
Workaround 2
Get-CsOnlineUser -Identity<EMAIL_ADDRESS>Grant-CsTenantDialPlan -PolicyName US

We have the same issue since last Saturday.  We have been  using 3.1.1 for weeks without issue.
Unfortunately none of your workarounds works for me.
1- "User does not exist" 2. "Grant-CsTenantDialPlan : One or more errors occurred"
Here is the answer we have got from Microsoft:
"Assessment/Analysis:
This scenario matches a known issue related to version 3.1.1 that we are currently investigating. The workaround is to downgrade Teams Module version 2.6.0 which you have just tested and confirmed that it's working.
As for the ETA, we expect the issue to be fixed by the end of this quarter. "

@olanga  sorry the workarounds don't help.  Thanks for the info.  Seems like a lot of issues lately with Teams modules.

@olanga Thank you very much for the contribution and sharing this explanation. @Briggidy Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Feature Request: log full request data

When debugging, it would be helpful to view the entire payload being sent to / from the Notion API.  That's a lot of information to consume for DEBUG, but perhaps there would be a "special" named logger that could be configured to dump the request and response data?

Merged.


Arror including the Android aar file

When building for Android, I am having trouble including the AAR file:
Running "flutter pub get" in client...                             974ms
You are building a fat APK that includes binaries for android-arm, android-arm64, android-x64.
If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size.
    To generate an app bundle, run:
        flutter build appbundle --target-platform android-arm,android-arm64,android-x64
        Learn more: https://developer.android.com/guide/app-bundle
    To split the APKs per ABI, run:
        flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
        Learn more: https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':openpgp:bundleReleaseAar'.
> Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this case too (despite not throwing this error). The following direct local .aar file dependencies of the :openpgp project caused this error: /home/name/.pub-cache/hosted/pub.dartlang.org/openpgp-0.9.9/android/libs/openpgp.aar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 37s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                    1,970ms
Gradle task assembleRelease failed with exit code 1

Is there any way to solve this issue?

Fixed with version 1.0.0-rc1


Subtitles

Is it possible to use subtitles on the movies? It works fine in channels but not on movies.

Hi!
Subtitles require Kodi 18 as stated in the README. I'm closing this because it is a duplicate of #9.


Logging

Pull Request Test Coverage Report for Build 103

26 of 45 (57.78%) changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.9%) to 94.009%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

server/logging/setup.py
12
31
38.71%

Totals

Change from base Build 86:
-0.9%

Covered Lines:
1679

Relevant Lines:
1786

💛  - Coveralls


Add functionality for querying scuttlebutt gossip table and social graph

This change adds new functionality to the NetworkService service for querying peers that the server is connected to, and peers that it has in its gossip table and their connection state.
Additionally, it introduces a new SocialService to query the social graph (for follows, followers and friends) and update the instance's display name and view the display name of other users.
Note: These methods assume that certain RPC functions are available to call on the instance that is connected to as a client. These RPC functions are exposed by the ssb-gossip, ssb-about and ssb-friends plugins for ssb-server, which are used by most popular clients (patchwork, patchbay, manyverse.)

Can one of the admins verify this patch?

ok to test

@Happy0 you can choose to push directly to master - you're a committer. If you intend to use PRs and want them to run on your behalf, add your GitHub ID to the whitelist in this build: https://builds.apache.org/job/Apache Tuweni/job/CI/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Apache Tuweni/job/CI/172/

Thanks @atoulme , still getting a feeling for when it's appropriate to get a PR and when it's appropriate to push to master - I guess in this case, these changes build on the last PR (which did merit a review) so I could've just pushed to master. However, I just tried it, and it looks like I don't have the permissions to push to master:
ERROR: Permission to apache/incubator-tuweni.git denied to Happy0.
fatal: Could not read from remote repository.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Apache Tuweni/job/CI/174/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Apache Tuweni/job/CI/175/


[Table] callback issues when single select with Radio buttons props are set

What package is this for?

[x] React
[ ] Angular

Describe the bug
There are two defects surrounding the single select behavior with radio buttons.

On line 252 of TableBodyRow.jsx we are calling onRowSelected inside an onChange event for the TableCell. We are also calling the onRowSelected when the RadioButto element is clicked on line 265. We should only be calling this once.
You can see this in our storybook here. Make sure options.hasRowSelection is set to 'single' and the options.useRadioButtonSingleSelect options is clicked in the 'Selections and actions' knob tab. Then open the actions panel and click on the radio button. You will see the callback fired twice.
With the same story and knobs active try clicking on the row in an area outside of the radio button cell with the actions tab open. You will see that an onRowSelected and an onRowClicked callback are fired. Notice that the radio button does not show a selected state. This most likely stems to when we added the radio buttons for single selection. Previously, a user could click anywhere and it would select the row. @JordanWSmith15 @dianatran18 can you chime in with whether we should continue to allow the clicking on a row to fire the onRowSelected and update the radio button accordingly or  disallow row clicks to fire the onRowSelected when we are using radio buttons?

@JordanWSmith15 This is related to the defect being worked by Tom for Graphite.
To Reproduce
Steps to reproduce the behavior:

Go to this story
Got to the 'Selections and actions' knob tab in the knob pannel.
Make sure options.hasRowSelection is set to 'single' and the options.useRadioButtonSingleSelect options is clicked
Open the actions panel
Click on the radio button in the table
See the action firing twice.
Click anywhere in the row and see the onRowSelected callback being fired.

We will want to make sure that our behavior for single select without the radio buttons and the multi-select functionality is preserved.

I would follow what Carbon's radio button selection does, and only have it on the radio button, not the full row.
I feel like selecting the full row can conflict with other potential actions on the row too, like inline row actions, links, etc.
Also, note that Carbon's also has a selected row state but ours does not. Was that intentional? For consistency with other selected state use cases, we should add that back in. I actually realized we don't have selected states for the checkbox variant too. We have that in our designs along with Carbon, so we'll need to align on that too.


Update kube2sky to use v1 API

I see that kube2sky is still issuing v1beta3 requests in e2e tests.
We need to update it to use v1 API.
We cant stop exposing v1beta3 in master, unless this is fixed (https://github.com/GoogleCloudPlatform/kubernetes/pull/10525)
Example request from e2e logs:
GET /api/v1beta3/endpoints: (458.105µs) 404 [[kube2sky/v0.20.0 (linux/amd64) kubernetes/unknown] <IP_ADDRESS>:37178]

cc @thockin @ArtfulCoder @bgrant0607

Looking at the code, it seems like it is correctly configured to use v1: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/cluster/addons/dns/kube2sky/kube2sky.go#L438
Not sure why is it emitting v1beta3 requests.

I don't know the logic here - could use an assist to figure it out - I
built 1.10 with the v1 changes, I am 99% sure.
On Mon, Jul 6, 2015 at 8:05 AM, Nikhil Jindal<EMAIL_ADDRESS>wrote:

Looking at the code, it seems like it is correctly configured to use v1:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/cluster/addons/dns/kube2sky/kube2sky.go#L438
Not sure why is it emitting v1beta3 requests.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10754#issuecomment-118883981
.

cc @jlowdermilk
It's presumably getting it's kclient.Config from an sideloaded kubeconfig, isn't it, rather than the if block there? Is it possible the client code in the container was built pre-#9762?

Or, shot in the dark, does #10556 play a role here? Not sure when those images were built, nor that familiar with the client code.

@zmerlynn, loaded or constructed kubeconfig shouldn't make a difference; that code isn't setting apiversion in overrides so it's getting the hardcoded default from pkg/latest. Is there a good way to determine what commit/pr # the kube2sky container was built from?

@nikhiljindal, @thockin Looking at https://github.com/GoogleCloudPlatform/kubernetes/blob/master/cluster/addons/dns/kube2sky/kube2sky.go#L438 , that will only set apiversion explicitly if no kubecfg flag was provided. Since we are setting a kubeconfig flag for gce, that means it is defaulting to whatever was set in pkg/latest at the time the kube2sky container was built. To always set explicit apiversion, put
config.Version = "v1"

at the bottom before the call to kclient.New(config)

Fixed by https://github.com/GoogleCloudPlatform/kubernetes/pull/10771


Serial flush faster

Current version that worked, just simply waited for up to 5ms for the timer to write the data out.
In this version, I changed the timer to 3ms which obviously helps some, but in addition added a swTimer function which allows you to set the counter. So in the flush function, I force the count to 1, which will imply that the write function will be called on the next millisecond timer.
I updated the whole path of code for flush, where instead of asking if the writes were done, I created a flush_tx function at each level and all of this work was done in the usbd_cdc_interface function, which file already knows (it created) the timer.
Without the timer update change I have a test case, where I basically ask an AX servo for it's current position, and print it out and then call Serial.flush. I put calls in to micros() around the calls to Serial.write/Serial.flush and sum the delta times and with only the change from 5 to 3ms, the average time for the flush to take was about 2.8ms. With the force to next ms, the average time was about .7ms...
This is an alternative update for issue #33

Note: I have not included any update library file, not sure if this should just be a copy a generated file that is out of my temporary files?
As asked in the thread: https://community.robotsource.org/t/opencm-9-04-how-to-build-using-the-develop-branch-and-make-pull-requests/1474

Hi, @KurtE
After modifying the code in OpenCM9.04/arduino/opencm_arduino/opencm9.04/ directory, build through EclipseIDE, a library file (.a) is created.
Then copy this file to variants/OpenCM904 in the release folder.
Also, if any .h files have been changed, you must also overwrite them in the corresponding header file location in the release folder.

@OpusK,
I now have copied over the changed header files to the release folder.
Not sure what is needed to setup to run this with Eclipse?  Are you using Sloeber?  Do you have some specific setup for it?  I tried installing latest Sloeber and tried adding to use my hardware folder, but it fails to find compiler...
Does this generate a different library file than the Arduino IDE creates.
That is if I run a build using Arduino on a simple sketch, it generates a library file (core.a) in this case in the folder:  C:\Users\kurte\AppData\Local\Temp\arduino_build_334393\core
Which in this latest run was about 324KB in size.   Which I am assuming is not the same thing as the
lib_f103.a that is currently on my system in the release folder is something like 68394KB which is over 200 times larger in size?

@KurtE,
The project that creates the library (.a) does not need the Arduino plugin.
It is simply generic firmware.
Currently, you need to use the Eclipse IDE. If you have a separate Makefile, you can do it without an IDE.
If you need more information about installing and configuring the Eclipse CDT IDE, please see the link below. I hope it helps.

[Eclipse] GCC ARM develop environment + OpenOCD for Linux
[Eclipse] GCC ARM develop environment + OpenOCD for Windows

@OpusK,
Ok I believe I have finally built the archive file ;)
Hopefully everything is valid.


Pass in the name of a sheet, output a json object

Use case: Keep my (simple) dataset and my copy/labels in the same Google Spreadsheet, and avoid having to separately load/maintain a CSV. I would, in theory, pass the name of a sheet into a template tag, and it would output a JSON object with the data.
Crazy idea?

Done! @dannydb your solution was great, I just made a few minor tweaks to reduce code duplication.


user does not exist during the first phase of chef recipe

There appears to be an issue where the user does not exist during the first phase of the chef recipe. What happens is that the user (to be created during convergence) does yet exist and so when the script attempts to write the ssh wrapper it cannot because the user is not yet in the system.
================================================================================
         Recipe Compile Error in /tmp/kitchen/cookbooks/topics/recipes/deploy.rb
         ================================================================================

         ArgumentError
         -------------
         user deploy doesn't exist

         Cookbook Trace:
         ---------------
           /tmp/kitchen/cookbooks/application_git/files/halite_gem/poise_application_git/resource.rb:87:in `expand_path'
           /tmp/kitchen/cookbooks/application_git/files/halite_gem/poise_application_git/resource.rb:87:in `ssh_wrapper_path'
           /tmp/kitchen/cookbooks/application_git/files/halite_gem/poise_application_git/resource.rb:75:in `deploy_key'
           /tmp/kitchen/cookbooks/topics/recipes/deploy.rb:77:in `block (2 levels) in from_file'
           /tmp/kitchen/cookbooks/application/files/halite_gem/poise_application/resources/application.rb:182:in `instance_exec'
           /tmp/kitchen/cookbooks/application/files/halite_gem/poise_application/resources/application.rb:182:in `block (3 levels) in _rewire_dsl!'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subresources/container.rb:150:in `instance_exec'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subresources/container.rb:150:in `block (2 levels) in declare_resource'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subresources/container.rb:140:in `block in declare_resource'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subcontext_block.rb:54:in `instance_eval'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subcontext_block.rb:54:in `subcontext_block'
           /tmp/kitchen/cookbooks/poise/files/halite_gem/poise/helpers/subresources/container.rb:121:in `declare_resource'
           /tmp/kitchen/cookbooks/application/files/halite_gem/poise_application/resources/application.rb:175:in `public_send'
           /tmp/kitchen/cookbooks/application/files/halite_gem/poise_application/resources/application.rb:175:in `block (2 levels) in _rewire_dsl!'
           /tmp/kitchen/cookbooks/topics/recipes/deploy.rb:72:in `block in from_file'
           /tmp/kitchen/cookbooks/topics/recipes/deploy.rb:64:in `from_file'

         Relevant File Content:
         ----------------------
         /tmp/kitchen/cookbooks/application_git/files/halite_gem/poise_application_git/resource.rb:

          80:      end
          81:
          82:      # Default SSH wrapper path.
          83:      #
          84:      # @api private
          85:      # @return [String]
          86:      def ssh_wrapper_path
          87>>       @ssh_wrapper_path ||= ::File.expand_path("~#{user}/.ssh/ssh_wrapper_#{Zlib.crc32(name)}")
          88:      end
          89:
        90:      # Guess if the deploy key is a local path or literal value.
          91:      #
          92:      # @api private

          94:      # @return [Boolean]
          95:      def deploy_key_is_local?(key=nil)
        96:        key ||= deploy_key

@mbasset to workaround this problem you need to create user in the compile phase.
https://docs.chef.io/resource_common.html#run-action
user 'fancy_user' do
  # ...
  action :nothing
end.run_action(:create)

Thanks @fidel, works a charm for a regular chef run. But, do you know if there is any way to get this workaround to play nice with chefspec?


Extends ESLint from @typescript-eslint

@typescript-eslint has a lot of good practices.
I split the PR in multiple commits.

@aomarks I think it is all fixed now! :)

@aomarks updated!

And finally the build forks! Thanks for the review and the help, @aomarks!

@aomarks updated!

Looks good. Thanks again for the PR!


.package.yaml was not generated with 0.17.0

Bug Report

What did you do?
A clear and concise description of the steps you took (or insert a code snippet).
I used the command as follows to generate my CSV file
operator-sdk generate csv --make-manifests=false --csv-version 0.0.1 --update-crds=true

But this command does not generate <operator-name>.package.yaml
deploy/
└── olm-catalog
    └── <operator-name>
        ├── 0.0.1
        │   └── <operator-name>.v0.0.1.clusterserviceversion.yaml
        └── <operator-name>.package.yaml << This was lost

What did you expect to see?
A clear and concise description of what you expected to happen (or insert a code snippet).
What did you see instead? Under which circumstances?
A clear and concise description of what you expected to happen (or insert a code snippet).

Possible Solution

Additional context
Add any other context about the problem here.

@camilamacedo86 can you help? Thanks!

Hi @gyliu513,
We removed it from 0.17 but after discussing it better we checked that the package manifest still supported by OLM and then we revert the change. See: https://github.com/operator-framework/operator-sdk/pull/2944. Sorry, for the inconvenient and you can use the master branch until the next release.
I am closing this as sorted out. However, please feel free to ping us to re-open if you need.

Thanks @camilamacedo86 , oops, this is a break change, we should at least provide some workaround for this, but not use master branch.
/reopen

@gyliu513 I'll be making a patch release that reverts package manifest deprecation fairly soon. We can leave this open until then.

Thanks @estroz , so you mean you want to release a patch release like 0.17.1? If so, does the new version works with the operator which was generated via 0.17.0?
For my case, my operator was generated by 0.17.0, and now I want to generate the package bundle, can I continue to use the new 0.17.1 to generate the package bundle?
Look forward to the patch release soon! ;-)

@gyliu513 yes v0.17.1 will work with all aspects of a v0.17.0-built project. It is worth bumping patch versions if possible.

Fixed in v0.17.1.


Bar graph bars overlapping

Describe the bug
The adjacent bars in bar graph are overlapping when x axis is timeseries and dates for both bars are close enough.
To Reproduce
When x axis is time series, have the x axis span 90 days. Then two results documented 1 week apart will have their bars overlapping.
Expected behavior
A space should be visible between two bars. The width of the bars should be calculated based on number of x axis ticks rather than the number of bars in the graph.
Screenshots

Desktop (please complete the following information):

OS: iOS. Reproducible in windows as well.
Browser: Chrome and IE

Additional context
The problem gets rectified if the number of bars is  more like below.

We have had issues with data density before. The width of each bar is calculated relative to the tick vs range i.e. what is the range provided vs where the tick is at.
I can see the vertical grid lines for the first one but without the axis values its difficult to discern the situation correctly. Can you toggle that back on?

Updated description to remove the image headers and other Cerner solution specifics.


Update Ionic repo dgeni/dgeni-packages version

Ionic's repo is using an outdated version of dgeni, and the version we're using has many outdated dependencies, which always print out deprecated warnings. I didn't update the versions myself in fear the site would blow up and melt my desktop. 💥
https://www.npmjs.com/package/dgeni
https://www.npmjs.com/package/dgeni-packages

driftyco/ionic-cloud uses a copy of this repo's dgeni setup, but has been upgraded to the latest version of dgeni and dgeni-packages. It provides a lot of additional data for us to use, but takes a little refactoring to make work.

Let's do this in three steps.

[ ] Upgrade Dgeni so that there are no more warnings
[ ] Apply updated version's new data to Ionic Native docs
[ ] Apply update version's new data to Ionic v2 docs

@adamdbradley this issue can be closed I think


Not working for me

Traceback (most recent call last):
File "D:\TikTok-Compilation-Video-Generator-master\TikTok Server\tiktok.py", line 137, in getAllClips
api = TikTokApi("browsermob-proxy/bin/browsermob-proxy")
TypeError: init() takes 1 positional argument but 2 were given
init() takes 1 positional argument but 2 were given
exception occured downloading. waiting and retrying
I think TikTokApi updated something, but the function TikTokApi() wont take 2 arguments anymore
Wont run for me

Thanks for letting me know. I've updated the tiktok.py class now to remove the unnecessary parameter to match the 3.6 release of TikTokAPI.
Please update the file and let me know if it's working now.
Many thanks

Thanks for letting me know. I've updated the tiktok.py file now to remove the unnecessary parameter to match the 3.6 release of TikTokAPI.
Please update the file and let me know if it's working now.
Many thanks

Hello! Thanks for your fast response
Traceback (most recent call last):
File "D:\TikTok-Compilation-Video-Generator-master\TikTok Server\tiktok.py", line 150, in getAllClips
new_ids.append(attemptAddScripts(results, "Hashtag"))
File "D:\TikTok-Compilation-Video-Generator-master\TikTok Server\tiktok.py", line 60, in attemptAddScripts
videoURL = tiktok["itemInfos"]["video"]["urls"][0]
KeyError: 'itemInfos'
'itemInfos'
Im getting that error now

Traceback (most recent call last):
File "D:\TikTok-Compilation-Video-Generator-master\TikTok Server\tiktok.py", line 150, in getAllClips
new_ids.append(attemptAddScripts(results, "Hashtag"))
File "D:\TikTok-Compilation-Video-Generator-master\TikTok Server\tiktok.py", line 60, in attemptAddScripts
videoURL = tiktok["itemInfos"]["video"]["urls"][0]
KeyError: 'itemInfos'
'itemInfos'
exception occured downloading. waiting and retrying
Its happening a lot


⚠ Bofrost.at has degraded performance

In 1651a40, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1454 ms

Resolved: Bofrost.at performance has improved in 48fc216.


http_server: use VirtualDirectory to serve part of a website

Originally opened as dart-lang/sdk#17353
This issue was originally filed by<EMAIL_ADDRESS>
VirtualDirectory.serve() and VirtualDirectory.serveRequest() assume that the VirtualDirectory should be mapped to the root of the website; that is, path "/foo/bar.html" in an HTTP request maps to "foo/bar.html" relative to the VirtualDirectory's root.
It would be nice if they took an optional "webRoot" argument that's removed from the front of the HTTP request's path before doing the mapping. That way you could easily use a VirtualDirectory to serve only part of a website, such as a "static" or "packages" subdirectory.

 Comment by sgjesse

Removed Type-Defect, Area-IO labels.
Added Type-Enhancement, Pkg-HttpServer labels.

 Comment by lrhn

Added Area-Pkg label.

 Comment by skabet

Proposed CL: https://codereview.chromium.org/424063002/

cc @kevmoo.
Set owner to @skabet.
Added Started label.

 Comment by kasperl

Added Area-IO, Triaged labels.

 Comment by skabet

Landed and published as http_server 0.9.3.

Added Fixed label.


Employ a unit testing framework

For example Mocha or any other JS unit testing framework.

I believe this can be closed, since we've got mocha set up now.

Agree!  OK @comfreek?
On Fri, Feb 13, 2015 at 9:06 PM, Tom Robinson<EMAIL_ADDRESS>wrote:

I believe this can be closed, since we've got mocha set up now.
—
Reply to this email directly or view it on GitHub
https://github.com/jpaulm/jsfbp/issues/7#issuecomment-74356719.

Also I'd like to setup https://travis-ci.org/ to automatically run the tests when we push to GitHub.
@jpaulm could you sign up at https://travis-ci.org/ and enable it for the jsfbp repository? I can create the required .travis.yml file once you do that. Alternatively if you add me as a collaborate here I can do it myself: https://github.com/jpaulm/jsfbp/settings/collaboration

:+1: for Travis. @jpaulm It will display a notification about the build status (did all tests pass?) in every PR. You can see it in action here: https://github.com/discourse/discourse/pull/3202 (scroll to the bottom)

How do I set the various authorizations - e.g. my email addresses?
Regards,
Paul
On Fri, Feb 13, 2015 at 10:18 PM, Tom Robinson<EMAIL_ADDRESS>wrote:

Also I'd like to setup https://travis-ci.org/ to automatically run the
tests when we push to GitHub.
@jpaulm https://github.com/jpaulm could you sign up at
https://travis-ci.org/ and enable it for the jsfbp repository? I can
create the required .travis.yml file once you do that. Alternatively if
you add me as a collaborate here I can do it myself:
https://github.com/jpaulm/jsfbp/settings/collaboration
—
Reply to this email directly or view it on GitHub
https://github.com/jpaulm/jsfbp/issues/7#issuecomment-74359240.

@jpaulm Have you read the Getting started guide (scroll down to the end of the list of languages first) and the guide on how to set up Node.js projects? I've never set up Travis CI myself, so I cannot help you except for providing links to articles.

Opened #43 for Travis CI


Gradle

in #564 we agreed to use Gradle instead of Maven, and also use Bintray to simplify the process of release.
This PR replaces Maven with Gradle and also brings some exciting changes:

BOM publishing ( org.testcontainers:testcontainers-bom:${version} ) with every module from this repository
Run Delombok before attaching the sources
Remote Build Cache to speed up the PRs
Revisited shadowing

The result was pushed to Bintray:
Repo: https://dl.bintray.com/testcontainers/releases
BOM: org.testcontainers:testcontainers-bom:1.6.0-gradle
So that you can test it yourself on your projects and verify that it works as previously.

@asarm
While Gradle's Build Cache indeed saves a lot of time (i.e. if you change the markdown docs, tests will not be executed, or if you change only kafka module, core tests and other modules will not be executed also), it was not the only reason to migrate to Gradle.
With Maven, things like BOM, Delombok or explicit control of shadowed dependencies was hard to do, so we didn't.
Also, if we want to merge all modules into the same repo, we would like to make adding new modules simple. With Maven, you have to list your modules explicitly in your root project's POM. Our Gradle config will auto-detect modules so that we will not get merge conflicts if two PRs with modules were submitted in parallel.
And last but not least, you can & should configure "delegate to Gradle" in your IDE so that you will always get the same compilation result as any other contributor. e.g. technically you don't have to install Lombok plugin to make project compile. It also solves the issues like running the shadowing tests (before, you had to package JAR manually with Maven before you run the JAR tests)

LGTM 😄
The build time improvements on their own are compelling, but also the general cleanliness and readability make me happy.


Deployment to Azure AppService - Guide

Discussed in https://github.com/fullstackhero/dotnet-webapi-boilerplate/discussions/649

Originally posted by DevJr14 May  7, 2022
Hi All,
Anyone who has successfully deployed to Azure AppService and willing to share detailed guideline on how to deploy?
A documentation which includes step by step processes with screenshot would be highly appreciated.
Thanks in advance.

While you're at it... maybe immediately create a page on the docs site for it ;-)
https://github.com/fullstackhero/docs/issues

Hi, yes it is working well both api and client app. I have already decided to create a documentation on Wednesday 11 May 2022.

@fretje I have compiled a work document with screenshots. Could you help with how i should create a page?

You mean for the docs site? @iammukeshm, can you set up a stub page for this, so he has to only fill it out?

Yes that's what i meant.

Done. @DevJr14 , you can pull the docs repository of fullstackhero.
Here is the page I created for Azure Deployment Guide. You can use markdown formatting.
https://github.com/fullstackhero/docs/blob/main/content/en/dotnet-webapi-boilerplate/tutorials/deploying-to-azure/index.md
https://fullstackhero.net/dotnet-webapi-boilerplate/tutorials/deploying-to-azure/
You can refer to https://github.com/fullstackhero/docs/tree/main/content/en/dotnet-webapi-boilerplate/fundamentals/logging for seeing how images are attached.
Docs Guide - https://fullstackhero.net/basics/contributing/#docs


Update Open Source Projects

There's a rather dated page hiding in plain sight under the Community header on docs.basho.com. I've forked it and made headway on updating it. While I'm claiming #dibs on it, I welcome other's feedback/fresh eyes on finding projects.

Note: Fix this - https://github.com/basho/basho_docs/issues/1719


lnd.service: Main process exited, code=exited, status=1/FAILURE

Lightning Node service doesn't seem to want to sync and keeps going into a fail state and restarting.  Bitcoin is syncing fine, however,
when I do a "lncli getinfo", I get this error

admin@GrymNodeOne:~$ lncli getinfo
[lncli] rpc error: code = Unavailable desc = grpc: the connection is unavailable

This is the output from "sudo journalctl -f -u lnd"

Oct 19 18:04:47 GrymNodeOne lnd[812]: 2018-10-19 18:04:47.358 [INF] LNWL: Started listening for blocks via ZMQ on tcp://<IP_ADDRESS>:29000
Oct 19 18:04:49 GrymNodeOne lnd[812]: 2018-10-19 18:04:49.936 [INF] LNWL: The wallet has been unlocked without a time limit
Oct 19 18:04:49 GrymNodeOne lnd[812]: 2018-10-19 18:04:49.936 [INF] LTND: LightningWallet opened
Oct 19 18:04:50 GrymNodeOne lnd[812]: 2018-10-19 18:04:50.751 [INF] LNWL: Catching up block hashes to height 546481, this will take a while...
Oct 19 18:04:51 GrymNodeOne systemd[1]: lnd.service: Main process exited, code=exited, status=1/FAILURE
Oct 19 18:04:51 GrymNodeOne systemd[1]: lnd.service: Unit entered failed state.
Oct 19 18:04:51 GrymNodeOne systemd[1]: lnd.service: Failed with result 'exit-code'.
Oct 19 18:05:51 GrymNodeOne systemd[1]: lnd.service: Service hold-off time over, scheduling restart.
Oct 19 18:05:51 GrymNodeOne systemd[1]: Stopped LND Lightning Daemon.
Oct 19 18:05:51 GrymNodeOne systemd[1]: Started LND Lightning Daemon.
Oct 19 18:05:51 GrymNodeOne lnd[916]: Attempting automatic RPC configuration to bitcoind
Oct 19 18:05:51 GrymNodeOne lnd[916]: Automatically obtained bitcoind's RPC credentials
Oct 19 18:05:51 GrymNodeOne lnd[916]: 2018-10-19 18:05:51.736 [INF] LTND: Version 0.4.1-beta commit=
Oct 19 18:05:51 GrymNodeOne lnd[916]: 2018-10-19 18:05:51.736 [INF] LTND: Active chain: Bitcoin (network=mainnet)
Oct 19 18:05:51 GrymNodeOne lnd[916]: 2018-10-19 18:05:51.736 [INF] CHDB: Checking for schema update: latest_version=0, db_version=0
Oct 19 18:05:52 GrymNodeOne lnd[916]: 2018-10-19 18:05:52.012 [INF] RPCS: password RPC server listening on <IP_ADDRESS>:10009
Oct 19 18:05:52 GrymNodeOne lnd[916]: 2018-10-19 18:05:52.012 [INF] RPCS: password gRPC proxy started at <IP_ADDRESS>:8080
Oct 19 18:05:52 GrymNodeOne lnd[916]: 2018-10-19 18:05:52.012 [INF] LTND: Waiting for wallet encryption password. Use lncli create to create wallet, or lncli unlock to unlock already created wallet.

i get the same error.
my output of ls -la /home/bitcoin/.lnd/
drwxrwxr-x 4 bitcoin bitcoin 4096 Oct 22 16:38 .
drwxr-xr-x 5 bitcoin bitcoin 4096 Oct  9 16:12 ..
drwx------ 4 bitcoin bitcoin 4096 Oct 14 12:46 data
lrwxrwxrwx 1 bitcoin bitcoin   12 Oct 14 11:10 lnd -> /mnt/hdd/lnd
-rw-rw-r-- 1 bitcoin bitcoin  289 Oct 22 16:38 lnd.conf
drwx------ 3 bitcoin bitcoin 4096 Oct 14 12:23 logs
-rw-r--r-- 1 bitcoin bitcoin  733 Oct 14 12:23 tls.cert
-rw------- 1 bitcoin bitcoin  227 Oct 14 12:23 tls.key
also:
admin@Goondroid:~$ su bitcoin
Password:
bitcoin@Goondroid:/home/admin$ systemctl status lnd
● lnd.service - LND Lightning Daemon
Loaded: loaded (/etc/systemd/system/lnd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-10-22 17:29:17 CEST; 2h 24min ago
Main PID: 1125 (lnd)
CGroup: /system.slice/lnd.service
└─1125 /usr/local/bin/lnd
bitcoin@Goondroid:/home/admin$ lncli unlock
Input wallet password:
lnd successfully unlocked!
bitcoin@Goondroid:/home/admin$ lncli addinvoice --amt 100000
[lncli] rpc error: code = Unavailable desc = grpc: the connection is unavailable
bitcoin@Goondroid:/home/admin$ lncli getinfo
[lncli] Wallet is encrypted. Please unlock using 'lncli unlock', or set password using 'lncli create' if this is the first time starting lnd.
bitcoin@Goondroid:/home/admin$ lncli unlock
Input wallet password:
lnd successfully unlocked!
bitcoin@Goondroid:/home/admin$ lncli addinvoice --amt 100000
[lncli] rpc error: code = Unavailable desc = grpc: the connection is unavailable
bitcoin@Goondroid:/home/admin$
any help would be greatly appreciated

I have received that issue too, has this issue started since upgrading to lnd 0.5.0-beta? If so it could be:
bitcoin.conf not having separate ports for zmq ie:
zmqpubrawblock=tcp://<IP_ADDRESS>:28332
zmqpubrawtx=tcp://<IP_ADDRESS>:28333
lnd.conf still having debughtlc set ie:
debughtlc=true
Either remove or comment out to read:
#debughtlc=true
Could be an issue with the admin.macaroon

Has anyone figured out a fix for this? I am still having the issue when going from testnet to mainnet. I had two fully working nodes and now after update I'm without any!

Nope, waiting a bit hoping that future release fixes the problem.   :(

I think the use of systemd complicates debugging a lot, sorry for that. Can you please try to start LND manually, as described here?
https://github.com/Stadicus/guides/issues/276#issuecomment-439678798

$ lnd
Attempting automatic RPC configuration to bitcoind
Automatically obtained bitcoind's RPC credentials
2018-11-19 09:20:06.359 [INF] LTND: Version 0.5.0-beta commit=3b2c807288b1b7f40d609533c1e96a510ac5fa6d
2018-11-19 09:20:06.359 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2018-11-19 09:20:06.361 [INF] CHDB: Checking for schema update: latest_version=6, db_version=6
2018-11-19 09:20:06.401 [INF] RPCS: password RPC server listening on <IP_ADDRESS>:10009
2018-11-19 09:20:06.401 [INF] RPCS: password gRPC proxy started at <IP_ADDRESS>:8080
2018-11-19 09:20:06.403 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli changepassword` to change the password of an existing wallet and unlock it.
2018-11-19 09:20:28.472 [INF] LNWL: Opened wallet
2018-11-19 09:20:29.078 [INF] LTND: Primary chain is set to: bitcoin
unable to create chain control: unable to connect to bitcoind: unable to subscribe for zmq block events: dial tcp <IP_ADDRESS>:28332: connect: connection refused
2018-11-19 09:20:29.294 [INF] LTND: Shutdown complete
unable to connect to bitcoind: unable to subscribe for zmq block events: dial tcp <IP_ADDRESS>:28332: connect: connection refused

Is bitcoind up and running?
Are the ZMQ ports set correctly to 28332 and 28333?

$ sudo systemctl status bitcoind
$ bitcoin-cli getblockchaininfo
$ sudo cat /home/bitcoin/.bitcoin/bitcoin.conf
...
zmqpubrawblock=tcp://<IP_ADDRESS>:28332
zmqpubrawtx=tcp://<IP_ADDRESS>:28333
...

I believe everything is set up correctly...
$ sudo systemctl status bitcoind
● bitcoind.service - Bitcoin daemon
   Loaded: loaded (/etc/systemd/system/bitcoind.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-11-19 08:33:27 CST; 4 days ago
  Process: 710 ExecStart=/usr/local/bin/bitcoind -daemon -conf=/home/pi/bitcoinData/bitcoin.conf
 Main PID: 712 (bitcoind)
   CGroup: /system.slice/bitcoind.service
           └─712 /usr/local/bin/bitcoind -daemon -conf=/home/pi/bitcoinData/bitcoin.conf -pid=/h

Nov 19 08:33:27 piNode systemd[1]: Starting Bitcoin daemon...
Nov 19 08:33:27 piNode systemd[1]: bitcoind.service: PID file /home/pi/bitcoinData/bitcoind.pid
Nov 19 08:33:27 piNode systemd[1]: Started Bitcoin daemon.

$ bitcoin-cli getblockcount
551210

# RaspiBolt LND Mainnet: bitcoind configuration
# /home/bitcoin/.bitcoin/bitcoin.conf <--example. For my pi it's: /home/pi/.bit$

# remove the following line to enable Bitcoin mainnet
# testnet=1

# Bitcoind options
server=1
daemon=1
txindex=1
disablewallet=0

# Connection settings
rpcuser=myuser
rpcpassword=mypw
zmqpubrawblock=tcp://<IP_ADDRESS>:28332
zmqpubrawtx=tcp://<IP_ADDRESS>:28333

# Raspberry Pi optimizations
dbcache=100
maxorphantx=10
maxmempool=50
maxconnections=25
maxuploadtarget=5000

yes, unfortunately.  lnd seems to still be unable to connect to bitcoind.
$ lnd
Attempting automatic RPC configuration to bitcoind
Automatically obtained bitcoind's RPC credentials
2018-12-25 09:24:08.873 [INF] LTND: Version 0.5.0-beta commit=3b2c807288b1b7f40d609533c1e96a510ac5fa6d
2018-12-25 09:24:08.873 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2018-12-25 09:24:08.898 [INF] CHDB: Checking for schema update: latest_version=6, db_version=6
2018-12-25 09:24:08.940 [INF] RPCS: password RPC server listening on <IP_ADDRESS>:10009
2018-12-25 09:24:08.944 [INF] RPCS: password gRPC proxy started at <IP_ADDRESS>:8080
2018-12-25 09:24:08.946 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli changepassword` to change the password of an existing wallet and unlock it.
2018-12-25 09:25:12.296 [INF] LNWL: Opened wallet
2018-12-25 09:25:12.767 [INF] LTND: Primary chain is set to: bitcoin
**unable to create chain control: unable to connect to bitcoind: unable to subscribe for zmq block events: dial tcp <IP_ADDRESS>:28332: connect: connection refused**
2018-12-25 09:25:12.931 [INF] LTND: Shutdown complete
**unable to connect to bitcoind: unable to subscribe for zmq block events: dial tcp <IP_ADDRESS>:28332: connect: connection refused**

I know there was a new release of lnd a couple of weeks ago. maybe I will install that tomorrow and see if it somehow helps.

Are bitcoind & lnd running with the same user? The fact that the connection has been "refused" would point to failed authentication and the lnd user needs to be able to access the user / pw credentials of bitcoind.

yes they were on same user.  i was trying to combine my original pi node setup from like 5 years ago with your guide to spin up a lightning node and eps, so it was a janky setup to start with. i couldn't figure this out, and had the past couple days off, so decided to go scorched earth, flash the microsd and start over.  lnd is working for me now.  so i don't need anything further regarding this.  thanks

Congrats!


Refactor Errors

Errors need to be Exceptions so that we can throw them and either handle them appropriately, or let them fly to be caught by the new middleware.

Ive started something.. review #12


<time.h> not included in amalgamated headers/source

Attempting to compile my tests and running into this error...

I can fix within my system including <time.h> in the header and source within /dist but thats just a workaround and not an actual solution.

Thanks for reporting this! Fixed in 0.4.11.


Improve test coverage

Over all structure of code is stabilized and we can start working on covering logic with tests.
Better to keep PRs with manageable size, and keep one package/file per PR.
When you start working on test for some package, post it in the issue first to avoid duplicated work.

I'm working on test for cmd package


Jackson response deserialization doesn't work with response interceptor

If loggingResponseInterceptor() is used, then JSON response deserialization by fuel-jackson fails due to response stream being already consumed/read.
com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: (sun.net.www.protocol.http.HttpURLConnection$HttpInputStream); line: 1, column: 0]
	at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
	at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4133)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3988)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3065)
	at <removed>$$inlined$responseObject$1.deserialize(FuelJackson.kt:51)
	at com.github.kittinunf.fuel.core.ResponseDeserializable$DefaultImpls.deserialize(Deserializable.kt:15)
	at <removed>$$inlined$responseObject$1.deserialize(FuelJackson.kt:28)
	at com.github.kittinunf.fuel.core.DeserializableKt.response(Deserializable.kt:81)

@msogrin Could share the version of Fuel that this is happening, please? A test case or code sample that reproduces the exception may be useful too. The test below should reproduces what I understood of your report, but it's passing with code from commit e7095ee.
private data class Ip(val origin: String)

private object IpDeserializer : ResponseDeserializable<Ip> {
    override fun deserialize(content: String) =
            jacksonObjectMapper().readValue<Ip>(content)
}

@Test
fun jacksonCanDeserializeWhileUsingResponseInterceptor() {
    val manager = FuelManager.instance.apply {
        addResponseInterceptor { loggingResponseInterceptor() }
    }

    val (_, _, result) = manager.request(Method.GET, "https://httpbin.org/ip")
            .responseObject(IpDeserializer)

    result.fold({ data ->
        assertTrue(data.origin.isNotEmpty())
    }, { error ->
        fail("This test should pass but got an error: ${error.message}")
    })
}

@lucasvalenteds you don't actually use the code from fuel-jackson module, so your IpDeserializer is one of the possible work-arounds that makes it work (by forcing deserialization from String).
Use of provided jacksonDeserializerOf object from https://github.com/kittinunf/Fuel/blob/master/fuel-jackson/src/main/kotlin/com/github/kittinunf/fuel/jackson/FuelJackson.kt#L28 (if you call it via one of methods in https://github.com/kittinunf/Fuel/blob/master/fuel-jackson/src/main/kotlin/com/github/kittinunf/fuel/jackson/FuelJackson.kt#L20-L26) makes it go via Reader implementation, where the reader/stream is already consumed by the interceptor and pointing to EOF.
I had previously reproduced the problem with Fuel 1.12.1 and 1.13.0.

Thank you for the clarification, @msogrin. I understood it now. I'll try to work on this soon, but feel free to send a PR if you have a solution. :+1:

@msogrin can you share the code you are using so I can write a test?

will this pr solve this? https://github.com/kittinunf/Fuel/pull/402

I don't think so, I will take on it for the next release.

@msogrin sorry this took so long. It has been fixed, with a test to prove it is.


Using EnableRewind with XML Formatters throws

Describe the bug
In ASP.NET Core 3.0 enabling request rewind when also using the XmlSerializer formatter leads to an exception Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead..
To Reproduce

Create a fresh ASP.NET Core 3 Web API project
Add support for the XmlSerializer formatter
Enable rewind on all requests
Create a POST action with body on a controller
Invoke the post action

Expected behavior
The request is propagated to the controller and action.
Exception stack
System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Microsoft.AspNetCore.WebUtilities.FileBufferingReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.Stream.ReadByte()
   at Microsoft.AspNetCore.Mvc.Infrastructure.NonDisposableStream.ReadByte()
   at System.Xml.EncodingStreamWrapper.ReadBOMEncoding(Boolean notOutOfBand)
   at System.Xml.EncodingStreamWrapper..ctor(Stream stream, Encoding encoding)
   at System.Xml.XmlUTF8TextReader.SetInput(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
   at System.Xml.XmlDictionaryReader.CreateTextReader(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
   at Microsoft.AspNetCore.Mvc.Formatters.XmlSerializerInputFormatter.CreateXmlReader(Stream readStream, Encoding encoding)
   at Microsoft.AspNetCore.Mvc.Formatters.XmlSerializerInputFormatter.ReadRequestBodyAsync(InputFormatterContext context, Encoding encoding)
   at Microsoft.AspNetCore.Mvc.Formatters.XmlSerializerInputFormatter.ReadRequestBodyAsync(InputFormatterContext context, Encoding encoding)
   at Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BodyModelBinder.BindModelAsync(ModelBindingContext bindingContext)
   at Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder.BindModelAsync(ActionContext actionContext, IModelBinder modelBinder, IValueProvider valueProvider, ParameterDescriptor parameter, ModelMetadata metadata, Object value)
   at Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegateProvider.<>c__DisplayClass0_0.<<CreateBinderDelegate>g__Bind|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

HEADERS
=======
Cache-Control: no-cache
Connection: keep-alive
Content-Type: application/xml
Accept: */*
Accept-Encoding: gzip, deflate
Host: localhost:5001
User-Agent: PostmanRuntime/7.19.0
Content-Length: 46
Postman-Token: f58f0246-e814-441c-82f6-c5e22ffff4e7

Workaround
It is possible to circumvent the issue by allowing synchronous IO on the requests in question. However, this is suboptimal as it can impact performance and stability of the system.
Repro code
XmlRepro.zip
The question is whether this can be resolved in a better way. I guess the old XmlSerializer formatter is not made to use asynchronous APIs?

@mareklinka thanks for contacting us.
@Tratcher Can you help out here?

This is likely a dup of https://github.com/aspnet/AspNetCore/issues/16615. In 3.0, using EnableRewind or EnableBuffering requires the stream to be drained (or for sync IO to be allowed):
app.Use(async (context, next) =>
{
    context.Request.EnableBuffering();
    await context.Request.Body.DrainAsync();
    context.Request.Body.Position = 0;
    await next(context);
});

^ I haven't tried compiling the code, but this should be the gist of it. Starting in 3.1-preview2, you should no longer need to do this.


[Usage]: how to abort request?

Your current environment
vllm 0.5.0post1

How would you like to use vllm
an inference of a request lasts too long cannot stop.

Please see #7071


Metrics didn't get the label from aggs

Here is my config
[query_es_test]
QueryIntervalSecs = 30
QueryTimeoutSecs = 15
QueryIndices =
QueryJson = {
                "size": 0,
                "query": {
                    "bool": {
                        "must": [{ "match": { "state": "FAILURE"} }],
                        "filter": {
                            "bool": {
                                "must": [
                                    { "range": { "@timestamp": { "gte": "now-24h", "lt": "now-6h" } } }
                                ]
                            }
                        }
                    }
                },
                "aggs": {
                    "env": {
                        "terms": {"field": "env.keyword"},
                        "aggs": {
                            "val_sum": {
                                "sum": {
                                    "field": "val",
                                    "missing": 1
                                }
                            }
                        }
                    }
                }
            }

And the result I get from by using
curl -X GET "http://my-es:9200/_search" -H 'Content-Type: application/json' -d'
{
    "size": 0,
    "query": {
        "bool": {
            "must": [{ "match": { "state": "FAILURE"} }],
            "filter": {
                "bool": {
                    "must": [
                        { "range": { "@timestamp": { "gte": "now-24h", "lt": "now-6h" } } }
                    ]
                }
            }
        }
    },
    "aggs": {
        "env": {
            "terms": {"field": "env.keyword"},
            "aggs": {
                "val_sum": {
                    "sum": {
                        "field": "val",
                        "missing": 1
                    }
                }
            }
        }
    }
}' | jq .
{
  "took": 101,
  "timed_out": false,
  "_shards": {
    "total": 451,
    "successful": 451,
    "skipped": 401,
    "failed": 0
  },
  "hits": {
    "total": 256,
    "max_score": 0,
    "hits": []
  },
  "aggregations": {
    "env": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": [
        {
          "key": "staging",
          "doc_count": 164,
          "val_sum": {
            "value": 164
          }
        },
        {
          "key": "production",
          "doc_count": 92,
          "val_sum": {
            "value": 92
          }
        }
      ]
    }
  }
}

I thought I will get the label like env=production, howerver, the label didn't apply on the metrics. is there anything i did wrong?
es_test_hits 0.0
# HELP es_test_took_milliseconds
# TYPE es_test_took_milliseconds gauge
es_test_took_milliseconds 11.0
# HELP es_test_env_doc_count_error_upper_bound
# TYPE es_test_env_doc_count_error_upper_bound gauge
es_test_env_doc_count_error_upper_bound 0.0
# HELP es_test_env_sum_other_doc_count
# TYPE es_test_env_sum_other_doc_count gauge
es_test_env_sum_other_doc_count 0.0

Hi @WakeupTsai, from the metric output you posted, it looks like the query isn't matching any documents, when run by the exporter at least - es_test_hits is 0.
There's no metrics there for the env aggregation buckets (just doc_count_error_upper_bound/sum_other_doc_count), presumably as there's no buckets being returned. Only the bucket value metrics would have the env label, hence not seeing it on any of the returned metrics.


fix($http): do not modify the config object passed into $http short methods

Update $http's createShortMethods and createShortMethodsWithData to extend an empty object instead of the passed-in config.
Previously, since $http was extending the passed-in config, the changes to the config object persisted even after the call to $http's get/post/etc. returned:
var config = { some_key: 1 };
$http.get('/testUrl', config);
// config now contains { some_key: 1, url: '/testUrl', method: 'GET' }

This causes unexpected behavior if that config object is reused in subsequent calls to $http. The existing test in httpSpec was not properly testing this situation.

:+1: this caused a pretty lengthy head scratching session for @maxthyen and I until the behavior was realized. Can't think of any reasons why this would be desirable?

:+1: being able to reuse a confit object without it being changed under the hood is ideal.

I like this PR, just wondering if anybody is relying on this odd behavior to think that this is a breaking change.
@petebacondarwin WDYT?

I agree. It looks good. We should merge it now and label it as a small breaking change - just in case.

Do you want to take that @lgalfaso ?

landed as f7a4b48121ed2b04af89bd2b754f500d1872360d


Floating point errors when loading/saving in editor

Describe the bug
In the editor, floating-point errors occur when loading or saving a float value.
To Reproduce
Loading a float value:

Load a reaction in the editor
Set a value to 0.1
Save the reaction (note that it's correct in the pbtxt file)
Load the reaction again
See the value textbox be filled with a float that's not exactly equal to 0.1

Saving a float value:

Load a reaction in the editor
Set a value to 0.1212121212
Save the reaction (note that it's truncated in the pbtxt file)
Load the reaction again
See the value textbox be filled with a float that's not exactly the original value nor truncated value

Expected behavior
While the loss of precision isn't an issue, the extra digits in the editor's value may be jarring.
Desktop (please complete the following information):

OS: Ubuntu
Browser: Chromium 83, JS 8.3, Python 3.7.6 (Conda 4.8.3)
Version [e.g. 22]

Some thoughts
Various conversions occur in a few places. Strings of digits are converted to floats when a protobuf message is created, both during loading (in the backend) and saving (in the frontend); I assume errors can't be avoided here. On the other hand, when the backend writes to the text file, only 8 digits are saved -- a setting we could change. (see backend code, float_format arg in protobuf API docs )
If this issue is worth fixing, what would be best?
I'm thinking that when the frontend loads, it could round every float (for example to 8 digits, to match with the backend). Or, when the backend saves a reaction, it could write more digits than just 8.
@antonkast-google @skearnes @connorcoley

The editor uses the DOM as its data model. So going round-trip from proto to UI and back to proto must pass through a textual representation. This loses information.
The current implementation minimizes this loss by showing all the decimal places, which is surely jarring for users as roundoff errors can add a lot of decimals.
+1 for adding precision in the pbtxt representation. I didn't know that was possible.
An alternative could be to declare that the ORD limits floats to a human-friendly number of significant digits, then do controlled roundoff at every translation.

+1 for rounding; I've done this for other projects.

We decided that anything we do here is likely to cause more problems than it fixes, especially on the backend.

Reopening since this came up for one of our alpha testers.

(on reload after entering 0.04 and 0.01)

Note that the pbtxt is correct:
moles {
  value: 0.04
  precision: 0.01
  units: MILLIMOLE
}

https://stackoverflow.com/a/3644302: a quick fix is to use toPrecision(7) since the underlying protos are encoding 32-bit floats

Note that using <input type="number"...> instead of contentEditable provides free input validation...


Make Rebel vehicle crews consist of three units.

This is a mixture of a issue report for 0.963A and suggestion for 0.97
Currently in .963 Rebel vehicle crews spawn in a group of two people which is fine for things technicals and what not but if you give them any type of armor it has a tendency to sometimes spawn the AI in the gunner and commander seats instead of gunner/driver. This ends with a useless rebel tank sitting in the middle of no where.
Increasing the rebel vehicle crews to three people would not only fix this issue but also allow the commander role (which is pretty useful in most tanks) to be used by the rebels and it wouldn't hur the technical crews since they usually all have one passenger seat anyways.

You can expect a full rework of the functionalities and mechanics concerning these aspects.
Basically, due to the refactoring process for 0.97, it would be the best to state things like this as soon as you see the task created for our sprints. This would ensure that it'll be at the right place and isn't "lost over time". Beside of that, it'll show you our thoughts to this aspect which may include things you're thinking of :)


Cooperative cancel support in tasks

When a step takes too long to complete in VSTS it times out and the build is cancelled.
If the issue is a rare deadlock in a process it can be hard to reproduce locally. To make it easier to diagnose these things after the fact Mono has the ability to write a stacktrace for all managed threads on demand. All you need to do is send the QUIT signal to the mono process and the data will be written to stdout.
How feasible would it be for VSTS to send a QUIT signal to all processes  do this automatically, or to add some extensibility so it can be enabled by users?
Alternatively/additionally could we attach GDB or LLDB to the process and use them to backtrace it?
An implementation of this which has been used in production for years can be seen here: https://github.com/mono/monkeywrench/blob/master/MonkeyWrench/ProcessHelper.cs

That would be something the task would be responsible for (agent knows nothing about mono) - agent just runs a list of tasks.
However the agent is responsible enforcing the timeout.  We would have to send a signal to the task along with a task lib hook (on cancel / timeout).  Basically, a cooperative cancel.

That makes sense. I felt it was more appropriate filed against the agent as only the agent would be in a position to walk all of it's child processes and generate a stacktrace with lldb/gdb. A child process, or a child process of a child process, would not be in a position to do that.
Same reasoning applies to the kill -QUIT request :)

I no longer work in this area so I dont have a need to push for this


when scale down a service and then scale up , cause kernel wall "unregister_netdevice: waiting for eth0 to become free. Usage count = 4"

Rancher versions:
rancher/server: v1.6.1
rancher/agent: v1.2.2
Infrastructure Stack versions:
healthcheck:v0.3.1
vxlan
network-services:v0.11.2
scheduler:
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
1.12.6
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
SUSE Linux Enterprise Server 12 SP2
4.4.59
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
azure
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single  and ha  , external db
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
sometimes when scale down a service and then scale up, kernel wall "unregister_netdevice: waiting for eth0 to become free. Usage count =4"
Results:
I am sure the case is not same as
https://github.com/rancher/rancher/issues/931
https://github.com/moby/moby/issues/5618
(not only the NIC is different, but also the action of reproduce. )
I have upgraded kernel version to 4.4.114, but the kernel messages : "unregister_netdevice: waiting for eth0 to become free. Usage count = 4" was printed.
after I add a "health check" to my service, I find the frequency has increased.

We tried to mitigate this long running Docker bug in v1.6.3: https://github.com/rancher/rancher/issues/9090
Please try this version and see if it improves.
Closing as not a bug for now, let me know if you run into anything.

@superseb  I view the issue 9090.
Fixed in Network Services v0.2.2, network-manager:v0.7.2

but our ENV IS
Network Services version: v0.2.3
network-manager: v0.7.4

Is there an update on this?  We have a worker node doing this to us now.


run history search on Logic app consumption on overview page is not working

Describe the Bug with repro steps

Open logic app consumption at overview page
copy any run id from the list
past the run id in search box "Specify the run identifier to open monitor view directly" and then click the right arrow
we expect to open the run history details, but in reality nothing happens.

What type of Logic App Is this happening in?
Consumption (Portal)
Are you using new designer or old designer
Old Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
No response
Browser
Edge
Additional context
No response

Taking a look, this appears to be specific to having preview designer enabled though so in the mean time it should work if you use the Generally Available designer. I'll see if we can get a hotfix out for this ASAP.

Hotfix will be out later today with this fixed


Order by multiple crtiterias

We just use Effort to test our EF querys. We use ordering with multiple criterias but it's seems Effort base on nmemory cannot sort by multiple crtiterias (ThenBy...ThenBy)
Do you confirm this limitation ?

Hello @StephaneG31 ,
My developer made some test and everything looks to work fine.
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Common;
using System.Data.Entity;
using System.Linq;

namespace Effort.Lab.EF6
{
    public class Request_OrderBy
    {
        public static void Execute()
        {
            var connection = DbConnectionFactory.CreateTransient();

            using (var context = new EntitiesContext(connection))
            {
                for (var i = 0; i < 10; i++)
                {
                    var test = new MyEntity {ColumnText = (i % 3).ToString(), ColumnChar = i.ToString()};

                    context.MyEntities.Add(test);
                }

                context.SaveChanges();
            }

            using (var context = new EntitiesContext(connection))
            {
                var list = context.MyEntities.OrderByDescending(x => x.ColumnText).ThenByDescending(y => y.ColumnChar).ToList();
            }
        }
    }

    public class EntitiesContext : DbContext
    {
        public EntitiesContext(DbConnection dbConnection) : base(dbConnection, true)
        {
        }

        public virtual DbSet<MyEntity> MyEntities { get; set; }
    }

    public class MyEntity
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }

        public string ColumnText { get; set; }

        public string ColumnChar { get; set; }
    }
}

Are we missing something?
Could you provide a sample project with this issue?
Best Regards,
Jonathan

Hi @JonathanMagnan,
Thanks for your fast reply.
We encounter this problem with Effort.EF6 in a context where we load data from a csv file.
First order is asc, the second one is desc.
We made a UnitTest : we grab the list order by A asc then B desc by EF (so throw Effort). Then we order again this list by the same criteria on local by Linq, then assert is the list is ordered in the same order by FluentAssertions.
In the next days, we will try to extract our datas to a simple test/project to show if we can reproduce this in other context than our project.

Great, we will wait for your project if you success to reproduce it.

Hello @Jon,
This issue will be closed since we haven't heard back from you.
If you can provide the project, we will be happy to re-open this issue and look at it.
Best Regards,
Jonathan


How can I run a custom rule set and standard?

We have a phpcs.xml in our root that defines our rule set called "PSA". This is including /vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml. But whatever I do, php-cs-fixer doesn't apply these rules but seems to always running PSR2. How can I include and run our rule set?
The PHP version you are using ($ php -v):
λ php -v
PHP 7.1.15 (cli) (built: Mar  1 2018 02:04:08) ( NTS MSVC14 (Visual C++ 2015) x86 )
PHP CS Fixer version you are using ($ php-cs-fixer -V):
λ .\bin\php-cs-fixer
PHP CS Fixer 2.13.1 Yogi's BBQ by Fabien Potencier and Dariusz Ruminski
The command you use to run PHP CS Fixer:
.\bin\php-cs-fixer
The configuration file you are using, if any:
<?php
$finder = PhpCsFixer\Finder::create()
	->in(__DIR__ . '/plugins')
	->in(__DIR__ . '/tests')
	->in(__DIR__ . '/src');

return PhpCsFixer\Config::create()
    ->setFinder($finder)
    ->setRules(array(
        '@PSA' => true,
    ))
    ->setRiskyAllowed(true);

phpcs.xml
<?xml version="1.0"?>
<ruleset name="PSA">
	<rule ref="./vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml"/>
	<file>./src</file>
	<file>./tests</file>
	<file>./plugins/Psa/Cms/src</file>
	<file>./plugins/Psa/Cms/tests</file>
	<file>./plugins/Psa/MailingLists/src</file>
	<file>./plugins/Psa/MailingLists/tests</file>
	<exclude-pattern>*/tests/bootstrap.php</exclude-pattern>
	<exclude-pattern>*/config/Migrations/*</exclude-pattern>
</ruleset>

You are getting confused between PHP-CS-Fixer and PHP_CodeSniffer :)

I thought it uses the same rules?

What made you think that? Is PHP_CodeSniffer or PHP CS Fixer projects mention anywhere that they can use the rules from each other?
When writing custom rule/fixer PHP_CodeSniffer requires implementing Sniff interface and for PHP CS Fixer you have to implement FixerInterface. I guess it would be possible to write some kind of bridge if you need such.

I can't really find a documentation for all available rules either?

Where did you search? The list is in README file ;)

@kubawerlos the @ confused me, I thought this is a better fixer than phpcbf but I've got this lib to work but it doesn't do a better job than phpcbf. But I like the code of this lib more. 😃
I've read the readme.md indeed, just not all the way down. A suggestion to fix this is to move the looong list of options to one or more docs in the docs folder and keep the readme.md short. I personally like to point users to the docs folder and provide an index.md there that lists the topics. This might be an option here a well? But yes, my fault. 🤕

closing, as not an issue but request for explanation.
feel free to continue discussion even if ticket is closed, or use our gitter.im instead


export as true grays for print

Request/question if this is possible - is there a way to set the "gray" colors so that when they export they have a color scheme like:
C:0
M:0
Y:0
K: {XX%}
For those of us who use these in newsprint, this prevents problems when the color printer tries to print gray additively and the alignment is slightly off.

We would use this in the SVG export

Depending on your production workflow, the solution might just be to add cmyk specs to the stylesheet. SVG supports cmyk with version 2.0.
Unfortunately if you're using Adobe Illustrator you're going to be out of luck. Illustrator opens and saves SVG in RGB seemingly always and ignores the cmyk based css.
You might be best off scripting a solution inside of whatever software you're using in production.