Spring Boot migration - AAD related samples

Split PR #9395 into several PRs for the convenience of reviewing.
Modules included:

azure-spring-boot-bom
azure-spring-boot-sample-active-directory
azure-spring-boot-sample-active-directory-backend
azure-spring-boot-sample-active-directory-backend-v2
azure-spring-boot-sample-active-directory-stateless

I agree with @JimSuplizio on BOMs. We should not create a BOM with the intention of referencing it as an internal dependency (that is, our Spring Boot libraries depend on it). If you choose to create a BOM then it will need to go in sdk/boms/[bom-name] but not be referenced anywhere else within our repository.

@mitchdenny @JimSuplizio We're going to apply such changes, moving spring-bom to sdk/boms folder and removing dependencyManagement sections.

/azp run java - aggregate-reports

@hemanttanwar @JimSuplizio Please help approve this PR.

@saragluna I'm going to pre-approve this however the spring BOM file should not be using the current or dependency tags (external dependency is okay) of the spring libraries. The BOM files versions should get updated before it's released which is supposed to be much less frequently than the library releases.

Thanks for pointing it out, I've removed all current tags from the BOM file.

/azp run java - aggregate-reports


A better name?

Rudf is not a very nice name. It might be better to pick a new one.
I have no good idea yet. I was maybe thinking about FastR (pronounced faster, acronym-like for fast relations or fast RDF) but it sounds a lot like a library for the R programming language.
@dwhitney Do you have any idea/opinion about it? It would be much welcome

sparql_rs?  I dunno - you should be the one who names it!

I would like to find something that is to too strongly connected to Rust because I hope it will make sense to use this library in the future even without wanting to have something "in Rust".
What about Oxygraph? It emphases the main goal of this project (a graph database) with a reference to Rust (the "oxidation" part). What do you think about it?

I like your point about using it contexts other than rust. Yesterday I got
it running in webassembly. It's lightning fast (in webkit based browsers)
compared to a JavaScript engine I was using! (As an aside there were a
couple of minor modifications I had to make to get it working - I'll make
as issue).
Oxygraph is pretty good! It doesn't really highlight SPARQL, but I guess
that is fine
On Tue, Oct 22, 2019, 5:41 AM Thomas Tanon<EMAIL_ADDRESS>wrote:

I would like to find something that is to too strongly connected to Rust
because I hope it will make sense to use this library in the future even
without wanting to have something "in Rust".
What about Oxygraph? It emphases the main goal of this project (a graph
database) with a reference to Rust (the "oxidation" part). What do you
think about it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Tpt/rudf/issues/15?email_source=notifications&email_token=AAAIFIID3BXE6EUOBYCVLYTQP3DCZA5CNFSM4JC4KJB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB5EDCA#issuecomment-544883080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAIFIJIYQNYB6X7WA2GHTTQP3DCZANCNFSM4JC4KJBQ
.

Yesterday I got it running in webassembly. It's lightning fast (in webkit based browsers) compared to a JavaScript engine I was using!

Great! Congrats! Please make a PR/open issues for the problems. After all problems are fixed, it would be nice to have a CI job that checks if the project builds on WebAssembly.

It doesn't really highlight SPARQL

Indeed, but fitting such a big acronym is difficult. There is maybe something to do with "sparkle" and "oxid" but I have no idea. If you have an idea, it is much welcome.

Let's settle to oxigraph for now (with an i for oxid and not a y for oxygen). I have updated the code and the repository name. @dwhitney feel free to open this task again if you think of something better.


Better editor experience

We should see if we can reuse this: https://sandpack.codesandbox.io/
It seems to be mostly for javascript usecases, if I understood correctly it uses a bundler for running the code (https://sandpack.codesandbox.io/docs/advanced-usage/client#hosting-the-bundler), so maybe we can write our own that runs pyodide (and our custom django code).
Definitely worth seeing how long it would take do this :)
Otherwise can build our own UI 😊

https://github.com/codesandbox/sandpack-bundler


Big size images are not cropped properly.

Image cropper is working fine for small image size. But, I can't get exact cropped image for large images Like 4272 X 2824 image size. Here is my my code
`const canvas = document.createElement("canvas");
const scaleX = image.naturalWidth / image.width;
const scaleY = image.naturalHeight / image.height;
canvas.width = Math.ceil(crop.width);
canvas.height = Math.ceil(crop.height);
const ctx = canvas.getContext("2d");
ctx.drawImage(
image,
crop.x * scaleX,
crop.y * scaleY,
crop.width * scaleX,
crop.height * scaleY,
0,
0,
crop.width,
crop.height
);`

Hi please try it here: https://codesandbox.io/s/72py4jlll6
If you have the problem please attach a screenshot showing it and also the image you are using and if you changed any settings there

I had the same issue and the sandbox (naturalHeight/naturalWidth) solved my problem.

This is using naturalWidth/Height in the sandboxes so I guess you're looking at an old version
https://codesandbox.io/s/72py4jlll6?file=/src/index.js:1317-1370
https://codesandbox.io/s/react-image-crop-demo-with-react-hooks-y831o?file=/src/App.js:2131-2184


fix(work-item-link): Show "No match found!" if API can't find a WI with the search string

Closes #1874

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

In your PR - "No match found" displayed when the detail's panel opens.
Expected: No match found to be displayed after the user types in the text box.

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

Create a work item say workitem1
Create another work item say item2
In the link section of item2, type wor
It displays "No matches found" for a second and then the matching results are displayed.

@debloper @nimishamukherjee is this based off a UX design that you have, or is this something that you want in the system? Please mark items like this as bugs for @fabric8-uxd to research and provide resolutions for before submitted fixes.

Thanks for the suggestion @mindreeper2420, I've filed #2006 and assigned to you.
I've also filed a mirrored issue https://github.com/fabric8io/fabric8-ux/issues/488, just in case (wasn't sure which place would be more apt for a issue like this as none mentioned).

Thanks @debloper. I'll take the issue and add it to our next UX sprint and will update the issue accordingly.

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.int.rdu2c.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-11 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-12 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-13 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-16 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-17 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-19 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-20 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-22 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-23 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-24 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-25 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-26 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-27 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-28 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-29 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-4 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-2 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

@debloper fabric8/fabric8-ui:SNAPSHOT-PR-1965-4 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1965-fabric8-planner.badger.fabric8.io

Marooned and obsolete.


Visit dimension and Action dimension support

Provide option for Visit Dimension and Action Dimension support
https://github.com/jonkoops/matomo-tracker/tree/main/packages/react#advanced-usage
Please checkout customDimensions key and usage in above package

