Clarify defender for Cloud Apps Discovery licensing for M365 Business Premium

M365 Business Premium includes Defender for Business. Is it possible to use auto discovery integration with Business Premium as valid? or is Defender for Business standalone required
It should be clarified in the docs. I've gotten contradixting answers regarding this from Microsoft Support

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

ID: 2ca5e3ab-ef88-9069-6063-1d4bcd100b3c
Version Independent ID: 2ca5e3ab-ef88-9069-6063-1d4bcd100b3c
Content: Integrate Microsoft Defender for Endpoint - Microsoft Defender for Cloud Apps
Content Source: CloudAppSecurityDocs/mde-integration.md
Service: defender-for-cloud-apps
GitHub Login: @batamig
Microsoft Alias: bagol

Thank you for your comment. We'll investigate and get back to you.

@batamig Any news regarding this? Is been several months already.
Thanks

Hi @JMCA2 - yes, and we just recently updated our docs with the following clarification:
Prerequisites include one of the following:

Microsoft Defender for Endpoint with Plan 2
Microsoft Defender for Business with a premium or standalone license

For more information, see Compare Microsoft endpoint security plans.
Please confirm whether this helps your issue and thanks for contributing to docs!

Hi @batamig, thanks
Seems clear on this docs page now regarding Defender for Endpoint and Defender for Cloud Apps integration being available for Business Premium.
However, there are other bigger issues with Defender for Cloud Apps exact licensing not being clear at all for Business Premium. I've opened new issue https://github.com/MicrosoftDocs/OfficeDocs-O365ServiceDescriptions/issues/835

Thanks @JMCA2! I'll let @pamelaar take the lead on that one as the content owner there, and we can be in touch internally as needed.
I'm going to close this issue for now but want to say thank you again for your feedback. We appreciate your perspective and comments!
#please-close


Failed to install by running pip install searchtweets on Mac

Hi there!
I got some problems when trying to install the searchtweets package. I run a pip install searchtweets but received the error
....
long_description=open('README.rst', 'r', encoding="utf-8").read(),
    TypeError: 'encoding' is an invalid keyword argument for this function
------------------
Command "python setup.py egg_info" failed with error code 1 in .....

I'm using Mac and I'm trying both on python 2 and python 3 while got the same error. Does anyone have some hint about this? Or should I need to do anything else before installing?
Thank you!

Not sure what happened but it works now.

I read a similar forum where a user was trying to install .pyper() but
since he had multiple versions of python running having issues. If it's
working, don't worry about it.
On Sun, Nov 11, 2018 at 8:04 PM Yibing Yang<EMAIL_ADDRESS>wrote:

Not sure what happened but it works now.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/twitterdev/search-tweets-python/issues/53#issuecomment-437723337,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgqlIfI5ebDnuML3o6Zdyjtw_iiGFBhqks5uuMkngaJpZM4YYDwB
.

@tekyyang - thank you for reporting; I'm guessing it could be related to python2/3 install issues?
If you notice something again or can replicate it, I'd appreciate it if you could update this, but I'll close the issue for now. Thanks again.


Export tailwind config

This will export a tailwind config js file from the tokens in the UI Toolkit figma file. It's not quite a 1:1 with the chakra version - and not sure it will be, but a good number of the tokens/systems are compatible.
There may be ways to export some higher-level components that are closer in spirit to what we get with chakra, but this depends much closer on how the frontend is implemented in a TW project - eg is this blade, html or still a js project.

@andrewfulton there's a step in the "test" workflow called "Generate the theme" which is basically a smoke test which ensures the commands run. Can we add the Tailwind command there too?

Thanks for getting this started @fuldog, I've pushed up a POC based on this with a few changes: https://github.com/PortableStudios/figma2theme/commit/a2d0e8024962de1e0042f8302ea21ca8e9f23954 🙏


Update your source to Chimera 1.3

Please I update my device 12.4 and it’s showing to me error message when I tried to add your source

#12 should have fixed it. If not, open another issue. Thanks


Select multiple not working

I have created a form which has some input in the form of 'select multiple'. The form was working fine till last week, but today I noticed that while other select input fields are working normally, the 'multiple select' have issue. When we select the options, option disappears from the list, but is not shown in the field, as it used to be, The 'require' validation also fails.
To Reproduce
Please check google script - https://script.google.com/macros/s/AKfycbwMFgQ4Y6v8PV1fXvsVbqirOCrNoFyYa-ds7dSH1XGnI6hD_4Nm1UThP8slrwAmzF8/exec
The "Source Language", "Specialization" are multiple select field and are not working. "country" is single select and is working.
Here is the code:

Specialization

              <? for (const specialization of specializations) { ?>
              <option><?=specialization ?></option>
              <? } ?>
        </select>

    </div>

Expected behavior
The selected option should appear on the blank input field.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser [e.g. chrome, safari] Chrome
Metro Version [e.g. 4.3.4]

Additional context
Add any other context about the problem here.

Please create an example with your problem code on codepen.io.

I have created a pen to demonstrate the issue here: https://codepen.io/ct12goa/pen/JjVayYW
Please check and help with this.
Thanks!

fixed, check now

Thanks, but it is still the same. Do I have to make any change to the code?

I receive this error message on console (on inspect page). Please see if this helps:
metro.js:6 Uncaught TypeError: Cannot read properties of undefined (reading 'split')
at forEach.$.fn. [as addClass] (metro.js:6:63197)
at Object._addTag (metro.js:12:348510)
at HTMLLIElement. (metro.js:12:353858)
at HTMLUListElement.func_event_click_31 (metro.js:6:55824)

Wait for the CDN to update

UPDATE: Checked just now. It is still the same. I didn't notice any change.

https://metroui.org.ua/calendarpicker.html all works fine

https://www.loom.com/share/21ed70a5c0e6478187b0ae1f229f543d?sid=697c0a19-663a-4dd6-a4b6-e5df91a88f0a

Thanks for looking into this, but I checked and it is still not working for me. Can you check in the example at codepen created by me here:
https://codepen.io/ct12goa/pen/JjVayYW

Thanks for sharing the video. I can see that you were able to do that. But, why I can't replicate the same here?

UPDATE: I checked on Edge browser and seems it is working. But, it is not working on Chrome. I will check on other browser settings and will let you know.

Ah, many thanks Serhii!


⚠ Guya.moe Proxied has degraded performance

In 0d778da, Guya.moe Proxied (https://ice.guya.moe/) experienced degraded performance:

HTTP code: 200
Response time: 12995 ms

Resolved: Guya.moe Proxied performance has improved in a417dc5 after 6 minutes.


Make mongodb support optional

Currently you need to install dependencies for mongodb even you are not going to use it. This PR delays the import exception until the mongodb interface  is instantiated, thus allowing the other interface types to be used without installing mongodb dependencies.

Are you installing from github instead of pip? That isn't recommended.
I'll hopefully have time to add docs/etc for the mongo session soon.

Yeah, currently using pip install -e on a cloned repo. Noticed the problem when i rebased my sessioncookie branch (forgot to check requirements.txt to be honest). At any rate the mongodb interface was the only one using subclassing of a dependency causing immediate errors on missing dependencies. Thx for merging.


Stress test counts wrong when killing workers

I have been running the stress test and stopping and starting Fluo while the test was running.  This causes YARN to kill alll of the workers and the Oracle.   After the test completes, sometimes the counts are wrong.  However doing a diagnostic scan of the entire table to diff levels of the tree, will cause the counts to become correct.  This full scan causes some partially completed transactions to roll forward which causes notifications to be written.  These notifications trigger observers which complete the computation.
The problem is that notifications are written in the 2nd phase of commit.  I think the solution to this problem is to write notifications in the 1st phase of commit.   This way if a transaction is partially successful with the 2nd phase observers will still trigger and roll forward.

Seems I ran into this problem before #456 and fixed it incorrectly.  The reason I did not properly fix it then is I was making the following incorrect assumption :

If a notification causes an observer to create other notifications, then in the case of failures rerunning the observer with the same notification will always recreate the same notifications.

However this is not true if the observer runs again and finds there is nothing to do. Mainly in the case where it failed previously, but did complete part of the 2nd phase of commit.   In this case it may not recreate the notifications it created last time and those notifications will never be created until something tries to read the locked data (which may never happen).
Since the solution in #456 was based on an incorrect premise I may be able to delete the notifications earlier as was done before the "fix" for #456 in addition to setting notifications in the lock phase.

Thinking about this, if setting notifications during 1st phase of commit then would use start timestamp.  Need to be careful that notifications are not deleted when they should not be.  Notifications are currently deleted using the start timestamp of a transactions.   When writing notification using startTs (instead of commitTs as is currently done) need to do something to avoid a situation like the following where notification created by TX3 is lost.
TX1 snotify C1 with startTs 10 commitTs 12
TX3 starts with startTs 13
TX2 triggered by C1 with startTs 14
TX2 ACK C1 with startTs 14 (deletes notifcation using startTs 14)
TX3 snotify C1 with startTs 13 commitTs 17

Was thinking of writing notifications while writing locks, however there is a problem with this.  If a transaction writes a notification w/o writing all of its lock, then an observer triggered by the transaction is not guaranteed to see everything the transaction wrote.  Can only write a notification after all locks are written.   Beginning to think that strong notifications should be written in the same way that weak notifications are currently written.   Weak notifications are written after all locks are written, but before finishing the commit on the primary column.  In the case of failures the transactions will be rolled back and all notifications rewitten.  For strong notifications, need to ensure observers fail when triggered by a notification written for a transaction that fails.


Use top level logging property

Use the top level logging property instead of calling AddLogging.

Cool, I've missed that new feature.

While the original code worked, I received the following error:
Error	CS1929	'ILoggingBuilder' does not contain a definition for 'AddFileLogging' and the best extension method overload 'ServiceCollectionExtensions.AddFileLogging(IServiceCollection, IConfiguration)' requires a receiver of type 'IServiceCollection'	Api
I am using .net core 6. Am I missing something?

I was blindly accepting the PR from the phone without checking if it compiles. :)
I have pushed a fix to main now. I found out that NReco.Logging.File expects to find the "File" node in the root of appsettings.json so now I don't need my extension method.


