What I need do for a line between two elements follow the both movement of draggable  elements?

@anseki  I have this flow:
1: First, I have a area where I put draggable elements into this area and they can move until the area's limit.
2: I click with the right button in one element and in second one to make a Line between them.
3: I move whatever of both and the line is automatically following the respective position of them.
Thanks again for your support, your work is fantastic!

Hi @lucaslgr, thank you for the comment.
So, what is your question?

This may help you.
https://jsfiddle.net/h5zn76b0/

@anseki  Thanks a lot!
But my problem is that the LeaderLines are build after the plainDraggrable, so I can't have access to them for set it on plainDraggrable.onMove function.
I've tried to save all plainDraggrable and all Lines in vectors to use it after as well, and is working now. Thanks a lot!

When I recover each plainDraggrable from the vector and I've tried to use this it called the window, I've printed it on console.log, have a look:
global {window: global, self: global, document: document, name: "", location: Location, …}

And in documentation is saying that this refers the respective plainDraggrable, isn't it ?

Sorry, my English is poor.
What is the "vectors" you said?
Also, why you can't access to onMove of PlainDraggable after creating a LeaderLine?
And also, could you explain the documentation you said?
And, could you show your example code with JSFiddle?

I'm sorry @anseki my explanation was poor, vector are the same that array in JS.
I've got it, have a look on this code, now its working:
https://jsfiddle.net/lucaslgr/7zg2fxsb/39/
The error below:
"67:37 Uncaught ReferenceError: Cannot access 'elmStart' before initialization"

Is happened only on JSFiddle for me, on my machine this code is working fine.
I'm using a lot of draggable elements with lines connecting all of them, but the elements always are created first then the lines, so the solution that I found was storage all PlainDraggable and Line respective for all elements to attach them on onMove event of PlainDraggables after.
The another question about documentation that I've had, was that I've tried to use this keyword into a onMove function of a plainDraggable but is returning de Object Window and not the current PlainDraggable object as you've said on this part of documentation:

You called variable "vector", right?
Anyway, you can change onMove after creating instance by setOptions method or onMove accessor property.
// Create new instance.
const draggable = new PlainDraggable(element);

// After creating, change the onMove.
draggable.setOptions({onMove: listener});

// Or, this does the same.
draggable.onMove = anotherListener;

