Rule 941120: false positive for the Russian language

Description
Caught a false positive on the words "употребляют наркотики"
941120 Matched Data: ;ONB = found within ARGS:json.description: #?>B@51;ONB =0@:>B8:8
ляют н
;ONB =

Audit Logs / Triggered Rule Numbers
"response":{"body":"\r\n<title>403 Forbidden</title>\r\n\r\n
403 Forbidden
\r\n
nginx\r\n\r\n\r\n","http_code":403,"headers":{"Server":"","Server":"","Date":"Fri, 04 Dec 2020 15:21:01 GMT","Content-Length":"146","Content-Type":"text/html","Access-Control-Allow-Origin":"*","Connection":"close","Access-Control-Allow-Credentials":"true","Strict-Transport-Security":"max-age=15724800; includeSubDomains"}},"producer":{"modsecurity":"ModSecurity v3.0.4 (Linux)","connector":"ModSecurity-nginx v1.0.1","secrules_engine":"Enabled","components":["OWASP_CRS/3.3.0\""]},"messages":[{"message":"XSS Filter - Category 2: Event Handler Vector","details":{"match":"Matched \"Operator `Rx' with parameter `(?i)[\\s\\\"'`;\\/0-9=\\x0B\\x09\\x0C\\x3B\\x2C\\x28\\x3B]on[a-zA-Z]+[\\s\\x0B\\x09\\x0C\\x3B\\x2C\\x28\\x3B]*?=' against variable `ARGS:json.description' (Value: `\\xd1\\x83\\xd0\\xbf\\xd0\\xbe\\xd1\\x82\\xd1\\x80\\xd0\\xb5\\xd0\\xb1\\xd0\\xbb\\xd1\\x8f\\xd1\\x8e\\xd1\\x82 \\xd0\\xbd\\xd
(61 characters omitted)' )","reference":"o7,6v17,41t:utf8toUnicode,t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,t:removeNulls","ruleId":"941120","file":"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf","lineNumber":"89","data":"Matched Data: ;ONB = found within ARGS:json.description: C?>B@51;ONB =0@:>B8:8","severity":"2","ver":"OWASP_CRS/3.3.0","rev":"","tags":["application-multi","language-multi","platform-multi","attack-xss","paranoia-level/1","OWASP_CRS","capec/1000/152/242"],"maturity":"0","accuracy":"0"}},{"message":"Inbound Anomaly Score Exceeded (Total Score: 5)","details":{"match":"Matched \"Operator `Ge' with parameter `5' against variable `TX:ANOMALY_SCORE' (Value: `5' )","reference":"","ruleId":"949110","file":"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf","lineNumber":"80","data":"","severity":"2","ver":"OWASP_CRS/3.3.0","rev":"","tags":["application-multi","language-multi","platform-multi","attack-generic"],"maturity":"0","accuracy":"0"}}]}}

Your Environment

CRS version (e.g., v3.2.0): v3.3.0
Paranoia level setting: 1
ModSecurity version (e.g., 2.9.3): v3.0.4
Image: k8s.gcr.io/ingress-nginx/controller:v0.41.2

Confirmation
[X] I have removed any personal data (email addresses, IP addresses,
passwords, domain names) from any logs posted.

Also https://github.com/coreruleset/coreruleset/issues/1867

@franbuehler, given you are covering #1942, would you mind taking on this issue here are well?

@franbuehler, given you are covering #1942, would you mind taking on this issue here are well?

@franbuehler Did you have time to check if this is really related to 'your' issue https://github.com/coreruleset/coreruleset/issues/1942 ? Thanks for info!

Issue covered in the September issue chat.
@theseion volunteered to take a look.

For reference, these are the characters in the expression:
\x0B: \v
\x09: \t
\x0C: form feed
\x3B: ;
\x2C: ,
\x28: (
\x3B: ;
The expression could be improved too, by removing the doubled \x3B.

I cannot reproduce this, not with Apache or NGiNX. After having spent some time trying to find a sequence of conversions that would lead to this it looks like there's maybe something fishy going on with the encoding of the web server. The "Matched Data" (#?>B@51;ONB =0@:>B8:8) looks similar to the US-ASCII XSS attack, where the 8-bit bytes are converted to 7-bit bytes, but it doesn't seem to work out.
I would need to know what encoding the server is using and a sample request would also help because it is unclear what the actual payload is (there are so many transformations in that rule, it could be a bunch of things).
Since OP is no longer around I suggest we close this and wait for another FP that we can actually work with.

We have not heard from original reporter, so I agree we close this until we get a better report that we can reproduce.
For the record: We are quite sure this or a similar problem exists. It's just that we can not fix it if we can not reproduce it.


130 remove sticky header nav

What is the context of this PR?
The DS isn't currently responsive, so can't be used on a mobile device.
How to review
Review the following changes...

Used grid and wide container across the site layout so homepage layout doesn't differ to page layout
Removed the 'sticky' header and contents nav
Added grid--reverse so contents nav can be displayed below content when stacked on mobile (as an MVP and no js solution - new ticket raised to combine subnav with mobile menu)
Added mobile-only sub-heading to sub nav e.g. "More in 'Styles'"
Added breadcrumbs for mobile
Added group sub-heading to H1
Added topLevel variable to frontmatter so top level pages can display a 'contents' sub heading and 'home' breadcrumb on mobile
Linked up title and masthead logo
Removed the subnavigation js class as scrollIntoView() no longer required

 Remove sticky header/nav from patternlib

 Make pattern library layout responsive


Feature/graphql wrapper

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #51
What is the new behavior?
We now have a graphql endpoint that will be shut down to most users
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Hopefully, there is nothing that breaks this api, but I did update several of the services to use a document based approach to updating and deleting objects (users and articles)
Other information

Coverage decreased (-2.9%) to 82.571% when pulling 03e955b9e7d4cb480d8f4351f44d0b18be4aadfe on feature/graphql-wrapper into bfaad7e3488e1273ef15a6a4ecd75993d5d55078 on master.

Approved


[DSA]: Introduction to Disjoint Set Union

Description
Discuss in detail about Disjoint Set Union.
Domain
DSA
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

@nimisha-yadav Please assign this to me

@nimisha-yadav Please review this PR - https://github.com/priyanshu688/winter-of-contributing/pull/34

@priyanshu688 your method of creating PR is incorrect. Create PR towards GWOC repo

The deadline to create new PRs has passed. Thank you for all your contributions.


nixos/wireless: don't attempt fallback on WPA3 only networks

Motivation for this change
Fix issue #158063
Things done

[x] Tested with nixosTests.wpa_supplicant
[x] Fits CONTRIBUTING.md.

cc: @rhoriguchi

@GrahamcOfBorg test wpa_supplicant


2.4 Crashing on Starters

Hey,
Version 2.4 is crashing whenever I choose Starters and select the romfs. The rest is randomized with no issues, but Starters makes the application crash without even throwing an error message. Version 2.3 is working without issues including Starters, but 2.4 is not. Any ideas why?
Thanks in advance,
Nickk

Try using the newest version of the randomizer, if it still doesn't work, post the error message

The error message it returns is:
An Error has occured:
Traceback (most recent call last):
File "main.py", line 32, in buttonClicked
File "D:\Users\moald\OneDrive\Projects\BDSP-Randomizers\Randomizers\Starters.py", line 131, in RandomizeStarters
File "D:\Users\moald\OneDrive\Projects\BDSP-Randomizers\Randomizers\Starters.py", line 109, in colorPokemon
File "D:\Users\moald\OneDrive\Projects\BDSP-Randomizers\Randomizers\Starters.py", line 92, in getPokemonColor
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe2 in position 904: illegal multibyte sequence

I figured it out. I fixed it by changing my system language which was originally in Chinese to English. My guess is that you didn't specify the decoding format as utf-8 after rewriting the code? Thanks for the help anyway, problem solved, and great work. :)


Update Composer dependencies (2021-01-10-00-07)

Visual regression test passed!
View the visual regression test report

Visual regression test passed!
View the visual regression test report


EPIC: Masa Protocol Staking Logic - MVP for Testnet

Epic: Refactor and Enhance ProtocolStaking Contract

[ ] #324
[ ] #325
[ ] #326
[ ] #327
[ ] #328
[ ] Other tickets left to do

Description
This epic focuses on refactoring the OracleNodeStaking.sol contract to ProtocolStaking to improve its modularity, incorporate epoch-based reward distribution, and add protocol node fee functionality. The updates will align the contract with the utility functions defined for validators, workers, and oracle nodes based on the heuristics outlined in the [DRAFT]_Technical_Whitepaper_Rev_1.3.pdf.
Goals

Refactor the OracleNodeStaking contract to achieve better code organization, reusability, and maintainability, rename it to ProtocolStaking to reflect our updated code and vision.
Incorporate the correct logic for our decentralized protocol, as outlined in the technical whitepaper.
Implement epoch-based reward distribution for validators and workers based on their utility.
Add fee functionality for protocol nodes based on their usage.

Problem Statement
The current implementation of the OracleNodeStaking contract has the following issues:

Lack of modularity: The contract combines multiple functionalities, making it complex and harder to maintain.
Absence of epoch-based reward distribution: The contract does not distribute rewards to validators and workers based on their utility over a specific epoch.
Missing fee logic for oracle nodes: The contract does not track the usage of protocol nodes and calculate the fees they need to pay.
Inconsistency with the technical whitepaper: The contract does not accurately reflect the utility of each actor (validator, worker, and oracle node) as defined in the whitepaper.

To address these issues, we need to refactor the ProtocolStaking contract into separate contracts, each responsible for a specific functionality. The contract should be updated to consider the following heuristics for each actor:

Validator:

Size of stake
Number of transactions validated
Uptime

Worker:

Size of stake
Amount of data scraped in bytes
Uptime
Average latency

Oracle Node:

Size of stake
Amount of data queried from the network

Suggested Implementation

Create separate contracts:

Staking: Handles staking functionality for validators, workers, and protocol nodes.
UtilityTracker: Tracks the utility of each actor based on the defined heuristics.
EpochRewards: Handles reward distribution logic for each epoch.
ProtocolFees: Handles fee logic for oracle nodes, oracle nodes must pre-pay fees that are deducted as they use the protocol.

Update the ProtocolStaking contract:

Inherit from the newly created contracts.
Remove duplicate functionality handled by the separate contracts.
Update the contract interactions and flow to reflect the changes in the contract structure.
Add validator role for making changes to variables

Implement utility tracking:

Add state variables to track the utility of each actor.
Implement functions to update the stats for validators, workers, and oracle nodes.
Add validator role for making changes to variables

Update staking and withdrawal:

Modify the stake function to consider the utility of each actor based on their role and the defined heuristics.
Adjust the withdraw function to update the utility of each actor when they withdraw their stake.
Add validator role for making changes to variables

Implement epoch-based reward distribution:

Add state variables to track the current epoch and the reward split between validators and workers.
Implement functions to start a new epoch and distribute rewards based on utility.
Add an access control mechanism to allow only the validator role to modify the reward split.
Add validator role for making changes to variables and setting epoch time in blocks or time

Implement protocol node fees:

Add state variables to track the usage and fees of each protocol node.
Implement functions to update the usage of protocol nodes and calculate their fees.
Add a function for protocol nodes to pay their fees.
Add validator role for making changes to variables

Update documentation and perform testing:

Update the contract documentation to reflect the changes and provide clear explanations of the utility calculations.
Conduct thorough testing to verify the correctness of the utility calculations and the overall functionality.

Contract Structure Diagram
+-----------------------+
|  ProtocolStaking      |
+-----------------------+
          |
          |
          v
+-----------------------+
|       Staking         |
+-----------------------+
          |
          |
          v
+-----------------------+
|    UtilityTracker     |
+-----------------------+
          |
          |
          v
+-----------------------+
|     EpochRewards      |
+-----------------------+
          |
          |
          v
+-----------------------+
|    ProtocolFees       |
+-----------------------+

Acceptance Criteria

[ ] The ProtocolStaking contract is refactored into separate contracts for better modularity.
[ ] The contract includes the necessary state variables and functions to track the utility of each actor.
[ ] The stake function considers the utility of each actor based on their role and the defined heuristics.
[ ] The withdraw function adjusts the utility of each actor when they withdraw their stake.
[ ] Epoch-based reward distribution is implemented, with rewards split between validators and workers based on their utility.
[ ] Protocol node fees are implemented, with the contract tracking usage and calculating fees accordingly.
[ ] Access control mechanisms are implemented to ensure only authorized addresses can update the stats and modify the reward split.
[ ] The contract documentation is updated to reflect the changes and provide clear explanations of the utility calculations.
[ ] The updated contract is thoroughly tested to verify the correctness of the utility calculations and the overall functionality.
[ ] Staking requirement for each actor should be modifiable by the validator role

Deployment

This contract is to be deployed to MASA Sepolia Testnet for testing purposes

Reference

[DRAFT]_Technical_Whitepaper_Rev_1.3.pdf

Tasks

[ ] #324
[ ] #325
[ ] #327
[ ] #326
[ ] #328

Example code for utility: inspirational only and may not be suited to solidity code we will probably end up having this logic on the protocol itself
To  reflect the complexity and non-linear relationships described in the whitepaper for utlity functions, we need can adjust the Solidity code examples for Validators, Worker Nodes, and Oracle Nodes. This involves incorporating specific non-linear functions and conditional logic that governs staking requirements and utility calculations, aligned with the performance metrics.
Validators
The utility calculation for Validators will include an exponential function to represent the non-linear relationship between their performance metrics and the staking requirements.
Revised Solidity Code for Validators:
pragma solidity ^0.8.0;

contract ValidatorUtility {
    struct Validator {
        uint256 stake;
        uint256 numTransactionsValidated;
        uint256 dataVerified;
        uint256 llmOutputsEvaluated;
    }

    mapping(address => Validator) public validators;

    // Performance coefficients, should be settable via governance
    uint256 alpha = 1;
    uint256 beta = 1;
    uint256 gamma = 1;
    uint256 lambda = 10; // Sensitivity parameter for performance

    // Function to update validator metrics
    function updateValidatorActivities(address validatorAddress, uint256 transactions, uint256 verifiedData, uint256 outputsEvaluated) public {
        Validator storage v = validators[validatorAddress];
        v.numTransactionsValidated += transactions;
        v.dataVerified += verifiedData;
        v.llmOutputsEvaluated += outputsEvaluated;
    }

    // Non-linear utility calculation using exponential function
    function calculateUtility(address validatorAddress) public view returns (uint256) {
        Validator storage v = validators[validatorAddress];
        uint256 performanceScore = alpha * v.numTransactionsValidated + beta * v.dataVerified + gamma * v.llmOutputsEvaluated;
        return v.stake * (10 ** (performanceScore / lambda));
    }
}

Worker Nodes
Incorporate a dynamic adjustment based on computational power and data quality, using an exponential function to simulate the increased utility for higher performance.
Revised Solidity Code for Worker Nodes:
pragma solidity ^0.8.0;

contract WorkerNodeUtility {
    struct WorkerNode {
        uint256 stake;
        uint256 computationalPower;
        uint256 dataQuality;
    }

    mapping(address => WorkerNode) public workerNodes;

    uint256 alpha = 1; // Weight for computational power
    uint256 beta = 1; // Weight for data quality
    uint256 lambdaW = 5; // Sensitivity parameter

    // Update metrics for worker nodes
    function updateWorkerNodePerformance(address workerAddress, uint256 compPower, uint256 dataQual) public {
        WorkerNode storage w = workerNodes[workerAddress];
        w.computationalPower += compPower;
        w.dataQuality += dataQual;
    }

    // Non-linear utility calculation
    function calculateUtility(address workerAddress) public view returns (uint256) {
        WorkerNode storage w = workerNodes[workerAddress];
        uint256 performanceScore = alpha * w.computationalPower + beta * w.dataQuality;
        return w.stake * exp(performanceScore / lambdaW);
    }

    // Helper function to calculate exponential
    function exp(uint x) private pure returns (uint) {
        return uint(keccak256(abi.encodePacked(x))); // Simplified; use actual exp calculation in production
    }
}

Oracle Nodes
Oracle Nodes' utility will be adjusted for their resource usage with an exponential function to accurately represent the impact of high resource consumption.
Revised Solidity Code for Oracle Nodes:
pragma solidity ^0.8.0;

contract OracleNodeUtility {
    struct OracleNode {
        uint256 stake;
        uint256 resourcesUsed;
    }

    mapping(address => OracleNode) public oracleNodes;

    uint256 lambdaO = 20; // Sensitivity parameter for Oracle Nodes

    // Update resource usage
    function updateResourceUsage(address oracleAddress, uint256 resourceAmount) public {
        OracleNode storage o = oracleNodes[oracleAddress];
        o.resourcesUsed += resourceAmount;
    }

    // Non-linear utility calculation with resource usage
    function calculateUtility(address oracleAddress) public view returns (uint256) {
        OracleNode storage o = oracleNodes[oracleAddress];
        return o.stake * exp(o.resourcesUsed / lambdaO);
    }

    // Helper function for exponential calculation
    function exp(uint x) private pure returns (uint) {
        return uint(keccak256(abi.encodePacked(x))); // Simplified; use actual exp calculation in production
    }
}

General Notes:

Non-linear Calculations: The use of exponential functions is indicative of the need to model performance sensitivity accurately. In practice, using real exponential calculations is gas-intensive and may require efficient approximation techniques.
Governance and Parameter Adjustment: Coefficients and sensitivity parameters (lambda) should be adjustable through governance mechanisms to adapt to network evolution and empirical data.

Here are the answers:
Question: Should there be a minimum amount required for staking? Should this minimum apply to the total staked amount or to each individual staking action?
Answer: According to the technical whitepaper, the staking requirements for each role (validator, worker, and oracle nodes) are determined by performance-sensitive staking mechanisms. The staking requirement for each role is defined as a proportion of the total token supply, adjusted by a monotonic function that maps the node's performance to a staking coefficient. The whitepaper does not specify a fixed minimum staking amount. This quote is from @teslashibe: "Think about adding starting/minimum/dynamic staking for each actor. This is currently missing from requirements. Forgot to add this to ticket. Staking requirement for each actor should be modifiable by the validator role." You can find it in this link
Question: The technical paper states that "validators must stake MASA tokens as collateral." Does this requirement also apply to worker and oracle nodes, meaning all roles can only stake MASA tokens?
Answer: The technical whitepaper clearly states that validators, worker nodes, and oracle nodes must stake MASA tokens as collateral.
Question: The technical paper mentions the TAO token but does not specify its use. Can TAO tokens be used for staking, rewards, or both?
Answer: I'd like us to get more clarity here from @teslashibe since the technical whitepaper mentions the TAO token as part of the dual-token economic model, alongside the MASA token. However, the specific use case of TAO tokens within the staking smart contract is not clearly defined in the whitepaper.
Question: Can a single account hold multiple roles (e.g., validator, worker, oracle)? This would simplify the creation of a single staking smart contract for all roles.
Answer: Whitepaper does not explicitly state whether a single account can hold multiple roles (e.g., validator, worker, and oracle). However, we should consider the potential implications of allowing multiple roles per account, such as centralization risks and the impact on the overall network dynamics. On top of that, I'm not sure if this is related, but during hackathon Vasilis got his nodes banned when he was trying to run validator and worker nodes from same computer.
I don't have answer to your last question @miquelcabot.

@mudler @Luka-Loncar I updated the description to include the tickets that are on the board for this EPIC

Closing this epic as the only outstanding card to finish the story is already available (but blocked): https://github.com/masa-finance/masa-oracle/issues/326


chore: update changelog url

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.872%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
868

Relevant Lines:
889

💛  - Coveralls

Forgot to update it after creating from scaffolding 😅


Feature: she endpoint.url somewhere in the ui

Describe the feature request
Hi!
It would be nice to be able to view the exact url the endpoint is pinging, not just the domain.
For example on the endpoint page it would be nice to have an href text with the exact url and being able to click it!
If possible I would love to help adding this feature!
Why do you personally want this feature to be implemented?
Currently I go into the config and copy the link from there but that's not always an option and requires extra effort
How long have you been using this project?
Quite a while
Additional information
No response

Thing is, while adding a configuration in endpoints[].ui to show the full url is a good idea, it wouldn't provide a consistent experience.
For instance, what if the endpoint requires a specific header? Or what if the endpoint has a request body? What if there's a lot of query parameters, which would force us to trim (at least visually) the URL?
Instead, I'm going to suggest an alternative, but it would be contingent on the 2nd implementation suggestion I made here being implemented. If it is implemented, then you could add a menu element of type curl that would allow you to generate the curl needed to query the endpoint locally.
Of course, it would be a per-endpoint configuration (since there may be some private endpoints you don't want people to be able to generate a curl command for), but that'd be an option.

This sounds like a good solution, I understand the challenge with all the options you have in the tool! Most monitoring we do are quite basic (http call to an endpoint and waiting for 200 OK)

Would love this feature also - I use gatus as status and also a list of my services so links would be awesome (or even just an option to add a manual link).


Splash screen do some task before going to application for Android

Hi, I am learning to use flutter. I have one query. I have to load my local sqlite database from assets folder to the device folder. So, I want to perform this task during the first time app installs in the splash screen. Is there any way I can do this?
Thanks,

You can do whatever you want in the main method of your application. The splash screen will stay up until you call runApp. Is there somewhere we should document this to make it more obvious?

Seems to be solved by @Hixie's comment above


error when selecting "run whether user is logged on or not"

So I'm launching the task editor dialog and playing with various scenarios - for the most part everything seems to be working as it should, however there's one critical piece that's causing me heartache.
Most of the time folks running my app will be fine with just letting it run when logged in - however a few folks will be runngin it on Windows 2003 or 2008 and they always log off the desktop when leaving - as such I'll need the option to have them select and account/pw option.
Ideally I'd like to launch the task editor dialog with the "Run only when user is logged on" for the 80/20 rule and let folks fiddle with the schedule and such all they want.  However I'd like it if the users could choose to click the "Run wheter user is logged on or not" radio button and provide a login name/pw as you can when you launch the dialog directly from the windows scheduler.  However when I do this I get a "NoImplementedExcpetion" thrown and the option is not saved (and the login name/pw dialog does not appear).
Presumably the error condition means what it says and the wrapper simply didn't support that option for ShowDialog - but thought I'd check just to be sure if there's a tricky "override" option or the like to allow such an operation or not...
thanks
-J
Originally posted: 2011-01-04T20:22:32

as an aside - getting similiar missing implementation errors when trying the wizard - I don't see much in the way of how to use it but my simple example just looks like this:
Dim ts As New TaskService()
Dim myWizard As New TaskSchedulerWizard
        myWizard.TaskName = "This is a test"
        If (myWizard.ShowDialog() = Windows.Forms.DialogResult.OK) Then

            ts.RootFolder.RegisterTaskDefinition(myWizard.TaskName, myWizard.TaskDefinition)

        End If

once you get past the "Choose what triggers the task" page you get a "MissingMethodException was unhandled" error - "Void Microsoft.Win32.TaskScheduler.MonthlyTrigger..ctor()'.

Doesn't matter which option you choose, same error each time.

Am I missing something obvious?

Originally posted: 2011-01-04T20:46:56

Sorry. I had overlooked a placeholder for some code that I never completed for this functionality. It has been added in source code drop 61872. Please try it out and let me know if it works for you.
Originally posted: 2011-01-07T16:38:09

Thanks!  the wizard is now working properly - however the ShowDialog form still kicks out the "NoImplementedException" when I select the "run whether user is logged on or not" radio button.  I wasn't sure if both issues were supposed to be fixed in the version you posted or just the wizard.
Originally posted: 2011-01-07T20:26:36

I just posted an updated code drop and new assemblies which should correct both problems. Make sure to extract all the assemblies from the TaskSchedulerEditor.zip file as a few have been updated. Please let me know if everything is working.
Originally posted: 2011-01-11T11:59:24

closer!  It doesn't throw the NoImplementedException any longer but when I select the "run whether user is logged on or not" radio button and then exit the dialog after picking a user I don't ever get the dialog to provide a password, so an error is thrown: "logon failure: unknown user name or bad password".  Should it launch the dialog there (i.e. as it does in the Windows scheduler directly) or is this only supposed to work if we provide the user/pw when we create the task up front?
thanks for working on this...
Originally posted: 2011-01-11T20:12:01

The only time a logon dialog should appear is when "Run whether user is logged on or not" is selected and "Do not store password..." is not selected and the account is not a group or system account. If you are embedding the TaskPropertiesControl in your own dialog, you will need to check for those conditions and use the CredentialDialog to get the password. If you are using the TaskEditDialog, then you need to have the RegisterTaskOnAccept property set to true in order to be prompted for the password. The following is the code currently in the Ok button handler for TaskEditDialog in case you need to replicate it outside to prompt for a password.
if (RegisterTaskOnAccept)
{
string pwd = null;
if (this.TaskDefinition.Principal.LogonType == TaskLogonType.InteractiveTokenOrPassword ||
this.TaskDefinition.Principal.LogonType == TaskLogonType.Password)
{
pwd = InvokeCredentialDialog(this.TaskDefinition.Principal.UserId);
if (pwd == null)
throw new System.Security.Authentication.AuthenticationException(Properties.Resources.UserAuthenticationError);
}
this.TaskService.RootFolder.RegisterTaskDefinition(this.Task.Name, this.TaskDefinition, TaskCreation.CreateOrUpdate,
this.TaskDefinition.Principal.UserId, pwd, this.TaskDefinition.Principal.LogonType);
}
Originally posted: 2011-01-11T22:02:42

ah, ok - I got it - I have all the paths worked out now and it's working well!  thanks much for your work on this.
-J
Originally posted: 2011-01-13T12:39:40


Confusion over what "optional" means

Summary
While documenting optional and default values in Python functions I came upon some inconsistencies in implementations due to different assumptions. The term “Optional” that’s used in modules is misleading.
Terminology
In Python, an argument that is optional is one with a default value because the true meaning of “optional” is that it can be omitted.
def foo(bar: str = ""): ...

In GraphQL it’s mostly the same, with the exception that a nullable field without a default can also be omitted, in which case it automatically defaults to null:
foo: String  # null if omitted

The same doesn’t happen in Python:
def foo(bar: str | None): ...  # this is a required argument!

But in the Dagger API, we use “optional” to mean nullable. I think people usually find the nullable/non-null terminology a bit strange and tend to prefer thinking about the “!” at the end of a type as meaning “required” (me included):
foo: String!  # does not mean required! it means null is not allowed

So some may find it surprising that you can actually have a type that is non-null and has a default:
foo: String! = "bar"  # this is actually optional due to the default!

SDK inconsistency
Let’s see how the SDKs can express the following GraphQL schema:
foo(
    a: String!,
    b: String,
    c: String! = "foo",
    d: String = null,
    e: String = "bar"
): String!

Go
Go modules can currently express all of them, it’s just the terminology of having “optional” independent from “default” that can be confusing:
type Foo struct{ }

func (m *Foo) Bar(
	a string,
	// +optional
	b *string,
	// +default="foo"
	c string,
	// +optional
	// +default=null
	d *string,
	// +optional
	// +default="bar"
	e *string,
) string {
	return fmt.Sprintf("%+v, %+v, %+v, %+v, %+v", a, b, c, d, e)
}

Python
Python is now compatible. Note that it's possible to use the older Optional[str] instead of str | None but that's not recommended these days because it leads to the same confusion over what optional means.
@object_type
class Foo:
    @function
    def foo(
        self,
        a: str,
        b: str | None,
        c: str = "foo",
        d: str | None = None,
        e: str | None = "bar",
    ) -> str:
        return ", ".join(repr(x) for x in (a, b, c, d, e))

Python doesn’t allow str | None without a default, so to match GraphQL’s behavior of defaulting to null on nullable types, I’ve decided to have the SDK automatically set None for an omitted nullable argument. However, when called from Python code, str | None without a default is still required, so you need to explicitly pass None to it.
TypeScript
TypeScript is now compatible as well.
@object()
class Foo {
  @func()
  foo(
    a: string,
    b?: string,  // or b: string | null
    c: string = "foo"
    d: string | null = null,
    e: string | null = "bar",
  ): string {
    return `${a}, ${b}, ${c}, ${d}, ${e}`
  }
}

Core schema generation
Our core API has only nullable fields when a default is used:
foo: String = "bar"

There’s a use case for that, especially in terms of being able to express the difference between “omitted” and “unset”:

Not provided: Use the default “bar” string.
Provided as null: Explicitly remove or clear foo.
Provided as a non-null string: Update foo to the provided value.

But I think, at least in most cases, they should be non-null instead.
In Go, where the schema is expressed in, to be nullable, the type should be a pointer, that allows for nil. Descriptions are optional, but being a non-null empty string is enough. There is no advantage in also allowing a null to clear this value.
For example, this is how core generates the following argument:
Description string `default:""`  // description: String = ""

But I think it should be this:
Description string `default:""`  // description: String! = ""
Description *string `default:""`  // description: String = ""

\cc @vito
Query values
It seems I’m not able to send a null value to nullable types. The Engine simply omits the argument if the value is null. So if it’s a nullable type with a default, null can’t be used to differentiate between “omitted” and “unset”, for example.
However, I can’t think of a use case for this, just exploring expressiveness in the API and SDKs.
\cc @sipsma

I suppose it’s for the same reason as Python where having a default equates to being optional, but we should change it as well.

Yes exactly, which kind of make sense in the context of our language but I agree that it's not aligned with GraphQL.

Note: It's a bit late to change the meaning of Optional, so I'm just trying to make things consistent (between API, GraphQL and SDKs).

Update: I haven't been able to circle back to this yet but there's still some inconsistencies in core and I think we should change the name "optional" in the SDK internal APIs, but I need to invest some time in thinking more about the way we use nulls and whether there's value in being able to express non-nulls with defaults, for example, or ditch it in favor of more intuitive DX in the SDKs.

 One addendum:

Behavior on schema generation: using +default without +optional generates non-nullable argument with a default value.

Unless the default is null, in which case it generates a nullable argument.
Also, how would you define e: String = "bar"? According to this definition you’d need both +default and +optional but that brings back +optional to mean nullable again and it’s not likely to be clear to users.
That takes me to the next question on supporting null values. But before that, just to clarify, to produce the example schema above:
foo(
    a: String!,
    b: String,
    c: String! = "foo",
    d: String = null,
    e: String = "bar"
): String!

Would become:
 type Foo struct{ }

 func (m *Foo) Bar(
        a string,
        // +optional
-       b *string,
+       b string,
        // +default="foo"
        c string,
-       // +optional
        // +default=null
-       d *string,
+       d string,
        // +optional
        // +default="bar"
-       e *string,
+       e string,
 ) string {
        return fmt.Sprintf("%+v, %+v, %+v, %+v, %+v", a, b, c, d, e)
 }

We could also not add the = null since it’s redundant (from any SDK).
Do we want to support null values?
See sections “Core schema generation” and “Query values” in the description for more context.
Last time I worked on this I was concerned with full expressiveness from the SDKs into the API schema. But after making sure an SDK correctly produces a nullable type, I was not able to use a null value anywhere. That’s because the API server currently equates a null value to an omitted value. No actual null value is passed around.
So the question here is do we make sure we match GraphQL and allow null values? Or do we not have a use for it in Dagger and might as well not worry about full expressiveness in the SDKs and simplify them to match the same meaning in core?
The answer to this question can potentially change the core API schema and SDKs, but it doesn’t necessarily mean in a way that users will notice. However, it’s necessary to move forward in bringing consistency everywhere.

@helderco What are the current progress with this issue?
This proposal leads to severals changes in our SDKs I think so it would be better if we do it inside a single PR.

It's ok to be different PRs:

Go changes around +default
Core API handling of null values
Internal rename of withOptional in type defs

Haven't had time to get back to this yet. I still have questions around our handling of null values in the API, see my last comment. Requesting feedback on that.

Update: had a discussion with the team and it might be a bug that the engine doesn't accept the null values, so we'll investigate where that comes from and go from there. Seems like passing null is something we should allow.

One fix for Go's codegen here:

https://github.com/dagger/dagger/pull/8106


JSON Schema uses invalid type "date-time"

Looking at https://github.com/VDA5050/VDA5050/blob/5367d4555529415c07a58c10d4f6ceb903b0a56d/json_schemas/order.schema#L24
the type specification "date-time" is used.
According to http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.6.1.1 only one of six basetypes is permitted and the specification according to the standard would have type string and make use of the format field:
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp in ISO8601 format.",
            "examples": [
                "1991-03-11T11:40:03.12Z"
            ]
        },

The link to "order.schema" is only exemplary and the same thing can be seen in all jsonschemas.

Thank you!
Fixed in https://github.com/VDA5050/VDA5050/commit/c2b33cd40a8cac8414c4e44384f287ca71a3e371.


README

Expected

[ ] Update README with proper text.

@dtoakley Hey!
I will need a little bit of help in adding content to the README.md... this is not my strong suit.
Any ideas? can you point me to the right direction?


[Bug] How to keep the file in filepond input when i delete it with remove and upload buttons

Is there an existing issue for this?

[X] I have searched the existing issues

Have you updated FilePond and its plugins?

[X] I have updated FilePond and its plugins

Describe the bug
Hello!
I would like to have an input with filepond with instand upload. Then when i press delete i want the file to stay in the input with gray color and the remove and upload buttons like when i set in options instandUpload: false. Can anyone help me?
Reproduction
My code is
<div
    wire:ignore
    x-data
    x-init="
        FilePond.setOptions({
            credits: false,
            allowMultiple: {{ isset($attributes['multiple']) ? 'true' : 'false' }},
            server: {
                process: (fieldName, file, metadata, load, error, progress, abort, transfer, options) => {
                    @this.upload('{{ $attributes['wire:model'] }}', file, load, error, progress);
                    console.log(file);
                },
                revert: (filename, load) => {
                    @this.removeUpload('{{ $attributes['wire:model'] }}', filename, load);
                },
            },
        });
        const test = FilePond.create($refs.input);
    "
>
    <input type="file" x-ref="input">
</div>

### Environment

- Device: Desktop
- OS: Windows 10
- Browser: Chrome

Hi, As requested in the issue template, please ask questions on Stack Overflow.


liteide: Update to version 38.2 and drop 32bit support

[X] I have read the Contributing Guide.

/verify


Copilot Chat Persistent Chat History

Motivation and Context

The Copilot chat app currently doesn't support multiple isolated chat sessions and persist chat history once the Webapp is terminated.
We would like to support multiple chat sessions so that users can create chats for different topics. We would also like to have persistent chat history so that users can return to their chats any time after they close the App.
Description

Create isolated chat sessions.
Create models to save chat sessions and chat history.
Use repository pattern as a data access pattern for saving and retrieving chat sessions and chat history. The underlying storage for the data can be easily swapped (The implementation is currently using InMemory storage).
Have the front end automatically load chat history once the user is authenticated.

Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

JFYI, wtih two different userId, they share chat history if the same chatId is provided from both user.
Not sure if this sample is only for chatbot scenario but I gave it a try and found that they shared the history.

JFYI, wtih two different userId, they share chat history if the same chatId is provided from both user. Not sure if this sample is only for chatbot scenario but I gave it a try and found that they shared the history.

Hi! Thanks for your comment! Two users will never get the same chat ids unless you explicitly override the data in the storage. Could you please elaborate on the issue you discovered and possible open an issue?


CI: Use clang-format 15

No change compared to version 13 in our codebase.

Thanks!

Cherry-picked for 3.6.

Cherry-picked for 3.5.2.


MRG: Fixes for montage

Some minor fixes and refactoring of Montage/DigMontage, their associated reading functions, and docs.
Functionally a change is to allow reading of .mat output files from Polhemus FastTrak systems. Bugfix is that if dev_head_t=False in read_dig_montage, then inst.set_montage(montage) will not set the inst.info['dev_head_t']. In master it sets it to identity, which is probably not what we want.
Sound okay @teonbrooks?

Current coverage is 87.42% (diff: 83.58%)

No coverage report found for master at 8e2c5ce.

Powered by Codecov. Last update 8e2c5ce...4740477

Current coverage is 87.42% (diff: 83.58%)

No coverage report found for master at 8e2c5ce.

Powered by Codecov. Last update 8e2c5ce...4740477

no objection
but I admit I understand little about this PR...

needs rebase
@teonbrooks @jaeilepp ok for you then?

@agramfort I still need to push some fixes :( I should be able to get to it Monday, though

Okay this one should be ready for review/merge again. @teonbrooks do you have time to look again?

@jaeilepp also feel free to look again

Thanks for the look @teonbrooks comments addressed. Let me know if you're okay with my responses to the other questions.

Argh, found a bug in the IO roundtrip. Setting to WIP, hope to fix it tomorrow

Okay, I think it should be good now. Have time for one more @teonbrooks? :)

ok, I'm happy with it. thanks @Eric89GXL! merging


missing "Edit conversation details" to update the name of a conversation

When I start a new conversation I am getting the message: You can change the conversation name in VSCODE-OPENAI by clicking on the three dots menu in the top right corner of the chat window, then select "Edit conversation details" and update the name to your preference.
However, I don't see this option under the 3-dots of the chat window.

there is a context windows with options but renaming isn't currently an option. Which version are you using?


jupyter_nbextensions_configurator doesn't work under nbclassic

I filed an issue in that repo, but it seems like it may not be maintained anymore,  My impression is the extension is doing something unusual by modifying the static file path on the fly, but if by chance there's an easy fix on the nbclassic side, that would be awesome.  But if it's not feasible, that's ok; we have a workaround, and the individual extensions can still be enabled/disabled from the command line even if the configurator UI isn't there.

This issue has been mentioned on Jupyter Community Forum. There might be relevant details there:
https://discourse.jupyter.org/t/jupyterlab-notebook-nbextensions/11017/6

@jeffyjefflabs, would you be willing to take this PR for spin and see if it fixes the issue for you?

Sorry, you caught me in the middle of a move, but I just tried out the new release and it looks good to me!

Awesome! Thanks @jeffyjefflabs!

@Zsailer Following the discussion here, can you re-open the issue?


getCroppedImage size has no effect

I;m currently testing and the size restrictions ahve no effect. user is able to clip image with his finger but it is not possible to impose any restriction with these width/height parameters of the getCroppedImage function. even if set to 500x500 I get result bitmaps much larger. also there is now way to set the ratio (hardcode it) of the clipping rectangle.

* Gets the cropped image based on the current crop window.<br>
* If image loaded from URI will use sample size to fir the requested width and height.

I'm not sure I understand the purpose of the requested width and height args according to this comment.

as far as I can tell it has no effect at all I had no time so far to look into this further , will need to come back to this issue later on

The purpose of the optional params is to provide an easy way to load downsized (sampled) image after cropping using the technique described here.
I needed it for upload avatar functionality in client app:

Avatar size should be roughly 400x400 pixels
When user selects camera generated image it is huge (3264x2448 pixels on Nexus 5)
User can selects a cropping rectangle of the original image, lets say 2150x2150.
Using the width, height optional params the decoded image will be 538x538 pixels
In my case I uploaded that image to the server.

this can only work when the cropping image was set by URI, so the library code loaded a sampled image for the cropping UI and then can load again only the required rectangle.
Hope it helps.


fix #1681 oneOf->not->required should be stripped off

fixes https://github.com/Vincit/objection.js/issues/1681 and provides test case for it.
Without the change the resulting jsonSchema for:
{
        oneOf: [
          {
            not: { required: ['a'] }
          }
        ],
        properties: {
          a: { type: 'string' },
          b: { type: 'string' }
        }
      }

would look like:
{
  "properties": {
    "a": {
      "type": "string"
    },
    "b": {
      "type": "string"
    }
  },
  "oneOf": [
    {
      "not": {}
    }
  ]
}

which in essence is impossible.
  "oneOf": [
    {
      "not": {}
    }
  ]

prevents all the updates altogether since it will fail any given payload.
This is the result after the change:
{
  "properties": {
    "a": {
      "type": "string"
    },
    "b": {
      "type": "string"
    }
  }
}

Coverage decreased (-0.004%) to 97.069% when pulling 3be85570fa24d71d66835dd747ce6bcfe37226bc on villesau:fix-1681 into 5b76a4c1e0dee70649d32b8a59383021bb5d5927 on Vincit:master.

@koskimas have you had time to look into this?

@koskimas any news?


Sidebar: Sorting, Hiding, Custom Naming

Feature Description
Multiple users have asked for more control over the sidebar. The sidebar currently works as follows:

All first and second level pages/directories are displayed on the sidebar, with the exception of parameterized pages. Except for this bug
The name is taken from the markdown/directory file name: it the Proper Case version eg : my-page.md -> My Page
Directories are shown before Pages
Sort is alphabetical

Goals of Feature
Still have sensible defaults (as above) but the ability to override the following:

Custom page sorting: Determine the order in which pages / directories are shown
Custom page naming: Give the page a name different to the filename. Support anything in Unicode if possible
Hide from sidebar: Remove a page from display in the sidebar
(Maybe) Ability to totally hide sidebar: This may fall into a separate feature

Current Solution
Limited sorting is possible by prefixing file names with alphabetically sorted prefixes eg:
1.charlie.md
2.alice.md
3.bob.md
But these prefixes appear in the sidebar, which is not ideal, and directories will still sort before pages, irrespective of their alphabetical rank.
Examples/Screenshots
Possible implementation options:

Some kind of YAML / json file where you configure this for the whole project
Use markdown frontmatter for each individual page

We should use frontmatter now that it has been implemented in #294

Sort priority
Custom naming
Hiding -- docs should include a warning that pages with no hrefs directed to them won't be included in the build.
Defaults based on current behaviour (file is shown, named after the file, and sorted alphabetically)

Hiding the side bar is out of scope.

This is done see: https://docs.evidence.dev/themes-and-layouts/


add a post client shutdown hook

I assume this is meant to replace the reboot/shutdown sentinels right?

I assume this is meant to replace the reboot/shutdown sentinels right?

It could be, yes. I need to add a custom sentinel for the session of a different project.


Updating stopped working

I want to first say that I'm rather new to this and my troubleshooting is almost certainly lacking.  Please let me know how to improve myself.
I've been using chef-client 12.9.38 for a while now and recently I changed my version in my environment like so:
  "override_attributes": {
    "omnibus_updater": {
      "version": "12.13.37",
      "prevent_downgrade": "true"
    },

This did cause omnibus_updater to update one of my instances but not another.  I was advised to see if my overrides were not working and so used chef-shell -z to get:
Ohai2u!
chef (12.9.38)> node['omnibus_updater']['version']
 => "12.13.37"

At the moment I'm stuck.  Google isn't being helpful.  So, I must turn to github issues.  Apologies if this is a user issue and not a cookbook issue.

Maybe I ran into this today trying to upgrade 12.4.3 to 12.5.1. installer recipe is skipping every action with action nothing.
Recipe: omnibus_updater::downloader
  * directory[/var/chef/cache/omnibus_updater] action create (up to date)
  * remote_file[omnibus_remote[chef-12.5.1-1.el6.x86_64.rpm]] action create_if_missing
    - create new file /var/chef/cache/omnibus_updater/chef-12.5.1-1.el6.x86_64.rpm
    - update content in file /var/chef/cache/omnibus_updater/chef-12.5.1-1.el6.x86_64.rpm from none to 76dda2
    (file sizes exceed 10000000 bytes, diff output suppressed)
Recipe: omnibus_updater::old_package_cleaner
  * file[/var/chef/cache/omnibus_updater/chef-12.4.3-1.el6.x86_64.rpm] action delete
    - delete file /var/chef/cache/omnibus_updater/chef-12.4.3-1.el6.x86_64.rpm
Recipe: omnibus_updater::installer
  * service[chef-client-omnibus] action nothing (skipped due to action :nothing)
  * file[/tmp/nocheck] action create (skipped due to only_if)
  * ruby_block[omnibus chef killer] action nothing (skipped due to action :nothing)
  * execute[omnibus_install[chef-12.5.1-1.el6.x86_64.rpm]] action nothing (skipped due to action :nothing)
  * ruby_block[Omnibus Chef install notifier] action nothing (skipped due to action :nothing)

Maybe the subscribe resource is not doing the job.

Think I've been affected by this as well.

Interestingly, setting node['omnibus_updater']['always_download'] = true seems to work around this issue...

I got past this issue by locking compact_resource to 12.9.0. I was aware that there was an issue with notifications (even though that was not what I was seeing here) when compact_resource is used. I had a cookbook in my run_list that was pulling in compact_resource and that might have messed with the subscribe resource.

Interesting workaround. Kind of problematic since current versions of build-essential and ohai both depend on compat_resource >= 12.10, tho...

Came across https://github.com/chef-cookbooks/compat_resource/issues/99 today.

almost certain this is the subscribes bug in compat_resource which is now fixed.


Any chances to reduce verbosity of nixos-rebuild switch?

Can we make the list of downloaded files less verbose, is spirit of pacman? One line per downloadable, not 7-8

I think this ties into my ticket https://github.com/NixOS/nix/issues/443, to some extent. The entire nix ecosystem is extremely chatty and reduces/eliminates our ability to discern the important information from pointless log messages.

Yes, this is just a subproblem of that one.


Android -- Copy Project / Import Documents doesn't do anything

Related to #63  - in the Android emulator, I've been testing out the Copy Project / Import Documents functionality. Clicking on the button to select the file(s) does nothing -- there is also no error reported in logcat.
I suspect the <input type=file> element only works on the desktop. Investigating...

Was able to test on a couple devices this evening:

Lenovo tablet (Android 4.4.2): the html <input type=file> is working properly on the device. More heartening, it looks like it is able to pick up files from Google Drive and other sources.
Samsung phone (Android 4.3): not working, as described in this issue (the button doesn't do anything).

Fixed on both iOS and Android:

When running on a browser, the html <input type=file> will continue to be displayed.
When running on a mobile device, the plugin cordova-plugin-file is used to query the device for available project files or document files, depending on the task. For the document import, the files are laid out on a grid with checkboxes -- the user selects the items they want to import and click the Import button to bring them in. Allowed document file types are .txt, .usx, .usfm, .sfm and .xml; allowed project file types are .aic.


edX paywall

Since the beginning of 2019 edX is no longer giving free access to most of their courses, but "audit" access will now expire after a certain amount of time (sometimes as little as 2 days), unless you upgrade to the "verified track", which is of course paid.
How does this affect your "open source" course list? If edX is no longer "open source", this list is significantly shrinked unfortunately. 😞

Thanks for telling us.

Whats the name of the course? I cant find edX on the list.

edX is the platform where many of the courses on the list are hosted.
BTW: Coursera is now also limiting free aka "audit" access for many courses and specializations. Bye bye, MOOCs 😞

So then no more free CS degrees. I guess it's GG on this repo.
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
05/24/19,
10:52:26 PM
On Fri, May 24, 2019 at 9:31 PM gamstc<EMAIL_ADDRESS>wrote:

edX is the platform where many of the courses on the list are hosted.
BTW: Coursera is now also limiting free aka "audit" access for many
courses and specializations. Bye bye, MOOCs 😞
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ForrestKnight/open-source-cs/issues/26?email_source=notifications&email_token=AIVKIZCH74GIG4Y63RBIMUTPW7N2XA5CNFSM4G7QOBK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWFFKOA#issuecomment-495605048,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIVKIZAEQIHUFF6W6M527N3PW7N2XANCNFSM4G7QOBKQ
.

That hurts.

Actually, every single one of the edX courses in this curriculum are still free. I'm not sure the validity of Coursera limiting their audit access. Would you mind linking to where you saw that?

They don't let you finish the course, some of them take x weeks to finish but before that they close your access to the course, I was talking about the Introduction to CS with Python on edx but i see you changed that one, don't know if it's the same for the others

Isn't that just the MIT Open Courseware under the edX banner anyway(is free from MIT)?

As I mentioned in my initial comment above, they changed their policy for all courses in the beginning of the year (see the link I provided). Here is an explanation from their own Help Center.

As for Coursera: Here is an example of a course that does not offer auditing anymore at all. In any case auditing always means you do not have access to assessments or even exercises (on edX and Coursera). And I would make the argument that the actual learning happens when you solve exercises, not when you watch a free video, unfortunately. 😕

As I mentioned in my initial comment above, they changed their policy for all courses in the beginning of the year (see the link I provided). Here is an explanation from their own Help Center.

From your link: "If the upgrade option no longer appears or if you do not wish to or are unable to pay, you may instead enroll again in a future session. "
Sounds like it's still free, you just change enrollment date.

"A future session" on edX means a session that is likely to start within a year or two...

Here is another example about Coursera: If you look at the comment section, the latest comments from 2019 start describing more and more courses that don't offer the audit option anymore.

Coursera offers usually only 7 days free, after that they require you to pay. Here, all the Java courses are like this. Except Programming languages A,B,C. Those seem to be for free.


Using --add-metadata  ?

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.04.06. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[xx ] I've verified and I assure that I'm running youtube-dl 2016.04.06

Before submitting an issue make sure you have:

[x ] At least skimmed through README and most notably FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x ] Question
[ ] Other

How do I set the artist and album name, album, artist, etc. of a track if it can't find it?
I do use -o but it rarely finds the correct info for soundcloud tracks
youtube-dl https://soundcloud.com/slightbeats/bloodshed-ft-viggoo --embed-thumbnail -o "%(title)s.%(ext)s" -f mp3 --prefer-ffmpeg --verbose -i

You can parse additional metadata from title with --metadata-from-title.

@dstftw Ive tried this but it doesnt find the right information, is there no way to manually add the information through youtube-dl?

Please provide more information, including your expectations.

@yan12125
Well for example I have something called ampache running on a local server
I use youtube-dl to download soundcloud user's tracks, then include the songs in ampache so I can listen to them locally.
Youtube-dl does get the title of the song correct and the thumbnail, but if it can't find the artist then it doesn't set anything so I must manually set that in ampache, which takes a very long time and when I want to update / refresh the songs once I add more I have to redo the whole process
What I would like to be able to do is something like -o, but I want to set the artist or album name instead of it try to find it
youtube-dl https://soundcloud.com/slightbeats/ --embed-thumbnail -o "%(title)s.%(ext)s" -f mp3 --prefer-ffmpeg --verbose -i  --set-artist "SLIGHT" --set-album "SLIGHT Collection"

Does ampache read from extended attributes (https://github.com/rg3/youtube-dl/blob/536a55d/youtube_dl/postprocessor/xattrpp.py#L139-L147) or MP3's ID3 metadata? The latter is not implemented yet and already requested in #5957.


Random transaction data

Codecov Report

Merging #662 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #662   +/-   ##
========================================
  Coverage      99.5%   99.5%
  Complexity     1847    1847
========================================
  Files           282     282
  Lines          5510    5510
  Branches        274     274
========================================
  Hits           5483    5483
  Misses            5       5
  Partials         22      22

Continue to review full report at Codecov.

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


test: Repair isolated_any_metadata.sil for Wasm CI

The test was failing on the Wasm CI because %IRGenFileCheck is configured for the target platform (in this case wasm32-unknown-wasi), but the test used it to check the output for other platforms. The mismatch was not revealed on the other CI because they are all 64-bit, but the 32-bit Wasm CI revealed it. https://ci.swift.org/job/oss-swift-pr-test-crosscompile-wasm-ubuntu-20_04/66/
Adjust a test case added by https://github.com/apple/swift/pull/71970 to repair Wasm CI

@swift-ci Please smoke test

@swift-ci Please test WebAssembly

@swift-ci Please test WebAssembly

@swift-ci Please smoke test


bug: delete sanity check failed in materialize

Describe the bug
(e2e parallel)
https://buildkite.com/risingwavelabs/pull-request/builds/10459#0183eca8-be29-49c7-913b-b4ec8bbfd674
thread 'risingwave-streaming-actor' panicked at 'inconsistent delete!
table_id: 2128, vnode: 38, key: Row([Some(Int64(0)), Some(Int64(12))])
stored value: None
expected value: Row([Some(Int64(12)), Some(Int64(0))])', /risingwave/src/storage/src/table/streaming_table/state_table.rs:676:13
stack backtrace:
2022-10-18T20:06:48.764903Z DEBUG risingwave_stream::task::stream_manager: drop actors actors=[2442, 2443, 2444, 2445, 2454, 2455, 2456, 2457]
   0: rust_begin_unwind
             at /rustc/9067d5277d10f0f32a49ec9c125a33828e26a32b/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/9067d5277d10f0f32a49ec9c125a33828e26a32b/library/core/src/panicking.rs:142:14
   2: risingwave_storage::table::streaming_table::state_table::StateTable<S>::do_delete_sanity_check::{{closure}}
             at ./src/storage/src/table/streaming_table/state_table.rs:676:13
   3: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/9067d5277d10f0f32a49ec9c125a33828e26a32b/library/core/src/future/mod.rs:91:19
   4: risingwave_storage::table::streaming_table::state_table::StateTable<S>::batch_write_rows::{{closure}}
             at ./src/storage/src/table/streaming_table/state_table.rs:614:70
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/9067d5277d10f0f32a49ec9c125a33828e26a32b/library/core/src/future/mod.rs:91:19
   6: risingwave_storage::table::streaming_table::state_table::StateTable<S>::commit::{{closure}}
             at ./src/storage/src/table/streaming_table/state_table.rs:570:57
   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/9067d5277d10f0f32a49ec9c125a33828e26a32b/library/core/src/future/mod.rs:91:19
   8: risingwave_stream::executor::mview::materialize::MaterializeExecutor<S>::execute_inner::{{closure}}
             at ./src/stream/src/executor/mview/materialize.rs:135:54

All Materializes have an upstream of hash agg, so I guess it's related to #5911. cc @chenzl25

All Materializes have an upstream of hash agg, so I guess it's related to #5911. cc @chenzl25

Yes, I find a bug introduced #5882 and try to fix it by #5914.


multi-host

Running several postgres_exporter processes on multiple ports is a bit cumbersome to work around.
Why an issue on this repo?
Specifying multiple hosts to monitor could be a more natural fit for an extension to the postgres_exporter process itself.
Precedent
An exporter depending on async replies from sub-processes is not new, for example monitoring nodeJS's cluster workers[1], one defines a timeout in such a case.
[1] https://github.com/siimon/prom-client#usage-with-nodejss-cluster-module

This was implemented.


Support for location id/name labels and generated-by annotation

@stewartshea I've done basic testing of the Kubernetes indexing, but I haven't tested the newer variations with the additional settings from the Azure config, since I don't really know what the infra setup for that is.
The new location name label comes from the uploadInfo.yaml file, but the PAPI endpoint hasn't been updated yet to include that, so if you want to test that you'll need to manually tweak the uploadInfo.yaml file yourself. Although things should still work even if you don't do that. In that case the generated-by field will include the existing location id value in its value rather than the location name.
It would also be good if you at least took a quick look at the new kubeapi.py and run.py code that reverts back to passing the kubeconfig in the request rather than passing it via the hard-coded location in the shared file system. I'm not sure I completely understood all the different cases to support there, so it's possible I missed something that you might spot.
More detailed commit comments:

the location labels were added to assist in troubleshooting
these are added to all generated SLX/workflow resources, at least assuming they are following the convention to include the common labels and annotation templates in their gen rules templates
the location values typically come from the uploadInfo.yaml file and are set by PAPI when that file is downloaded to RWL
although note that as of now the PAPI endpoint to generate the upload info file hasn't been updated to include the location name yet, so if you want to test that you need to hand tweak the upload info file. The name of the setting in there is "defaultLocationName".
the generated-by annotation will be used in the new PAPI reconciliation logic to be able to distinguish between resources that come from different locations
The value of the generated-by annotation is: workspace-builder:. If no location name is specified in the upload info file, then it used the location id value.
there's also some code in this commit that reverts back to passing the kubeconfig contents in the request to the workspace builder service rather than reading it from the container file system. This is to go back to the original service design that didn't assume/require that the workspace builder service share a file system with the caller, which was undesirable from a service design standpoint. This change also facilitated local development/debugging of the workspace builder service where it was undesirable to have to have the kubeconfig at a hard-coded location in the file system and in a root-level workspace-builder directory.
removed support for top-level settings for the legacy top-level Kubernetes indexing settings for things like the kubeconfig file and the namespace LOD settings. These must now be specified with the new config structure where they are in the cloudConfig/kubernetes block (which I think hopefully everyone has already switched over to anyway).

Unfortunately the first test has failed, which involves simply indexing 2 aksClusters, which requires the dynamic generation of the kubeconfig file from the commandline azure utilities. Additionall debugging may be required but depending on how deep this goes, we may revert the kubeconfig management changes that were attempted here.
Data in "" has been redacted
cloudConfig:
  azure:
    subscriptionId: ""
    tenantId: ""
    clientId: ""
    clientSecret: ""
    aksClusters:
      clusters:
        - name: aks-cl-1
          server: https://"":443
          resource_group: azure-aks-1
          subscriptionId: ""
        - name: aks-cl-2
          server: https://"":443
          resource_group: azure-aks-2
          subscriptionId: ""
    resourceGroupLevelOfDetails:
      azure-aks-1: detailed
      azure-aks-2: detailed

The CloudQuery discovery / indexing is fine, but no Kubernetes resources are indexed
Azure configuration not found in workspace_info.
Skipping Kubernetes setup as cloudConfig.kubernetes is missing or null.
Skipping Kubernetes discovery due to missing kubeconfig or AKS clusters configuration.
Kubernetes discovery not completed due to missing or invalid kubeconfig.

Starting workspace builder REST server
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 30, 2024 - 14:52:17
Django version 5.1.4, using settings 'config.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
[30/Dec/2024 14:52:20] "GET /info/ HTTP/1.1" 200 2352
No Kubernetes configuration found, so skipping Kubernetes indexing

Nothing super interesting in the current logs.

 We need to validate:

[ ] Indexing an aksCluster and vanilla Kubernernetes cluster  (cloudConfig.Kubernetes)
[ ] aks cluster indexing from  within the cluster via helm and the spSecretName

The second test which combines indexing an AKS cluster AND a vanilla kubernetes cluster looked successful as well;
Example cloudConfig in workspaceInfo.yaml
cloudConfig:
  kubernetes:
    kubeconfigFile: /shared/kubeconfig.secret
  azure:
    subscriptionId: ""
    tenantId: ""
    clientId: ""
    clientSecret: ""
    aksClusters:
      clusters:
        - name: aks-cl-1
          server: https://a:443
          resource_group: azure-aks-1
          subscriptionId: ""
    resourceGroupLevelOfDetails:
      azure-aks-1: detailed

Testing from a helm deployed image running the PR image using spSecretName appears to work for kubernetes, but cloudquery indexing doesn't appear to be happy about the use of the spSecretName.
Using namespace: runwhen-local
Successfully retrieved subscription ID: 2a********************************7f
Kubeconfig generated and saved to /workspace-builder/.kube/azure-kubeconfig
Skipping Kubernetes setup as cloudConfig.kubernetes is missing or null.
Merging azure kubeconfig into /workspace-builder/.kube/config...
Merged kubeconfig written to /workspace-builder/.kube/config
Indexing Kubernetes with kubeconfig from /workspace-builder/.kube/config
Discovery started at: 2024-12-30 21:54:16

Discovering resources...

Found workspace-builder extension for cluster 'aks-rwl-helm': {'auth_secret': 'azure-sp', 'auth_type': 'azure_service_principal_secret', 'cluster_name': 'aks-rwl-helm', 'cluster_type': 'aks', 'resource_group': 'azure-aks-rwl', 'subscription_id': ''}
Adding new cluster 'aks-rwl-helm' with attributes including extension details: {'context': 'aks-rwl-helm', 'namespaces': {}, 'auth_secret': 'azure-sp', 'auth_type': 'azure_service_principal_secret', 'cluster_name': 'aks-rwl-helm', 'cluster_type': 'aks', 'resource_group': 'azure-aks-rwl', 'subscription_id': ''}
Scanning Kubernetes cluster aks-rwl-helm from context aks-rwl-helm
Scanning for Kubernetes resources in namespace "kube-public"
Scanning for Kubernetes resources in namespace "runwhen-local"
Scanning for Kubernetes resources in namespace "default"
Scanning for Kubernetes resources in namespace "kube-system"
Scanning for Kubernetes resources in namespace "kube-node-lease"
Finished Kubernetes indexing
Starting CloudQuery indexing
<IP_ADDRESS> - - [30/Dec/2024:21:54:25 +0000] "GET / HTTP/1.1" 200 35034 "-" "kube-probe/1.30"
Using Kubernetes secret named az****sp from workspaceInfo.yaml
In-cluster Kubernetes configuration loaded successfully.
Using namespace: runwhen-local
Attempting to fetch secret 'az****sp' from namespace 'runwhen-local'...
Secret 'az****sp' fetched successfully from namespace 'runwhen-local'.
Using service principal credentials for authentication.
  File "/workspace-builder/workspace_builder/views.py", line 99, in post
    run_components(context, components)

  File "/workspace-builder/component.py", line 356, in run_components
    component.run_func(context)

  File "/workspace-builder/indexers/cloudquery.py", line 533, in index
    env_vars, cq_platform_infos = init_cloudquery_config(context,
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace-builder/indexers/cloudquery.py", line 359, in init_cloudquery_config
    raise ValueError("Both 'credential' and 'subscription_id' must be provided for Azure.")

Internal Server Error: /run/
Error 500 from Workspace Builder service for command "run": Both 'credential' and 'subscription_id' must be provided for Azure.
[30/Dec/2024 21:54:38] "POST /run/ HTTP/1.1" 500 14013
2024/12/30 21:54:45 [error] 22#22: *11 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: , request: "GET / HTTP/1.1", upstream: "http://[::1]:8082/", host: "<IP_ADDRESS>:8081"
<IP_ADDRESS> - - [30/Dec/2024:21:54:45 +0000] "GET / HTTP/1.1" 200 35034 "-" "kube-probe/1.30"
<IP_ADDRESS> - - [30/Dec/2024:21:55:05 +0000] "GET / HTTP/1.1" 200 35034 "-" "kube-probe/1.30"
<IP_ADDRESS> - - [30/Dec/2024:21:55:25 +0000] "GET / HTTP/1.1" 200 35034 "-" "kube-probe/1.30"

```

Things are looking pretty good, we just need to update the test infrastructure to validate managed identity instead of service principal (as it again changes the structure of the kubeconfig)

Managed Identity testing complete.


No implementation of method: :has? of protocol: #'clojure.core.cache/CacheProtocol found for class: clojure.core.memoize.PluggableMemoization

Installed clerk to a project, and get this upon trying to run it. Both in repl and browser:

@licht1stein Can you provide more details, perhaps a link if the project is open source or otherwise a repro?

It's not public, but here's the full list of libraries used:
aero/aero                                   1.1.6
babashka/fs                                 0.5.21
buddy/buddy-auth                            3.0.1
camel-snake-kebab/camel-snake-kebab         0.4.3
clojure.java-time/clojure.java-time         1.4.2
com.brunobonacci/mulog                      0.9.0
com.brunobonacci/mulog-zipkin               0.9.0
com.brunobonacci/where                      0.5.6
com.cemerick/url                            0.1.1
com.datomic/peer                            1.0.7075
com.fbeyer/reitit-ring-defaults             0.1.0
com.github.seancorfield/expectations        2.0.165
com.github.seancorfield/honeysql            2.4.1045
com.github.seancorfield/next.jdbc           1.3.874
com.taoensso/nippy                          3.4.2
djblue/portal                               0.57.3
hashp/hashp                                 0.2.2
hikari-cp/hikari-cp                         3.0.1
http-kit/http-kit                           2.8.0
integrant/integrant                         0.10.0
integrant/repl                              0.3.3
io.github.escherize/huff                    0.2.12
io.github.matthewdowney/rich-comment-tests  v1.0.3
io.github.nextjournal/clerk                 0.17.1102
io.github.tonsky/clj-reload                 0.7.0
jansi-clj/jansi-clj                         1.0.3
jdbc-ring-session/jdbc-ring-session         1.5.2
medley/medley                               1.4.0
metosin/jsonista                            0.3.10
metosin/reitit                              0.7.0
metosin/reitit-interceptors                 0.7.2
metosin/reitit-sieppari                     0.7.2
migratus/migratus                           1.5.1
mvxcvi/puget                                1.3.4
org.clojars.abhinav/snitch                  0.1.15
org.clojure/clojure                         1.12.0
org.clojure/core.cache                      1.1.234
org.clojure/spec.alpha                      0.5.238
org.clojure/test.check                      1.1.1
org.postgresql/postgresql                   42.6.0
org.postgresql/postgresql                   42.7.3
ring/ring-core                              1.12.2
ring/ring-defaults                          0.5.0
selmer/selmer                               1.12.61
telegrambot-lib/telegrambot-lib             2.6.0

And here's the content of deps.edn:
{:aliases  {:dev {:extra-paths ["development/src"]

                  :extra-deps {org.clojure/clojure {:mvn/version "1.12.0"}

                               my/site {:local/root "bases/site"}

                               my/config {:local/root "components/config"}
                               my/log {:local/root "components/log"}
                               my/postgres {:local/root "components/postgres"}
                               my/strings {:local/root "components/strings"}
                               my/server {:local/root "components/server"}
                               my/date-time {:local/root "components/date-time"}
                               my/middleware {:local/root "components/middleware"}
                               my/html {:local/root "components/html"}
                               my/effects {:local/root "components/effects"}
                               my/interceptors {:local/root "components/interceptors"}
                               my/sessions {:local/root "components/sessions"}
                               my/telegram {:local/root "components/telegram"}
                               my/db {:local/root "components/db"}
                               my/migrate {:local/root "components/migrate"}

                               my/users {:local/root "components/users"}
                               my/chats {:local/root "components/chats"}
                               my/seminars {:local/root "components/seminars"}
                               my/groups {:local/root "components/groups"}

                               io.github.nextjournal/clerk {:mvn/version "0.17.1102"}
                               io.github.tonsky/clj-reload {:mvn/version "0.7.0"}
                               integrant/repl {:mvn/version "0.3.3"}
                               djblue/portal {:mvn/version "0.57.3"}
                               hashp/hashp {:mvn/version "0.2.2"}
                               org.clojars.abhinav/snitch {:mvn/version "0.1.15"}}}
            :test {:extra-paths []}

            :storm {:classpath-overrides {org.clojure/clojure nil}
                    :extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0"}
                                 com.github.flow-storm/flow-storm-dbg {:mvn/version "3.17.4"}}
                    :jvm-opts ["-Dflowstorm.startRecording=true"
                               "-Dclojure.storm.instrumentEnable=true"
                               "-Dflowstorm.title=UFY Storm"
                               #_
                               "-Dflowstorm.theme=dark"
                               "-Dclojure.storm.instrumentOnlyPrefixes=ufy"
                               "-Dclojure.storm.instrumentSkipPrefixes=ufy.log"
                               "-Dflowstorm.fileEditorCommand=emacsclient -n +<<LINE>>:0 <<FILE>>"
                               "-Dflowstorm.jarEditorCommand=emacsclient --eval '(let ((b (cider-find-file \"jar:file:<<JAR>>!/<<FILE>>\"))) (with-current-buffer b (switch-to-buffer b) (goto-char (point-min)) (forward-line (1- <<LINE>>))))'"]}

            :poly {:main-opts ["-m" "polylith.clj.core.poly-cli.core"]
                   :extra-deps {polylith/clj-poly {:mvn/version "0.2.19"}}}}}

Is is possible to narrow down the error to a small notebook that you are allowed to share?

What do you mean with launching clerk? Do you mean running clerk/show!?

Can you specify what aliases you used on startup?
I have to manually strip out all the my/... stuff because that doesn't exist.
With deps from the :dev alias I can't repro and this notebook is properly shown:
(ns foo
  (:require [nextjournal.clerk]))

(comment
  (nextjournal.clerk/serve!

Why is reload/init in a vector?

It's a typo, sorry

Omitting it doesn't change anything

In fact, this user.clj also reproduces the error:
(ns user
  (:require
    [nextjournal.clerk :as clerk]))

(clerk/serve! {:browse? true})

Here is a repo to reproduce it:
https://github.com/licht1stein/clerk-error

Thanks!
On Tue, Oct 22, 2024 at 11:44 PM Mykhaylo Bilyanskyy <
@.***> wrote:

Here is a repo to reproduce it:
https://github.com/licht1stein/clerk-error
—
Reply to this email directly, view it on GitHub
https://github.com/nextjournal/clerk/issues/724#issuecomment-2430368754,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACFSBS2YOLK32N65RG2EPTZ43BKXAVCNFSM6AAAAABQMAXDGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZQGM3DQNZVGQ
.
You are receiving this because you commented.Message ID:
@.***>

--
https://www.michielborkent.nl
https://www.eetvoorjeleven.nu

An even shorter repro:
$ clj -Sdeps '{:deps {org.clojure/core.cache {:mvn/version "1.1.234"} org.clojure/tools.analyzer.jvm {:mvn/version "1.3.0"}}}'
Clojure 1.12.0
user=> (require '[clojure.tools.analyzer.jvm :as jvm])
nil
user=> (jvm/analyze-ns 'clojure.core.cache)
Execution error (IllegalArgumentException) at clojure.core.cache/eval4459$fn$G (REPL:1).
No implementation of method: :has? of protocol: #'clojure.core.cache/CacheProtocol found for class: clojure.core.memoize.PluggableMemoization

Thank you!


Error of missing async dependency during installation

Hi,
I am unable to install this package due to the following error:
"Error: Could not satisfy dependency: async >= 1.0"
I tried installing trepl, but I received the following error:
"Failed searching manifest: Failed fetching manifest for https://raw.githubusercontent.com/torch/rocks/master - Failed downloading https://raw.githubusercontent.com/torch/rocks/master/manifest"
Can anyone please help me with this?
Thanks!

Hi,
I installed async using https://github.com/clementfarabet/async and luasocket using https://luarocks.org/modules/luarocks/luasocket/3.0rc1-2. After doing this, the display package installation succeeded.


Force wallclock time for ephemeral calculations

@buoyad noticed that an ephemeral message had reverted to the original lifetime on one of his devices after a few days had passed. After a db nuke, the remaining lifetime was calculated correctly. I think that the issue was caused by his device having been asleep and then monotonic clock being off when he received the message, which looked like the server was trying to extend the lifetime so he defaulted to the original (signed) lifetime.
we try to ForceWallClock time wherever we do ephemeral calculations (even if it's redundant in some places since we are deserializing/serializing a time.Time, it will hopefully prevent future bugs from happening)

i'm not convinced this is the issue actually after further debugging through the logs


test_dataset is missing

Thanks for sharing the wonderful work!
When I attempt to test the defense performance, it throws the following errors:
Traceback (most recent call last):
File "/ZIP/main.py", line 177, in
sys.exit(main())
File "/ZIP/main.py", line 171, in main
purified_instance.train(schedule)
File "/ZIP/attack/BackdoorBox/core/attacks/base.py", line 188, in train
predict_digits, labels = self._cleantest(self.test_dataset, device, self.current_schedule['batch_size'], self.current_schedule['num_workers'])
File "/ZIP/attack/BackdoorBox/core/attacks/base.py", line 405, in _cleantest
predict_digits = torch.cat(predict_digits, dim=0)
RuntimeError: torch.cat(): expected a non-empty list of Tensors
It seems that the test_dataset does not exist. According to your instructions, the Imagenette dataset has been in the correct directory. I successfully tested the attack performance. Thanks for any kind comments for addressing the issues.

Hi! Thanks for bringing this problem to our attention.
It did seem that the test_dataset is not included. Before we move further, could you confirm the following settings:

Could you confirm that you have downloaded the dataset from this link. And you have put the pre-purified images into the corresponding path (See Step 1 in "Prepare the attacked models and pre-purified images"). Only Imagenette datasets can not be verified in the current mode.

Can you also please confirm you are using command lines provided here. For example, using:

python main.py --dataset Imagenette2 --attack_method BadNet -upctes -upptes --img_size 256 --deg Demo --at_threshold 1  --deg_scale 1.0 --img_size 256


Fluent API for projection config improvements

The .WithProjections() method takes an action and returns void.
Allow for multiple fluent calls to .WithProjections() (potentially renaming it to WithProjection) as it feels a bit more natural.
Given a consumer of the API wants to add multiple projections they would have to something like this:
options.WithProjections((builder, context) => {
   Projection1.Register(builder, context);
   Projection2.Register(builder, context);
}

Ideally it would be nice to call it as (note the method group invocation):
options
  .WithProjection(Projection1.Register)
  .WithProjection(Projection2.Register);
}

I think it makes sense to have both options.
You may want to register all projections from another method for example.
The singular WithProjection method is a nice addition  though

This is no longer relevant after the changes made in #76


WIP: Storage Registry Review

Motivation
Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items.
Change Summary
Describe the changes being made in 1-2 concise sentences.
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[ ] The PR title adheres to the conventional commits standard
[ ] The PR has been tagged with change type label(s) (i.e. documentation, feature, bugfix, or chore)
[ ] The PR's changes adhere to all the requirements in the contribution guidelines
[ ] This PR does not require changes to the Farcaster protocol

Additional Context
If this is a relatively large or complex change, provide more details here that will help reviewers.

A few notes for discussion:

The Data Feeds API Reference say that answeredInRound is deprecated, but we use it in multiple places as a check.
For StorageRent Uptime Feed tests, should we be fuzzing some of the values that we're mocking to get more thorough coverage?
Integration tests like testFuzzUptimeFeedFailure could be separated from unit tests to make it easier to read.
Should we be unit testing methods like _refreshPrice instead of external methods like refreshPrice?
StorageRent has an invalid price check that if the ETH-USD rate goes to 0 we fail. Should we have a higher level check to protect against malfunctions at something like $10 or $100 USD per ETH? In such cases we'd revert to manual price setting or redeploy the contract.
In testFuzzRentFixedPrice the values for expectedPrice and unitPrice are called by walking down the exact same codepath and then compared, so this may not be asserting anything significant.
I don't believe we test the rounding behavior of divWadUp explicitly in our math, should we have a test for this or OK to rely on solcurity's coverage?

The Data Feeds API Reference say that answeredInRound is deprecated, but we use it in multiple places as a check.

Yes, you're right. We can safely remove these. Here's a good guide on the latest recommendations.

OK, previous commit should address 1, 5, 6, and 2.


Clarified content around WDS as it relates to MDT.

Description
The document makes the assumption the MDT still supports Windows 11. Referenced another document to indicate it does not to not confuse customers on utilizing MDT when they shouldn't.
Why
This pull request clarifies that customers don't have a good option to utilize MDT with Windows 11.
Changes
Added a sentence and provided another link to the document where MDT mentions it isn't supported.

Thank you for the feedback and contribution @Andrew-Nielsen. I've reformatted and reworded the contribution to fit our style guidelines, but the same message is still delivered. I also changed the link from known issues to supported platforms. MDT not supporting Windows 11 isn't a known issue - its expected behavior as documented under Supported platforms. This should publish either later today or sometime tomorrow.

No problem. Interesting @frankroj. Gotcha. The Note of "MDT is not supported with Windows 11." is listed under the known issues document. That's why I referenced that. Maybe it was included to list up to the supported platforms document.

Yes, its listed there because it goes on to discuss some issues when trying to use Windows 11 with MDT, but even the Important note at the top has a link back to the Supported platforms doc. Specifically, the scenarios covered are indirect issues, such as MDT integration with ConfigMgr (which does support Windows 11) and trying to use the Windows 11 ADK with MDT.


Atom hangs when opening 2 files with same basename on different panes

Atom hangs when I open 2 files with same basename, such as foo/index.js and bar/index.js, on different panes.
It shows Editor is not responding dialog but Keep Waiting doesn't solve the problem.
Reproduction Steps:

Open foo/xxx file.
Move to other pane.
Open bar/xxx file.

It also hangs when creating new file from tree view.
Expected behavior:
Open bar/xxx file on the pane.
Observed behavior:
Hangs.
Screenshots and GIFs

Here's a capture movie.
https://youtu.be/iuiGKC136OY
Atom version: 1.3.1
OS and version: OS X 10.10.5
Installed packages:
This is the result of apm list:
https://gist.github.com/fand/06d1780462609405b520
Anyway, the problem also happens on safe mode.
Additional information:

Problem can be reproduced in safe mode: Yes
Problem started happening recently, didn't happen in an older version of Atom: Yes
Problem can be reliably reproduced, doesn't happen randomly: Yes
Problem happens with all files and projects, not only some files or projects: Yes

I'm not sure but issue #10067 seems similar to this problem.

I was getting this in 1.3.1 as well. Try 1.4.0-beta0, that fixed it for me.
I'm on OS X 10.10.4.

Yep, this has already been fixed in 1.4.0-beta0.


fitness-tracker-added

Describe your change:

[+] Add a Project?
[ ] Fix a bug or typo in an existing Projects?
[ ] Documentation change?

Checklist:

[+ ] I have read CONTRIBUTING.md.
[+] This pull request is all my own work -- I have not plagiarized.
[+] I know that pull requests will not be merged if they fail the automated tests.
[ +] This PR only changes one Project folder.  To ease review, please open separate PRs for separate algorithms.
[ +] All new Project files are placed inside an existing directory.
[x] If this pull request resolves one or more open issues then the description above includes the issue number(s) with a closing keyword: "Fixes #ISSUE-NUMBER".
[+ ] My code follows the style guidelines of this project
[ +] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[+ ] My changes generate no new warnings
[+ ] The title of my pull request is a short description of the requested changes.
[+ ] I have made corresponding changes to the documentation
[ ] My PR needs documentation change

ATTACH SCREEN-SHOTS

Before
After

You can checkout our Idea-Arca, the project idea bank for any languages, for open-source contributions.
The PR from this repo is being accepted in hacktoberfest2023
Happy Contributing season!
Keep up the good work!


Re-process + Re-ingest Degree Day Coverages to Truncate Historical Era-Interim to 1980-2010

Here’s why:

1979 ERA-Interim data only has 364 days, reflecting that quirky Jan. 2 start date.

The 2015 ERA-Interim data only has 302 days reflecting that October-ish end date.

Variable numbers of days is going to bias our computations of any degree day indicator, wet days, per year, etc.!

So we basically HAVE to dump 1979 and 2015. We could run a 1980-2014 historical period but that’d be a bit of an odd duck in my opinion, and we’d be better off serving the the 30-year 1980-2010 climatology.

[x] Re-process these notebooks, with the historical ERA-Interim truncated to 1980-2010

[x] Design Index
[x] Degree Days

[x] Re-ingest these coverages on Apollo

[x] degree_days_below_zero
[x] design_freezing_index
[x] design_thawing_index
[x] freezing_index
[x] heating_degree_days
[x] thawing_index

[ ] Re-ingest these coverages on Zeus

[ ] degree_days_below_zero
[ ] design_freezing_index
[ ] design_thawing_index
[ ] freezing_index
[ ] heating_degree_days
[ ] thawing_index

Actually, 1980-2009 is probably a better choice. Discuss before taking action on this ticket.

@charparr it looks like the design indices were already created matching the new ERA-Interim period of 1980-2009 - can you sanity check me on that?

@kyleredilla yeah that is correct! I was just confused when making this issue, or made the issue before doing the fix and then ignored it :)
The 1980-2009 window is hardcoded in the design index prep notebook here: https://github.com/ua-snap/rasdaman-ingest/blob/main/arctic_eds/design_indices/design_index_preprocessing.ipynb

Cool! I'll mark those complete then and open a PR for the DD preprocessing changes.

We're turning design indices into a module vs. a pre-baked endpoint, so I've stricken the migration of the design coverages to Zeus.

For the most recent October 2023 launch window we declined to mirror Apollo overages to Zeus (instead electing to just launch Apollo as the new prod instance) so this ticket can be closed because all that remained was to re-ingest the data to Zeus.


add EntityConfiguration DSL

typesafe DSL to configure and create entities for ashley
comments/cleanup is currently missing in commons project. Will add that tomorrow

refactored of state animation (removed config component again because it is not needed for now)
refactored move logic to keep the component on an entity instead of adding and removing it all the time
fixed a bug that the box2d body was not created with the correct bodytype