using correct ubi arch image for z and power

We were using the amd UBI image for s390 and ppc64le.

/lgtm


Not master

Fixing the Archives template

This can be closed. Everything except the Segment related analytics block has been merged in other changes. This includes the direct template urls,  and a fix to the archive page.
@rlc4 Would you be willing to submit a PR with just your segment changes?

@rlc4 Thank you submitting this patch. Please accept my apologies for not accepting it on time. We recently had a management change (#173). Since then we have made number of changes. By the time we reached your PR, almost all but one change in your PR had already been made. Specifically

https://github.com/Pelican-Elegant/elegant/commit/cb235d9524eacbc1d6716d94f152ed0389349b17
https://github.com/Pelican-Elegant/elegant/commit/c0624f9cfc38806c1eeff6d67ac7558b1830355c

@AWegnerGitHub and I have left some comments for you. Would be able to look into them? Rest assured your contributions will not be in vain.

Closing it for lack of activity. @rlc4 please free to open it when you are ready to address the reviews.


Upgrade the Escrow to be feature rich

Summary
These notes are messy... if it's difficult to parse the content (or if I have missed something out) then let me know and I'll spend more time to structure this properly.
Changes

Whoever creates an escrow is deemed to be the seller
The seller must deposit an arbiter fee (when creating an escrow) in case there is a dispute

The arbiter can choose up to the limit of the fee how much they will take for resolving the dispute
If the buyer / seller complete the transaction then the seller gets back their deposit

A buyer must be specified by the seller and they cannot be the arbiter or the seller
There is a deadline after which the seller can take the funds if the buyer has not transferred for any reason
Buyer can dispute to lock the escrow

A dispute prevents the seller from taking payment after the deadline
Only the arbiter can resolve and choose which party (buyer or seller) gets the deposit from the buyer

Only the seller can propose a new arbiter

Similar to creating an escrow another deposit fee must be sent
If the seller proposes more than once in a row (before the buyer accepts) then the previous arbiter proposal deposit will be returned to the seller
If the buyer accepts a proposal then the original deposit made when creating the escrow will be returned to the seller

Arbiter, buyer and seller can all be outputs or contracts
When creating an escrow the seller can specify any number of assets to allow the buyer to choose a method of payment
Logging added for the front end to pick up on
Expanded documentation
Each escrow only exists once. It cannot be reused. After completion a user must create a new escrow from the same contract "factory"
Buyer can only deposit once and it must be within the deadline.

After depositing the buyer cannot ever get the funds back themselves
They can transfer to seller, seller can return funds or they can dispute for arbiter resolution

If the seller has proposed an arbiter (which requires another deposit) and the escrow transaction is completed then they will automatically get that additional deposit back

Related
Closes #53
Notes

Replaced vec with array of size 2. Need to update to use vec when SDK supports it
Code is made specifically for the UI despite it allowing Identity interaction. This means that no getters are added for this improvement which means the tests do not check storage at all and instead simply check if the test panics or not. A future upgrade will need to implement contract support and thus update the tests to be more thorough
Moreover, some take_payment tests require SDK block manipulation therefore they are incomplete
Factory contract will eventually be simplified again to be a single contract per escrow once parallelization is cheaper
Used SDK version 16 because I rather do that another time :)
I'll update the icon to automatically change based on user theme in another issue

I'm not a fan of the current arbiter fee mechanism. I think it would be much simpler to send the arbiter their fee as part of the buyer deposit whenever they resolve a dispute This would reduce transfers and refunds between the seller and the contract, and arbiter proposal checks. The only downside I can think of is the arbiter has to get paid with the same asset as the seller.

One party must pay a fee for the arbiter which means either the buyer or the seller must deposit collateral. In the real world, afaik, it's the seller that has to have insurance so that any buyer can interact with them. I find the buyer needing to pay X amount more to be friction for the buyer and a huge negative in terms of UX. Just thinking about it makes me not want to interact with that system.
The buyer should have an easy experience while the seller is the one taking on the overhead.
Imagine if you had to put down collateral for any purchase that involves a third party...
I'm unsure about simplicity if your choice were to be implemented.
This is an edge case scenario but even if it did happen then you are correct that either the buyer must deposit an addition X amount of an asset (which the arbiter may not be happy with) or we need another function for the buyer to deposit a different asset which comes back to the same problem as with the seller but potentially worse as it might require 1 more function than we currently have, but maybe not.
If you'd like to come up with some code as a proposition for how much simpler it would be to make the buyer take on the fee then I'd take a look however given the first point it would have to be super good for the contract otherwise I cannot accept such a bad UX for the buyer.

I'm not a fan of the current arbiter fee mechanism. I think it would be much simpler to send the arbiter their fee as part of the buyer deposit whenever they resolve a dispute This would reduce transfers and refunds between the seller and the contract, and arbiter proposal checks. The only downside I can think of is the arbiter has to get paid with the same asset as the seller.

One party must pay a fee for the arbiter which means either the buyer or the seller must deposit collateral. In the real world, afaik, it's the seller that has to have insurance so that any buyer can interact with them. I find the buyer needing to pay X amount more to be friction for the buyer and a huge negative in terms of UX. Just thinking about it makes me not want to interact with that system. The buyer should have an easy experience while the seller is the one taking on the overhead. Imagine if you had to put down collateral for any purchase that involves a third party...
I'm unsure about simplicity if your choice were to be implemented. This is an edge case scenario but even if it did happen then you are correct that either the buyer must deposit an addition X amount of an asset (which the arbiter may not be happy with) or we need another function for the buyer to deposit a different asset which comes back to the same problem as with the seller but potentially worse as it might require 1 more function than we currently have, but maybe not.
If you'd like to come up with some code as a proposition for how much simpler it would be to make the buyer take on the fee then I'd take a look however given the first point it would have to be super good for the contract otherwise I cannot accept such a bad UX for the buyer.

So my thought process was the party that receives the deposited funds will pay the arbiter (with the deposited funds).  If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa.  To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter.  This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction.  One counterargument is: won't the seller just increase the price of their goods to account for the arbiter fee?  However, the seller can do this with the existing design as well.
In terms of code simplicity, we can remove all instances of transferring the fee amount back to the seller.  This is because either:
1.) The user (either buyer or seller) will get unspent fees back if the arbiter chooses to not select the full payment amount when resolving
2.) No transfers are necessary when a new arbiter is proposed/accepted (this is because the arbiter is now getting paid from the deposited funds rather than separately)

I'm not a fan of the current arbiter fee mechanism. I think it would be much simpler to send the arbiter their fee as part of the buyer deposit whenever they resolve a dispute This would reduce transfers and refunds between the seller and the contract, and arbiter proposal checks. The only downside I can think of is the arbiter has to get paid with the same asset as the seller.

One party must pay a fee for the arbiter which means either the buyer or the seller must deposit collateral. In the real world, afaik, it's the seller that has to have insurance so that any buyer can interact with them. I find the buyer needing to pay X amount more to be friction for the buyer and a huge negative in terms of UX. Just thinking about it makes me not want to interact with that system. The buyer should have an easy experience while the seller is the one taking on the overhead. Imagine if you had to put down collateral for any purchase that involves a third party...
I'm unsure about simplicity if your choice were to be implemented. This is an edge case scenario but even if it did happen then you are correct that either the buyer must deposit an addition X amount of an asset (which the arbiter may not be happy with) or we need another function for the buyer to deposit a different asset which comes back to the same problem as with the seller but potentially worse as it might require 1 more function than we currently have, but maybe not.
If you'd like to come up with some code as a proposition for how much simpler it would be to make the buyer take on the fee then I'd take a look however given the first point it would have to be super good for the contract otherwise I cannot accept such a bad UX for the buyer.

So my thought process was the party that receives the deposited funds will pay the arbiter (with a portion of the deposited funds). If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa. To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter. This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction. One counterargument is: won't the seller just increase the price of their goods to account for the arbiter fee? However, the seller can do this with the existing design as well.
In terms of code simplicity, we can remove all instances of transferring the fee amount back to the seller. This is because either: 1.) The user (either buyer or seller) will get unspent fees back if the arbiter chooses to not select the full payment amount when resolving 2.) No transfers are necessary when a new arbiter is proposed/accepted (this is because the arbiter is now getting paid from the deposited funds rather than separately)

If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa
There is no "sellers end" unless the seller deposits. It's just the deposit from the buyer minus the fee however an arbitration fee may be much greater than the fee for the trade so the buyer would need to deposit a large amount for something cheap. That's not good.

To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter.
Quite the opposite for me. The deposited funds are for the product the seller is providing and not an additional fee to the arbiter. I cannot think of a use case where I would have ever needed to pay for a product and for someone else to come in and sort something out because the seller messed up. Let's suppose that happened and I, as the buyer, have deposited for the product and the fee, the arbiter will take some fee and now I am penalised for the bad behaviour of the seller. The seller has never deposited anything so they can do whatever they want only at the cost of creating the escrow.
If the buyer deposits for only the product that they are paying for and the seller is depositing an arbitration fee in case the buyer disputes then there is a convoluted resolution if the buyer is acting out. The arbiter takes a fee from the seller and sends the funds to the seller. At this point the seller would need to refund the buyer a portion which hopefully is not greater than the fee. They could just keep the funds at that point but 1) there may be legal things going on externally which prevent this or 2) if you're a malicious buyer then I have no interest in protecting your funds. If the seller keeps them at that point then you shouldn't have been malicious.
Either way a just resolution can be reached in all cases except when the buyer is not malicious and the arbiter colludes with the seller and you lose your deposit and don't get the product / service which again may have legal ramifications.