Hi, if I understand correctly, we should be able to send optional data easily, right? Viewing the API docs, I found dimensions at https://developer.matomo.org/api-reference/tracking-api#optional-user-info.
dimension[1-999] — A Custom Dimension value for a specific Custom Dimension ID
(requires Matomo 2.15.1 + [Custom Dimensions plugin](https://plugins.matomo.org/CustomDimensions)
see the [Custom Dimensions guide](https://matomo.org/docs/custom-dimensions/)).
If Custom Dimension ID is 2 use dimension2=dimensionValue to send a value for this dimension.
The configured Custom Dimension has to be in scope "Visit".

and at https://developer.matomo.org/api-reference/tracking-api#optional-action-info-measure-page-view-outlink-download-site-search
dimension[0-999] — A Custom Dimension value for a specific Custom Dimension ID
(requires Matomo 2.15.1 + [Custom Dimensions plugin](https://plugins.matomo.org/CustomDimensions)
see the [Custom Dimensions guide](https://matomo.org/docs/custom-dimensions/)).
If Custom Dimension ID is 2 use dimension2=dimensionValue to send a value for this dimension.
The configured Custom Dimension has to be in scope "Action".

You are already able to send custom user/action info with every action. See the following method for example for tracking actions: https://github.com/donni106/matomo-tracker-react-native/blob/8fdec49c2bf4fc7ee13f7abee034ed1fb5a4b1a4/src/MatomoTracker.js#L64-L78
In the optional userInfo param you can set any value from the API docs. So the following example should work.
trackAction({ name: 'Foo', userInfo: { dimension2: 'Bar' } })

Please give it a try and tell us you experiences.

@karthik-hr were you able to resolve this?

@karthik-hr can you give a short update on this please?


next_action key does not exist in timeline data

While following the doc usage, I found that the data generated by running python ml/rl/test/gym/run_gym.py -p ml/rl/test/gym/discrete_dqn_cartpole_v0_100_eps.json -f cartpole_discrete/training_data.json and the subsequent commands does not generate next_action, thus, generating this error when running python ml/rl/workflow/dqn_workflow.py -p ml/rl/workflow/sample_configs/discrete_action/dqn_example.json
root@66f0303019f9:~/Horizon# python ml/rl/workflow/dqn_workflow.py -p ml/rl/workflow/sample_configs/discrete_action/dqn_example.json
Traceback (most recent call last):
  File "ml/rl/workflow/dqn_workflow.py", line 164, in <module>
    train_network(params)
  File "ml/rl/workflow/dqn_workflow.py", line 121, in train_network
    tdp = preprocess_batch_for_training(preprocessor, batch, action_names)
  File "/home/Horizon/ml/rl/workflow/training_data_reader.py", line 234, in preprocess_batch_for_training
    next_actions = read_actions(action_names, batch["next_action"])

I got it to work with the gz files. It was a bit confusing that one of the suggested ways didn't work.

Hey @baek-jinoo, this should be fixed now.  Can you verify?

I followed these steps to generate the data from my machine. https://github.com/facebookresearch/Horizon/blob/master/docs/usage.md
I was trying it with new master
and I'm hitting these issues:
root@5742eccf7dcd:~/Horizon# python ml/rl/workflow/create_normalization_metadata.py -p ml/rl/workflow/sample_configs/discrete_action/dqn_example.json
INFO:__main__:Generating norm table based on training_data/cartpole_discrete_timeline.json
Traceback (most recent call last):
  File "ml/rl/workflow/create_normalization_metadata.py", line 105, in <module>
    create_norm_table(params)
  File "ml/rl/workflow/create_normalization_metadata.py", line 35, in create_norm_table
    params["training_data_path"], batch_size=NORMALIZATION_BATCH_READ_SIZE
  File "/home/Horizon/ml/rl/workflow/training_data_reader.py", line 24, in __init__
    self.len = self.line_count()
  File "/home/Horizon/ml/rl/workflow/training_data_reader.py", line 63, in line_count
    with open(self.path) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'training_data/cartpole_discrete_timeline.json'

This happens when after I do mv cartpole_discrete_training/part*  training_data/cartpole_training_data.json. So, then, I tried mv cartpole_discrete_training/part*  training_data/cartpole_discrete_timeline.json instead and it worked (unsure if that's appropriate though).
Also, then, I hit an issue where building the model fails when I do not have the eval data setup as well like such:
root@4c565b7f64bb:~/Horizon# python ml/rl/workflow/dqn_workflow.py -p ml/rl/workflow/sample_configs/discrete_action/dqn_example.json
Traceback (most recent call last):
  File "ml/rl/workflow/dqn_workflow.py", line 149, in <module>
    train_network(params)
  File "ml/rl/workflow/dqn_workflow.py", line 69, in train_network
    eval_dataset = JSONDataset(params["eval_data_path"], batch_size=16)
  File "/home/Horizon/ml/rl/workflow/training_data_reader.py", line 24, in __init__
    self.len = self.line_count()
  File "/home/Horizon/ml/rl/workflow/training_data_reader.py", line 63, in line_count
    with open(self.path) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'training_data/cartpole_discrete_timeline_eval.json'

So, this seems to work when I also do mv cartpole_discrete_eval/part* training_data/cartpole_discrete_timeline_eval.json before I run the normalization step.
I get to train the model and create the output for eval. But, my outputs do not successfully show plots on tensorboard. (When I did it with the gz output, it showed the plots)
outputs.zip
FYI, I ran the sim and training on a linux machine with GPU and then moved over the outputs and ran tensorboard within a conda env that has
Horizon $ cat docker/requirements.txt
numpy==1.15.1
pandas==0.23.4
protobuf==3.6.1
pytest-xdist==1.24.0
scipy==1.1.0
tensorboard==1.9.0
tensorboardX==1.4
tensorflow==1.9.0
thrift==0.10.0
thrift-cpp==0.10.0


[BUG]Some of the sites missing in the report for workflow scanner

Thank you for reporting a bug. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you. Thanks!
Problem Area
[ ] Modernization Scanner: something went wrong...: Some of the sites in the tenant are not scanned by modernization scanner.
Expected or Desired Behavior
The modernization scanner should be able to scan all the sites in the tenant.
Observed Behavior
I ran this scanner to detect the workflows. some of the sites have workflows but they are not shown in the report.
Steps to Reproduce
There are no errors. however the sites are not shown in the workflow scanner report.
Submission Guidelines

Can you provide more context about the workflows you think should have been detected? Are they missing at sub site level or for the complete site collection? Do note that for example workflows attached to a content type only show at the root site where the content type is defined, not at each site/list using the content types in question. The scanner does this to avoid generating a lot of duplicate entries for a single source workflow. Also assume you're scanning for SharePoint 2013 workflows?

Thanks for your response Bert. I noticed that all the sites in the tenant are not scanning. i ran the scanner in June and some of the sites were missing in the report. i ran the scan again this month and the sites which were missing in the June month report can see this month report. The missing sites having SP 2010 list workflow. the thing is that don't see those missing sites in the ModernizationSiteScanResults report also and not in errors report.
i'm scanning for SP2010 workflows.

Closing as WF2010 retirement has been handled.


reading victor9k disks not working

I tried imaging a victor9k disk on the latest branch and this is the outcome:
% ./fluxengine read victor9k --1224 -s drive:1 -o vicky_kermit.img
      OPTION: 1224kB 80-track DSHD GCR
Measuring rotational speed...       Using GreaseWeazle GW135195034205400002CD9705 on /dev/cu.usbmodem1112401
166.5ms (360.3rpm)
 0.0: Error: hard sectors are currently unsupported on the GreaseWeazel

The victor disks aren't hard sectored. Did I miss something in the changes to the command settings?

That should have been fixed in https://github.com/davidgiven/fluxengine/commit/b4d8d569d261cd37012d4e213b31c7233e80c167. I've also fixed the logging formatting error when measuring the rotational speed, which suggests you're not up-to-date. PTAL?

Thanks David, you're correct. My apologies for the false alarm.


chore: update x/leverage messages codec

Description
Add missing message types to codec registration.

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added appropriate labels to the PR
[ ] added ! to the type prefix if API or client breaking change
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #612 (ed02375) into main (c646ad7) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #612      +/-   ##
==========================================
+ Coverage   48.44%   48.47%   +0.02%
==========================================
  Files          63       63
  Lines        7932     7936       +4
==========================================
+ Hits         3843     3847       +4
  Misses       3831     3831
  Partials      258      258

Impacted Files
Coverage Δ

x/leverage/types/codec.go
48.00% <100.00%> (+9.90%)
:arrow_up:


chore: remove RC versions

Remove some RC versions found in the project

This has been split in two PRs


Define entity API exceptions after disconnect

If the connection underlying a fetch of an entity is disconnected (either by the network, the server, or the client), we need a consistent exception defined to be thrown by the InvokeFuture.get(), entity.close() and connection.close() calls.
Currently, the core implementation throws some of its internal exception types while passthrough typically doesn't throw any (functions as though it is still connected).
We need to define what exception this should be and then ensure both implementations do the same thing.

Note that this exception type should also be unchecked since they can happen pretty well anywhere (or at least be realized anywhere) and typically only happen in response to the client-side code explicitly invalidating a communication channel and then trying to use it.


Add Haute42/COSMOX R16 16a button layout as a display layout

https://cosmoxgaming.com/hautepad/r16/
Latest haute42 board have a new layout for Stickless 16 that move the left thumb button to left pinky.
The firmare 0.7.9 update added the button layout to the "Custom LED Theme" page called "Stickless 16 A" but it's not available yet as a display layout.

Hi @longxa762 ,
To be clear, we do not add new stuff into the firmware 'just because' Haute42 has a new device out.
If there is enough demand for a layout we can look to get it added in.

Would like to second this request if possible! The R16 is becoming popular with it's unique layout and would love to see this added into the firmware to display correctly on the screen.

I've added the R16 display layout via #1097


MM-18512 Correctly filter and request inactive users in system console user list

Summary
For some filters we were not setting the correct parameters in the requests to get users for the system console user list.
Ticket Link
https://mattermost.atlassian.net/browse/MM-18512

@saturninoabril, I'm taking over wrapping up this PR for @jwilander. I've addressed @jespino's feedback, and fixed the issue with the pagination not resetting when the filter changes. Can you take a second look? cc @mgdelacroix

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-3756.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Test server destroyed


Implemented Warning Label for Review Case Form

Co-authored-by: Secoya Wood<EMAIL_ADDRESS>Description
We have implemented a way to highlight fields that render empty upon the mounting of this component. This was requested by the Stakeholder, and is important and necessary because the user is prompted to fill the Review Case Form when a case uploads without having all of the data properly scraped. With this change, the user will be able to quickly see which fields did not populate as soon as the component mounts and renders.
Trello Ticket
Loom Video
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

Looks great, good work! I did notice that you may want to add an extra line at the end of reviewCaseForm

The strange things about gitHub is that it will not display the ending of the files, but if you click edit file or view file, you will see that in this case, there is an empty last line.


Does direct line speech channel support automatic language  detection?

Since the Speech recognition module support automatic language detection https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-identification?tabs=once&pivots=programming-language-python,
My question is does direct line speech channel support automatic language detection? or is there a way to enable it ?
Thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1ee95b20-a793-b370-f7a0-5661e9b2b569
Version Independent ID: 5a83c187-fad2-e1cb-e3cb-8af69b3edf83
Content: Language identification - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/language-identification.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @eric-urban
Microsoft Alias: eur

@PriyankaRudramaina   Can you remove the cognitive-search/svc label?  I don't think this issue applies to that product.  Thank you!

@Mohamedballouch - I've confirmed this is not currently on the roadmap.

#please-close


Getting Invalid content type (application/octet-stream) for empty POST request body from docs page

Hi there,
I am using Swagger 2.0 and swagger-tools on a NodeJS project to offer my RESTFUL API.
I have defined my API in a swagger.json file and everything works fine so far except for one endpoint which seems to fail strangely.
It is a POST endpoint that only requires one parameter in its path, no body content, as follows:
{
    "/app/subscribe/{id}": {
        "post": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "description": "Identifier of the application for which the user subscribes",
                    "required": true,
                    "type": "string"
                }
            ]
        }
    }
}

For some reason, when clicking on the "Try it out" button of my local swagger docs for this endpoint, I get the following error:
{
  "code": "InternalError",
  "message": "Invalid content type (application/octet-stream).  These are valid: application/json"
}

If I add the application/octet-stream content type to the consumes object in swagger.json, then the "Try it out" request works fine.
Of course, If I do a curl operation from the terminal setting the content type to application/json then everything behaves fine.
However, it is unfortunate that such an amazing and interactive docs section fails because the request content-type is not of type application/json.
Is there any way to force the POST request to be of type application/json

If I understand correctly, you're saying that swagger-ui's "Try It" functionality is not setting the Content-Type properly so that when it makes a request, the request validation fails due to the Content-Type checking.  If this is correct, the error should be reported to swagger-ui.  Let me know if this is the case.

Hi.
That is correct. The "Try it out" functionality seems to set the content type to application/octet-stream rather than to application/json for POST request without body content, in the Swagger-UI.
Let me know if you would need more information on this to report or if you want me to report it in the swagger-ui repo.
Thanks!
Enviado desde mi iPhone

El 28/8/2015, a las 18:44, Jeremy Whitlock<EMAIL_ADDRESS>escribió:
If I understand correctly, you're saying that swagger-ui's "Try It" functionality is not setting the Content-Type properly so that when it makes a request, the request validation fails due to the Content-Type checking. If this is correct, the error should be reported to swagger-ui. Let me know if this is the case.
—
Reply to this email directly or view it on GitHub.

Yes, it should be reported to swagger-ui.


Make visiond more HW portable - open source it all except DNN part

Hi there,
this thread is aimed primarily at comma.ai staff (@geohot etc. - others wecome to comment too though!). You guys want openpilot to be successful and have as many people as possible using it, right? I see a big obstacle here towards that path in the visiond binary being locked down a single high-end $700 smartphone model. Let's make the whole project more accessible by changing this. Seems like the project is still in experimental stage and you need loads of field testing to validate your code and to push it closer to production. You may be getting many more testers when the HW needed costs (just guessing) $100 instead of $700.
I see your business model in keeping your deep neural network closed source and I am perfectly fine with it. But would you want to open-source the most of visiond except your DNN blob so that you keep your intellectual property while allowing for a much wider variety of HW that can be used? Let's open source all visiond (the camera stuff etc.) except your DNN blob and also make that blob as portable as possible (I guess there are ways to making DNN portable?). You will have much better reach and could test performance on various HW and the project may gain more popularity like this. I know this may hurt by having to support various CPU/GPU architectures but I think the benefits may outweigh the drawbacks.
Hope you will be hearing to my post! :)

This is a duplicate issue, see #4
One issue is even if you ported it, performance of the network won't be good with other cameras. And you really wouldn't be able to bring costs down much, since you need an 820. So currently we have no plans to open source visiond. If I saw substantial pull requests and contributions to other parts of the code I'd be more open to it.

You are killing the community by insisting on (rather) expensive and limited set of hardware. This is not the way community projects work, but I guess you know this and you do not need to grow probably.

It won't work on (much) cheaper hardware. Show me a $100 phone with an 820 equivalent GPU, and we'll happily port it to that.
The ACC portion will run on a PC without visiond. Show me that you have that working first.

I am not accusing you of pushing people to spend endless money and I dont have anything working but I am trying to say that a successful community project needs to have the barriers to entry as low as possible...
Even though I do not have experience with DNN performance I do have some with classical computer vision algos - often they perform well on low resolution input images. I did some research with stereo vision and found that performance did not really scale with resolution (16x more pixels had only 4x less vision error). In other words one was able to downscale the image to speed things up without hurting the performance (in terms of errors) much. Maybe something similar could be done with DNNs.
What input resolution do you use for your DNN? Have you tried to lower the resolution to speed things up and see how it performs (in terms of both speed and errors)?

@kozuch
I was just at a symposium where similar topics were discussed. I did hear some experts saying that higher resolution tended to have diminishing returns with respect to neural nets, pattern recognition, etc.
Also, if there were an interest in opening up more of the code, or just a general need for a port, I will offer my time to help.
I would like to have this running to test on my car (which has LKAS, etc) but I do not want to spend $700 to do the testing up front. I might spend that much once I am convinced it will work though.

Just out of curiosity, what would you spend?

In order to differentiate, I would be willing to spend anywhere from $750-1000 for a fully working system that is guaranteed to work with my vehicle. IE: a production level device.
For testing a system I am thinking around $150-$300.

Bump here. The visiond was open sourced lately. I created #562 for new discussion.


problems in opened files setting

Steps to Reproduce:

install php-intellisense extension
open workspace with PHP files
open any PHP file

Expected: Problems panel has problems of only opened files
Actual: Problems panel has problems of total workspace.
Can you add setting to scan on problems only opened file(s)? I have too large workspace with many "prev-" temporary files. I don't need to see errors from temporary files. And I don't need to scan all files, because it take CPU resources.
thank you.
P.S. related with comment of https://github.com/Microsoft/vscode/issues/19018#issuecomment-274729014
file/line: https://github.com/felixfbecker/php-language-server/blob/d080c161a9e65e54ec28a4b9a3e3607f09232a9c/src/LanguageServer.php#L291

I think https://github.com/felixfbecker/php-language-server/issues/164 or https://github.com/felixfbecker/php-language-server/issues/246 would solve your problem. You do need to index all files because otherwise symbol search, type checking etc would not work.


[Suggestion] - A few suggestions to improve dev experience

insertion at cursor position doesn’t follow the style. So if I want to insert a text inside bold markdown, my text will always be inserted in plain text with no styling
No straightforward way to extract selection coordinates from the editor. So if I want to open a modal at text selection, I can't find a way to do it.
While the online example styles the text, apparently the editor has to be styled for the headers (h1, h2, h3 etc.) as at the moment the plugin doesn’t change the shape of the text into a header when I try it, it just keeps it as normal text
It doesn’t have a text-colour plugin

Hey, thanks for your suggestions. I'm afraid that they are too broad or vague for me to understand what you mean. Feel free to fork and modify the project up to your needs. Also, browse the other issues, as I believe most of what you've described has already been discussed.

Hi @petyosi
Thank you for your prompt answer!
I'll leave more details below just in case they will be considered for a future release:

insertion at cursor position doesn’t follow the style. So if I want to insert a text inside bold markdown, my text will always be inserted in plain text with no styling

When I inserted the text, it didn't follow the styling of where I've inserted it.

_No straightforward way to extract selection coordinates from the editor. So if I want to open a modal at text selection, I can't find a way to do it.
_ . I want to select a text and open a modal where the text was selected, but I can't find any way of doing so. I would like to be able to do it as follows:

I know that the link plugin is doing it, but no idea how.

While the online example styles the text, apparently the editor has to be styled for the headers (h1, h2, h3 etc.) as at the moment the plugin doesn’t change the shape of the text into a header when I try it, it just keeps it as normal text

On live example:

On my project:

It doesn’t have a text-colour plugin

I'd like to be able to change the colour to the text as in the image, but I'm not sure if there's an existent way (because I couldn't find it), or if a new plugin is needed:


perf(CharP/CharZero): scope simp theorems with weak keys

These have keys like HAdd.hAdd _ _ _ _ _ _ but are specific to characteristic two and zero.

!bench

General information:
lint:                                                  -89.941 * 10⁹ (-1.00%)
build:                                                 -119.89 * 10⁹ (-0.0963%)

2 files got slower by at least 10⁹ instructions:
Mathlib.LinearAlgebra.TensorProduct.Graded.External:   +2.3693 * 10⁹ (+0.952%)
Mathlib.NumberTheory.RamificationInertia:              +2.2954 * 10⁹ (+0.757%)

No file got slower by at least 10%.
30 files got faster by at least 10⁹ instructions
Mathlib.AlgebraicGeometry.EllipticCurve.Affine:        -6.4660 * 10⁹ (-3.46%)
Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform:
                                                       -3.1198 * 10⁹ (-3.89%)
Mathlib.Geometry.Manifold.Algebra.LeftInvariantDerivation:
                                                       -2.7301 * 10⁹ (-1.49%)
Mathlib.Geometry.Manifold.Instances.Sphere:            -2.1862 * 10⁹ (-1.09%)
Mathlib.Analysis.InnerProductSpace.Projection:         -2.0243 * 10⁹ (-0.935%)
Mathlib.Algebra.Lie.Classical:                         -1.8201 * 10⁹ (-4.70%)
Mathlib.Algebra.Lie.Weights.Killing:                   -1.7934 * 10⁹ (-0.798%)
Mathlib.FieldTheory.Adjoin:                            -1.7735 * 10⁹ (-0.597%)
Mathlib.NumberTheory.Cyclotomic.Three:                 -1.6843 * 10⁹ (-3.48%)
Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian:      -1.5992 * 10⁹ (-0.716%)
Mathlib.Algebra.Lie.Weights.Linear:                    -1.5968 * 10⁹ (-2.33%)
Mathlib.RingTheory.Kaehler.Basic:                      -1.5764 * 10⁹ (-0.419%)
Mathlib.LinearAlgebra.Orientation:                     -1.5491 * 10⁹ (-2.14%)
Mathlib.NumberTheory.Pell:                             -1.5461 * 10⁹ (-3.73%)
Mathlib.MeasureTheory.Integral.FundThmCalculus:        -1.4766 * 10⁹ (-1.71%)
Mathlib.Analysis.Calculus.UniformLimitsDeriv:          -1.3776 * 10⁹ (-2.80%)
Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff:           -1.3320 * 10⁹ (-1.81%)
Mathlib.NumberTheory.Wilson:                           -1.3219 * 10⁹ (-19.9%)
Mathlib.LinearAlgebra.RootSystem.Basic:                -1.3137 * 10⁹ (-3.13%)
Mathlib.Analysis.InnerProductSpace.TwoDim:             -1.2953 * 10⁹ (-0.934%)
Mathlib.MeasureTheory.Function.LpSpace:                -1.2898 * 10⁹ (-0.528%)
Mathlib.Algebra.Lie.Abelian:                           -1.2686 * 10⁹ (-2.53%)
Mathlib.Geometry.Euclidean.Angle.Oriented.Basic:       -1.2672 * 10⁹ (-0.987%)
Mathlib.LinearAlgebra.CliffordAlgebra.Contraction:     -1.1982 * 10⁹ (-1.01%)
Mathlib.Analysis.InnerProductSpace.Orientation:        -1.1978 * 10⁹ (-2.25%)
Mathlib.Analysis.PSeries:                              -1.1518 * 10⁹ (-1.99%)
Mathlib.LinearAlgebra.Eigenspace.Basic:                -1.1407 * 10⁹ (-0.908%)
Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle:  -1.0833 * 10⁹ (-1.67%)
Mathlib.LinearAlgebra.CliffordAlgebra.Inversion:       -1.0501 * 10⁹ (-4.48%)
Mathlib.Analysis.SpecialFunctions.Integrals:           -1.0397 * 10⁹ (-1.28%)

1 files got faster by at least 10%:
Mathlib.NumberTheory.Wilson:                                          -19.9%


question about virtual router apache cloudstack

ISSUE TYPE

Bug Report

COMPONENT NAME

Virtual Router

CLOUDSTACK VERSION

4.18

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

STEPS TO REPRODUCE

Hello,

I want to ask question about virtual router.
I have 2 kvm hypervisors, the first kvm hypervisor hostname is kvm-1 and the second kvm hypervisor hostname is kvm-2.
then I create a vpc virtual router on kvm-1, then I create an instance on kvm-1, if I ping the instance on kvm-1 the network is reachable.
then I created an instance on kvm-2. but if I ping the instance on kvm-2 it is unreachable
I want to ask, does the VPC virtual router only support 1 kvm hypervisor? and the second hypervisor, namely kvm-2, can't connect to the virtual router?

Please help to provide an explanation. and how can the VPC virtual router assign an IP address to the instance on KVM-2?

EXPECTED RESULTS

ACTUAL RESULTS

Hello @weizhouapache
you mean configure ports as trunk mode or hybrid mode on physical switch ?
or configure ports as trunk mode or hybrid mode on apache cloudstack server ?
can you share an example configuration ?
Thanks.....

@herdiansah571
An example based on Cisco catalyst series for the hypervisor switch port:
interface GIgabitEthernet 1/0/5
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan 100
switchport trunk allowed 101-200

Hello @rajujith
How about If I use openvswitch ? so I install openvswitch on each hypervsors (kvm-1 & kvm-2).
If I  install openvswitch on each hypervsors (kvm-1 & kvm-2), can  the VPC virtual router assign an IP address to the instance on KVM-2?


Babelfish production server

Hi @all,
Anyone from INDIA who is working on babelfish onpremise in ubuntu who can connect and help on setup production server please

@madanparedla , if you can share specific requirements for Ubuntu deployment (here, or in babelfish-for-postgresql discussions or in babelfish_postgresql_towel) others may be able to suggest solutions.
IMHO "Ubuntu production deployment" topic is quite broad and can span from "run ./bin/postgres -D over SSH+Screen" up to "use some on-premise k8s setup (from EDB, Zalando etc) with Babelfish-enabled Postgres".


Added support to Android 6.0

Added support to Android 6.0 using the quick solution mentioned in #37 . after performing regular clean (which cleans external cache) it'll take to the cache settings to clear internal cache.

This actually doesn't add support for Android 6.0. Look, Android 6.0 Settings app can clean all the cache, so our app is deprecated now. Let's just let it die.

Okay can you please tell me how many people are visiting your app in play store daily as of now? which can be seen in User Acquisition section.
Thank you.

Around 500 people a day. Why are you asking ?

Beacause you said let it die.


Move Kepler installation related tasks to separate role

Currently, there is a single playbook kepler_playbook.yml which is responsible for deploying Kepler on both Metal and VM. Since we will be adding another way to deploy Kepler using Docker compose manifests it should be nice to have a role first that caters to the installation of Kepler using systemd. We can have something like this:
roles/
   kepler_systemd -> Responsible to deploy Kepler using systemd
   kepler_compose -> Responsible to deploy Kepler using Docker compose manifests

closing as #270 addresses this


soem annotations were removed, is there some new example for guid usage?

in example repo , latest update is a years ago. the follow objects were removed in api repo, can guys update the example repo?
missing object
import io.github.libxposed.api.annotations.AfterInvocation import io.github.libxposed.api.annotations.BeforeInvocation import io.github.libxposed.api.annotations.XposedHooker
if there are some user guide , it's really Appreciate

https://github.com/libxposed/api/issues/29#issuecomment-2387741130


makefiles + small corrections

reorganized directory structure
uploaded makefiles for ex1+ ex2
ex1: test for consecutive sequence numbers was added

added ex5 including makefile


Last Build Date

I think that the <lastBuildDate> tag is also needed. I'm not sure whether this is the best way to implement it though...

Thanks! A couple things:

I think, per the spec, this item is technically optional. But that doesn't mean I'm against adding it.

Does {% for post in site.posts limit:1 %} give us the most recent post or the first post? We'd want to make sure that we're pulling from the most recent post.

Would you mind adding it to the other feed templates in the repo as well? I'd just want to be sure they're consistent.

Best,
George


feat: auto set pr reviewer

Codecov Report

:exclamation: No coverage uploaded for pull request base (development@b2fe3d1). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             development     #148   +/-   ##
==============================================
  Coverage               ?   96.78%
==============================================
  Files                  ?       53
  Lines                  ?      280
  Branches               ?       25
==============================================
  Hits                   ?      271
  Misses                 ?        9
  Partials               ?        0

Continue to review full report at Codecov.

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


No request to connect.

Hi People,
I am unable to connect to one of my TV's. One is working perfectly and the other is not showing the request to allow to controll. It's a EU55HU7500.
Just updated to the last version.
Log:
[1/8/2017, 2:41:12 PM] [TV Slaapkamer] TV API is active
[1/8/2017, 2:41:18 PM] [TV Slaapkamer] received on command: 0
[1/8/2017, 2:41:18 PM] [TV Slaapkamer] sending power key
[1/8/2017, 2:41:19 PM] [TV Slaapkamer] websocket connect
[1/8/2017, 2:41:19 PM] [TV Slaapkamer] successfully powered off tv
[1/8/2017, 2:41:20 PM] [TV Slaapkamer] websocket closed
Config.json code:
 {
		"accessory": "SamsungTV2016",
		"name": "TV Woonkamer",
		"ip_address": "<IP_ADDRESS>",
		"mac_address": "5C:49:7D:08:E6:5C"
	}, {
		"accessory": "SamsungTV2016",
		"name": "TV Slaapkamer",
		"ip_address": "<IP_ADDRESS>",
		"mac_address": "50:56:BF:FA:AA:4C"
	}

Any suggestions?
Thanks, Mike

The EU55HU7500 is a 2014 model - try https://github.com/CONNCTED/homebridge-samsungtv

Thanks!


[IOTDB-3489] Add test name to log folder in cluster test

The output will be like this

Coverage decreased (-0.002%) to 44.117% when pulling c05be3e3ca291430e6ce602537c69f4d34ebebd2 on improve/iotdb-3489 into 16314af65afe20d8e7ffeeac6465027335e4ad11 on master.


Update relief_camps.html

Issue Reference
This PR addresses the Issue : Fixes #
Summarize
Please, describe what the PR does, the changes you have made.

Also, mention the key points if any to look into while code reviews

But nothing is changed in https://keralarescue.in/
On Sun, Aug 26, 2018 at 11:19 AM Vignesh Hari<EMAIL_ADDRESS>wrote:

Merged #960 https://github.com/IEEEKeralaSection/rescuekerala/pull/960
into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/IEEEKeralaSection/rescuekerala/pull/960#event-1809233912,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AeSNHedMZaPzxtAVoWd6NRRZczjrXTn4ks5uUjbqgaJpZM4WMplj
.


How to set cookies

Hello,
Is there an example of setting cookies for Req?  I am using a Playwright Browser context and I would like to transfer the cookies to Req for api testing instead of using Playwrights built in request method.

At the moment you need to do it manually via cookie header.


RVFI depends on the testbench

Bug Description
Hi @mario.  In #184 you indicated that compiling RVFI requires inclusion of the cv32e20-dv environment.  This sounds odd.  Looking at cve2_cs_registers.sv we see:
`ifdef RVFI
    logic [63:0] mstatus_extended_read;
    logic [63:0] mstatus_extended_write;

    assign  mstatus_extended_read[CSR_MSTATUS_MIE_BIT]                              = mstatus_q.mie;
    assign  mstatus_extended_read[CSR_MSTATUS_MPIE_BIT]                             = mstatus_q.mpie;
    assign  mstatus_extended_read[CSR_MSTATUS_MPP_BIT_HIGH:CSR_MSTATUS_MPP_BIT_LOW] = mstatus_q.mpp;
    assign  mstatus_extended_read[CSR_MSTATUS_MPRV_BIT]                             = mstatus_q.mprv;
    assign  mstatus_extended_read[CSR_MSTATUS_TW_BIT]                               = mstatus_q.tw;

... (code snipped)

    assign rvfi_csr_if.rvfi_csr_addr =  rvfi_csr_addr;
    assign rvfi_csr_if.rvfi_csr_rdata = rvfi_csr_rdata;
    assign rvfi_csr_if.rvfi_csr_wdata = rvfi_csr_wdata;
    assign rvfi_csr_if.rvfi_csr_rmask = rvfi_csr_rmask;
    assign rvfi_csr_if.rvfi_csr_wmask = rvfi_csr_wmask;
    assign rvfi_csr_rmask_q =  ((~csr_wr & csr_op_en_i & ~illegal_csr_insn_o)) ? -1 : 0;
    assign rvfi_csr_wmask_q =   ((csr_wr & csr_op_en_i & ~illegal_csr_insn_o)) ? -1 : 0;
    always @(posedge clknrst_if.clk) begin
        rvfi_csr_addr  = csr_addr_i;
        rvfi_csr_rdata = csr_rdata_int;
        rvfi_csr_wdata = csr_wdata_int;
        rvfi_csr_rmask = (rvfi_csr_rmask_q);
        rvfi_csr_wmask = (rvfi_csr_wmask_q);
    end
...

The reference to clknrst_if.clk is problematic as it places a dependency on the testbench upon the RTL.  This is bad practise in general.  Is there a way to implement the RVFI without that dependance?

Yes, probably this should not be bind to RVFI variable instead of a UVM variable

Indeed.  AFAIK, there is no phase difference between the clk_i input to this module and clknrst_if.clk in the UVM "clk-and-reset" interface.  So, maybe it is just as simple as replacing:
always @(posedge clknrst_if.clk) begin

with
always @(posedge clk_i) begin

Will that work?


SmartBFS 2020 (#12079) (#12215)

Fixes a bug in BFS search over smart-graphs.
There was. a small chance that a different index was picked, which caused the result to be incomplete.
Jenkins:
http://jenkins.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/11085/
Has enterprise part:
https://github.com/arangodb/enterprise/pull/511
Backport of:
#12079

Jenkins not yet started

Restarted Jenkins:
http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/11087
=>
Blue.
Above failed due to hardware failure on our Jenkins cluster.


using creatable with taggable the search field goes down

I think there is an issue here using this example: https://iendeavor.github.io/vue-next-select/#creatable-header
I attached some captures with the issue.
If using taggable the input with the search field is not "replacing" the select, the input with "Type to search" is going down (under  "Select option").
If you not using taggable and you click "select option" the field is "replaced" with "Type to search" which is supposed to do if using taggable too.
Is this a bug or this is supposed to work if using taggable ?

@bci24 I personally think that it is not a bug.
A full usage of multiple/searchable/taggable/creatable can be found in https://codesandbox.io/s/vue-next-select-example-for-taggablesearchablecreatable-hub6y?file=/src/App.vue.


feature/gitlab integration

Add gitlab integration

[ ] Change the fields in BasicDocument such that these will show correctly
[ ] change the gitlab logo to one with a transparent background

Great feature. Would it be difficult to index the README.md and CHANGELOG.* files from the project repositories as well ?


Cannot establish etcd cluster with SSL/TLS - raft fall into infinite loop

I'm trying to run an etcd cluster of 3 machines (<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>) with SSL/TLS both for client and transport security, but I'm still getting into trouble, it seems like the cluster isn't able to elect its leader - raft falls into infinite loop and fails after several tries.  All machines uses etcd 2.0.5
server1
etcd -name eu1 -data-dir eu1
-ca-file=/root/etcd-ca/ca.crt -cert-file=/root/etcd-ca/server1.crt -key-file=/root/etcd-ca/server1.key
-peer-ca-file=/root/etcd-ca/ca.crt -peer-cert-file=/root/etcd-ca/server1.crt -peer-key-file=/root/etcd-ca/server1.key
-initial-advertise-peer-urls=https://<IP_ADDRESS>:2380 -listen-peer-urls=https://<IP_ADDRESS>:2380
-discovery https://discovery.etcd.io/7855c14b6cd05060974839f3833ea932
server2
etcd -name eu2 -data-dir eu2
-ca-file=/root/etcd-ca/ca.crt -cert-file=/root/etcd-ca/server2.crt -key-file=/root/etcd-ca/server2.key
-peer-ca-file=/root/etcd-ca/ca.crt -peer-cert-file=/root/etcd-ca/server2.crt -peer-key-file=/root/etcd-ca/server2.key
-initial-advertise-peer-urls=https://<IP_ADDRESS>:2380 -listen-peer-urls=https://<IP_ADDRESS>:2380
-discovery https://discovery.etcd.io/7855c14b6cd05060974839f3833ea932
server3
etcd -name player -data-dir player
-ca-file=/root/etcd-ca/ca.crt -cert-file=/root/etcd-ca/server3.crt -key-file=/root/etcd-ca/server3.key
-peer-ca-file=/root/etcd-ca/ca.crt -peer-cert-file=/root/etcd-ca/server3.crt -peer-key-file=/root/etcd-ca/server3.key
-initial-advertise-peer-urls=https://<IP_ADDRESS>:2380 -listen-peer-urls=https://<IP_ADDRESS>:2380
-discovery https://discovery.etcd.io/7855c14b6cd05060974839f3833ea932
Log file with outputs: http://pastebin.com/JBitRT1e

@kelseyhightower Can you take a look at this?

I'm having the same issue. I'm using version 2.0.5 on docker container with static discovery:
ExecStart=/bin/bash -c "/usr/bin/docker run
-p 4001:4001
-p 2379:2379
-p 2380:2380
--name etcd
-v /var/lib/etcd:/var/lib/etcd
-v /var/lib/etcd-certs:/etc/ssl/certs quay.io/coreos/etcd:v2.0.5
-data-dir /var/lib/etcd
--ca-file=/etc/ssl/certs/ca.crt
--cert-file=/etc/ssl/certs/core01.crt
--key-file=/etc/ssl/certs/core01.key
--peer-ca-file=/etc/ssl/certs/ca.crt
--peer-cert-file=/etc/ssl/certs/core01.crt
--peer-key-file=/etc/ssl/certs/core01.key
-name %H
-advertise-client-urls https://$COREOS_PRIVATE_IPV4:2379,https://$COREOS_PRIVATE_IPV4:4001
-listen-client-urls https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:4001
-initial-advertise-peer-urls https://$COREOS_PRIVATE_IPV4:2380
-listen-peer-urls https://<IP_ADDRESS>:2380
-initial-cluster-token etcd-cluster-1
-initial-cluster core01=https://<IP_ADDRESS>:2380,core02=https://<IP_ADDRESS>:2380,core03=https://<IP_ADDRESS>:2380
-initial-cluster-state new"
...

Yep, the static bootstrapping ends with the same result as well.

The same issue here, if I set back with non-TLS peers, Then it works.

@josefzamrzla @atmouse- @josefzamrzla
I suspect tls increase the latency significantly. Can you try to increase -election-timeout to 5 seconds or higher?
https://github.com/coreos/etcd/blob/master/Documentation/configuration.md#-election-timeout
At the meantime, we are looking into the problem.

I tried this with version 2.0.8.
Increased  election-timeout up to 20 seconds, there is a leader elected now, but after that :
etcdserver: publish error: etcdserver: request timed out
etcdserver: publish error: etcdserver: request timed out
....
sender: dropping MsgAppResp because maximal number 64 of sender buffer entries to https://<node_ip>:2380/raft has been reached
....

@genti-t Hrm... Currently etcd peer side does not reuse any tcp connections, which means your server are doing tls handshake for every request and eats a lot of resources. We have solved the problem in current master and it will be available in 2.1 release.  For now, you have to switch to a more powerful machine. :(

@genti-t Can you test with current master by the way?

I think I am hitting this too.
2.0.4 was manageable but it seems worse in 2.0.5-2.0.8
Ellection timeout to 20000ms and heartbeat 1000ms.
Also I looks like the side effect of not all peers on same term.

@agokjr Yea...... We started to not reuse connection from 205...

I hit this as well with 2.0.8 on machines with Xeon E3-1225. I don't have the problem with current master though.

@josselin-c We fixed it on current master.

Hello @xiang90
I think that TLS is important enough to backport the patch to the actual stable version (to prevent future problems when CoreOS updates etcd to 2.0.x).

@jlsalvador It is hard since we made big improvement from 2.0 to 2.1 around more efficient transportation. We have release 2.1.alpha0. I think it is fixed there.

Please backport :cry:

+1 Peer TLS being broken in stable is a pretty big issue..

@rdark @pstengel @jlsalvador Can you please try this workaround: https://github.com/coreos/etcd/pull/3097

@philips - I tried playing around with the timeouts a while back on an earlier release of stable; but launching a cluster just now to see what the state of things is currently: TL;DR exactly the same as before. Though things are improved, improved is a relative term - etcd cluster is still nowhere near stable.
On a three node m3.large cluster running on AWS, nothing running other than fleet + etcd2 using the settings from #3097, load averages around 1.00, with nodes constantly being evicted due to timeouts. You might get one or more nodes in the cluster for a minute or so, then a few seconds later there are suddenly no active nodes, then that's pretty much the way it stays.

@philips Same here as @rdark mentioned. I found that workaround mentioned in a few places. I tried several different values, and none of them resolved the problem.
The work around I'm using for now is just keeping etcd in a separate VPC and keeping the peer traffic private. This is fine for now, but I'd really like to take advantage of local etcd proxies on the worker nodes, and you need peer traffic for that to work.


Original body removed when parsedBody is provided

Hello.
I noticed this behavior:
I send this request to ReactPHP:
curl -X POST -H "Content-Type: application/json"  -d '{"param1":"value1","param2":"value2"}' http://localhost:8086/test
Because application/json body is not parsed, I can access the raw body through $request->getBody() without any problem. If I call $request->getParsedBody() it will return null.
Then I send this request, were the content type is application/x-www-form-urlencoded:
curl --data "param1=value1&param2=value2" http://localhost:8086/test
The body will be parsed and I can access the variables through $request->getParsedBody(), but if I try to access the raw body I can't do it.
My application (https://github.com/mcustiel/phiremock) relies on having access to the raw body to validate configurations provided by the client, could you please accept to access the raw request body even though it's parseable?

Hey @mcustiel we only included support for direct HTTP related body types. Have a look at https://github.com/WyriHaximus/reactphp-http-middleware-custom-request-body-parsers for JSON parsing

Hello @WyriHaximus
I see now that my explanation was a bit confusing.
My issue is as following:
If I send a request with an unparseable body (json or plain text), I can access it on the server side using $request->getBody(). That's correct.
But if I send a request with a parseable body (for instance with Content-Type: application/x-www-form-urlencoded) then I can't access the raw request body through $request->getBody(), it will be an empty string. I can only access it through the getParsedBody method.

@mcustiel Ah ok I get it now.
Hey @clue what do you think about a marker middleware like StreamingRequestMiddleware but that one for not parsing the raw request body? (Note @mcustiel that this would mean no parsing for everything, if you still want to parse certain routes, have a look at https://github.com/WyriHaximus/reactphp-http-contextual-middleware-runner .)

@mcustiel Thanks for bringing this up!
I agree that clearing the request body for some requests is somewhat inconsistent, so I've just filed #395 to make sure you can always read the raw request body.

Closed via #395 :shipit:

Thank you for fixing this.


panicked at 'shift operation overflowed', entropy.rs:151

I updated to the latest image, and now I get this error reading a JPEG:
thread '<main>' panicked at 'shift operation overflowed', ~/.cargo/git/checkouts/image-f4d4ca6613133df7/master/./src/jpeg/entropy.rs:151

Here's the relevant part of the backtrace:
 1:        0x10b0a87ff - sys::backtrace::write::h652639cd75f0c63cnSs
 2:        0x10b0abb64 - panicking::on_panic::h669c4ea43c1379a9CPw
 3:        0x10b09f015 - rt::unwind::begin_unwind_inner::h3fc7f8f4791b4491lxw
 4:        0x10b09f34c - rt::unwind::begin_unwind_fmt::hb5d695a390fe80eerww
 5:        0x10b0ab43c - rust_begin_unwind
 6:        0x10b0cae55 - panicking::panic_fmt::haa5585921651bddddTC
 7:        0x10b0ca924 - panicking::panic::h7a00000ab5676d24KRC
 8:        0x10b08113a - jpeg::entropy::derive_codes_and_sizes::h7b6c2dba9187b85dZRk
 9:        0x10b0814d6 - jpeg::entropy::derive_tables::h7feb2a86643141c08Vk
10:        0x10aee73c0 - jpeg::decoder::JPEGDecoder<R>::read_huffman_tables::h7832727739452819256
11:        0x10aee5b5a - jpeg::decoder::JPEGDecoder<R>::read_metadata::h15411015948459407703
12:        0x10aee54dd - jpeg::decoder::JPEGDecoder<R>.ImageDecoder::colortype::h2756695996689006199
13:        0x10aee437b - dynimage::decoder_to_image::h6238989135411857914
14:        0x10aeb460b - dynimage::load::h6859065701976087660
15:        0x10aeb2b6e - dynimage::open::h3782749000994800688

closing as duplicate of #325

@nwin: Are you sure this is a duplicate? #325 doesn't appear to discuss the panic caused by code <<= diff as usize;, which is what this bug is about. I'm wondering if there are multiple panics that need to be solved.
Anyway, I've created a tentative patch for this issue, which solves the problem for the JPEGs I'm loading:
(https://github.com/jarrett/image/commit/29201bc5b1c6817e357efde2c78b5812c330fa6b)[https://github.com/jarrett/image/commit/29201bc5b1c6817e357efde2c78b5812c330fa6b]
Admittedly, I haven't reasoned through the question of whether these bit shifts should wrap in the first place. I don't feel entirely qualified to make that call as I'm no expert on the JPEG spec. But for now, at least my JPEGs are loading, and the panic is resolved.

I marked it as a duplicate because it is the same root cause. Can you please file a pull request for your patch?

Well, I'd be opposed to adding #![feature(core)] in the library.

@tomaka: I don't like it either, but is there any way to fix this bug without #![feature(core)]? wrapping_shl seems to require it.

Well, we could replace wrapping_shl(n) by either wrapping_mul(2.pow(n)) or rotate_left(n), but I don't know which behavior is the correct one.

I don't know the answer either. What I do know is that wrapping_shl works in my admittedly limited testing.
As I see it, the library is currently broken and unusable for a lot of people, and we have a solution which, though imperfect, is thought to work. I'd rather not let the perfect be the enemy of the good. Thus I'd favor using wrapping_shl now, rather than leaving the library in a broken state until someone figures out what the absolutely correct solution is.
As a side note, it appears to me that rotate_left would produce a different result than wrapping_shl. Counterintuitively, wrapping_shl doesn't actually seem to wrap around, but rather discards the overflow. (I could be wrong?) Whereas rotate_left seems to wrap around. From my limited knowledge, I think wrapping_mul(2.pow(n)) would give the same result as wrapping_shl, although possibly with more CPU cycles.

wrapping_mul(2.pow(n)) should work. It’s also quite probable that it gets optimized into a simple shift…

Ok. I trust your judgment about the compiler's optimizations, as I don't
know what to expect from it. (I assume this is something LLVM would do, not
rustc itself. Is that right?)
Performance aside, I think your suggestion would always yield the same
result as mine. So I'll go ahead and implement it
On Thu, Apr 23, 2015 at 12:39 PM, nwin<EMAIL_ADDRESS>wrote:

wrapping_mul(2.pow(n)) should work. It’s also quite probable that it gets
optimized into a simple shift…
—
Reply to this email directly or view it on GitHub
https://github.com/PistonDevelopers/image/issues/392#issuecomment-95649307
.


Using session-manager-plugin within Javascript/Typescript without AWS CLI

I would like to use this plugin(or at least the binary) within Javascript/Typescript in some way without the need of using AWS CLI.
I suppose that is possible since other tools such as aws-toolkit-vscode seem to be doing it.
I was able to download the binary from here.
However, I am unable to invoke the binary properly from my command line.
I tried this, but it did not work
./session-manager-plugin start-session --instance-id i-0af865f7bb036b35c --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":["bastion-tst2-myslsdb.cluster-cxahzp4zemfl.eu-west-1.rds.amazonaws.com"],"portNumber":["5432"],"localPortNumber":["5432"]}'

I was getting

From the code I figured that when the binary is called, positional arguments should be used. However, I cannot figure out how to pass the arguments (especially the "parameters" object) -  I am not really proficient in GoLang.
I am not even sure that this is possible at all :smile:

This is a bug in session-manager-plugin, see https://github.com/aws/session-manager-plugin/issues/32 .
The good news is there's is an easy workaround: just make sure you include a "sessionId" key.

session id should be generated upon starting the session no?

Not exactly the same bug, but likely similar (i.e. missing validation).

Also from you example in #32 it seams that I should create the session first and then pass it to the session-manager-plugin as the first positional argument?

Yes, aws-toolkit-vscode first creates a session using plain old AWS SDK. Which API to call depends on the service, but for example, for creating an ECS session, Toolkit calls: https://github.com/aws/aws-toolkit-vscode/blob/26770bf5881bd6a67ad942fabc0340774f75f976/src/shared/clients/ecsClient.ts#L123
Then invokes session-manager-plugin with args in the same form as shown in https://github.com/aws/session-manager-plugin/issues/32 :
https://github.com/aws/aws-toolkit-vscode/blob/26770bf5881bd6a67ad942fabc0340774f75f976/src/ecs/util.ts#L75

Ok I was using the port which was already in use (did not realize postgres was even running on my machine :smile: ) ... After using different local port it started working.
Still, it would be nice if I got some error instead of process hanging...
Thanks @justinmk3 for all the help. I will close this one now.


Delete Accept header is not checked for compliance with JSON:API

When fixing #184 I've realised there's no checking of the Accept media type in the destroy controller action. The JSON:API specification shows that a DELETE request should have an Accept: application/vnd.api+json header, as shown in this example:
https://jsonapi.org/format/#crud-deleting
We need to add this, however I'd consider this a breaking change - because at the moment people may have set up clients to not send the Accept header. So this should be fixed for 3.0.

This is done, issue will close when 3.x is merged to develop.

Closing this as 3.0 will be tagged soon for Laravel 10.


[FEATURE]: do txadmin have a plan to support http over ssl/tls?

Scope
Web
Feature Description
I`d like to make txadmin to support https, I want to know weather the development group have the plan about it. or I will do it myself and make pull request.
Use Case
it can increase security
Proposed Solution
No response
Additional Info
No response

Fun fact, up until mid 2020 or so, txAdmin actually supported TSL, until I decided to remove it.
At the moment I believe txAdmin (or node in general) just isn't the correct place for SSL.
I do agree it's necessary, but people should be using proper solutions for it like cloudflare tunnels or something like that, otherwise any weak DoS can take down txAdmin.
So I recommend you roll out your own solution.

ok I got what you mean, and I will try to use like proxy pass reverse on apache/nginx to achieve that. thank for your reply : )


sentence Case[button]

Can you describe a bit?

I makes first letter capital after every full stop.
As it should be.
I have submitted a pr.


Saved snippet removable by anyone?

Hi,
I've just published for the first time a snippet on https://paste.mozilla.org/
I closed the page, no cookies, no localStorage, opened the link and was surprised to notice I could delete the snippet.
This means anyone can delete a snippet without being the author?
Please explain this point which seems absurd.
Thanks.

This means anyone can delete a snippet without being the author?

That is correct; anyone, provided they know the direct URL of the snippets, can delete it.
See this commit for a reason why this is a feature https://github.com/DarrenOfficial/dpaste/commit/2b402680f8755f1c56253de62afac07194a97d8b

OK, thanks for your quick reply.
I won't be using a pastebin which can be removed by anyone disagreeing, i.e., with my comment.
Say I'm on a forum, have a lengthy code, or comment, paste the snippet's url which then gets visited by either a mad mind or one that disagrees ... a click and off goes a snippet an author has maybe carefully crafted, published and that anyone can remove. Sorry to be straightforward but I've never encountered such an odd policy and have no intention of being submitted to it as well.
Good luck.


Do not depend on backoff internals

There is a better way - see suggested solution here.
This already caused one problem when backoff upgraded (see #235).

We don't use this package any more


Issues with transparency in glb models

I tried few meshes with transparency, and it seems from some angles (depending on the sorted order) we don't render them correctly.
Example: https://sketchfab.com/3d-models/glass-kettle-3f646a36c0a142cfa451af70357f4235#download
Correct:

Incorrect from behind:

Could be related to recent change to update depth with some transparent pixels, but could be something else too.
Another model with similar but different issues: https://sketchfab.com/3d-models/ship-in-a-bottle-9ddbc5b32da94bafbfdb56e1f6be9a38

Might be worth also comparing these models with three/babylon as sketchfab might be doing something custom.
I suspect you're right that the change in alpha is the cause here. Depending on the scene, you probably want either the old way or new way. (The new method results in some scenes rendering significantly better).
Do you think we should revert? Perhaps user could be given the option?

Yeah I checked and other engines render this fine - that's why I created the issue.
I think we should expose some control over it. The change adds nice advantage in some cases. Maybe just a loading option for the container? That could be too inaccessible though.


GPT-4-Vision has now been deprecated, needs to be changed on image embeddings

Here is the error I got while running image embedding:
NotFoundError: Error code: 404 - {
'error': {
'message': 'The model `gpt-4-vision-preview` has been deprecated, learn more here: https://platform.openai.com/docs/deprecations',
'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'
}}```

Created PR to replace deprecated model: https://github.com/embedchain/embedchain/pull/1443

Thanks @nikhilsharma26500 for quickly making the fix.


How is WG setup?

Hello,
How exactly is wireguard setup in the script?
I don't see a wg0 interface, or a tun0, setup for wiregaurd. I see a few instances in the script for wireguard but nothing really establishing a wireguard tunnel.
What am I missing?

It’s not set up yet, work in progress...

OK, so I added a first draft of WireGuard support and verified it works using the official iOS WG client.
It has the following limitations:

only one client is supported at the moment. I will modify the script to generate multiple client conf files and corresponding QR codes, and instead of displaying two QR codes at the end, only one that points to a web page that allows choosing which of the N client keys you want (or IPsec)
the WireGuard clients use CloudFlare's DNS for now, which is not ideal from a privacy perspective (I will modify the script to turn on the unbound DNS server on the OpenBSD machine and use that instead).

Excellent news! Thank you for your progress, it’s truly appreciated.

I now generate 32 configs for WireGuard and a summary page with all of them.

I also added unbound for DNS lookups instead of CloudFlare


Feature Request: Minecraft Player Message Event Trigger

Feature Request
Event trigger for when a player says a specified phrase in-game.
Feature Information:
An event trigger for a specified player message would allow for tasks to be executed after a player says a message in-game. Example: Administrator sets up a trigger so that when a player says the phrase ABC, then command XYZ will be executed. The emitted values could be the player's userID and the player's message.  In addition, the functionality to check for specific in-game user(s) in the trigger would be handy. I don't know if the latter part could be feasibly added, but this would be a very useful event trigger.
I confirm:

[x ] that I have searched for an existing feature request matching the description.

Schedule filters and conditions are not planned until post 2.0.


x11_cairo: create double buffer with alpha content

Create X11 cairo double buffer with CAIRO_CONTENT_COLOR_ALPHA to prevent redraw flickering while resizing windows.
Redraw flickering could occur because in x11.c in function puglDispatchEvents the redraw events are merged and delayed until  expose.count == 0. In x11_cairo.c in function puglX11CairoResize the backing buffer is recreated.
Now imagine the following steps: configure event for resizing comes within a series of expose events but the last expose event is not received (i.e. expouse.count is still > 0).  If now the application uses puglEnterContext, draws some content part and then puglLeaveContext the drawn content part is in the backing buffer and this backing buffer is drawn on the screen. But if it is only partly drawn by the application the undrawn part is black and causes flickering. If we have alpha color in the backing buffer the undrawn part in the buffer is transparent and therefore does not change the screen content.
The above description is not an imaginary scenario, I had the described effect in a real example application.
BTW: what do you think about making the merge of exposure events configurable? The expose count is already available at the pugl api (but currently the application will not get a value != 0 because of pugl event merging). A sophisticated application could handle merging of redraw events smarter than the pugl api could. If you want, I could try preparing a pull request for optionally disabling exposure event merging.

If now the application uses puglEnterContext, draws some content part and then puglLeaveContext the drawn content part is in the backing buffer and this backing buffer is drawn on the screen.

Don't do this, it will cause no end of problems.

Don't do this, it will cause no end of problems.

Why not? It works like a charm.  Anyway the application has no chance to detect this situation. Or do you suggest to never use puglEnterContext and puglLeaveContext? If the application uses these functions there is no possibility for the application to detect that a resize is in progress and that at this point there is invalid content in the backing buffer.

Apparently it does not work like a charm ;)
More or less, yes, applications should not use puglEnterContext, especially for drawing.  It only really exists for setting up GL, and Cairo applications should not use it at all.  Pugl is completely designed around the event loop, and the principle that drawing (among other things) happens when requested, like most toolkits.  You are getting flickering because you are circumventing the event loop and drawing somewhere/sometime you shouldn't be.
Using an imperative style and making assumptions about what the backend is doing won't work nicely, and even it it seemingly does not, it's not guaranteed to in the future.  I will improve the documentation to clarify this.
In other words, you are required to draw the complete requested region in an expose.  There is no way around that, so there's no point in drawing some other time since you will need to do it again anyway.
If an application really wants to draw elsewhere for some reason, it can use its own buffer and blit it during expose, but that just makes life difficult.

Apparently it does not work like a charm ;)

Well it works like a charm if there is the alpha channel set in the backing buffer as in my pull request.
What speaks against setting the alpha channel in the backing buffer? It makes life a lot easier and is a simple and robust solution.

principle that drawing (among other things) happens when requested, like most toolkits

OK, but than the application needs to invoke puglPostRedisplay if some part of the window needs updating. But then, a exposure event for the whole window will be generated. What do you think of implementig a second function to trigger exposure event only of a certain rectangle within the window? If you want I could try to prepare a pull request for this. This features would be especially useful in conjunction with the making the exposure merging configurable as I suggested in my first post.

It's Complicated™
There's no end of reasons (from pugl or the system itself) why a particular region might need to be redrawn, so I think that drawing during expose is a hard requirement.  Given that, drawing at other times doesn't make much sense.  It's not very robust though, that's the problem.  It requires making all kinds of assumptions about what both the system and pugl are doing internally, and those are not always true.  The goal of the implementation is to send events in a coherent and hopefully optimal order so that things work nicely and are simple from the application's point of view.  I don't think it's really possible to have a solid Pugl implementation that works (mostly) everywhere without having applications work as intended.  In this case, "the application could have drawn to the backing buffer at any point" is not something the backend needs to be concerned with, so it doesn't need to have additional overhead to account for it.
In general, it's just been my experience that applications being weird and not working as intended always causes some problem somewhere.

What do you think of implementig a second function to trigger exposure event only of a certain rectangle within the window? If you want I could try to prepare a pull request for this.

:+1: I think this is the right way forward.  I was thinking about doing it earlier as well, but got stuck on whether I wanted to add a bespoke function for it, or just a generic puglPostEvent() thing that can interpret an expose or whatever other events as they become useful in the future.
I sort of like the latter, as a general fan of minimal API surfaces and extensibility (you could even remove the resize and focus APIs in favour of that one function, which is nice), but it would be a bit more annoying to use...

OK I agree, this makes sense. I'm therefore closing this pull request now and if you want, I can try to prepare a pull request with a new function puglPostRedisplayRect to request redisplaying only part of the window. I could implement and test it for X11 (perhaps also Windows).
What do you think of making the "merging of exposure events by Pugl" configurable? Perhaps it's better if I create a pull request or new issue for this question.

Seems like it would complicate the implementation immensely, particularly when you consider configure events being in the pipe as well, and is a bit weird since the window system will do that sometimes anyway.
If it can be done cleanly, sure.

I now changed my example program and am now doing only drawing operation when I get the PUGL_EXPOSE event. However there is still some flickering when resizing the window. It seems that the expose event that belongs to the configure notify event is send after the configure notify.
xev output:
Expose event, serial 19, synthetic NO, window 0x5c00006,
    (0,0), width 394, height 95, count 0

ConfigureNotify event, serial 19, synthetic NO, window 0x5c00006,
    event 0x5c00006, window 0x5c00006, (4,24), width 476, height 165,
    border_width 0, above 0x0, override NO

Expose event, serial 19, synthetic NO, window 0x5c00006,
    (0,0), width 476, height 165, count 0

Here the expose event for width 476 comes after the configure notify for width 476. Now flickering can occur if Pugl received the first expose event for width 394 and the  ConfigureNotify for width 476 and did not yet receive the next expose event for width 476. Then short flickering can occur between ConfigureNotify and the next expose event for the same reasons I described in my first post of this thread, i.e. black areas are painted because the backing surface was recreated in the ConfigureNotify. Again everything works if I re-add the alpha channel to the backing surfe. So I'm now re-opening this pull request.

Of course it does, it wouldn't make sense to expose then configure for the size that's already exposed.
I do not think adding an alpha channel is an appropriate "fix".  If the double buffering is broken, then it's broken, but I don't see how this could be happening.  Can you share this program?

I'm sorry, my last post was a litte bit confusing. I'm now trying to describe it more precisely:
Take a window with white background. Then resize the window quickly using the mouse and make the window small and big rapidly. A series of Expose and ConfigureEvent will be fired as seen in the xev log of my last post. Then lets assume that after the ConfigureNotify for a short moment no more events are in the queue and Pugl therefore wants to leave puglDispatchEvents. Then at the end of this function there is a pendingExpose (with width 394, height 95) and a pendingConfigure (width 476, height 165). Then Pugl recreates the backing surface (it will have initially all pixels set to black) with width 476, height 165 according to the last configure event. Then the pending expose event will be processed. However this expose event will only draw the area with width 394, height 95 on the backing surface if the event's exposure coordinates are used by the event callback. The rest of the backing area contains black pixels. Then these black pixels are drawn on the screen. With this black content is shortly shown while resizing whereas the eye does expect white color. This could be perceived as some kind of flickering.
One could fix this by expanding the expose event coordinate to the full view if pending configure and expose event is processed at the same time. But then the next expose event will come with width 476, height 165 and the screen is drawn again.
By setting the alpha channel on the backing surface everything works as it should: only the part of backing surface where the application has drawn something is transfered to the screen, the fully transpart parts are omitted. Therefore only pixels are going to the screen in the area where a expose event was received.
The need for the alpha channel becomes more important if there is also a method puglPostRedisplayRect for which I am preparing a pull request right now: Assume that the user resizes the window as described above and the application does at the same time invoke puglPostRedisplayRect (e.g. for animating a part of the window). Then there are ConfigureNotify events and Expose events resulting from the resize operation and Expose events send by the application intermixed. With alpha channel on the backing surface everything works like it is designed: the application draws the part for which Pugl accumulated expose events and because of the alpha channel only the things that are drawn on the backing surface by the application are transfered to the screen. For this it doesn't matter when the backing surface was recreated.

I'm closing this pull request again, since these changes are contained in #20.

Rephrased, this means "parts of the exposed window are not drawn".

but these parts are not "exposed" in my example. They will be later on if the next expose events are received. On the other hand you are right: if the application does not draw the corresponding area of an expose event, garbage will be left on the screen. But this can also happen without alpha channel if the backing buffer is freshly created (then black pixels are the "garbage") or if the expose event results from "puglPostRedisplay" (then the "garbage" is old content that the applicaion has drawn before).

That is why alpha blending a back buffer doesn't make sense: alpha blending it onto what?
Garbage, potentially.

Alpha blending the backing buffer could IMHO also make sense for other scenarios: imagine a X11 view embedded into a larger native X11 window (both things are called "Window" in X11 terminolgy: a top level window and an embedded sub window). The parent window could draw a background behind the embedded view. If the embedded view draws transparent content, the background of the window will be visible as background in the embedded view. This could be a desired effect for having a uniform background behind subviews.

If this happens, that is the problem.

but this problem can be solved as I wrote. IMHO this is the simplest solution: just respecting the x11 event queue and only transfer things to the screen that are exposed and drawn at this point in the event queue. If you are concerned that the application does not properly draw content in the expose callback and garbage could appear: Pugl could optionally clear the areas in the backing buffer that are exposed with a background color. I would make this optionally because IMHO the correct way is that the application does correct drawing.
As I'm writing this I'm getting the idea that the double buffer could be seen from two point of views:

using the backing buffer to minimize drawing: Then Pugl must distinguish if the expose event comes because the application wants to draw changed content or because some area of the screen becomes invalid and old content just must be repainted: however these days the X11 server does the latter most of the times: X11 server have backing stores enabled such that there are no expose events send if for example another window is moved away and parts of the window behind become visible (again).

using backing buffer to minimize screen flickering: The application does some drawing into the backing buffer that will be transfered to the screen at once. For this scenario it is not needed that the backing buffer must contain the whole content that the application did ever draw. It would just be enough to hold the content that must be exposed in this moment.

As a proof of concept see also #22: this shows that it is not necessary to 100% track the window content in a backing surface.

I can't reproduce this issue.  If I make the background white in pugl_cairo_test, for example, resizing is perfectly smooth and the whole background is always white.
Can you please try this, and/or provide a program that demonstrates the problem, and be more specific about your setup (WM in particular)?

IMHO this is the simplest solution: just respecting the x11 event queue and only transfer things to the screen that are exposed and drawn at this point in the event queue.

Conceptually, sure, that's the simplest thing, and how it was originally written, but it makes resizing really terrible.

provide a program that demonstrates the problem

It was not so easy to reproduce this with pugl_cairo_test but finally I managed it: see https://github.com/osch/pugl/commit/318f903aad389f3d95f2c0faf2a89a174fd6e1d0
Start pugl_cairo_test1 without option -c.  On faster machine the loop for i must be increased.
However while testing this I found an error in puglPollEvents, see #23.  This error produced the gap between the last ConfigureEvent and the following ExposeEvent. In theory (e.g. remote x11) there could be a gap, but with this fix it is nearly impossible to reproduce this gap.

Ah, I see.  It wasn't using the expose size anyway.  Thanks, I'll look into it.


Reuse of SessionInputBuffer and SessionOutputBuffer internal buffers

Commit https://github.com/apache/httpcore/commit/47654da6f027af3cbbd27600ba6df0911e529387
Reusing of internal buffer to limit memory usage. Performance improvements on our load tests.

What number in percent are we looking at?

It was about 9 % of our total memory consumption. I don't have a test with
only httpcore and httpclient
httpcore usage on SessionInputBuffer was the 2nd on profiler hot spot
analysis.

Thread locals are really a double-edged sword and should be used sparingly in low level libraries. Can we provide a strategy interface similar to SSLBufferManagementStrategy in order to support multiple allocation strategies?

This opt was done in the scope of one of my customer mission. I don't know
if he want to invest more time for this.
I'll ask him next time and let you know.
For the use of ThreadLocal, il agree it can lead to reuse large (too large)
buffers, that's why i have included a test to check if the buffer is not
too large to we can reuse it.
Stephane
2015-03-19 16:47 GMT+01:00 Oleg Kalnichevski<EMAIL_ADDRESS>
Thread locals are really a double-edged sword and should be used sparingly
in low level libraries. Can we provide a strategy interface similar to
SSLBufferManagementStrategy in order to support multiple allocation
strategies?
--
Reply to this email directly or view it on GitHub
https://github.com/apache/httpcore/pull/9#issuecomment-83640151.


Changing intrument type doesn't work

Hi,
I tried different instrument types on the Koina server. But the outputs are both the same whichever instrument types I set.

This issue is solved in the latest release.


Add support for Windows 11 Explorer Tabs

Hi!
I came across your repo yesterday since I was searching pasting clpiboard images into the explorer.
Great work!
On Windows 10 it works great but when I tried it on a Windows 11 PC with an Explorer with multiple tabs, the wrong "tab" was selected.
Here is a fix where the "active" Tab of the most recent explorer gets chosen (works for Windows 10 too since the explorer is built similarly 😂)

Closing this pull request because something went wrong when I merged it locally, I'll try again

Can you do a quick git pull onto your repository? I have some more recent changes that this pull request seems to revert. Otherwise I think the changes you've made are great.


Reload powercalc

Hi!
Is it possible to add feature to reload powercalc component without restarting Home Assistant?

Unfortunately this is not possible. As configuration is loaded on HA start and custom component setup routine (to create entities) is also only executed on start of HA.
So with the current architecture this is not possible yet.

How about config reload?

That won't work as this will not execute async_setup function anymore which is responsible for creating entities.


*: fix tablet leak in flow control

What is changed and how it works?
Issue Number: Close #14196
What's Changed:
Also add a tool to trace tablet leak.

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)env ENABLE_FEATURES=trace-tablet-lifetime make release
curl tikv_host:status_port/region/id?trace-tablet=1

Release note
None

/merge


New feature: Reading from stdin when query is "-"

do we have to update surplus.Behaviour though? i don't mind doing it but i can't see any practical use case for it. in any case, i'll add it nonetheless.

note: no api changes or any substantial parts of code were changed.
modified handle_args() to read from stdin.