Your code has several bugs, and strange codes. For example, line variable is not defineed, end (not #end) is passed to querySelector, let (not const) is used for constant value, undefined (before defining) variable is used, elmStart.onMove is not supported by DOM, and more.
You have to write this e.g. https://jsfiddle.net/vrcp1kub/
Then, do you mean that you want to add a line dynamically?
If so, you should check the line in the listener instead of adding listener after creating. Also, this is easy more than your plan.
For example: https://jsfiddle.net/1hptnf7e/
So, could you show your example code using the this?
BTW, you should use syntax checker such as ESLint at least, and I recommend VS Code editor that has ESLint extension.

@anseki  Thanks a lot !
I coded this very fast and went to VSCode, I've made a lot of mistakes indeed, thanks for all tips and advices, you help me a lot ! Now I've got it!
About this I resolved it, it was when I tried this code:
draggableStart = new PlainDraggable(elmStart),

draggableStart.onMove = () => {
  console.log(this)
  line.position();
  };

So was printed on console the window element and not the respective plainDraggable element.

:smile:


Informer Pools

In some cases, informers might be shared especially between controllers. So if multiple controllers watch same resource (with same label selectors, namespaces, item store ) sharing it would spare resources

This will be needed for this.
https://github.com/fabric8io/kubernetes-client/issues/6501


ci: PyPI publish workflow errors while running yarn build

https://github.com/meltano/meltano/actions/runs/3267990463/jobs/5375158414

I am able to reproduce the error locally. No Yarn packages have been updated since I last ran yarn in src/webapp.


Flutter doctor should require cocoapods 1.5.0

Flutter doctor should get updated to report an error for anything less than  cocoapods 1.5.0 which is required for Swift flutter plugin projects (as reported in https://github.com/flutter/flutter-intellij/issues/2134, https://github.com/flutter/flutter/issues/15173 and https://github.com/flutter/flutter/issues/16049).
/cc @mravn-google

This is great.  Thanks!

@mravn this issue is referenced from https://github.com/flutter/flutter/issues/16930 - so it is a little confusing if it is closed ...  not sure whose end it needs updated on. @pq

@neiljaywarner  #16971 should have introduced warnings if the installed version is < 1.5.0
Is this not the case?


WIP: AWS Bootstrap for HBase and FSDS

Signed-off-by: Austin Heyne<EMAIL_ADDRESS>

would it be possible to have common versions of any of the scripts? i didn't look at them very closely, but seems like there might be a fair amount of duplication

Yes, a good chunk could probably be pulled out to geomesa-tools.

I'm going to close this for now, we can re-open if we ever go back to it.


New RN Project Build Failed on M1

Could not find node. Make sure it is in bash PATH or set the NODE_BINARY environment variable.
Command PhaseScriptExecution failed with a nonzero exit code

Solution
sudo ln -s $(which node) /usr/local/bin/node


Refactor utils.py into a utils module to reduce code complexity and prune out unused utils.

Placeholder for news item for PR Ref:  https://github.com/pypa/pipenv/pull/4990
The issue
The pipenv/utils.py has grown to 2338 lines of code, which makes it unwieldy and disorganized. When trying to consider larger bugs and refactors this is problematic because of the logical complexity of navigating around and understanding what kind of util you are looking at. I would like to do something similar with core.py at some point as well, but this is my first iteration of proposing reorg'ing some of the code.
The fix
Move the existing utils.py code into a utils module organized by functionality type. This is a first pass at it, and I suspect there may be some tweaking to my naming conventions to make everyone happy. The only draw back I see to doing this is loosing some of the git annotations around this code, but ultimately that would happen whenever we get around to organizing the code better and I think good code organization is more important than legacy annotations which would still ultimately be in the git history.
The only modifications to code being moved are the following methods have been dropped due to lack of use:
escape_grouped_arguments + unit tests
parse_python_version + unit tests
add_to_set
sys_version
get_indexes_from_requirement
interrupt_handled_subprocess
rmtree
Also two unused code lines were removed pipenv/core.py because I had already run the test suite showing they were not used after my IDE tipped me off about that.

PR was merged to main.


KeyError: 'LoadImageFromNdarray is not in the pipeline registry'

I completed the training of maskrcnn using mmocr
and I wanna infer one img with the training model
Through the given code in ipynb, I finished inferring with img path like:
img = 'data/valid_imgs/292.jpg'
out_file = './result.jpg'
cfg = Config.fromfile('configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015_mine.py')
checkpoint = "work_dirs/mask_rcnn_r50_fpn_160e_icdar2015_mine/latest.pth"
model = init_detector(cfg, checkpoint, device="cuda:0")
result = model_inference(model, img)
print(result)

but, when i change the img type into ndarray like i used to change in mmdet, error occured:
KeyError: 'LoadImageFromNdarray is not in the pipeline registry'

my modified codes are as follow:
img = cv2.imread('data/valid_imgs/292.jpg')
out_file = './result.jpg'
cfg = Config.fromfile('configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015_mine.py')
checkpoint = "work_dirs/mask_rcnn_r50_fpn_160e_icdar2015_mine/latest.pth"
model = init_detector(cfg, checkpoint, device="cuda:0")
result = model_inference(model, img)
print(result)

i have checked the init.py in pipelines:

and the loading.py

it seems that LoadImageFromNdarray is registered in mmocr but not found
i re-compiled the repo, and such error still occured
i'd appreciate it if you would offer help

this kind of error raised in mmcv:

is there any version of mmcv i should change?
mmcv-full                 1.3.12
mmdet                     2.15.1
mmocr                     0.3.0

so strange it is

Hi, did you install the environment by mim?

Did you change the code in minder? This seems that you change the code in mmocr but not change the code in minder?

Did you change the code in mmdet? This seems that you change the code in mmocr but did not change the code in mmdet. Your pipeline is registry from mmdet.

i install mmdet via pip install mmcv-full && pip install mmdet as mentioned in mmocr's 'install.md'
so, it may not be the reason why it failed as i can infer with 'LoadImageFromFile'

You can try change the code in mmdet

You can try change the code in mmdet

maybe that is the reason cause i didn't find LoadImageFromNdarray registered in mmdet
but why it traces back to mmdet's pipeline instead of mmocr's?
it would be puzzle if i care not only about mmocr but mmdet even mmcv blablabla...

You can try change the code in mmdet

maybe that is the reason cause i didn't find LoadImageFromNdarray registered in mmdet
but why it traces back to mmdet's pipeline instead of mmocr's?
it would be puzzle if i care not only about mmocr but mmdet even mmcv blablabla...

yes , i confirm that it registered in mmocr, but didn't registered in mmdet
mmocr just utlizes the 'Compose' in mmdet

and maybe mmocr should build its own "Compose"
or update mmdet to fit such un-match method problem in other relevent repo
maybe this issue should be moved into mmocr's repo, : D
thx for your help

A hotfix is to add import mmocr.datasets.pipelines.LoadImageFromNdarray at the very beginning of your script so that LoadImageFromNdarray will be registered in mmdet's registry.
BTW, MMOCR has been using mmdet's registry and it's now being refactored to overcome such a flaw of design. After this PR (https://github.com/open-mmlab/mmocr/pull/458) has been merged, every reference to mmdet's method will be explicitly declared with a prefix mmdet. to avoid confusion.


Update and Add NLPMC schedule

We have updated the spreadsheet but it has not been updated on the website.
https://docs.google.com/spreadsheets/d/1BbjMuZyROC973mukGks45h4bwZwDziJmv8B1RNLfz1Q/edit#gid=646602401
https://virtual.acl2020.org/workshop_W15.html

@tlikhit  Can you update the W15 schedule? Thanks

Closing with https://github.com/acl-org/acl-2020-virtual-conference-sitedata/commit/924d6ec6e9c0c94ec9c4cba460659622650ab76e

@tlikhit @raosudha89  Detailed schedule is not visible again for W15.

Yes, it appears that a later commit reverted some changes. Sorry for the trouble, I will look into this.

@raosudha89 It appears that https://github.com/acl-org/acl-2020-virtual-conference-sitedata/commit/afe554d049bf83d9a50ea4d1cdb74598371c9ef8 reverted some changes, including removing W15 data. I will add in W15 data for now and will look through the diff for any other changes.

@tlikhit  Oh I am sorry, I don't know how that happened. Thanks for adding it again. Let me know when you do that. I will merge it for tonight's release (scheduled for 11pm PST).

@raosudha89 I've sent in PRs to update sitedata and bump it


rogue sensu-server on our network

Hey,
We experienced a keepalive storm on our sensu environment , after investigation we found that one of our developers accidentally started the sensu-server service on his dev machine, this machine is part of our infra and need to be monitored, as part of the installation process we are installing sensu on dev machines, and unfortunately sensu install comes with a bundle of sensu-client \ server \ API.
After he lunched the server the RabbitMQ started to get confused who to send the keep alive (Or at least this is what we think. if you think that the problem is different i would like to hear about it )
Is the a smart way to prevent rogue sensu server on the network, or to install only sensu-client on machines?
Thanks in advanced.

@sonegoh the only way to completely lock it down is through RabbitMQ user credentials. Secrets management could stop rogue servers from being able to connect to the transport. The Sensu Dashboard and Uchiwa provide a listing of the connected Sensu servers, on the datacenter view, which comes in handy when troubleshooting rogue servers. This data comes from the Sensu API /info.

Aside from using different credentials I think you have a few options:

Don't use the default rabbitmq port, by using a non standard port you have significantly decreased the chance of someone connecting.
Network ACLs (temp turn on/off, require SSH tunneling or VPN to reach rabbitmq)

I am still not sure how without service discovery the sensu server connecting to your rabbitmq node without being explicitly configured to do so. Without knowing more all I can do is make wild guesses.

I think the responses on this issue so far have sufficiently covered possible solutions. Closing. ❤


Better docs previews

Our docs previews (rendered example and code) aren't standardized across the app (different order, spacing, etc) and it makes it tricky to follow examples. We should improve this experience by implementing some simple tabs to wrap the preview and code.
ShadCN's docs do a great job of this
https://ui.shadcn.com/docs/components/button
https://github.com/user-attachments/assets/d781d4d4-762b-49d5-a5c4-151d7ed1270e
Our implementation should basically mirror ShadCN's, with a few tweaks:

We don't need the "Style" dropdown, copy button, or "Open in V0" button on the Preview tab
@mcrascal has requested that the tab underline slide when changing tabs

I implemented something similar in an early version of the ThemeChanger component, the logic for the sliding background should help you out

This should be a custom component in our docs, not in core-components.

I think we should consider replacing our Tabs component with whatever we land on for this


Add custom data model to the chat thread display names

What

Adds to the chat thread overrides for the displayNames associated with messages

Why

Allows more complete coverage of our custom data model feature

https://skype.visualstudio.com/SPOOL/_workitems/edit/2833447
How Tested

Ran locally with custom data

Making this as a draft since I am unsure about the implementation on this one. I feel like the functionality here is supposed to use our new hook that we added for the MediaGallery for the calling side of this problem. The way that messages store user data, we can build the object to make that list but mapping back the new displayNames to the messages is proving to be a challenge.
We could do it that way for just the displayName on the message but the read receipts, system messages, and typing indicators would have to be done seperately


Improve swap-in protocol with taproot and musig2

This PR implements an evolution of our p2swh-based swap-in that uses Musig2 and taproot for better privacy and lower on-chain fees.
Our swap-in protocol becomes user key + server key OR user refund key + delay, and is implemented with taproot which provides a clean separation between the mutual use case (handled by the internal key, which is a Musig2 aggregation of the user's and server's key) and the refund case (handled by a taproot script with a single leaf: the refund script).
Musig2 requires both parties to generate secret nonces and exchange public nonces before they can compute partial Musig2 signatures, which can then be combined into a single Schnorr signature:

A new optional TLV is added to TxComplete, which includes public nonces for all swap-in inputs
A new optional TLV is added to TxSignatures, which includes partial Musig2 signatures for all swap-in inputs

Nonces are never persisted and their lifecycle is tied to the interactive tx session lifecycle: while the session is alive, it remembers nonces that it sent before i.e if TxComplete is sent several times, nonces for the same input id will be re-used. I believe that it is safe since they will be used only once for signing.
A specific user refund key is used in the refund script: this allows us to easily rotate swap-in addresses (each time we change th user refund key) and generate a single taproot descriptor that will allow bitcoin core to find and spend (after the refund delay) all swap-in transactions for a given user (i.e for a given phoenix wallet).
This is a first step towards fixing https://github.com/ACINQ/phoenix/issues/403: this new scheme makes swap-in address rotation easy to implement but this is out of the scope of this PR.
Swap-in addresses are now regular p2tr addresses, and swap-in transactions become indistinguishable from other p2tr transactions.
And since spending swap-in inputs requires a single 64 bytes Schnorr transaction (instead of 2 73 bytes DER transaction + a 77 bytes redeem script), the weight of a swap-in input is reduced by 40% for cheaper on-chain fees.
This PR is built on top of https://github.com/ACINQ/lightning-kmp/pull/565 because of https://github.com/ACINQ/secp256k1-kmp/pull/93 but if needed changes to secp256k1-kmp and bitcoin-kmp could be back-ported to work with kotlin 1.8.

The swap-in manager tests were failing when we experimented with not sending the full tx (I was creating wallet UTXOs manually), they've been restored now.

Right, that was why! That makes sense, then we just need to add tests to InteractiveTxTestsCommon to use the musig2 path and we should have everything.


How to fix bad request when migrating from nodemailer to sendgrid

Issue Summary
nodemailer used to work for me but ran into problem recently after I updated the authentication part of my app - which should have no dependency on nodemailer...Anyway, since nodemailer is out of support, I begin to use sendgrid instead. I updated to var sgMail = require('@sendgrid/mail') and sgMail.send().
However, after the code change, I encountered a "bad request" error and want to ask for help on how to fix it.
Steps to Reproduce
Only code snippets for view-controller-server are provided. The workflow is:

Take a couple of files and use html-pdf to convert those to a myfile.pdf
Call sendgrid to send an email with myfile.pdf attached

Code Snippet
My server.js
var pdf = require('html-pdf');
var path=require('path');

function generatePDF(fileList,emailInfo){
   // process _fileList_ to be myfile.pdf
   sendNotification(emailInfo);
}

var sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

function sendNotification(emailDetail){

    sgMail.send(emailDetail, function(err, info) {
        if (err) {
            console.log(err);
        } else {
            console.log(info, "send notification successfully");
        }
    });
}

app.post('/sendEmail', function(req, res, next){
    generatePDF(req.body[1],req.body[0]);
    res.json({
        "status": "success"
    });
});

My service.js
controller.sendEmail = function(email, fileList){
       $http.post('/sendEmail', [email,fileList]);

My controller.js
var email = {
	from:"my_email",
	to: "user_email",
	subject: "title here",
	html:  `content here`,
	attachments:[
		{
			filename : 'myfile.pdf',
			path: './myfile.pdf'
		}
	]
};
controller.sendEmail(email,files);

Exception/Log
[02/03/2020 14:29:23.880] [LOG]    ResponseError: Bad Request
    at Request._callback (C:\Project\HCA\ADFz-host-config-guide\node_modules\@se
ndgrid\client\src\classes\client.js:124:25)
    at Request.self.callback (C:\Project\HCA\ADFz-host-config-guide\node_modules
\request\request.js:185:22)
    at Request.emit (events.js:196:13)
    at Request.<anonymous> (C:\Project\HCA\ADFz-host-config-guide\node_modules\r
equest\request.js:1161:10)
    at Request.emit (events.js:196:13)
    at IncomingMessage.<anonymous> (C:\Project\HCA\ADFz-host-config-guide\node_m
odules\request\request.js:1083:12)
    at Object.onceWrapper (events.js:284:20)
    at IncomingMessage.emit (events.js:201:15)
    at endReadableNT (_stream_readable.js:1130:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:9) {
  code: 400,
  message: 'Bad Request',
  response: {
    headers: {
      server: 'nginx',
      date: 'Mon, 02 Mar 2020 06:29:22 GMT',
      'content-type': 'application/json',
      'content-length': '390',
      connection: 'close',
      'access-control-allow-origin': 'https://sendgrid.api-docs.io',
      'access-control-allow-methods': 'POST',
      'access-control-allow-headers': 'Authorization, Content-Type, On-behalf-of
, x-sg-elas-acl',
      'access-control-max-age': '600',
      'x-no-cors-reason': 'https://sendgrid.com/docs/Classroom/Basics/API/cors.h
tml'
    },
    body: { errors: [Array] }
  }
}

Technical details:

sendgrid-nodejs version: "@sendgrid/mail": "^6.5.3"
node version: "node": "8.16.0"

Can you try logging the error response body to see what is causing the bad request?
console.error(err.response.body);

Thanks for the tip! Now things are clearer:
  errors: [
    {
      message: 'The attachment content is required.',
      field: 'attachments.0.content',
      help: 'http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#
message.attachments.content'
    },
    {
      message: 'Does not contain a valid address.',
      field: 'personalizations.0.to.0.email',
      help: 'http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#
message.personalizations.to'
    }
  ]

As I need to attach a PDF file, could you kindly suggest how I should fill in the attachements.0.content field?
I added the personalizations field as follows, but the error remains:

personalizations: [
	{to: [
	{email<EMAIL_ADDRESS>],
}],
from:"xxx<EMAIL_ADDRESS>to: [
	{email<EMAIL_ADDRESS>],

BTW, actually the email is inputted by my users on the UI, so it would be a variable instead of a string. Can I use it as email: my_variable?

There's an example here for sending with an attachment: https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/attachments.md
Instead of passing a path to the file, you'll need to pass the content of the file base64-encoded.


Added latest api versions

PR Checklist
Check these items before submitting a PR...
Contribution Guide
Best Practice Guide

[ ] - Please check this box once you've submitted the PR if you've read through the Contribution Guide and best practices checklist.

Changelog

Unless there is an urgent need, with a good reason, I won't be merging this PR until it passes the tests, which it probably will do given the simplicity of the changes and that the only reason for the failure was that the validation was cancelled by Varun.
@VarunChopraAccolite Maybe restart the check? Or does it require the PR to be updated?

I followed issue #30 steps and i noticed same error which we have in issue after that i modified and execute the azuredeploy.json file.
When i ran this command ((Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes | Where-OBject ResourceTypeName -eq publicIPAddresses).apiversions
I noticed below apiversions and i added latest apiversions in azuredeploy.json file where we are getting errors and i fix it sucessfully.
PS C:\WINDOWS\system32> ((Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes | Where-OBject ResourceTypeName -eq publicIPAddresses).apiversions
2019-12-01
2019-11-01
2019-09-01
2019-08-01
2019-07-01
2019-06-01
2019-04-01
2019-02-01
2018-12-01
2018-11-01
2018-10-01
......................
@robe070 @VarunChopraAccolite let me know if any thing else required..?

I followed issue 30 steps and i noticed same error which we have in issue after that i modified and execute the azuredeploy.json file.
When i ran this command ((Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes | Where-OBject ResourceTypeName -eq publicIPAddresses).apiversions
I noticed below apiversions and i added latest apiversions in azuredeploy.json file where we are getting errors and i fix it sucessfully.
PS C:\WINDOWS\system32> ((Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes | Where-OBject ResourceTypeName -eq publicIPAddresses).apiversions
2019-12-01
2019-11-01
2019-09-01
2019-08-01
2019-07-01
2019-06-01
2019-04-01
2019-02-01
2018-12-01
2018-11-01
2018-10-01
..........
@robe070 @VarunChopraAccolite let me know if any thing else required..?

Unless there is an urgent need, with a good reason, I won't be merging this PR until it passes the tests, which it probably will do given the simplicity of the changes and that the only reason for the failure was that the validation was cancelled by Varun.
@VarunChopraAccolite Maybe restart the check? Or does it require the PR to be updated?

@robe070 sure, I had rerun the tests. It's passing the TTK tests. The older pipeline version is linked with this PR.

hi @robe070
I request you to resume the review process in another PR, it had passed the TTK along with the Deployment. I had fixed the resource deployment of the template. Thanks for understanding.
https://github.com/lansa/azure-quickstart-templates/pull/4

@knagasekharreddy

PS C:\WINDOWS\system32> ((Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes | Where-OBject ResourceTypeName -eq publicIPAddresses).apiversions
2019-12-01

This is the first problem, the Provider of the resource is Microsoft.Sql. And the type is servers

I noticed below apiversions and i added latest apiversions in azuredeploy.json file where we are getting errors and i fix it sucessfully.

This is the second problem, the ARM TTK is only checking the date is less than 2 years. It is not validating that it is correct for the resource. It presumes you've deployed the template successfully.
Which leads to the third problem, if you deployed the template you did not choose new database. So the resource you changed was not used because its conditioned on new database. The pipeline uses new database so it found the error. Its not just in US East that this error occurs.
And now I've noticed where you originally obtained 2014-04-01 - the VS Code tool tips. These are out of date. The same list as the ARM TTK test provides. Or maybe you obtained them from there - which you were told not to. Never use them. Always use the cmdlet. Always use the latest the cmdlet lists.

This has been useful in identifying the pitfalls in using the correct API Version. I've written a Wiki page to cover this. Please review that it would instruct you clearly to avoid the pitfalls:
https://github.com/robe070/cookbooks/wiki/How-to-obtain-valid-API-Version/_edit


What is the idea behind repository and collection?

I see you have UserCollectionInterface and UserRepositoryInterface. Could you please tell me what is the difference and when should I use one over the other?
Awesome boilerplate! 🏅

I have been studying this repo too and so far I really like the idea behind this boilerplate. Though, I'm missing documentation about some design intentions. I'd be glad to help writing docs if we could sketch the outline of parts we need to fill in.
One of my questions, for example, is: why is league/tactican used as a command bus when broadway/broadway (which is included in this repo too) also has a command bus? Does league/tactican has a feature broadway/broadway is missing?
Again, I'd be glad to help writing some docs.

Hey
I like the idea of document each layer or design decision. It will be good to open discussions about possible refactors.
About UserRepositoryInterface and UserCollectionInterface. The first one has historically implicit storage management while the second one not. Instead of UserCollectionInterface could be event better something like CheckUserByEmailInterface so the use case is completely isolated and a little bit more SOLID.
About the command bus. Tactician has much more community and also, the most important thing, return at resolver level. So you can return content from a handler. That's useless for command bus or event bus but needed for query bus. And have a query bus is very nice thing when dealing with caching and auth at read access.
As always if you think something can be done better PRs are welcome. :+1:

Alright. I think we should converge on the most valuable things to document for each of the implemented features. I have written down some questions that came up my mind that would help a newcomer to quickly grasp the design intentions.
Command Bus, Query Bus, Event Bus

Why Tactician for Command/Query Bus? (A: because of the return at resolver level)
Event Store
How to replay events?
Read Model
How to build a projection?
Async Event subscribers
How do Symfony/RabbitMQ/ElasticSearch work together?

Can I close this @3amprogrammer @pascal08 ?


Getting Google play services out of date error.

05-07 08:28:49.291  13922-13922/com.example.google.playservices.placepicker W/GooglePlayServicesUtil﹕ Google Play services out of date.  Requires 8487000 but found 6599434
05-07 08:28:49.295  13922-13922/com.example.google.playservices.placepicker E/GooglePlayServicesUtil﹕ GooglePlayServices not available due to error 2

This sample has been deprecated/archived (check README for more information on newer samples related to this technology).
As recommended by GitHub, we are closing all issues and pull requests.


Add generic SecVec and SecBox types

Based on #3.
Refactor SecStr into a generic SecVec<T> type and make SecStr a type alias for SecVec<u8>. Also add a similar SecBox<T> type that wraps a Box instead of a Vec.

I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.

Thank you!!


[AB#41699] Localizations integration

Pull Request
Prerequisites

[x] My code follows the coding conventions
[x] All tests pass

Release Notes
This PR introduces localization support for all publishable entities (Movie, Tv Show, Season, Episode, Collection, Movie Genre, Tv Show Genre).

This PR changes the Catalog service by moving localizable properties into a separate related table, e.g. title, description, and synopsis are no longer part of the movie, but are moved to movie_localizations related table.

The GraphQL API remains unchanged, as dedicated views are implemented to expose localizable properties on the level of parent entity.

Localization is an optional feature in the media service and can be enabled/disabled using LOCALIZATION_IS_ENABLED environment variable.

When disabled, entity definitions and changes from the media service will not be synced with the localization service, and only base values will be published instead of base values and localizations.

After these changes are applied to an existing media-template repository and there is an intention to enable localizations, the following migration steps must be done:

Enable logical replication for the PostgreSQL server (e.g. see infra\docker-compose.yml for example settings). For local development, this can be done by running yarn infra:down and yarn infra:up.
Existing media-service service account must be adjusted to include Source Entities: Edit, Entity Definitions: Edit, Localized Entities: Edit, and Localized Entities: Review permissions of the localization service, and Ingests: Edit for the media service itself. For local development, this can be done by running yarn setup script to (re)create the service account.
The existing media-service Owner role must be adjusted to have REPLICATION attribute, e.g. by running the following query ALTER ROLE media_service_owner WITH REPLICATION;. For local development, if doing a clean setup, yarn db:reset will do that already.
Once the Localization service is enabled in both Admin Portal and Media Service (via LOCALIZATION_IS_ENABLED) and successfully launched, previously existing entities can be migrated to become localizable using a dedicated migration script located at services\media\service\src\_manual-repair-scripts\register-localization-sources.ts

More details in:

Localization Service
Extend Existing Entity with Localizations Guide
Ingest of Localizations PR

adding a soft-blocker to merge this:
since we encountered some issues with DB size growth with WAL, we should wait until we discuss in the PA round to understand risks/potential workarounds before releasing this change to the public template


User added event flow changed in 4.4?

Not sure if it's a bug or i just don't know to to handle it right, but what i know that everything's was working in 4.2 (and prob 4.3) but not working same way in 4.4
What i have:

backend is 4.4.3
react webcontrol, 12.minimization sample.
so i wanted when user open the chat it already shows welcomening, for that in 4.2 i was sending event using this code on front (MinimizableWebChat.js):

constructor(props) {

            super(props);

            this.handleFetchToken = this.handleFetchToken.bind(this);
            this.handleMaximizeButtonClick = this.handleMaximizeButtonClick.bind(this);
            this.handleMinimizeButtonClick = this.handleMinimizeButtonClick.bind(this);
            this.handleSwitchButtonClick = this.handleSwitchButtonClick.bind(this);

        const store = createStore({}, ({ dispatch }) => next => action => {
            if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
                setTimeout(() => {
                    dispatch({
                        type: 'DIRECT_LINE/POST_ACTIVITY',
                        payload: {
                            activity: {
                                name: 'webchat/join',
                                type: 'event',
                                value: {
                                    language: window.navigator.language
                                }
                            }
                        }
                    });
                }, 1000);
            } else if (action.type === 'DIRECT_LINE/INCOMING_ACTIVITY') {
                if (action.payload.activity.from.role === 'bot') {
                    this.setState(() => ({ newMessage: true }));
                }
            }

            return next(action);
            });

and on back i've got event of user added with ID and started dialog (OnTurnAsync):
....
else if (activity.Type == ActivityTypes.ConversationUpdate)
            {
                if (!activity.MembersAdded.Any(m => m.Id == activity.Recipient.Id))
                {
                    // Iterate over all new members added to the conversation.
                    foreach (var member in activity.MembersAdded)
                    {
                        // Greet anyone that was not the target (recipient) of this message.
                        // To learn more about Adaptive Cards,
                        // See https://aka.ms/msbot-adaptivecards for more details.
                        if (member.Id != activity.Recipient.Id)
                        {
....

But in 4.4 version of react control i'm not getting this event anymore. Pure version of MinimizableWebChat.js from example also not sending it. Is there new way for that now?
Thanks
(Edited by @compulim for code formatting)

@Unders0n when I browse to https://microsoft.github.io/BotFramework-WebChat/12.customization-minimizable-web-chat/, which is using latest Web Chat (4.4.1+), I can see the webchat/join event received on the bot side.

Are you saying you are not seeing this event?

@compulim , thanks, seems like i was using old signature for event, while now we need to use WEB_CHAT/SEND_EVENT, i think i was reffering old docs.
But now i got another problem - i need to pass custom parameter along with that event, in my case tenant id, i wasn't able to make clear solution previosly for that and i was creating my own userId where first part before special char was tenant id like 004_asjdhasidq123 where 004 - tenant id, but it not seems to work anymore. Do you have clear way of sending custom param with that event OR pass explicit userId?
Following aproach also not worked for me:
dispatch({                         type: 'WEB_CHAT/SEND_EVENT',                         payload: {                             name: 'webchat/join',                             value: {                                 language: window.navigator.language,                                 tenant_id: 2                 }                         }                     });

'How to' questions such as the above are better suited for Stack Overflow. Please feel free to post other questions you have about developing your own features over there so the community at large may help out. If you need help with a Web Chat implementation, you can post a question to the Web Chat tag. Thank you!


libmemcached memory leak with cyrus-sasl-2.1.23 and OpenSSL

Reported as: lp:1337041
Reported by: lp:~ych-tiger
Reported at: 2014-07-03T01:54:59Z

Imported from Launchpad using lp2gh.

see cyrus-sasl-2.1.26 changelog: * plugins/otp.c, plugins/srp.c: Removed calling of EVP_cleanup()
it cause memory leak, when user memcached_create and free frequently

We do not initialise any EVP tables, so we're not supposed to call EVP_cleanup.
Apparently, this is fixed in openssl-1.1


[Addition]: Hummingbird selfwitnessing cluster

Hotspot b58 Addresses
1121DoA4ZPxEzHAZg1bF7tZZSSkytJx9jJsDmXguN5YUbMkMu26Y
1127a3PKJLchPZy5cLsUQac8ZmymkTPQRR2KPCFaUspkE4DupR1P
1128XFJ7U9diHP7ooioiqjyqLpPRwNMnyLBwUnAv5Q6sTGRpYcuS
112agViFxFvPnx1emz9M8gz3CqbsoECZ1cPLyNY5ABZ6eDwbXmGJ
112AvriD4eK8X1vBU1ZYQg4Xy2MouHAXArfYztgEj8WLFyjDfs62
112DF3PjR1EsAkaHBbEi2zXurGkSwCYNzeFjShVRRCvTA9UpKnEk
112EJqmMT5V6KG43fNGxD2nKfEqvJGfheMbhpey3rk8q26K2GJej
112fQ6mhQdr8uUnFoG8tnbipb9ibB9kMfnwe8qqqbyLrvLRQobFy
112hCK4TCV81AFp1xkVbGumsFgnA7xQmzwLx8SuNaGVoPUDjqi53
112JCnFdjqp6M4n2MAaozUygLycTiY5CxM53g4qJLdej5qqLxGRj
112kR2vaQdAnbs2stQEviMGqnBdUEmsL5gTs51PL6JHLdYGksd3Y
112M73gfjqkB1cPabUYRj5M1wqBmkFaXA937riXdtP4LJoaPgWe4
112PGeuMDJpQZWBUrwhwBpMrwBUKk9Gnij8Zdnh7kHfLUACP3Yzd
112pPJ34xiSC8fE6VE9Tc1zwZTR61muibn1pJkVzFo5tkRj5u3g4
112pW6uA8nTjaRuG12uqsi99BD2iHFuw5FF1Niwox7PqVvv9HaQk
112qdZU3WMSqxfLKp54UQ4AD8zU2ezXRYdJ657fCD2qN2sRyoVZ6
112QkRAPsmmfXCRkLTcbsa1VtcdsxFFnB3thh8XqRqYChy91RtqY
112QWSbSdAe6NUcg3Ye7m5xx556PBm7KtZ7Z9iGbGLpAJyJKhNHB
112SRoYoqt42Vbh53Rg6EPRxiV92mZgJWDeUFrLHT9vugpjaeQuf
112sTKvjeeqnMv3Bjn8Eho4gcW4f7BKPJQv2wF1nQZrn4gwA67ok
112tFZMxZPq4kPJba4d9i2c8xhNqnVD7SWv7Z2gEb9Dk1wBAdvKd
112tG4hSyiDnofckA6JRjSpAGkMxBd2DzoVXVQFBTNEeGe2ZS8cu
112Tvt7twL4WXaWXUKux21oh9Fkmmv4kk71BfxmP2zjBGWFq1EyN
112wiqGLqzr4xhfQ9Rqpg5E8emouViwivQnLaCD6pycXHhQDjjRn
112XJERTyMrBAmxpZ2sXR1YPb1ywsMLZAKtMw7vNL1rhX43FYYRt
112Y7KAf3L7R1UQKbz1BegfhQWMVqRUY2LuK5uFUG6jRehkhmom
11AEyiQnYUEJiZN8ZbgJxF5zA12hZtofGu8t6uJioDkHt5grtg7
11aPFWVaBFSmnvE45VgAe8iNsUrrHG9TjuT2tehEj9cVrHoyKBj
11LLUj2ykUcXXGmbfE96Uh538jzmVfqQiTNbFnQMoJtfcDHxML8
11N2Aj7AymdN6wDgev7Pu5iidQQWZ2VQnLp8tJ5TQL4f8AN6DLt
11pJunZSdXQK91qaDF5jPVLSD5S5NRDPPLCZTqKDoV3Rgg1HA3Z
11SUkL9CEgJzZggwadwEYahNwKUnHQ5Kri9GbeN52FsfP9EAbof
11wroLMBg7AynB6NXLjyTGqgTuBhaSkMTRWTc1nuXVMLbECjT14
11WWWATrN15tnbgfCBvxuZFFJym7sbWDfx5GdeRMGeY5UR1AZj1
11YnrgWZvPuXvqVGWoeVbqjgMUmRRpcyKTd2SKguYYZGqM4Xqwp
Discord Handle
No response
Reason(s)

All but 1 account for all Hummingbird gateway's didn't show any data transfers.
So data transfer is possible! only 109 out of 3853 showed packet transfer data, all these 109 are in same account.
the gateway's in that account are part of a selfwitnessing cluster so they probably all heared the same
signal.

Most of all Hummingbird gateway's witness only Hummingbird gateway's.

We iterated the witnesses of the witnesses to find the clusters.
We used the node-red server we setup for this to get the results out of api.

All HNT stolen with the total amount of 21067 HNT as by todays date/time.

We conclude that out of the 3852 gateway's we inspected only 109 gateway's in 1 account showed accidental
data transfer. so data transfer for gateway's Hummingbird is possible.

We conclude that out of the 3852 gateway's we inspected only a couple of accounts showed communication with other makers. so communication with other makers for Hummingbird gateway's is possible.

Rssi/ distance / SNR calculations are to perfect, we have found some invalids -59 dbm but we suspect they are from cables touching eachother.

We haven't targetted any maker, it was the result of a count WHERE actors1.actor_role = 'witness'
AND actors2.actor_role = 'challengee' are in same account.


add change-end-time operation

always succeeds if new end time is sooner than prev end time

See also esnet/oscars-frontend#42.

plan:

new REST endpoint: /api/modify/eval/{$connectionId}

add modify REST POST endpoint

fields: connectionId, new end time.

always succeeds if new end time < previous end time.


Rewrite format.sh in Python

format.sh is nearly 100 lines of somewhat complicated logic; it should really be rewritten in Python (IMO, but also per Google style).
See https://github.com/flutter/engine/pull/17891#issuecomment-618150933 for a concrete example of where doing something that should have been straightforward was not, due to the use of bash.

Hi, I would like to work on this issue. Thanks!

Great! Just link to the PR when you have one ready, and someone can review it.

I can't seem to find this file anymore. Has it be renamed or merged into a different file?

No, it it's still at https://github.com/flutter/engine/blob/master/ci/format.sh

Oh I though it was in this repo. Thanks!

Is this still issue still looking for additional contributors?

Until someone links to a PR here, I would assume it's not being worked on.

Hello @stuartmorgan , I would like some clarification regarding the mentioned file. Pardon me if this seems like newbie questions:
1)How to implement the set -e  command in python?
2) Can I get more clarification as to what happens when git remote get-url upstream >/dev/null 2>&1; is run?
I had searched for the 1st question online, to no avail. There was not much comment provided for second one.  Please help as I am just starting off contributing and would be glad to refer some material, if provided

hello @cyriacbijun, I am also new to open source project and I would like to contribute to this issue, can we work together?


VueJS local storage error when private browsing

Problem
VueJS (vuejs.min.js ) is throwing errors when no local storage is available. I came around this because one of our users uses Safari in private browsing mode. And there Safari restricted the access to the local storage. Chrome and Firefox are working fine. The quickfix for ous was to simply wrap the local storage calls in a try-catch.
The errors are:
15:54:49.201 TypeError: i.localStorage is null
Stack trace:
s.adapters.local.load@http://myurl.de/app/system/app/bundle/vue.js?v=8f31:1:5538
1 vue.js:1:5635
s.adapters.local.load() vue.js:1
o() vue.js:1
s.select() vue.js:1
t.exports() vue.js:1
r() vue.js:1
ki/i.use() vue.min.js:7
<anonymous> vue.js:1
e() vue.js:1
<anonymous> vue.js:1
<anonymous> vue.js:1

Technical Details

Pagekit version: latest

Troubleshooting

[X] I have enabled debug mode: https://pagekit.com/docs/troubleshooting/debug-mode
[X] I have verified the server requirements: https://pagekit.com/docs/getting-started/requirements
[X] I have tried disabling all installed extensions
[X] I have checked the browser developer console for JavaScript errors

Thanks for reporting! Will be fixed within the next release.


Compile failure on Linux Swift 5.1

See https://github.com/swift-aws/aws-sdk-swift-core/issues/123

Hey @Andrea-Scuderi this is resolved now yeah?

Yes thanks!


[Android] Allow debugging from ports other than 8081

I was using https://ngrok.com/ to expose my local host (port 8081) to a remote host (port 80) so that I could package an apk to send to a friend to test with. However, trying to change the host in the debug menu to the host ngrok gave me it would not work still. I looked through the source code and found this line https://github.com/facebook/react-native/blob/42eb5464fd8a65ed84b799de5d4dc225349449be/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java#L57. It seems to be hardcoded to only allow it on port 8081, is there any chance that we can get this updated to just accept the url instead? I think that should work if you change lines 52-54 in that same file to append the :8081 to the end of them. I am not sure how to test this code and see if it would work since it did not download the project to my local computer.

More generally, it's not possible to customize the URL and how the bundle gets loaded. This flexibility is useful to have.
With the iOS version you can specify an RCTBridgeDelegate (basically an implementation of an interface with methods like loadBundle) and any URL. This is flexible enough to allow for use cases like ngrok, HTTP/2 connections, custom caching, and other requirements that we haven't anticipated.
On Android, there could be a similar way to configure the ReactInstanceManager. For example, there could be a ReactInstanceLoadHandler that is in charge of loading bundles. The default implementation of the handler would keep the current behavior (load with DevServerHelper during development and the asset bundle in production), so the learning curve stays the same.
I hope to look into this myself and work towards making the ReactInstanceManager more configurable while keeping the default behavior the same as today.

@ide This is something that we need for the React Native Playground as well. We're definitely interested in collaborating on this, getting a fork going first then perhaps getting it into core.

Also why we don't have the interface to change the Url? or I didn't find it?

@WillCoder We do: Shake Device (or F2 on emu) > Dev Settings > Debug server host for device.
You can also check out my PR to see an example of setting the IP programmatically (although it's a hack and won't work unless you are using port 8081 or you're using my fork).

+1 on an easy interface for loading react bundles programatically. I'm excited about a use case where the react native code could be loaded seamlessly in the background from a CDN and updated next time the app is run.
I know there are ways to achieve this in iOS, does anyone have any POCs / ideas for android?


Appveyor

This allows Appveyor to build playd in the Release configuration on Win32 and x64.
WindowsBuilder.ps1
The main gubbins is WindowsBuilder.ps1, a PowerShell script for automatically downloading and building all of playd's dependencies, and building playd. I still need to write a help message, so here's how to use it:
.\WindowsBuilder.ps1 -arch (x86|x64) [-deps] [-playd]
Requirements

The -sh switch needs a path to Cygwin bash. Cygwin needs a C compiler, automake, and autotools. It is used for compiling the gendef tool from MinGW-w64, in order to make a def file for libmpg123-0.dll. No longer used.
Python 2.7 is required for building gyp for building libuv. Put it in your PATH, or set PYTHON to the path of your Python exe. In PS: $env:PYTHON = "path\to\python.exe"

Right now, it builds both deps and playd if both switches are omitted.
All files generated are put in a directory with the name name as the architecture (x86 or x64).
appveyor.yml
Builds dependencies, then playd, then runs playd_tests.
All the required DLLs are zipped up with playd, playd_tests, and all licenses except for MPG123's.
All build zips are available via the Appveyor API, e.g. [here](https://ci.appveyor.com/api/projects/DinCahill/ury-playd/artifacts/playd__win64.zip?job=Platform: x64). If you push a tag to GitHub, Appveyor will create a release for the tag if it doesn't exist, and push the zips to it, namedplayd_$TAG_NAME_win(32|64).zip. Unfortunately, the zips of untagged builds have two underscores (e.g. playd__win64.zip), and I'm not sure how to fix it, but at least it's consistent.
The URLs to the dependencies are near the top of the BuildDeps function.
TODO
I've not included the MPG123 license in the zip, because neither of the zips I'm downloading contains it. Since I'm modifying the MPG123 source with mpg123.patch, I probably do need to add the license. This patch does fix what looks like a proper bug, so I'll look into reporting it soon. Fixed upstream. License added to zips.
Mandatory

[x] Create a UniversityRadioYork account on Appveyor. There doesn't seem to be any other way to do it. @ChrisTheBaron pls weigh in.
[ ] Create a proper GitHub API token for pushing releases, encrypt it on Appveyor (Account -> Encrypt data), and replace auth_token in appveyor.yml.
[x] Probably need MPG123 license (probably in the source).

Optional

[ ] Add more comments to appveyor.yml.
[ ] Add help text to WindowsBuilder.ps1.

Other fixes included

Fix a couple of #ifndefs I added to io.(cpp|hpp), which should've been #ifdef.
Fix CMake policy warning CMP0054.
Turn off Link-Time Code Generation in MSVC, because all the libs we're using are shared.

Coverage remained the same at 45.28% when pulling fc950e4e5089482d761c3ac8ad93bb8c8e6e31b7 on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling fc950e4e5089482d761c3ac8ad93bb8c8e6e31b7 on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

Coverage decreased (-45.3%) to 0.0% when pulling 9cd2b6c0fd9af9dc5c7f92e0926bdb093e357f4c on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

The MPG123 maintainer kindly fixed the MPG123_EXPORT issue.
https://sourceforge.net/p/mpg123/bugs/239/
The latest release (1.23.6) also contains a def file, so all the gendef stuff
has been binned. Woop!
1.23.6 also changes typedef long ssize_t to typedef ptrditt_t ssize_t.
This slightly breaks my hack for getting MPG123 and libuv to live together,
and produces an extra warning on x64, but x64 has a lot of warnings about
size_t as well anyway, so these should be FIX.
Listening to MP3s still seems to work on x86 and x64!

Coverage remained the same at 45.28% when pulling 47e1c0a28e263f930ea2132d3718afc92f50d8d1 on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

@DinCahill does https://www.appveyor.com/docs/team-setup/#setting-up-appveyor-account-for-github-organization change anything?

Coverage remained the same at 45.28% when pulling fbff1c9084ba3daea9e18d0db68b15c85b6e1119 on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling c9fc6c5083023f48565384fa46a27b48faa58d5e on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling 28e61b8ef5c8a64cca9e588e79565fd37f52fc57 on DinCahill:appveyor into 4e7b600ea91ff4487c1716564deab77bf4d24782 on UniversityRadioYork:master.

Use the standard Get-Help cmdlet to access the help text for WindowsBuilder.ps1.
Get-Help .\WindowsBuilder.ps1 [ -full | -detailed | -examples ]

Coverage remained the same at 45.28% when pulling 047afcab26c93d74ec493602a2353a533805ffcc on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling 047afcab26c93d74ec493602a2353a533805ffcc on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling 0d3a7f2e8705fb2f08249de543e9ef155a57b956 on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

I just need someone to enable pull requests for the webhook on the ury-playd repo. Then, I'll test PR building, and releasing.
Once that's done, I think it's ready to merge.

Coverage remained the same at 45.28% when pulling 418230c4c05f5f4601abff292d943cca87d2a7e2 on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

Ready to merge.

Coverage remained the same at 45.28% when pulling 66fddfc7ab6a0692ef12a9179145d16d9e87fa88 on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

Gonna remove @CaptainHayashi's VS project and update README.VisualStudio.md.

Coverage remained the same at 45.28% when pulling 42d86cbb98eb995dae2a3fb5035c9c4fd8e0a79f on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.

Coverage remained the same at 45.28% when pulling 3566f270c49310109b004437c1a798a49ffdda08 on DinCahill:appveyor into 4d81c51350b8b3139d7e3dc3a1d74fa2e11c7867 on UniversityRadioYork:master.


forge player count

%forge_online% and %forge_max_online% are not included even though they are mentioned in default forgetab config, any other way to get online count placeholder without cmi?

Do you have the forge placeholder extension? If you do not then the placeholder will not work


Webstart

Remove reference to Java webstart from the documentation.

Staging pages all look fine and fetching the branch and grepping doesn't reveal any missed references.

--no-rebase


Fix the wlan1(ap) interface create failed issue

add wifi_virtual_interface_create function, return success

@balajim001  please help me review the patch, and help me add Panda, Bharat B to review, thanks.

@bpanda24 please help me review the patch

@bpanda24 please help me review the patch


Xhamster not working

Ripme version: 1.7.91
Java version:
Operating system:  Win 8.1

Exact URL you were trying to rip when the problem occurred: https://xhamster1.desi/photos/gallery/indian-11287693
Please include any additional information about how to reproduce the problem:
https://xhamster.desi/ now redirecting to the xhamster1 so its not downloading the images
can you guys fix it

Lol, its redirecting to xhamster17 for me. Seconded for xhamster fix too.

via my rdp xhamster .com is working now for indian i think they changed the urls


improvement build be with coverage enabled, which can get coverage data with llvm-cov-15

Proposed changes
Issue Number: close none
This pull request for this purpose :

run be ut with coverage data
run be with coverage data
both is serviced for better doris

attention: we get coverage data with llvm tool 15 now
Problem summary
Describe your changes.
Checklist(Required)

[ NO ] Does it affect the original behavior
[ NO NEED ] Has unit tests been added
[ NO ] Has document been added or modified
[ NO ] Does it need to update dependencies
[ YES ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.4 seconds
stream load tsv:          452 seconds loaded<PHONE_NUMBER>9 Bytes, about 157 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230322145145_clickbench_pr_118733.html


[otbn] end-to-end tests for P-256 ECC

In order to capture issues when refactoring the P-256 lib on OTBN we need to provide end-to-end tests for:

[x] curve point test (currently exists, but gives wrong results)
[x] scalar multiplication
[x] ECDSA sign
[x] ECDSA verify

Start with RSA encode/decode-style self-contained assembly test.

estimate 4
remaining 2020-11-30 1
remaining 2020-12-10 0

We do now have (auto-converted) tests for these algorithms in our tree, closing.

We do now have (auto-converted) tests for these algorithms in our tree, closing.


First Release

It is a meta issue.
Milestone for the first release

[ ] Drop kv-storage #20
[ ] Startup Guide

Default Rule or Initial instruction
I think that it require Google Chrome Store

[ ] Rule Developer Guide
[ ] Ignore handlong #12
[ ] Documentation handling
[ ] Make logger debug mode

Firefox version is published as beta https://addons.mozilla.org/ja/firefox/addon/textlint-editor/

Chrome version is available https://chrome.google.com/webstore/detail/textlint-editor/gfhlfpnpjokocfohicmfbgjneiipfeil
Yes, We have published first version! 🎉


Implement Web (HTTP) Seeding (BEP17+BEP19)

Web / HTTP seeding is an extension to standard bittorrent p2p which allows a client to download ranges from normal HTTP servers in addition to standard bittorrent peers.  This has the advantage of effectively adding permanent, seed-only peers to any swarm, and it's very easy for any existing HTTP fileservers to facilitate bittorrent and also reduce their own load by offloading portions of normal HTTP downloads to bittorrent peers.
I think this feature will be particularly important to the browser version, since we're expecting the number of hybrid peers to be relatively low compared with normal bittorrent clients, and HTTP-based peers will be supported in the browser without any workarounds.
Note that there are two competing standards for HTTP seeding, both with their own pros / cons, and I believe most clients implement them both since neither is very complex.  The nomenclature used to refer to the standards is very inconsistent, so for the purposes of webtorrent, I propose we refer them simply as BEP19 (aka GetRight-style http/ftp seeding) and BEP17 (aka Hoffman-style, http seeding, webseeding).
BEP19 has the advantage of being able to work with any file accessible via normal HTTP or FTP, utilizing standard HTTP range requests to download pieces (or better yet reserved spans of pieces to minimize separate HTTP requests).  BEP17 requires external servers to be modified to support BEP17, which is a disadvantage in terms of interoperability, but it does have the advantage of allowing the seeding servers to better control traffic and avoid bandwidth abuse.
This task will require modifying parse-torrent to recognize HTTP seed servers.  It will also require changes to bittorrent-swarm, possibly bittorrent-protocol, and bittorrent-client if we want to support more efficient utilization of HTTP by reserving spans of pieces for each individual HTTP seed request as opposed to treating HTTP seed peers as normal peers and requesting single blocks at a time from them.
Resources:

High level overview of HTTP seeding and protocols
Vuze wiki's overview of its HTTP seeding implementation

I started writing an implementation (https://github.com/feross/webtorrent/issues/331, https://github.com/feross/bittorrent-swarm/pull/19). Basic functionality implemented.

Thanks to @olalonde's PR, we have support for BEP19 in in node!
The approach isn't very efficient since it makes separate requests for each 16KB block, but that's okay for now. We have a starting point to work from! This is released as webtorrent 0.51.0.

Multi-file web seed doesn't work.
@olalonde The sponsor confirmed they can still donate the $500.

@feross great. I've been busy with other things lately but will take a stab at it as soon as I free up some time.

Adding the multiple files support on this pull request https://github.com/feross/bittorrent-swarm/pull/24

@solderzzc Thanks - please see my comments on the PR.

Any news on that? I would love to use this feature, i'm working on a project to distribute files already uploaded to the server via webtorrent, and this would be very nice.

@bertofer you can put &ws= it in the magnet link like this:
var magnetUri = 'magnet:?xt=urn:btih:ab3f1350ebe4563a710545d0e33e09a7b7943ecf&tr=wss://tracker.webtorrent.io&ws=http%3A%2F%2Ffastcast.nz%2Fdownloads%2Fawakening-new-zealand-4k.mp4'
The URLs to the files uploaded on your server has to be encoded. You can use http://meyerweb.com/eric/tools/dencoder/ to do this.
As far as I understand, if you use a magnet link WebTorrent will start downloading the files from the web seed once a WebRTC peer (https://instant.io) has connected and sent the torrent metadata. You can then stop seeding from the WebRTC peer and the web seed will send over the rest of the file. You can see this working in my project http://fastcast.nz if you like :)
Are you trying to get this to work in the browser? I would be interested in checking out your project! I'm trying to work out how to use a .torrent file in the browser instead of a magnet link, so the torrent instantly starts downloading from the web seed https://github.com/feross/webtorrent/issues/424.

@jakefb Thanks for your answer!!
Yes, i want it in the browser. So, to download a folder, via webseed, you must use a url that sends you to those ugly autoindex of files in a folder via http? Imagine your downloads forlder is a torrent, can i use that url? http%3A%2F%2Ffastcast.nz%2Fdownloads%2?
My project is filelibrary, check it out on my profile :) for now i'm only testing the platform so expect ugly code and ugly everything :P What i want to achieve is to distribute files via browser with torrenting, but also an interface to upload that files to the server, and being the server a first seed for that file, to ensure always a seed active (For that i wanted webseed :D ). The torrents are generated once the file uploaded, and saved on MongoDB (As buffer), so the webpage that downloads it can also get the .torrent to start downloading (as a Buffer).

Lol my multiple files web seeds patch is still waiting for merging. The
test failed since the patch in
https://github.com/feross/bittorrent-swarm/pull/24 is not merged.
On Wed, Sep 9, 2015 at 11:55 PM, Alberto<EMAIL_ADDRESS>wrote:

@jakefb https://github.com/jakefb Thanks for your answer!!
Yes, i want it in the browser. So, to download a folder, via webseed, you
must use a url that sends you to those ugly autoindex of files in a folder
via http? Imagine your downloads forlder is a torrent, can i use that url?
http%3A%2F%2Ffastcast.nz%2Fdownloads%2?
My project is filelibrary, check it out on my profile :) for now i'm only
testing the platform so expect ugly code and ugly everything :P What i want
to achieve is to distribute files via browser with torrenting, but also an
interface to upload that files to the server, and being the server a first
seed for that file, to ensure always a seed active (For that i wanted
webseed :D ). The torrents are generated once the file uploaded, and saved
on MongoDB (As buffer), so the webpage that downloads it can also get the
.torrent to start downloading (as a Buffer).
—
Reply to this email directly or view it on GitHub
https://github.com/feross/webtorrent/issues/67#issuecomment-139132815.

@bertofer I have managed to parse a torrent file in the browser so it starts downloading from the web seed instantly! Have a look at the code here https://github.com/fastcast/fastcast/blob/master/client/stream-torrent.js. You can see it in action on one of my videos such as http://fastcast.nz/videos/awakening-new-zealand-4k.html. The video also loads instantly when using a torrent file instead of a magnet link, which is very convenient! This is because it doesn't have to wait for the torrent metadata to be downloaded from the WebRTC peers. I think @feross will find this cool!
To answer your question about having a webseed for a torrent with multiple files, you'll have to wait for @solderzzc PR to be merged https://github.com/feross/webtorrent/pull/397. I have been wondering why it was taking so long for it to get merged, hopefully this happens soon...

Hei @jakefb Thanks for confirming it can be done and works :) Will try it these days! I'll move forward with the project supporting only one file for the moment.

 Any tip on how to configure the http-server to use it as a web seed? I'm searching and i'm stuck finding any config or requirement to work as a webseed.

Does your server support byte range requests? They are required for web seeding.

Yes. I post an image from the "Network" tab of chrome. It returns the 206 Code, and in the headers i can see which byte range was downloaded

Get stuck in a CORS problem, the assets I need to "web seed" are in another domain, do I have to add access headers to all sites I want to use as a "web seeder". Thanks works great!

@brusacco Yes, you need to enable CORS on your webserver. Fastcast runs nginx and supports CORS, so you can try downloading http://fastcast.nz/torrents/awakening-new-zealand-4k.torrent for example in your browser  with a xhr request and it will work. You can also fork the Fastcast repository and test this when run from http-server :D

Thanks it works very well, tested on my own webservers from Chrome. Reading the logs you can see the HTTP range requests .... the Chrome console too.

@jakefb do you know a way to catch that CORS error, and then fallback to a normal html5 video tag from URL, no torrent one. And by the way ... do you note a very high CPU and memory usage by Chrome? In some test I have done, Chrome just crashed after a while.

@jakefb Hey! I was looking through webseeding and everything you’ve contributed through fastcast has been a ton of help. I was wondering how you got the webseed urls in the .torrent files. I’m missing that part to remove the need of a webrtc peer. Could you tell how me how you did it? Thank you

@DiegoRBaquero yes, the web seeds need to be listed in the .torrent file. See https://github.com/feross/create-torrent#api (urlList property).

@feross I was thinking of using https://github.com/facebook/dataloader's approach for combining multiple HTTP byte requests into a single one. That is, record all calls to WebConn.prototype.httpRequest that happen in an event loop "tick" and on next tick, combine adjacent byte requests into larger ones. For example, webtorrent seems to call wire.request(index, chunkOffset, chunkLength, cb) synchronously in a while loop. WebConn could capture those requests, e.g.:
wire.request(index, 0, 10, cb)
wire.request(index, 10, 10, cb)
wire.request(index, 20, 10, cb)
wire.request(index, 30, 10, cb)

and on next tick, combine those into a single
self.httpRequest(index, 0, 40, callback)

This wouldn't be visible from webtorrent of course but only internal to how webconn works:
function WebConn (url, parsedTorrent) {
//...
  this.batch = { requests: [], pending: false };

  self.on('request', function (pieceIndex, offset, length, callback) {
    self.batch.requests.push([ pieceIndex, offset, length, callback ]);
    if (!self.batch.pending) {
      self.batch.pending = true;
      process.nextTick(function () {
        self.batch.pending = false;
        self.processBatch();
      });
    }
  })
//...
}

WebConn.prototype.processBatch = function () {
   // merge this.batch.requests into bigger ones...
   // call this.httpRequest with those bigger requests
   // split "big" responses and pass to original callbacks
}

Does that make sense?

Is FTP and FTPS supported for "&as=" and "&ws=" parameters in magnet?

@FluorescentHallucinogen No, a web seed must support HTTP GET requests with the range parameter. Also, from the browser, the server must have CORS enabled.

OK, FTP(S) support is not implemented in WebTorrent at this moment. But is it possible to implement FTP(S) support in the future?
Most common web browsers can retrieve files hosted on FTP servers. In other words, web browsers already have FTP support implemented. :)
Not sure about FTPS support in web browsers... Is Google Chrome or Mozilla Firefox supports FTPS?
Many FTP clients and download managers support resume downloading and multipart downloading over FTP (if the server support these features).
For HTTP you can use byte-ranges to resume anywhere or download specific ranges you specify, but with FTP you can only say where to start the download.
Not sure about support of resume downloading and multipart downloading over FTP in web browsers... Is Google Chrome and Mozilla Firefox support resume downloading and multipart downloading over FTP?
Anyway, FTP servers can act as a good permanently available "streaming" (sequential mode) seeds.
What about CORS for FTP?

FTP doesn't have anything to do with bittorrent and is not supported by any bittorrent engine I'm aware of.  The only reason web seeding is supported at all is because of the BEPs linked to in my original post (bittorrent specs).
Everyone, let's please keep this thread specifically about webseeding via BEP17+BEP19.
@olalonde I know you posted your gist awhile ago, but I do like its simplicity.

FTP seeding is described in BEP19.
GetRight supports FTP seeding.
The browser can download at any point (or at the beginning at worst case) of the file via FTP and seed (upload) via BitTorrent. Are there any technical limitations to not implement FTP support in WebTorrent?

My bad; it's been awhile since I've looked at them :)

I don't think it's possible to do FTP in the browser so that would be a Node.js only feature if it gets implemented.

it's quite possible. try this ftp://speedtest.tele2.net/

AFAIK some browsers double as an FTP client but there is no standard way to download FTP files from Javascript.

@FluorescentHallucinogen In node it would be possible. It would just need to be implemented. But I don't see why not use HTTP instead.
In the browser it is not possible, FTP doesn't have cors and XHR (AJAX) doesn't support it. See this

Are there any diffences between &as= and &ws= parameters in magnet links? Is &as= an alias of &ws= in every respects?
I know that &ws= parameter according to the specification supports links to directories (folders) for multi-file torrents.
Does &as= parameter according to its specification supports links to directories (folders) or only to single files?

If one of the trackers in the magnet URI e.g. magnet:?xt=urn:btih:df2a06c6d602f5514f11246dcb843efa403efe0c&dn=amplitude-new-zealand-4k.mp4&tr=ws%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&tr=wss%3A%2F%2Ftracker.webtorrent.io&ws=http%3A%2F%2Ffastcast.nz%2Fdownloads%2Famplitude-new-zealand-4k.mp4&ws=https%3A%2F%2Fwebseed.btorrent.xyz%2Famplitude-new-zealand-4k.mp4 is insecure (starting 'ws://') e.g ws://tracker.fastcast.nz the whole process of downloading torrent from the page loaded over HTTPS e.g. https://instant.io or https://btorrent.xyz is blocked by the browser. Connecting to the rest of secure trackers from the magnet URI (starting wss://) e.g. wss://tracker.btorrent.xyz, wss://tracker.openwebtorrent.com, wss://tracker.webtorrent.io does not occur.
Is it possible to implement in WebTorrent avoiding connecting to a non-secure WebSocket server from a secure origin?

@FluorescentHallucinogen There is very little documentation. I found https://wiki.theory.org/BitTorrent_Magnet-URI_Webseeding and https://en.wikipedia.org/wiki/Magnet_URI_scheme#Web_links_to_the_file
AS stands for acceptable source (fall-back source), XS for exact source. WS stands for web source/ web seed? The parameters can also be used to retrieve metadata (the .torrent file) instead of the actual payload. Webtorrent's magnet-uri doesn't seem to be using the exact source https://github.com/feross/magnet-uri/blob/master/index.js#L79-L85 and WS overrides AS.

@FluorescentHallucinogen the issue you described with insecure ws:// trackers crashing the client on secure https:// origins is now fixed.

AS stands for acceptable source (fall-back source), XS for exact source. WS stands for web source/ web seed? The parameters can also be used to retrieve metadata (the .torrent file) instead of the actual payload.

Does it mean that it is possible to use &as= and/or &xs= and/or &ws= as a link to *.torrent file in the magnet URIs?
For example:
magnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d &as=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent
and/or
magnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d &xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent
and/or
magnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d &ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent
Does WebTorrent support using &as= and/or &xs= and/or &ws= as a link to *.torrent file?

@FluorescentHallucinogen You should use &ws=.

Closing this now, as multi-file web seeds were the last thing we needed to support web seeding fully in WebTorrent. Note that we chose to support BEP19 and not BEP17, since the former is more web-friendly. I haven't seen any torrents that use the BEP17 style.

You should use &ws=.

@feross Do you mean &ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent?

Sorry for the confusion. You should use &ws= to specify the http URL where the files in the torrent are. See this spec: http://www.bittorrent.org/beps/bep_0019.html
We don't support specifying the torrent file location in magnet links at the moment, but I recently discovered this spec (https://wiki.theory.org/BitTorrent_Magnet-URI_Webseeding) that explains how to interpret all these parameters correctly.
There's a new issue here that will track this feature: https://github.com/feross/webtorrent/issues/714

I'm looking into supporting WebTorrent at the Internet Archive, and ran into a (minor) missing feature in the support for this. Specifically, it appears that WebTorrent doesn't respect the "name" field in .torrent files, which means it looks in the wrong place when trying to load multi-file webseeds that define the "name" field.
https://wiki.theory.org/BitTorrentSpecification#Info_in_Multiple_File_Mode -- definition of the "name" field
https://archive.org/download/mbid-3124c085-4665-429b-a188-bef1d8aa0a25/mbid-3124c085-4665-429b-a188-bef1d8aa0a25_archive.torrent -- example of a torrent that uses it (and webseeds).

@JesseWeinstein It's awesome that you're investigating supporting WebTorrent at The Internet Archive! That's been one of my primary goals in developing WebTorrent from the very beginning! Do let me know if there's any way that I can help.
So, about the web seed issue you saw. @dcposch added support for web seeds about a month ago, but it looks like instant.io hasn't been redeployed since then. I just pushed the latest code to it. Let me know if it's working for you now.
You might need to run a local copy of Instant.io since the production site uses Strict Transport Security to force HTTPS and that causes HTTP web seeds to fail with Mixed Content. This is a use case that the standards bodies have not considered. A secure HTTPS application that knows what content it is expecting should be allowed to request data over HTTP.

Looking at web-seeding - is the https://webtorrent.io using it?
The reason I am asking is, on the site's homepage there is a sintel torrent file being downloaded. Now, to test it, I have opened the same site in multiple tabs on the browser.
What I was expecting is, that the new tabs will automatically pickup the previous open tabs as (local) seeders for the content - but that did not happen. Every new tab (page instance) tried to hookup for its own peers from outside, essentially downloading multiple copies of the movie from scratch from same peers.
Theoritically,

each loaded page instance should become a seeder capable of serving other local page load requests (from other tabs or browser instances)
the local page instances (being on the same machine) should become some kind of "local swarm" that partition the remaining work into different chunks and each dowload exclusive portions separately from the "global swarm" and once done spread them equally locally.

For example, as of now 3 tab instances are downloading bytes 0 to 120MB all 3 times separately (without any knowledge of local peers doing the same thing).
What I would love to see is: 3 tabs each divide the remaining job into 3 pieces (0 to 60MB, 61to 90MB, 91 to 120MB etc.) and each connect to entirely different set of peers and finally merge the content locally. If a new tab opens it should reuse the old content from others are they all re-divide their work (based on remaining portion and completion status)
Is this kind of thing possible with WebTorrent as of now?

@KrishnaPG

Looking at web-seeding - is the https://webtorrent.io using it?

Yes, it is, but everything is downloaded to memory, no persistent chunk store is being used at this moment.

What I was expecting is, that the new tabs will automatically pickup the previous open tabs as (local) seeders for the content

That would depend more on the tracker, but it'd would definitely be nice. I've opened an issue here.

What I would love to see is: 3 tabs each divide the remaining job into 3 pieces (0 to 60MB, 61to 90MB, 91 to 120MB etc.) and each connect to entirely different set of peers and finally merge the content locally. If a new tab opens it should reuse the old content from others are they all re-divide their work (based on remaining portion and completion status)

That would require syncing information between the 3 tabs. Although it can be done, it's not on the scope of WebTorrent itself. What should be done is connecting the 3 tabs between each other so they can share the pieces they already have at local-link speed. (This already happens when you are the only peer)

@KrishnaPG What @DiegoRBaquero said.
Also, web seeds are supported fully now, so we can finally close this issue.

Thank you. Just to double confirm, each web-browser instance acts as a potential seed for any new near-by clients, correct?
Which means, if 10 people from near-by location connect to one web-site, any new further connections from near-by locations have the chance of picking up the content from one of these previous browser instances (rather than from the server directly) - correct? Kind of browser-based peer-to-peer CDN

@KrishnaPG Yes, torrents + web seeds are a form of peer-assisted CDN.
But physical proximity (i.e. nearby peers) has nothing to do with how peers discover each other. The tracker server gives out peers randomly, and the client keeps peers that are fast and cooperating. The http server (web seed) is treated as a peer too, albeit a really good one.


[2.x] Refactor Settings and optimize indexing of aggregate keys

This PR contains a refactoring of  Settings and an optimization of the indexing of aggregate keys. Overall it speeds up the build even if doing less parallelism.
Refactoring of Settings
Settings0 used to be a Map[Scope, AttributeMap], and it is now a Map[ScopedKey[x], x]. This is better because we don't need to decompose all ScopedKey[x] into a Scope and an AttributeKey[x], for recomposing it back later, which duplicates all ScopedKey[x]. It reduces the number of long-living ScopedKey[x] instances by 8%, and the total number of instances by 1.4%.
Also it improves the performance of Settings0, which was responsible of 2.95% of the total CPU time, and is now responsible of 0.41%.
Optimization of indexing of aggregate keys
To build the index of all aggregate keys, we were computing the reverse aggregation of each key, before indexing them. And so each aggregate key was indexed many times, once for each aggregated project. It was parallelized to reduce the latency. In this PR, we compute the reverse aggregation of all the keys at once, removing all duplication. We cannot parallelize this process anymore but we don't need to, because it is a lot faster. It reduces the total CPU time by 12%. The impact for the user depends on its number of cores.
Result
I am still loading softwaremill/sttp on my 12 core laptop.
To get the heap size and the number of instances I generate a heap dump after loading sbt once. To get the CPU time and the elapsed real time, I do time sbt 'reload;reload;reload'.

Instances
Used heap size
CPU time
Elapsed real time

develop
16,364 K
410 MB
158,972 ms
35,485  ms

This PR
16,130 K
401 MB
139,792 ms
34,347 ms

98.6 %
97.8 %
87.9%
96.7 %

Great work @adpi2
while the number of instances and the heap size correspondences to and improves upon you last PR (https://github.com/sbt/sbt/pull/7866), the time is not related.

This is pretty cool.

It would be great to move the PR description into commit message so we can capture this info in git.
Maybe we should also move some also into scaladoc

Done

Are settings mostly internal implementation of sbt? Do we anticipate impact to plugin sources?

Plugins use Settings to access their values in a command. For instance here in Scalafix we have:
      val extracted = Project.extract(state)
      val v =
        (ThisBuild / version)
          .get(extracted.structure.data)
          .get

But this get method is still there, so I think it is going to be fine in most cases.
In some plugins Settings[Scope] is written explicitly as parameter, and we will need a Compat to convert it to Def.Settings:

scala-android/sbt-android
scalacenter/bloop
JetBrains/sbt-intellij


fix: Improve and sync checkSSL functions for CockroachDB and PostgreSQL

As described this fixes some inconsistencies between CockroachDB and PostreSQL sslmode configuration. Now all allowed sslmode settings work as expected, allow and require will no longer require a root certificate for allow, prefer and require which do not require them.
Definition of Ready

[x] I am happy with the code
[x] Short description of the feature/issue is added in the pr description
[x] PR is linked to the corresponding user story
[x] Acceptance criteria are met
[x] All open todos and follow ups are defined in a new ticket and justified
[x] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[x] No debug or dead code
[ ] My code has no repetitions
[x] Critical parts are tested automatically
[x] Where possible E2E tests are implemented
[x] Documentation/examples are up-to-date
[x] All non-functional requirements are met
[ ] Functionality of the acceptance criteria is checked manually on the dev system.

Hei @skeletorXVI
Thanks for you contribution.
We will have a look at it.

It seems the new ssl config fails the integration test pipeline:
 go build -o zitadel main.go
./zitadel init --config internal/integration/config/zitadel.yaml --config internal/integration/config/postgres.yaml
time="2023-08-11T07:39:54Z" level=info msg="initialization started" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/init.go:72"
time="2023-08-11T07:39:54Z" level=warning msg="postgres is currently in beta" caller="/home/runner/work/zitadel/zitadel/internal/database/postgres/config.go:65"
time="2023-08-11T07:39:54Z" level=fatal msg="at least ssl root cert has to be set" caller="/home/runner/work/zitadel/zitadel/internal/database/postgres/config.go:130" cert set=false key set=false rootCert set=false
make: *** [Makefile:96: core_integration_test] Error 1

It seems the new ssl config fails the integration test pipeline:
 go build -o zitadel main.go
./zitadel init --config internal/integration/config/zitadel.yaml --config internal/integration/config/postgres.yaml
time="2023-08-11T07:39:54Z" level=info msg="initialization started" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/init.go:72"
time="2023-08-11T07:39:54Z" level=warning msg="postgres is currently in beta" caller="/home/runner/work/zitadel/zitadel/internal/database/postgres/config.go:65"
time="2023-08-11T07:39:54Z" level=fatal msg="at least ssl root cert has to be set" caller="/home/runner/work/zitadel/zitadel/internal/database/postgres/config.go:130" cert set=false key set=false rootCert set=false
make: *** [Makefile:96: core_integration_test] Error 1

Forgot a return in the postgres ckeckSSL function. I fixed that issue


MAINTAINER update needed

@xiekeyang email is incorrect in MAINTAINERS
Also @jonboulle is incorrect, his correct one is in https://github.com/opencontainers/image-spec/blob/master/MAINTAINERS

@vbatts thanks for reminding 😸 , I submit pr #216


Doesn't work with Dockerfile.*

When there's a need to have multiple Dockerfiles in a single directory, it's relatively common to name them Dockerfile.*, e.g. Dockerfile.dev, Dockerfile.prod.
I've tried configuring dprint to match such files, but it doesn't seem to work:
{
  "dockerfile": {},
  "includes": [
    "**/Dockerfile",
    "**/Dockerfile.*"
  ],
  "excludes": [],
  "plugins": [
    "https://plugins.dprint.dev/dockerfile-0.3.0.wasm"
  ]
}

If I have Dockerfile and Dockerfile.prod at the root of my project, running dprint output-file-paths finds Dockerfile but not Dockerfile.prod. It doesn't even work if I explicitly add **/Dockerfile.prod to includes.
If I add **/*.Dockerfile to includes and mv Dockerfile.prod prod.Dockerfile, it does find the file, but this isn't our preferred naming convention.
dprint-plugin-dockerfile version: 0.3.0

@b0o I believe you can simply add an association key to your config to make dprint format files matching your specific glob with the docker plugin.
{
  "dockerfile": {
    "associations": ["**/Dockerfile.*"]
  },
  "excludes": [],
  "plugins": [
    "https://plugins.dprint.dev/dockerfile-0.3.0.wasm"
  ]
}


GraphDB configuration example proposal

Issue #, if available:
Description of changes: GraphDB configuration example in additional-databases to use to connect to Graph-Notebook library
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@nicksinch, thank you for the pull request! I will take some time to test out the configuration with a GraphDB instance and get back to you with any feedback.

Edited for separate update config


Could you provide information on test accuracy ? [proposed label] question

You have achieved training accuracy of 97% in 5 epoch but calculation of test accuracy is not provided.Could you provide information on test accuracy ?

i saw there no were in internet original test labels is given .so only way to get test accuracy is by submitting the results. isnt it?

you can close this issue test labels are not provided since the competition is still open i have consulted with organisers


Update changelog and add changelog-checker CI

This should fix #139

Shall I add changelog updates relevant to FloatingBaseEstimators as within the scope of this PR?

If you agree we can merge the PR. Then if in the future we understand that the new action is a pain in the neck we remove it

If you agree we can merge the PR. Then if in the future we understand that the new action is a pain in the neck we remove it

Ok for me!


Importing custom indicator python module sometimes fail

xclim version: 0.33.2
Python version: 3.9
Operating System: linux

Issue found by @RondeauG , while using pycharm on doris.
Description

When loading a virtual module with xc.build_indicator_module_from_yaml  and that some indices are declared in a custom python file, the module loading sometimes fail.
What I Did

xc.build_indicator_module_from_yaml("module")
# where module.yml and module.py are files

What I Received

ImportError: Indice function <name> not found in xclim.indices or xclim.indices.generic.

Two issues here:

This is not the correct error. If the python file exists but xclim fails to load it, the user should be explicitly warned.
It seems that sys.path does not always include the local directory. Thus, the trick used by xclim.core.utils.load_module fails.

This seems to work (adapted from: https://stackoverflow.com/questions/63416336/import-module-from-different-directory-with-import-module)
  import os
  from pathlib import Path
  import importlib.util

  def load_module(path: os.PathLike):
      path = Path(path).absolute()
      try:
          spec = importlib.util.spec_from_file_location(path.stem, path)
          mod = importlib.util.module_from_spec(spec)
      except ModuleNotFoundError as err:
          raise err
      return mod

PR 1021 should fix this.
To document, the issue was that PyCharm handles the python PATH differently than the default interpreter, Ipython or jupyter. Instead of adding "" to the path (the local directly, even when we change it with os.chdir), it adds the directory when the interpreter was started as an absolute path. I am guessing this behaviour is customizable, but still, it made xclim.core.utils.load_module fail.  As coco cat suggested here : https://stackoverflow.com/a/70757718/9291575, the builtin importlib library offers a more robust way of loading custom files like this.


sysdump: collect CiliumEgressGatewayPolicies

Cilium v1.12 introduced CEGP as alternative way of configuring EgressGW policies. Collect them in the sysdump.
Signed-off-by: Julian Wiedmann<EMAIL_ADDRESS>

@jibi FYI