This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction
Yes, for the seller but not the buyer. The buyer is a random person interacting with some service. They should not have to deal with the overhead of managing arbiters etc. The seller and buyer agree before the escrow or even after (since they can change it) and hopefully they never have to go into resolution. The seller is the business-person that has to navigate the legal landscape. In your scenario it's completely flipped and now every buyer must know about every service in all detail in order to interact with them rather than just showing up and depositing.

As for the last part I was implying that I'd like to see the code rewritten to be completely functional and simpler as per the suggestion rather than having to rethink the whole thing myself based on your suggestion.

So my thought process was the party that receives the deposited funds will pay the arbiter (with a portion of the deposited funds). If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa. To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter. This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction. One counterargument is: won't the seller just increase the price of their goods to account for the arbiter fee? However, the seller can do this with the existing design as well.
In terms of code simplicity, we can remove all instances of transferring the fee amount back to the seller. This is because either: 1.) The user (either buyer or seller) will get unspent fees back if the arbiter chooses to not select the full payment amount when resolving 2.) No transfers are necessary when a new arbiter is proposed/accepted (this is because the arbiter is now getting paid from the deposited funds rather than separately)

If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa

There is no "sellers end" unless the seller deposits. It's just the deposit from the buyer minus the fee however an arbitration fee may be much greater than the fee for the trade so the buyer would need to deposit a large amount for something cheap. That's not good.

By "sellers end" I just mean their revenue (the funds from the buyer).  In general I assumed the arbiter fee would be a relatively small percentage of the total trade.  Why would anyone (buyer or seller) pay an arbiter fee greater than the value of the underlying trade.  They would be better off just taking the loss of the assets than paying a greater sum trying to recover them.

To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter.

Quite the opposite for me. The deposited funds are for the product the seller is providing and not an additional fee to the arbiter. I cannot think of a use case where I would have ever needed to pay for a product and for someone else to come in and sort something out because the seller messed up. Let's suppose that happened and I, as the buyer, have deposited for the product and the fee, the arbiter will take some fee and now I am penalised for the bad behaviour of the seller. The seller has never deposited anything so they can do whatever they want only at the cost of creating the escrow. If the buyer deposits for only the product that they are paying for and the seller is depositing an arbitration fee in case the buyer disputes then there is a convoluted resolution if the buyer is acting out. The arbiter takes a fee from the seller and sends the funds to the seller. At this point the seller would need to refund the buyer a portion which hopefully is not greater than the fee. They could just keep the funds at that point but 1) there may be legal things going on externally which prevent this or 2) if you're a malicious buyer then I have no interest in protecting your funds. If the seller keeps them at that point then you shouldn't have been malicious. Either way a just resolution can be reached in all cases except when the buyer is not malicious and the arbiter colludes with the seller and you lose your deposit and don't get the product / service which again may have legal ramifications.

This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction

Yes, for the seller but not the buyer. The buyer is a random person interacting with some service. They should not have to deal with the overhead of managing arbiters etc. The seller and buyer agree before the escrow or even after (since they can change it) and hopefully they never have to go into resolution. The seller is the business-person that has to navigate the legal landscape. In your scenario it's completely flipped and now every buyer must know about every service in all detail in order to interact with them rather than just showing up and depositing.

Don't the buyers already have to deal with some overhead of managing arbiters?  They still have to accept proposed arbiters.  Not to mention that sellers will just raise their prices to cover their arbitration costs.

As for the last part I was implying that I'd like to see the code rewritten to be completely functional and simpler as per the suggestion rather than having to rethink the whole thing myself based on your suggestion.

After reading your comments I'm having second thoughts about my suggestion.  It's apparent to me now that my suggestion is not an obvious improvement.  That being said I think the ideal solution would be to charge the seller the arbitration fee when a dispute is ruled in favor of the buyer, and charge the buyer the arbitration fee when a dispute is resolved in favor of the seller.  However, I think the current design is good enough.

So my thought process was the party that receives the deposited funds will pay the arbiter (with a portion of the deposited funds). If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa. To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter. This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction. One counterargument is: won't the seller just increase the price of their goods to account for the arbiter fee? However, the seller can do this with the existing design as well.
In terms of code simplicity, we can remove all instances of transferring the fee amount back to the seller. This is because either: 1.) The user (either buyer or seller) will get unspent fees back if the arbiter chooses to not select the full payment amount when resolving 2.) No transfers are necessary when a new arbiter is proposed/accepted (this is because the arbiter is now getting paid from the deposited funds rather than separately)

If the arbiter resolves the dispute in favor of the seller it will come out of the sellers end and vis versa

There is no "sellers end" unless the seller deposits. It's just the deposit from the buyer minus the fee however an arbitration fee may be much greater than the fee for the trade so the buyer would need to deposit a large amount for something cheap. That's not good.

By "sellers end" I just mean their revenue (the funds from the buyer). In general I assumed the arbiter fee would be a relatively small percentage of the total trade. Why would anyone (buyer or seller) pay an arbiter fee greater than the value of the underlying trade. They would be better off just taking the loss of the assets than paying a greater sum trying to recover them.

To me it makes the most sense to just pay the arbiter with the deposited funds in the contract, rather than depositing funds separately for the arbiter.

Quite the opposite for me. The deposited funds are for the product the seller is providing and not an additional fee to the arbiter. I cannot think of a use case where I would have ever needed to pay for a product and for someone else to come in and sort something out because the seller messed up. Let's suppose that happened and I, as the buyer, have deposited for the product and the fee, the arbiter will take some fee and now I am penalised for the bad behaviour of the seller. The seller has never deposited anything so they can do whatever they want only at the cost of creating the escrow. If the buyer deposits for only the product that they are paying for and the seller is depositing an arbitration fee in case the buyer disputes then there is a convoluted resolution if the buyer is acting out. The arbiter takes a fee from the seller and sends the funds to the seller. At this point the seller would need to refund the buyer a portion which hopefully is not greater than the fee. They could just keep the funds at that point but 1) there may be legal things going on externally which prevent this or 2) if you're a malicious buyer then I have no interest in protecting your funds. If the seller keeps them at that point then you shouldn't have been malicious. Either way a just resolution can be reached in all cases except when the buyer is not malicious and the arbiter colludes with the seller and you lose your deposit and don't get the product / service which again may have legal ramifications.

This would also allow for the seller to create Escrows with no up front capital, which in my opinion reduces friction

Yes, for the seller but not the buyer. The buyer is a random person interacting with some service. They should not have to deal with the overhead of managing arbiters etc. The seller and buyer agree before the escrow or even after (since they can change it) and hopefully they never have to go into resolution. The seller is the business-person that has to navigate the legal landscape. In your scenario it's completely flipped and now every buyer must know about every service in all detail in order to interact with them rather than just showing up and depositing.

Don't the buyers already have to deal with some overhead of managing arbiters? They still have to accept proposed arbiters. Not to mention that sellers will just raise their prices to cover their arbitration costs.

As for the last part I was implying that I'd like to see the code rewritten to be completely functional and simpler as per the suggestion rather than having to rethink the whole thing myself based on your suggestion.

After reading your comments I'm having second thoughts about my suggestion. It's apparent to me now that my suggestion is not an obvious improvement. That being said I think the ideal solution would be to charge the seller the arbitration fee when a dispute is ruled in favor of the buyer, and charge the buyer the arbitration fee when a dispute is resolved in favor of the seller. However, I think the current design is good enough.

Why would anyone (buyer or seller) pay an arbiter fee greater than the value of the underlying trade.

Yeah, I didn't want to make any assumptions in the code that could potentially force one amount or another.

Don't the buyers already have to deal with some overhead of managing arbiters? They still have to accept proposed arbiters.

My thoughts are that they only have to approve them off-chain (this could be as simple as looking up an address on some website from a firm) and if another proposition is done during the lifetime of the escrow then it's the same process but now they have to approve a call to change the address and fee amount.
This only reduces the friction in so much as the buyer has to agree that they seem reputable enough to accept and thus no further research or insurance etc. has to be done - but it could be and arguably it should be. Nevertheless, it's the job of the seller to provide a service which as you've mentioned can be, and usually is, factored into the fee.

That being said I think the ideal solution would be to charge the seller the arbitration fee when a dispute is ruled in favor of the buyer, and charge the buyer the arbitration fee when a dispute is resolved in favor of the seller. However, I think the current design is good enough.

When a resolution is performed by the arbiter the arbiter can select an amount they would like to take as payment from the collateral of the seller. With this action they select either the buyer or seller as the party that the deposit from the buyer goes to. This means that if the buyer is at fault the full deposit goes to the seller and some portion of the fee goes to the arbiter (in most cases it's probably going to be all of it otherwise some gets returned to the seller). On the other hand if the seller is at fault then the buyer gets their deposit back and the seller pays some fee again.
In effect, the buyer can be charged "an arbitration fee" since they lose their deposit.
I agree that the design isn't perfect. It took a while to think of something functional that isn't inherently too bad for anyone involved. One of those ideas was to deal with a % fee which was too much of a pain so a flat rate is set.
Another idea was to have both parties deposit collateral too.

Will the arbiter become an Option once supported by the SDK? A large part of the ethos of defi is getting rid of the middle man, settling things on-chain, and stricly with code. Introducing someone in the middle and depending on an external party to resolve a conflict is what blockchain is supposed to circumnavigate. While it may be useful in some cases, I believe we should be careful in reintroducing the same probelms we see in the real world today.

Will the arbiter become an Option once supported by the SDK?
Nope, there must always be an arbiter under this implementation so no options. There may be a spin off contract which is much simpler in the future but that will require careful consideration again.

An escrow requires an arbiter otherwise it doesn't make sense to use an escrow because if either party can just pull out their collateral / deposit at any time then there's no protection in the exchange for either party. Perhaps there are implementations of escrows that have somehow circumvented this but afaik an escrow always requires a 3rd party otherwise it cannot work.
If you know of any implementations then let me know. Initially I wanted to completely remove the 3rd party i.e. no arbiter, no oracle etc. but I couldn't think of a safe way to implement the escrow without 1 party screwing over another in some situation.

Will the arbiter become an Option once supported by the SDK? A large part of the ethos of defi is getting rid of the middle man, settling things on-chain, and stricly with code. Introducing someone in the middle and depending on an external party to resolve a conflict is what blockchain is supposed to circumnavigate. While it may be useful in some cases, I believe we should be careful in reintroducing the same probelms we see in the real world today.

Will the arbiter become an Option once supported by the SDK?
Nope, there must always be an arbiter under this implementation so no options. There may be a spin off contract which is much simpler in the future but that will require careful consideration again.

An escrow requires an arbiter otherwise it doesn't make sense to use an escrow because if either party can just pull out their collateral / deposit at any time then there's no protection in the exchange for either party. Perhaps there are implementations of escrows that have somehow circumvented this but afaik an escrow always requires a 3rd party otherwise it cannot work. If you know of any implementations then let me know. Initially I wanted to completely remove the 3rd party i.e. no arbiter, no oracle etc. but I couldn't think of a safe way to implement the escrow without 1 party screwing over another in some situation.

After realizing that this involves off-chain transactions, yes a 3rd party is indeed needed. The original escrow involved only on-chain assets hence my confusion.
This should be included in the documentation. I also believe in that case it would be a good idea to have 2 different escrow applications, one for on-chain assets and another for off-chain in the same manner that we have different auction applications.


Add a photo of yourself to the website

can also potentially be drawn pictures

All pictures have been added


Speech Recognition Infrastructure Services on Ethereum

Introduction
Computers can turn speech into text. It's sometimes called "Speech Recognition".
It takes a lot of previewing per and memory, to run some funky algorithms to transcode an audio file into binary then unicode.
This means that only big centralised monopolies and governments can play with it at scale. This in turn makes it a tool reserved for the wealthy, and not for the poor.
By drastically lowering the costs of running speech recognition software, it will empower independent software developers to use speech recognition in their applications. This will benefit real people with new tools which they have never seen before.
Idea description
This project is the seed of an idea to build a decentralised and distributed network of "Recognisers", which consume audio content, and create text, and are paid by "Broadcasters" for performing the work.
In some ways it can be likened to Livepeer's "Transcoders" which consume hi-res video content, and create lo-res video content. This makes the video more accessible to people who are watching on slow internet connections or 3-year-old smartphones, who still want to watch it live.
"Transcoders" and are paid by "Broadcasters" for performing the work to resize the content. This provides the "Transcoders" with an income.
Specific Deliverable of the project: Draft White Paper v 0.1
Specific Deliverable of the project: Minimum Viable Implementation... and I mean Minimum
Research Topics

Open Source Speech Recognition
Livepeer's DPoS Protocol
Gini Coefficient Maximisation
Barrier To Entry Minimisation
Market Analysis / Key Metrics

Skillset

[x] Core Blockchain Development (Go, C++, Rust)
[x] Smart Contracts (Solidity, Vyper)
[x] DApps, Web3.JS (JavaScript, CSS)
[x] Design, User Experience
[x] Project Management
[x] Mechanism Design
[x] project assistant

Communication
Please leave a question in a comment below.

OK, some initial thoughts on the research topics

Open Source Speech Recognition

Does any software exist which already does this?
What license is it released under?

Livepeer's DPoS Protocol

How are they using mechanism design / tokens / staking to secure the network?
How does the protocol reward early and consistent participation?
How can this model be improved upon, what has been learned from experience so far?

Gini Coefficient Maximisation

What value is there to distributing a stake in the network, to lots of people?
How do you mechanically distribute tokens in ways that don't breach any moral and legal principles.
How to use tokens to incentivise the individuals who have the highest likelihood of collaborating to make the project eventually successful.

Barrier To Entry Minimisation

How to minimise the barrier to entry, so that anyone with an interest in contributing, can get some "skin in the game", without giving it away for free?
How to include people from all continents in the development process, not just N. America / Europe?

Market Analysis / Key Metrics

What is the one key metric that we can find, and trust, and use to inspire us that this idea is worth pursuing?
Are there any reasons why we should NOT pursue this project?

Also interested in this one.
Could add a learning App/component to it for people who want to learn and speak new languages.
Or by using mechanical Turks.

Hi, here is a reference to a project related to decentralized Speech Recognition:
https://medium.com/@IkishanShah/anryze-the-decentralized-speech-recognition-platform-4680b289c544
Not much technical details provided though.
Here is also another platform to build open source voice assistants:
https://snips.ai

@wslyvh you're completely right.
@gabrielfior I also saw Anryze. Seems like a brand, perhaps worth collaborating.

Please visit the project's DAO, which will be used to govern this project.
To participate, you can:
Request a ESR voting token using the Token application.
Deposit and Withdraw ETH / Tokens using the Finance application.
Ask the DAO questions, using the Voting application.

Hi, sounds interesting! I'm a data scientist with blockchain dev experience, I'm working on a general compute services orchestrated by ethereum smart contracts. How can we connect this weekend?

Hi @MarcusJones. I'm at Factory now. I'm very tall and wearing bright blue shirt and red shoes. Let's find each other.

I will be there in around an hour so will ask you again then where are you :)

Cool, I just got in, ocean protocol t shirt, you guys have a rough location?
On Fri, Aug 23, 2019, 17:38 Magdalena Trzeciak<EMAIL_ADDRESS>wrote:

I will be there in around an hour so will ask you again then where are you
:)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ethberlinzwei/Find-A-Team/issues/28?email_source=notifications&email_token=AAGCXOPIE2KU2R6S2UQLFCDQF777BA5CNFSM4IN7F52KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5ASFFI#issuecomment-524362389,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGCXON3CG4ASP3UNAQWQSDQF777BANCNFSM4IN7F52A
.

I'm at Chainlink, wearing black&white skirt, maybe it will be easier if you look around and find me;)

Sorry must have missed you! I'm at the entrance courtyard benches with a laptop :)

Hey @MarcusJones and @mtagda - are you around?
Let me know if you're interested in shaping up a mini plan

OK, here is some background reading, to understand some things related to the research topics:
For mechanism design / incentives mechanism, start here:
https://github.com/livepeer/wiki/blob/master/WHITEPAPER.md
For OS speech rec software:
https://fosspost.org/lists/open-source-speech-recognition-speech-to-text
For ideas on the distribution:
https://forum.livepeer.org/t/introducing-the-merklemine/204
https://medium.com/commonwealth-labs/whats-in-a-lockdrop-194218a180ca
https://github.com/ethberlinzwei/Find-A-Team/issues/19

I will happily give a deeper perspective on Livepeer's incentive and distribution if you would like.
Perhaps let's try to get something working in terms of a "dirty" prototype also. It should probably include a) something that turns audio into text, and b) some minimum viable smart contract interaction, e.g. "Recogniser" requests payment from "Broadcaster"


🐞 - Backdrop not always positioned properly

Which ngx-ui-tour-* package is the source of the bug?
md-menu
Please provide a link to a minimal reproduction of the bug
No response
Description
I don't know why it does not happen with the demo, but for me the backdrop is sometimes not updated.
This is especially the case, when the developer tools are enabled or disabled. The reason seems to be that the resize listener does not trigger then. I added a breakpoint to the setBackdropPosition method and it was not triggered.
I had similar problems and the only reliable fix for me was actually a timer.

Angular version

Ngx UI Tour version
11.0.3
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

Does this ever happen when dev tools are not open?
Anyway, you can try to set delayBeforeStepShow to see if that helps.

It happens while I am on a step and the backdrop is always visible. When I then turn on developer console, the backdrop is not updated. If I resize the window normally it gets updated.

Does this happen when developer console is not open? Yes or No?
Have you tried delayBeforeStepShow to see if it helps?
Does this happen when using smooth scroll feature?
Can you reproduce the issue on Stackblitz without dev console: https://stackblitz.com/edit/angular-wau2z8 ?

I think you get me wrong. The flow is as followed:

You go to a step, then the backdrop renders properly
If you then open the developer console, the backdrop is not repositioned, because the resize event is not triggered.
Therefore scolling and delayBeforeStepShow has no impact.

If it's caused only by opening dev console, I don't think that's an issue for normal users.
If you manage to consistently reproduce the issue without dev console open/close, feel free to submit a new issue.

I can reproduce it here: https://stackblitz.com/edit/angular-wau2z8-lbkisp?file=src%2Fstyles.scss
You need a scroll container for that. It also happens when I resize the window with Window + Arrow keys.

That's not a bug with the library. When you are using custom scroll container, you have to specify it using scrollContainer config: scrollContainer: '.container'. Then everything works fine.
Anyway, feel free to open new issue to improve the docs.

Ok, another issue with your demo is that you have two main content scroll containers (.container and html). Normally you would have only one.

Here is your reproduction fixed and working as intended: https://stackblitz.com/edit/angular-wau2z8-towkfa

Thanks. I found the same solution. I think I would probably set the html and body to overflow: hidden dynamically, because I cannot foresee what could actually break, if I change that, but this seems to work.


User Metadata in the UI

Is your feature request related to a problem? Please describe.
Currently the UI is driven by data provided by the server, which is technical and not easily understandable by someone new to Temporal or the workflows being run. It would be great to allow users to write their own metadata so it can be more easily understood.

Describe the solution you'd like
Provide users the ability to view summary and details metadata as a Payload on a workflow and on all events in the event history, and query for the current state of the workflow. The UI should support Markdown if provided in the metadata

Describe alternatives you've considered

Additional context

https://github.com/temporalio/ui/pull/2423


[Feature Request] Image creation

Would be awesome if your project could render a HQ image with a click of a button for desktop wallpapers.

Hi @christopherburton, thanks for bringing this up.
I am working on a v2.0 of uigradients and this is definitely something which is in the works. You can take a sneak peak at the code here - https://github.com/ghosh/uiGradients/blob/2.0/src/services/gradientDownloader.js
Since you brought this up, a quick question to you - What do you think the size of the image should be?
The way I see it, there are two options:-

A fixed size based on the most popular browser size
A dynamic size based on the current users display resolution

Just something I have been thinking about, yet to take a final call.

Hey, @ghosh. Glad you already thought of this. This is a good question. If I were doing it, I would go based on the user's display resolution if we're talking about desktop wallpapers.

Released in 2.0


Refactor logic

Refactored Logic classes.
Also renamed a few files in Ui as the application could not run.
However, new bugs have surfaced where individual 'eateries' cannot be displayed.

Codecov Report

Merging #37 (b1abd13) into master (fba608f) will not change coverage.
The diff coverage is 93.54%.

@@            Coverage Diff            @@
##             master      #37   +/-   ##
=========================================
  Coverage     71.96%   71.96%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1234     1234
  Branches        125      125
=========================================
  Hits            888      888
  Misses          314      314
  Partials         32       32

Impacted Files
Coverage Δ

...java/eatwhere/foodguide/commons/core/Messages.java
0.00% <ø> (ø)

...eatwhere/foodguide/logic/commands/ListCommand.java
100.00% <ø> (ø)

...rc/main/java/eatwhere/foodguide/ui/EateryCard.java
0.00% <ø> (ø)

...rc/main/java/eatwhere/foodguide/ui/MainWindow.java
0.00% <0.00%> (ø)

...in/java/eatwhere/foodguide/logic/LogicManager.java
75.00% <100.00%> (ø)

...twhere/foodguide/logic/commands/DeleteCommand.java
100.00% <100.00%> (ø)

...eatwhere/foodguide/logic/commands/EditCommand.java
97.01% <100.00%> (ø)

...eatwhere/foodguide/logic/commands/FindCommand.java
100.00% <100.00%> (ø)

...here/foodguide/logic/parser/EditCommandParser.java
92.59% <100.00%> (ø)

...twhere/foodguide/logic/parser/FoodGuideParser.java
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

The PR looks good, just resolve the merge conflicts. Can merge after that.

Merge conflicts should be resolved!

lgtm


Suggestions caused by Get-GitStatus with every command on PowerShell 7.2.0

Prerequisites

[x] I have read and understand the CONTRIBUTING guide
[x] I looked for duplicate issues before submitting this one

Description
I've updated my oh-my-posh installation and this PR https://github.com/JanDeDobbeleer/oh-my-posh3/pull/130 seems to have caused some unintended issues with PowerShell 7.2.0. Essentially, every command I run results in seeing Suggestion [4,General]: The most similar commands are: Get-BCStatus. at the end of the output.  This is because Get-GitStatus does not exist.
This check https://github.com/JanDeDobbeleer/oh-my-posh3/blob/main/src/init/omp.ps1#L11 is causing the problem. If I invoke Get-Command -Name "Get-GitStatus" -ErrorAction SilentlyContinue, there is no output but I still get the suggestion.
Environment

Oh my Posh version: 3.68.4
Theme: Any
Operating System: Windows 10 Pro
Shell: PowerShell 7.2.0-preview.1
Terminal: Windows Terminal 1.5.3242.0

Steps to Reproduce

Set-PoshPrompt -Theme <any theme>
Run a command
See suggestion output in command

Expected behavior: [What you expected to happen]
Commands to run without suggestion output
Actual behavior: [What actually happened]
Every command has suggestion for Get-BCStatus.
I should mention that this doesn't occur with PowerShell 7.1.0 and isn't a fault of OMP3 but it might be something to track. This issue filed here suggests it's a known problem. https://github.com/PowerShell/PowerShell/issues/11906

I noticed that too and it annoys the crap out of me.

Sorry...I forgot to add my solution.
You should use Get-Module instead. Get-Module returns an object or it doesn't, so there's no suggestions being made.
(Get-Module posh-git).ExportedCommands.Keys.Contains("Get-GitStatus")

This command will return True if Get-GitStatus exists, It will return False if it doesn't exist but Posh-Git is installed (I don't use posh-git so dunno if this is possible).  If posh-git doesn't exist at all, there's no output.

Sorry...I forgot to add my solution.
You should use Get-Module instead. Get-Module returns an object or it doesn't, so there's no suggestions being made.
(Get-Module posh-git).ExportedCommands.Keys.Contains("Get-GitStatus")

This command will return True if Get-GitStatus exists, It will return False if it doesn't exist but Posh-Git is installed (I don't use posh-git so dunno if this is possible).  If posh-git doesn't exist at all, there's no output.

@daddycocoaman chill, in the meantime I was on the same path :-) See the commit linked. There's no output when I do things this way.

@daddycocoaman chill, in the meantime I was on the same path :-) See the commit linked. There's no output when I do things this way.

Dope. Thanks for dope tool!

Dope. Thanks for dope tool!


undefined method `freecen_individual' for nil:NilClass

Errbit error - https://errbit.freeukgen.org.uk/apps/5b63313de937903f2020c67f/problems/5b8fe8a7e93790df64ef4fd0

Completed & to be deployed this sprint.


MTU issues

Hi all,
I'm trying to leverage larger MTUs and get high speeds in LAN environment. For the immediate tests, I'm using loopback interface which in my case has 16K MTU. I have determined that the real MTU is actually ~9000 (can't remember the exact number). Above that, I get IP fragmentation.
All those above are some explanations to offer a context to my problem. Here is the problem. Suppose we have pre-determined MTU of 5000. Consider it is determined out of band, well known and stable (does not change). There will be no IP fragmentation nor any fragmentation anywhere along the stack, including protocols like DTLS (I have tested it).
I am setting the HB and MTU like this, in one go:
//setup PMTUD and heartbeat
struct sctp_paddrparams params;
memset(&params, 0, sizeof (params));
memcpy(&params.spp_address, &_destAddress, sizeof (_destAddress));
params.spp_assoc_id = 0;
params.spp_flags = SPP_HB_ENABLE //HB info
		| SPP_PMTUD_DISABLE //we don't want PMTUD. We have it detected already
		;
params.spp_hbinterval = 1000; //Send a HB once a second
params.spp_pathmaxrxt = 10; //max of 10 HB missing after which the connection is terminated
params.spp_pathmtu = 5000;
usrsctp_setsockopt(_pSCTPSocket, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS,
	&params, sizeof (params));

When sending stuff with usrsctp_sendv I always send 4900 bytes chunks. That number is subjective and arbitrary. I've thought I should just allow 100 bytes extra, because I don't know what is the protocol overhead, and seems there is no way to find that information. And here is the issue: instead of sending a single SCTP packet with a single DATA chunk in it, the library is sending a sequence like this:

I have tried to use SCTP_MAXSEG with both 5000 and 4900 and it still sends 4 DATA chunks per packet instead of one.
I'm expecting to send a single DATA chunk per SCTP packet. And no matter what I have tried so far, I can not convince the library to do that.
Running the head of master (d520eafea3039ba883f3a449f55c4fb0283594f7)
Best regards,
Andrei

Follow up: despite my attempt to overcome that 10 bytes overshoot by sending 4900 bytes only instead of 5000 which is the MTU, I still overshoot the hard imposed target of 5000. As we can see, the pkts have 5010 bytes. I would love to know how can I impose that hard limit of X bytes per SCTP packet and how to convince the library to send a single large DATA chunk per SCTP packet.

Followup 2:
Same conditions explained above, but instead of sending 4900 bytes, I thought I would send 1252 bytes per usrsctp_sendv call. I pretty soon get a connection abort. Attached the pcap files from both sides.
Archive.zip

Followup 3:
More data on the issue:
sctpstat::sctps_sendpackets: 0
sctpstat::sctps_sendsacks: 0
sctpstat::sctps_senddata: 0
sctpstat::sctps_sendretransdata: 0
sctpstat::sctps_sendfastretrans: 0
sctpstat::sctps_sendmultfastretrans: 0
sctpstat::sctps_sendheartbeat: 0
sctp_status::sstat_primary::spinfo_state: 1
sctp_status::sstat_primary::spinfo_cwnd: 4380
sctp_status::sstat_primary::spinfo_srtt: 0
sctp_status::sstat_primary::spinfo_rto: 0
sctp_status::sstat_primary::spinfo_mtu: 5000
sctp_status::sstat_assoc_id: 3
sctp_status::sstat_state: 2
sctp_status::sstat_rwnd: 5000000
sctp_status::sstat_unackdata 0
sctp_status::sstat_penddata: 0
sctp_status::sstat_instrms: 0
sctp_status::sstat_outstrms: 1023
sctp_status::sstat_fragmentation_point: 1252

Every time I send exactly sctp_status::sstat_fragmentation_point bytes, I get immediately disconnected, even with the standard MTU (no other MTU options applied on the socket). Here are the pcap files:
Archive.zip

@shiretu I see your point. Configuring the MTU for the SCTP/DTLS stack might not work. The Browser vendors wanted a static setup which always works...
Path MTU discovery right now does not work (there is no ICMP feedback), but we have patches on the way.
However, static configuration should work. I'll look into it.

@tuexen : Thanks for looking into that. The static MTU setting has now become my secondary concern (regarding that DATA fragmentation). The main issue became the one described in Followup 2 and Followup 3. Those are show stoppers, at least for me. I can see how sending few packets of those exact size might trigger some unwanted dropouts.

@tuexen: on large MTU (like explicitly configured LAN or loopback), I get well in excess of 1gbps. Seen 1.4gbps :)

@tuexen : I am now performing PMTUD through STUN, completely outside of DTLS/SCTP :)
I'm able to determine the exact UDP payload size between the 2 points, byte accurate, with chrome on one side and my lib on the other side. Having that max UDP packet payload size, I can now compute max DTLS packet payload size as well, because OpenSSL has some primitives to spit out DTLS protocol overhead. Knowing this value, I would like to apply it to SCTP. However, I'm lacking the theoretical protocol overhead number, so, while knowing DTLS max payload size, I still can't compute the max SCTP DATA chunk size.
I would love to be able to compute that. It will make things so much better, especially on certain ISPs.
Also, it is paramount that once an MTU was set on the SCTP socket, the SCTP stack must not exceed it, under any circumstances. That will break the chain of computations upwards of it, in DTLS and finally in UDP. I can see that this rule is currently broken: setting MTU of 5000 yields SCTP packets of 5010 bytes long.
Best regards,
Andrei

What you provide in spp_pathmtu is what is written in the RFC 6468: It is the number of bytes available in an SCTP packet for chunks. So if you use spp_pathmtu = 9000, and you are using DATA chunks, your maximum number of bytes of a user message is 9000 - 16. The overall SCTP packet will be 9000 bytes plus the size of the common header, which is 12. So without fragmentation, you can get 8984 bytes in a packet of size 9012 bytes.
If you set the MTU using the setsockopt() call, before calling connect() or accept(), you will see DATA chunks of size 9000 bytes (including DATA chunk header). However, if you call setsockopt() after the association has been established, you will see a lot of bundled fragments. This is a limitation of the current code. When you establish the association, the default MTU will be used, which is 1280 - 12 = 1268. Then the setsockopt() call will increase the path MTU or even all path MTUs, but not the association MTU. This association MTU is used for fragmentation.
Allowing also to increase the association MTU is a change coming with the PMTUD fix. If needed, I can put that in sooner. So let me know if you can set the MTU early enough... or if my description does not work in your setup.
Here is an example how to set the MTU on an end-point: https://github.com/sctplab/usrsctp/commit/0c9e6498e223c9e69bcea739ccef80f91ddf9e70.

@tuexen: I can confirm: setting the MTU before bind/accept/connect solved the multi-DATA on the same SCTP packet issue.

1584505171800 ms; global IN/OUT: speed:  -1/  2gbps; amounts: 0/1373707520
1584505176800 ms; global IN/OUT: speed:  -1/  2gbps; amounts: 0/2746695604
1584505181800 ms; global IN/OUT: speed:  -1/  2gbps; amounts: 0/4077255856

@tuexen : that's what a 9000 MTU does 👍

Thanks for the feedback!


Login - Language changes if logging after logging out from account with other language

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.46-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/5054477&group_by=cases:section_id&group_order=asc&group_id=229070
Issue reported by: Applause - Internal Team
Action Performed:

Open the staging.new.expensify.com website
Click on "Settings"
Click on "Preferences"
Click on "Language"
Set the language to "English"
Log out from the account
Log in to a different account
Click on "Settings"
Click on "Preferences"
Click on "Language"
Set the language to "Spanish"
Log out from the account
Log in again with the first account
Verify the language is displayed as it was saved before logging out

Expected Result:
Language selected, should remain the same everytime the user logs in
Actual Result:
Language in account is changed if the user logs in after logging out of a different account with a different language setted
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/25b54adc-ad7d-4c26-bf1b-4b20259ab45e
View all open jobs on GitHub

@OfstadC  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Posted in Slack for confirmation

Closing since this is unlikely flow for a user to encounter


Do not modify the original value passed in executeBatch call

Describe your changes and provide context
Changing executeBatch to operate on a value arg copy rather than original value (that is being modified during calculations).
Needed to preserve the value immutability since gas estimating logic does assume that.
Testing performed to validate your change

Unit test
Local node testing

Codecov Report
Attention: Patch coverage is 80.00000% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 61.33%. Comparing base (f985944) to head (06dd5b9).

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1661      +/-   ##
==========================================
- Coverage   61.50%   61.33%   -0.17%
==========================================
  Files         367      367
  Lines       26575    26581       +6
==========================================
- Hits        16345    16304      -41
- Misses       9137     9186      +49
+ Partials     1093     1091       -2

Files
Coverage Δ

precompiles/wasmd/wasmd.go
61.86% <80.00%> (+0.58%)
:arrow_up:

... and 3 files with indirect coverage changes


Clarification: Why do Microsoft security baselines recommend disabling the password manager?

Please can you add more information about the statement in the section "Why do Microsoft security baselines recommend disabling the password manager?"
At the moment the statement is not very helpful and raises more questions.

Which worm?
What is the attack vector/scenario?
What security-enhancing features will be added?
When will the security-enhancing features be added? (Roadmap?)

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

ID: f651e68c-34bf-d399-88e9-c9a0928d8be4
Version Independent ID: ad34ee59-01d3-c64d-d123-5484264190b8
Content: Microsoft Edge password manager security
Content Source: edgeenterprise/microsoft-edge-security-password-manager-security.md
Product: microsoft-edge
GitHub Login: @AndreaLBarr
Microsoft Alias: v-andreabarr

@LaPhi Thanks for reaching out!  We are checking with the team for clarification.

@LaPhi  It is on our roadmap to update the security baselines.  You should be able to see updates announced here: https://techcommunity.microsoft.com/t5/microsoft-security-baselines/bg-p/Microsoft-Security-Baselines
In regards to your specific questions, please see the following answers from the team:
Which worm?
This term was used to give an example of a virus that could potentially compromise all the PCs in an enterprise, once it has access. It was used as an example of the perceived trade-offs of using a password manager (where the benefit is defense against phishing sites, but comes at a potential risk of consolidating all your passwords in one location which could – in theory – be stolen by said worm)
What is the attack vector/scenario?
This term is used to signify that by having the password encryption keys of a device available in memory for any application that is running on the same machine, they can be unencrypted and stolen very easily. But this is stated as an incorrect assessment of the password manager as it’s threat model does not cover within its ambit defending against full-trust malware running on a device.
What security-enhancing features will be added?
•	PassGen
•	Primary Password
•	Password Monitor
When will the security-enhancing features be added? (Roadmap?)
All have been added to Microsoft Edge


Bug: duplicated notice on whose turn it is to make a bid for the first bid

https://cjq-dot-deliberate-lab.appspot.com/#/e/23c877c9-9b48-4669-9970-745a4faac33a/p/deadbdd9-d32a-434d-a935-349f8e9b39d3/negotiation1

I think this has been fixed. Let's test after re-deploying.


Projects take 30 seconds to load

Describe the bug
When clicking a link from outside the MakeCode Arcade environment, the link opens to the project screen relatively quickly. When clicking "Edit Code" the project then takes up to 30 seconds to load, and often exits the project back to the MakeCode Arcade home screen, where the project must be clicked on from "My Projects" in order to open it in the code editor. After it opens, a blue pop up usually appears saying that MakeCode had to be updated (but this seems to happen every time the above happens).
To Reproduce
Steps to reproduce the behavior:

Click a project link outside of the MakeCode Arcade enviroment, such as this one: https://arcade.makecode.com/S97230-28027-18394-32343
Once the project opens to the project screen, click "Edit Code"
Notice how long the project takes to open. Additionally, notice how sometimes the loading screen will return to the MakeCode Arcade homepage where the project to be opened will now appear in My Projects and need to be clicked on from there to open.

Expected behavior
MakeCode Arcade projects should open much faster than 30 seconds (like they used to) and the tool should not need to run an update every time a project is opened.
Screenshots
https://user-images.githubusercontent.com/69921936/230244777-e477d469-2ee9-42f6-a47f-ae9e82cd04df.mp4
Desktop (please complete the following information):

OS: Windows 11
Browser Chrome
Version 111

I am able to reproduce this. Non-logged in way faster (in-private) than logged in.

Thank you for taking the time to report this!
The slowdown here is due to an extraneous cloud sync the client performs on project load when the user is signed in. This unnecessary sync has been present for a long time, but is now a more of a problem due to a change we made to the way we store and cloud synced projects. They're stored in a way that is more scalable, but can take a little longer to read. The time increase per-project is small, but they compound when doing a full sync. So that's some background to this. Here's what we need to do to fix it:

P1: Remove the extraneous cloud sync performed by the client when loading a project. This alone will resolve the issue identified here.

P1: Speed up cloud project retrieval by storing a single data blob in the new storage medium per project. Right now we store two blobs per project. Cutting this down to a single blob will speed it up by 100ms or so. In particular, we should store project metadata (a.k.a. the "header") in the database itself, and only write the project contents (a.k.a. the "text") to blob store. This is a simple change, and will speed up full cloud sync nearly back to where it was prior to the recent changes.

P2: Tweak how the client performs cloud sync - make it incremental. This is how we wanted to implement it originally, but in order to mesh into the existing architecture we went with a design that mimicked the local storage. If, after the above fixes are made, we're still seeing performance problems, this might be the next step.

@bmarslandCN this bug is fixed now. Can you please test and let us know you don't see this anymore as well?

A partial fix is live now. The other half will go out in the next Arcade release or hotfix.

@abchatra @eanders-ms Confirmed that projects are opening a bit faster, and they are not kicking me back to the home screen to then have to reopen again. Thanks for this fix!!

@bmarslandCN thanks for testing. We just released a client-side fix that should improve it a little more. Can you let us know if you see additional improvement?


java.lang.NoClassDefFoundError on v2.0.0 , possibly from facebook library conflict with androidx

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/LocalBroadcastManager

Also experiencing this

If you wish to use v2.0.0 and above you will need to migrate your flutter apps to androidX
You can follow this flutter provided guide here.
https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility


Question: Is it possible to count code in *.js files as untyped?

Thanks for the great tool!
I'm currently in the process of converting a project from untyped Javascript to TypeScript. I would like to use tscov to track my progress.
My process is to slowly convert sections of the project from js files to ts and tsx files and fix errors as I go along. The project is big enough that I don't want to convert all files to ts at once and deal with type issues across it all at once.
Currently, tscov is great for checking that I have good coverage in the files I have converted (97%!), but it doesn't show me my overall progress towards converting my js files.
My idea is that there could be a flag which will change the behaviour to scan js files and report them as untyped. This will lower the overall percentage, but give a much more accurate picture of how far I have to go.
My question:

Is this currently possible with from settings in tsconfig.json?
If not, what would it take to support it? What would need to be added. If you can lay out roughly what would need to be added and where, I would happily submit a PR.

Thanks! @matt-oakes. An easy way would be by changing your .js extension to .ts. So tscov will notice these files... js to ts would be no problem I think.

The issue with that method is that I don't actually want type checking on those files yet as I want to convert the app piece by piece over time, rather than in one go.


experiment: update mdx parser to acceot custom ids on multi lingual translations

Use below format in MDX files for header tags to have custom ids (english) on translated files
Fixes URL translation (URL should be in english).
Heading Ids
### My Great Heading IN Other Language {#custom-id-in-english}

The HTML looks like this:

My Great Heading IN Other Language

Note: this is experimental and need proper testing before considering as a fix.

@praveenweb This is ready for review and live experimentation.


Dbt timestamp snapshots

Hi!
Documentation only mentions limitations in source table column constraints, but I got an error "[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The column 'dbt_updated_at' was specified multiple times for 'insertions_source_data'" with these following steps.
Created new source table in Fabric:
create table dbo.mock_orders(order_id int, status VARCHAR(100), created_at date, updated date)
Inserted data in to it:
insert into mock_orders values (1,'delivered', '2020-01-01', '2020-01-04'), (1, 'shipped', '2020-01-02', '2020-01-04'), (3,'shipped', '2020-01-03', '2020-01-04'), (4,'processed', '2020-01-04', '2020-01-04')
next, created snapshot sql in dbt:
{% snapshot mock_orders %}

{{
    config(
        target_database = 'demowh',
        target_schema = 'sch_snapshot',
        unique_key = 'order_id',
        strategy = 'timestamp',
        updated_at = 'updated',

    )

}}

select * from mock_orders

{% endsnapshot %}

and ran dbt snapshot which completed successfully and I could see the new table created in schema sch_snapshot.
After that did updates to the source table:
update mock_orders set status = 'delivered', updated = '2020-01-05' where order_id >1
and ran dbt snapshot again, but this time dbt raised the error ('42000', "[42000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The column 'dbt_updated_at' was specified multiple times for 'insertions_source_data'. (8156) (SQLMoreResults)")

@islet-mikaronkko , I tried above steps and the snapshot execution was successful second time as well. Here are few details.

Note, this is second execution. could you please confirm which adapter version your dbt project is pinned to?

Attaching my dbt-log execution.
dbt.log
There are few improvements I can make to snapshot execution, however, that should not impact this issue.
Please let me know if there is new information I am missing.

Hi @prdpsvs! I have require-dbt-version: [">=1.0.0", "<2.0.0"] in my project-file.

I was running dbt-fabric 1.8.0 earlier but noticed that there was new version so upgraded to version 1.8.4. I did the same steps again, but sadly faced the same error. Log-file attached.
dbt.log

@islet-mikaronkko, If you are available, lets do a working session for 30 minutes. What's the best way to reach you to start a private conversation?

@prdpsvs Thanks for the offer, I however just got it solved. It was just a dbt config-error where I had to specify the schema for the select-clause in the snapshot-sql. Below the working version
{% snapshot mock_orders %}

{{
    config(
        target_database = 'demowh',
        target_schema = 'snapshots',
        unique_key = 'order_id',
        strategy = 'timestamp',
        updated_at = 'updated',

    )

}}

select * from dbo.mock_orders

{% endsnapshot %}


Stats

Added a text in "Generate Project/Dataset/Object Group/Object" to tell the user, which information is required for generating.
pull request to fix #11 because stats from #22 are required here.

Stats branch can be merged into main seperatly.


Set scripts source using an absolute path

First of all, great job on this package. It is a real time saver, I've always asked myself "Should I create a dedicated bash script to run my commands? Nah, no time". You did a lot better.
However, I am currently working on multiple projects and I would like to have my derry.yaml common to those projects (commands are common ones). I would like to not have to create a .yaml file for every project, however, it seems that the scripts tag in pubspec.yaml only looks if the file exists at the root of the project.
Would it be possible to set the source as an absolute path so it can look outside of the project?

I have posted this message before trying properly, I paid too much confidence to the output of derry source command.
In my project1 pubspec, I have set
scripts: ../../scripts.yaml
Then I ran derry source, output:
/Users/houdayec/flutterdev/root/projects/project1/../../scripts.yaml
which is wrong, it should be
/Users/houdayec/flutterdev/root/scripts.yaml
as it detects properly the file (otherwise I get File Not Found error)

I have posted this message before trying properly, I paid too much confidence to the output of derry source command.
In my project1 pubspec, I have set
scripts: ../../scripts.yaml
Then I ran derry source, output:
/Users/houdayec/flutterdev/root/projects/project1/../../scripts.yaml
which is wrong, it should be
/Users/houdayec/flutterdev/root/scripts.yaml
as it detects properly the file (otherwise I get File Not Found error)

The path returned by derry source wasn't correctly normalized. It is now fixed in v1.2.1.
derry source # ../../scripts.yaml
derry source -a # /home/frenco/work/tmp/scripts.yaml
# or
# derry source --absolute

Thanks for taking the time to open this issue.

First of all, great job on this package. It is a real time saver, I've always asked myself "Should I create a dedicated bash script to run my commands? Nah, no time". You did a lot better.

Thanks for the compliment too, I really appreciated it!

The path returned by derry source wasn't correctly normalized. It is now fixed in v1.2.1.
derry source # ../../scripts.yaml
derry source -a # /home/frenco/work/tmp/scripts.yaml
# or
# derry source --absolute

Thanks for taking the time to open this issue.

First of all, great job on this package. It is a real time saver, I've always asked myself "Should I create a dedicated bash script to run my commands? Nah, no time". You did a lot better.

Thanks for the compliment too, I really appreciated it!

@frencojobs Thanks for your reactivity! Keep going with your packages :)

@frencojobs Thanks for your reactivity! Keep going with your packages :)


Consider removing rebuildShares

do we need this function at all if its just decoding?
Originally posted by @evan-forbes in https://github.com/celestiaorg/rsmt2d/pull/197#discussion_r1245341961

blocked on https://github.com/celestiaorg/rsmt2d/issues/200

Until the error handling logic isn't janky, I think it actually makes sense to retain rebuildShares as a stand-alone function so closing as won't fix.


Add IBGEN school

This PR adds a Brazilian school to the domain listing
School official website: https://www.ftec.com.br/
The links below show some IT courses available at the institution:

https://www.unifteconline.com.br/engenharia-de-computacao/p
https://www.unifteconline.com.br/gestao-da-tecnologia-da-informacao/p

@rafaelzanatta Pull request merged. Thank you!


Add support for RDS access (leave mongo access vars in place for now)

Adds puppet config to allow Imminence to talk to RDS, needed for the Postgres switch.
Imminence PR:
https://github.com/alphagov/imminence/pull/766
Related PRS:
https://github.com/alphagov/govuk-aws-data/pull/1124
https://github.com/alphagov/govuk-aws/pull/1653
https://github.com/alphagov/govuk-secrets/pull/1401
Trello Card:
https://trello.com/c/R6Lb3vYa/1611-move-imminence-away-from-mongodb-onto-postgres

I've removed the commit I added earlier to this and I've rebased it against main so you can test it again in integration. The rebase is why my face has appeared all over it, I'm not trying to steal your credit/blame 😆

In-slack approve from Sam Simpson as well.


Docker resets to AUFS after a reboot

After I reboot my system (ubuntu), Docker goes back to using AUFS as the driver.  Consequently I lose my previous images.
LCFS needs to be retained across boots.

These are the steps to recover docker images after reboot as of now:

Stop docker if running
Start LCFS with same device (/opt/pwx/bin/lcfs /dev/sdb /var/lib/docker /lcfs).
Restart docker with lcfs.   All images/containers will be restored at this point.

Jose was saying running the command " /opt/pwx/bin/lcfs-setup.sh --start" would do the above.
This need to be taken care automatically and that work is pending.

Jose added a service, which starts lcfs followed by Docker after reboot.


Not able to install this extention in brackets.Getting error

I installed latest version of brackets but while installing this extention I am getting following error.

I get the the same error.
Brackets 1.6.0-16680 (release 3df0ac6fa)

released v 0.2.5. pls check!

v 0.2.6 is latest

at 0.2.7


Remove default scope 'kept' from projects & clients model

Notion card
https://www.notion.so/saeloun/Remove-default-scope-kept-from-project-rb-996d2f3884954f35beff5646a6ef043d
Summary
The default scope was set to only return results that are kept (i. e. not discarded). Now by removing we can get the discarded projects as well. This resolves a production bug.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
By running rspecs & rails console
Checklist:

[x] I have manually tested all workflows
[x] I have performed a self-review of my own code
[x] I have added automated tests for my code

@mohinid what about the client.rb

done. Testing it now.

@akhilgkrishnan  can you pls review this pr?

@mohinid can you check the other places which calling clients and project models, would they really need the kept?

Hey no. I checked. Could find only these 2 places.

Deleted client/project should not affect any flow.
The deleted client/project should not be listed anywhere except client/project page. @supriya3105 to answer.
Check if we need deleted client/project for any calculations. So there add a condition- with discarded.
@mohinid

Deleted client/project should not affect any flow.
The deleted client/project should not be listed anywhere except client/project page. @supriya3105 to answer.
Check if we need deleted client/project for any calculations. So there add a condition- with discarded.
@mohinid

On the clients/projects page, the data for the not deleted entries should be displayed. The data of discarded clients should not be displayed. The. clients data should be retained on invoices, payments and all the reports.
If we delete a project, then the data for that project should not displayed on the clients.

Tests-
https://saeloun.slack.com/archives/D026R6WP0NS/p1667895963624009
Expected behavior -

On the clients/projects page, the data for the deleted entries should not be displayed. (only should be visible in archive projects/clients- new feature)
The deleted client/project should not be listed anywhere except on the client/project page. Passing - Results- Not displayed on TS, Clients(), Projects,
The data of discarded clients should not be displayed. - Ok
The projects'/clients' data should be retained on invoices, payments, and all reports. - Failing (Need to fix as per requirements) - Deleted client also deleted from invoice. (that was already sent), deleted clients deleted from from reports,  Deleted project data displayed on TS reports (correct), deleted client deleted from revenue report as well. (

@apoorv1316 please test the above-mentioned scenario- https://github.com/saeloun/miru-web/pull/739#issuecomment-1306829176 and confirm the results.
@supriya3105  Meanwhile I am fixing the Bug->
Deleted clients/projects are displayed in TS entry dropdown for new entries.
Expected - >Deleted client/projects- Should not be present in the list.
Note:- Supriya to open new tickets

For pending Draft Invoice /TS entries for a client which is to be deleted, user should be given a prompt to complete pending actions before performing delete actions.
Bug in bookkeeper role. as mentioned above.

@mohinid

Deleted project/client is not on the project/client page list.
TS for deleted projects/clients is visible.
Invoice of deleted client/project and the data is displayed in all the reports.
Deleted project/client not showing while creating new ts entry.


Quantity Strings (Plurals)

Just take a look here:
https://developer.android.com/guide/topics/resources/string-resource.html#Plurals

Yeah I know, it's planned for the next 1.1 release coming up this next Tuesday!

Fixed https://github.com/franciscofranco/5217-localisation/commit/659bc19654b1a64cf1847e23f2d8f715328cb3fd


jupyter notebook plots for parameter importance

Hi,
The plots in jupyter notebook were not working for some of the parameter importance analysis. I noticed that the get_jupyter() method in some of these files was referencing a different dictionary structure than the current.
I added/modify this method for each analysis type that was having issues, so that it plots the corresponding images using matplotlib in a grid.
In configurator_footprint.py I changed the import so that it stops throwing the future_warning for sklearn.

Looks good to me from a quick glance. Since it's only jupyter-methods I'd deem it safe to merge, even though travis blocks it... that's some import-struggle with smac methods, I can fix that mid-march. Only thing, I think we should maybe merge to dev-branch first to not mess up general release order?

Looks good, didn't check if it works, but can mid-March. If you checked that it works, that's good enough for me though. Otherwise, maybe change the branch to development?

Hi,
I checked the changes after installing the code as a library and there were some errors which I've now fixed, hence the new commit. Anyway, I will change the branch to development.


Fix odd rendering when splitter dragged to the top

From Brian:
Also, I don't think this is a new behavior here, but just noting that some really odd rendering happens if you drag the separator of the output area to the top of the window:

Originally posted by @WardBrian in https://github.com/flatironinstitute/stan-playground/pull/47#pullrequestreview-2119032362

Just a note... we may want to eventually swap out this custom splitter for something maintained by a third party... as part of a larger overhaul.


Add additional headers to remote write requests

I need to add additional headers to the remote write calls. I don't see any obvious way to do that in this chart. I would be open to trying to do a PR for it but would like a recommended way to specify it and implement it in the values file before I try.

I was just about to add this! Let me work on the PR and I'll add you to review.

Yay! FWIW, it would be really great if it were possible to specify the values or via a secret... ie
headers = {
          "X-Scope-OrgID" = nonsensitive(remote.kubernetes.secret.metrics_service.data["tenantId"]),
          "someKey" = remote.kubernetes.secret.metrics_service.data["someSecretKeyValue"],
   }

@petewall we're missing an equals sign here: https://github.com/grafana/k8s-monitoring-helm/blob/bdc62b6f875c08dc851c86b826e63dd0432a0f84/charts/k8s-monitoring/templates/alloy_config/_logs_service_loki.alloy.txt#L9
I tried to open a PR but I'm not on Mac and things weren't really working..

Thanks! Fixed in main.


Changelog/releases

Any chance you can start adding a changelog or using the releases feature? Hard to know what changed/broke between versions

Nice idea sir, I'll do that.


File Browser pagination/infinite scrolling not working

I recently noticed that pagination/infinite scrolling is not working after using any of the themes on Filebrowser. I went ahead and tested all the variations and found they all have the issue.
Currently using File Browser v2.0.12
After some digging around I believe I have found the issue.
In the filebrowser-base.css at the beginning under the html section overflow is set to hidden. If you remove this line file browser works as intended.

I submitted pull request #20 to fix this.

Thanks for the pr. I'm on 2.0.3 so I'm gonna upgrade to verify 👍

merged https://github.com/gilbN/theme.park/pull/20


Refactor Go code to improve import handling in CodeEnumWriter

follow up to #4621

Code is fine but there is a failing check


Support multiple-MDA (OME-Tiff) datasets

CompMicro and OpenCell teams have workflows that require reading multiple-MDA datasets, so iohub support would be extremely valuable.
Example script for CompMicro: https://github.com/mehta-lab/waveorder/pull/96
Example function for OpenCell: https://github.com/czbiohub/drug-screen-analysis/blob/master/drug_screen_analysis/functions/reader.py

Related: #93.


[BUG] [BUG]After the online product Docker was restarted, the running status of the HertzBeat collection cluster was still displayed as offline and did not recover in time .

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Expected Behavior
After dockers is successfully restarted, the HertzBeat collector needs to be back online
Steps To Reproduce
No response
Environment
HertzBeat version(s):

Debug logs

Client logs

Docker logs

2024-03-13 09:48:34 [netty-client-worker-1] INFO  org.dromara.hertzbeat.collector.dispatch.entrance.processor.HeartbeatProcessor - collector receive manager server response heartbeat, time:<PHONE_NUMBER>815.

Anything else?
No response

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿

👍Got, we will fix it.

Is this a known bug?

Is this a known bug?

yes, i thinks it is a bug.

I would like to try

hi this bug we have fixed.


Are getter Providers on instance models an anti-pattern?

Hello !
I want to create providers on classes. The reason is that the specific instance has fields required by the provider. Not only that, but they are semantically related. Take for example I have a profile specific database.
class Database {
  final String path;

  const Database(this.path);

  void saveString(String value) {
    //
  }
}

I want to place the database provider on an instance of profile because the instance contains the path.
@freezed
abstract class Profile implements _$Profile {
  const Profile._();
  const factory Profile({
    required String displayName,
    required String databasePath,
  }) = _Profile;

  AutoDisposeProvider<Database> get dbProvider {
    return Provider.autoDispose<Database>(
      (ref) {
        // This already has access to databasePath
        return Database(databasePath);
      },
    );
  }

  // As I understand, this is the preferred way but requires I use a family
  // static final altDBProvider = Provider.autoDispose.family<Database, String>(
  //   (ref, path) {
  //     return Database(path);
  //   },
  // );
}

I've actually tried it and it does work but I'm curious if this breaks things in way that isn't immediate obvious with this small contrived example. As it's a getter, I don't think it's cached or is it? If this isn't a good thing to do, is .family the preferred alternative?

Yes, this is anti-pattern.
As you've said, getters aren't cached. That means you'll be creating the providers multiple times, which will point to different Database instances.
To begin with, storing a provider as property of Profile doesn't make sense. Might as well store the Database instance itself.
If you don't want to use family and have a single DB instance in your application, you can rely on overrides:
final dbProvider = Provider.autoDispose<Dabatase>((ref) => throw UnimplementedError());

Future<void> main() {
  runApp(
    ProviderScope(
      dbProvider.overrideWithValue(Dabatase('path')),
    ),
  );
}

Yeah, sorry. Didn't really think that example through. My actual use case was for a DocumentReference from Firestore and the providers were just taking that reference and branching off it in order to get the correct collection:
// Inside Profile class
AutoDisposeStreamProvider get userBadgesProvider {
  return StreamProvider.autoDispose<Iterable<UserBadge>>(
    (ref) {
      return reference
          .collection('badges')
          .snapshots()
          .map<Iterable<UserBadge>>(
        (snapshot) {
          return snapshot.docs
              .map<UserBadge>((snapshot) => UserBadge.fromSnapshot(snapshot));
        },
      );
    },
  );
}

In any case, I think I'll just keep to .family and pass through the string path now that I know better.
Thanks Remi !


Exercise filter "Hide full score" not working correctly

Describe the bug
See attached screenshots.
There are 4 exercises in total, 3 of them with 100% score. However, "Hide full score" only hides 1 of them.
To Reproduce

Go to 'Exercises' in a course with exercises with full score
Click on 'Hide full score'
See error

Expected behavior
All courses with full score are hidden.
Screenshots

Environment

 - OS: macOS 10.15
 - Browser Safari
 - Version 13.0.2

@ungaralex what is the status of this issue?

I looked into this. The bug occurs when there are multiple results for a participation and the latest one has a full score while one of the previous results does not (the "full score" predicate right now falsely requires that all of the results have a full score instead of just the latest one). It only occurs when some of the results were sent via websockets (otherwise there is only one result that comes from the server). I'll create an MR for this and adapt the logic in the "full score" predicate.


Adding a delay option to Settings Sync

I'm using the Settings Sync feature you provide and I'm very happy with it except how often it updates. I really don't need to have it synced every 2 minutes and would rather tell it to update all 60 minutes or even more.

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


doc(Tactic): fix more mathlib3 names in doc comments

Auto-generated using a script, with manual fix-ups.

Let me remove the "easy" tag: I don't think this is particularly hard, but it's not totally obvious either.

Filed #11951 for the ToAdditive changes.

bors merge