fix alt+d

Using freetube 0.13.2 on linux d alt-d shift-d all toggle the PIP detached player.

Hi @elig0n, i closed ur PR because this is already added in this merged PR https://github.com/FreeTubeApp/FreeTube-Docs/pull/15

After checking up on it, Alt + D does nothing which D does not for Picture in Picture mode. This implies that the original functionality, to focus on the search bar, is no longer working. Given that we already have documentation for D, we will close this issue and look into this as an issue with the FreeTube app.


Count Distinct Elements in Every Window

🚀 Feature
Given an array and the size of a window (k), print the number of distinct elements for every window.
Example:

Input: arr[] = {10, 20, 20, 10, 30, 40, 10}, k = 4
Output: 2 3 4 3
Input: arr[] = {10, 10, 10, 10}, k = 3
Output: 1 1
Input: arr[] = {10, 20, 30, 40}, k = 3
Output: 3 3

Have you read the Contributing Guidelines on Pull Requests?
Yes.
Motivation
Helps in enhancing problem-solving.
Pitch
Helps in understanding concepts of arrays and hashing.

I want to work on this issue in c++

I want to contribute on this issue. Assign me to this in C++.
@iamrajiv

I want to do this in java

I would like to work on this issue in python

Kindly assign this issue ASAP @iamrajiv sir, so that we can work and get merged this PR by 2nd of October

I want to contribute on this issue. Assign me to this in C++.
@iamrajiv

Hey @imPGupta as @sukritidawar has already claimed for c++, I can't assign it to you. Rest of the people, please go ahead :)

Okay. Then assign me this issue in C.
@Kajol-Kumari


RNG-107: Enable checkstyle for the test sources.

Add space around =
Remove unnecessary parenthesis
Remove unused imports
Fix whitespace around braces
Suppress certain allowed checks using suppressions file
Fix indentation

Coverage remained the same at 98.899% when pulling 96f373486406387ddfddfe192607afd7d0011718 on aherbert:improvement-RNG-107 into 9c4536a998f2864a2e5bd2f45dc78f668af04448 on apache:master.


chore: Adds GCP Secret Manager trigger authentication docs

A description of what has been changed

Adds GCP Secret Manager trigger authentication docs

Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

@neelanjan00 regarding the failing jobs, I think you will need to adjust .htmltest like in https://github.com/kedacore/keda-docs/commit/e03ee096b70db4300216c829c6d12c57cff81025

@neelanjan00 please also add this page here to the list, to fix netlify issues: https://github.com/kedacore/keda-docs/blob/02d6f01ba1b8e1aa8b9ce36a18422eef50673bfa/.htmltest.yml#L8

Thank you for the detailed reveiw, @wozniakjan @zroubalik. PTAL.


Error with post or put if type(data) is bytes

There seems to be an error in session.py at line 230 that manifests itself when you pass in a value of type bytes to the data= parameter in either .post or .put
Original code:
if oauth_param in data:

But this assumes that data is a dictionary...and this fails with an error if data is bytes.
From the documentation, data should accept bytes:
:param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:'Request'.
I think the code should be updated to:
if not isinstance(data, bytes) and oauth_param in data:

The proposed fix seems reasonable to me.

Fixed this in my fork


[Bug] it's broken if specific strings are included.

I got this error when there is string including - [ ] [ ][[link]] title in check list.

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'filePath')

macOS:    13.2.1
Obsidian: Version 1.1.9

I hit the same error, but it was because I aliased my link. It broke on |.
// Works
- [ ] Something [[link]]

// Doesn't work
- [ ] Something [[link | A]]

Oddly your example seems to works for me (maybe there's another plugin you have?)
- [ ] Something [[link]] test
- [ ] [ ] Something [[link]] test
- [ ] [ ] [[link]] test

Aliases actually work - the work around I have found is to not include spaces:
// Works
- [ ] [[20230507 Some other document|Some doc]]

// Doesn't Work
- [ ] [[20230507 Some other document| Some doc]]

// Doesn't Work
- [ ] [[20230507 Some other document |Some doc]]

Thanks @ryardley, yes that format without spaces works - I can live with that as a solution. But it'd be nice if it was a bit more forgiving on the aliases. 😄

Fixed in 2.2.13


weak attribute on the z_sys_init_run_level(enum init_level level)

I have a problem where I need to customize the initialization of a driver, specifically not initialize the driver until I need it in my code to keep the pins in a known state.
I do know that the latest main branch has methods for delay initialization.
However I was wondering if the the z_sys_init_run_level(enum init_level level) could be made a weak function?
Then in my code I could redefine the function to do my custom initialization as needed.
Basically this would allow developers who need customization of the initialization process to have complete control, without having to modify the zephyr source code.  For the 'average' user they would never know the difference.
Note this could be also implemented by a CONFIG parameter.  That is the CONFIG is set the the code would place the weak attribute on the function.   Personally I see no need for the CONFIG parameter unless someone accidently has a function named
z_sys_init_run_level in their code.
Note this weak attribute could be expanded to other functions in the initialization and starting up of the main thread such that developers that need greater control can obtain it without modifying the zephyr source files.

I do know that the latest main branch has methods for delay initialization.

As discussed in Discord multiple times, this is the way your use-case will be supported from Zephyr v3.7 and forward.

However I was wondering if the the z_sys_init_run_level(enum init_level level) could be made a weak function?
Then in my code I could redefine the function to do my custom initialization as needed.

In your downstream fork, you can do anything that solves the problem for you. If you are asking for this change to be implemented and backported to older releases, not likely.

This usecase sounds like something that you should maintain in a downstream fork. You can also have your custom out of tree driver where you can implement the behavior you want.


Accessibility WAI-ARIA

Could you add accessibility tags to this plugin in?

It would be great to make this plugin accessible. Thanks

Hi @vanessalh, Sure I'll try to work on this whenever possible. Thanks for the suggestion!

@vaakash thank you by advance. The first thing to change, it would be to have a  instead of a link. It misses several attributes like aria-controls, aria-expanded ... but it can be easily added in javascript.


[PROPOSAL] Setters and getters for input fields, rules and messages.

What are you think about getters and setters? Because not always convenient set this exactly when creating new Validator object.
For example:
class Foo {
   render(input) {
       const validator = new Validator(input, { ... }, { ... });
       if (validator.passes()) {
           // Do something
       }
   }
}

It's not convenient and bad for performance in my case -- creating new object always when I calls render function in class.
More convenient when I created Validator object once in constructor:
class Foo {
   constructor() {
       this.validator = new Validator(); // But you can set here input, rules, and messages, but if not, then  values will be default.
   }

   render(input) {
       this.validator.setInput(input).setRules({ ... }).setMessages({ ... });
       if (this.validator.passes()) {
           // Do something
       }
   }
}

The main job of the Validator constructor is to parse the rules. If you delegated the rule setting to a setter, I think it would still be the same code running under a different method and I'm not sure this would help your situation. Maybe the Validator could take rules up front and parse those, and have input set later like in your render method. What do you think @garygreen?

There may be function which parse rules and if rules set in constructor - call parse function, and if set in setter - also call parse function. It's more flexible. And you do not create Validator object over and over again.

I'm not sure why initializing the validator multiple times is such a big performance issue. Why are you initializing it and validating data so many times? Maybe you could restrict it in your app?
I do think however that it might be useful being able to have a .setInput() and .reset() method of some form, if you want to re-validate new data but with the same set of rules (which will mostly like be the case). But if we did that you could argue why not a setRules setMessages etc.
Unless there's a good reason to not initialize the validator again, it probably makes sense as it is. Alternatively find any ways of improving the speed of initialization, rule passing / caching etc (although this is probably already pretty quick).

Because for creation and deletion of objects needs to waste time, and if such objects creates a lot of it is bad for performance.
In my case not much time, when customer click submit button.
But setter/getter patternt it isn't bad, it is another enrtypoint and a little better for performance.

Agree with @garygreen. Thanks for the suggestion @valeryq


Free hosting/deployment

Does anybody know of a hosting option where MfG would qualify for a (non time-limited) free tier? Not only the app server, but all dependencies like Redis and Postgres. Thanks!

It's not that easy to get hosting for free. Only some of them provide free hosting for the backend stuff and only some out of them support Docker. In short, they are Zeit Now and Heroku. A long answer is below.

Zeit Now. I know you already checked that they don't support docker compose but you could may be find a work around and run three separate containers, but you need to provide strong passwords for your databases since they will be available publicly in this case. You will have to give the hosts for Redis and Postgres, and also the credentials, to the MfG app
Heroku. I recently saw they support hosting of Dockerized apps. But I am not sure about composing. Or like I said in the previous one, you have to host it all separately.

@karuppiah7890 Wrapped this up very well. Zeit only offers a way to deploy applications to remote servers in a simple manner, but it doesn't provide hosting. Heroku is a potential option however, the question is one of complexity in terms of setup & the reliability and computational power they can offer.

@AndrewGHC Which provider did you pick?

@styfle We're using EC2 instances on the free tier.


Bugfix in houdini shelves manager and beautify settings

Changelog Description
This PR fixes the problem in this PR https://github.com/ynput/OpenPype/issues/5457 by using the right function to load a pre-made houdini .shelf file
Also, it beautifies houdini shelves settings to provide better guidance for users which helps with other issue https://github.com/ynput/OpenPype/issues/5458 , Rather adding default shelf and set names, I'll educate users how to use the tool correctly.

OpenPype
Ayon

Testing notes:

Add shelves, everything should be the same.

Quick question: Is the logic that only one or none of the two options should be filled?

Quick question: Is the logic that only one or none of the two options should be filled?

Settings themselves are empty by default

As soon as a user hits ( + )  button, It's either option 1 or option 2
Ayon will not complain about any empty fields and Houdini will do nothing if they are empty

So I can fill both Option 1 and Option 2?

So I can fill both Option 1 and Option 2?

You can fill in Option 1 OR Option 2 - one of the two. If both are filled in, Option 1 is only used.

So we should use "dict-conditional" type in OpenPype and "conditionalEnum" in AYON https://github.com/ynput/ayon-example-addon/blob/main/settings.py#L86 . With that user select in enum which option he would like to use, and only inputs for the selected one are showed in UI...

So we should use "dict-conditional" type in OpenPype and "conditionalEnum" in AYON. With that user select in enum which option he would like to use, and only inputs for the selected one are showed in UI...

This is pretty interesting!

I tried with OP/AYON, all seem working fine


88010 remote control: missing hardware doc

It would be helpful to add 88010 (remote control) to the hardware page.

What buttons and lights does it have?
Is it programmable?

Does it have a bootloader mode?
Is is possible to install alternate code, even temporarily?

Thanks for opening this. We're happy to take a pull request.
Eventually it would be nice to have an overview on our website.

Does it have a bootloader mode?

Not that we know of. At least not over the air.

Is is possible to install alternate code, even temporarily?

It doesn't look that way, but you can change its name. In this way you could store up to 14 bytes on the device or so.


WIP: Provide an alternate AWS Endpoint URL for testing

Sorry, I assumed it was possible and just copied the first google link I found.  I take this is for running a test environment? Or just for running unit tests?

We'll take a look at this when it's ready but I suspect it could be better accomplished via aws config settings (which boto uses) or an environment variable.


.Net Bugfix: Azure SDK Retry Logic unaffected when Kernel Retry = 0

Motivation and Context
According to the issue #2192 when using the Retry abstraction implementation with AzureText/Chat Completion the behavior is being ignored.
Azure Client adds the resiliency as part of the HttpPipeline while the SK resiliency is running in as a DelegateHttpHandler, this way even disabling the retry logic in the Delegate part, the internal Azure pipeline implementation kicks in with the default 3 retrials.
Closes #2192
Resolves #2192
Description
Could identify that indeed the OpenAIClient implementation is actually using another approach for Retry logic through RetryPolicy or Retry property in the ClientOptions configuration.
As a mitigation for the bug I moved the extensions implementation to actually use another constructor which expect the OpenAIClient object and create its configuration as part of extension private methods impl with the same Retry policy configuration that the Kernel has.
Currently the changes don't break customers, but I'm still considering removing or changing the other constructors that don't make usage of OpenAIClient because if they are used directly (without thru the extension) the bug would still happen (Azure SDK pipeline defaulting to 3 retrials).
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

Note, a couple times the merge queue has rejected this due to integration test failures. It looks like a rate limiting issue, but odd that this is the only change impacted. Can you take a look at the failures please?
https://github.com/microsoft/semantic-kernel/actions/runs/5747067526/job/15577491707

Note, a couple times the merge queue has rejected this due to integration test failures. It looks like a rate limiting issue, but odd that this is the only change impacted. Can you take a look at the failures please?

@shawncal Changed the Integration Tests to check for any exception message instead of being more specific, basically any failure would suffice to validate the test (no resiliency policy running in)

Integration test failure: https://github.com/microsoft/semantic-kernel/actions/runs/5758216619/job/15610414061
SemanticKernel.IntegrationTests.Connectors.OpenAI.AzureOpenAICompletionTests.AzureOpenAIChatNoHttpRetryPolicyCustomClientShouldThrowAsync(prompt: "Where is the most famous fish market in Seattle, W"..., ???: "This model's maximum context length is") [FAIL]
Skipped SemanticKernel.IntegrationTests.Connectors.Weaviate.WeaviateMemoryStoreTests.ItListsCollectionsAsync [1 ms]
Skipped SemanticKernel.IntegrationTests.Connectors.OpenAI.OpenAITextEmbeddingTests.OpenAITestAsync [1 ms]
Failed SemanticKernel.IntegrationTests.Connectors.OpenAI.AzureOpenAICompletionTests.AzureOpenAIChatNoHttpRetryPolicyCustomClientShouldThrowAsync(prompt: "Where is the most famous fish market in Seattle, W"..., ???: "This model's maximum context length is") [< 1 ms]
Error Message:
System.InvalidOperationException : The test method expected 1 parameter value, but 2 parameter values were provided.


VkDrawIndexed validation layer suggestion

Basically:
Created only created pipeline once (which needs a renderpass) because it is a dynamic pipeline
later on
On window resizing
destroyed renderpass and recreated it
recreated commandbuffers
VkDrawIndexed throws an exception that has no validation layer attached or message. The exception only happens on debug mode. Because the pipeline is referencing an old renderpass.
Can a validation layer be added to check this behavior? Or do I need to add more information?

@UPS7kYkHEPbZIucaqjje If I understand your complaint correctly it sounds like a driver bug. Here's spec text on renderPass lifetime:

A VkRenderPass object passed as a parameter to create another object is not further accessed by that object after the duration of the command it is passed into.

Let me try and explain again.
I created an initial dynamic pipeline with a renderpass (lets call it renderpass_1) I created beforehand.
Then on window resizing, I destroyed and recreated the renderpass_1 with the same parameters. Now I have a renderpass_2.
Now when I recreate the commandbuffers the VkDrawIndexed throws an exception. Presumably because when attaching the pipeline again the pipeline has a reference to renderpass_1. While the only valid renderpass is renderpass_2.

@tobine this sounds like what's been recently fixed in master.


Refresh notification counter live with websocket

https://community.gladysproject.com/t/need-your-feedback-correction-bugs/1524/147

And push notification in web browser ? Like the forum ?


The create_lmdb.py doesn't work with the same filenames

Tried to create my own lmdb file using the create_lmdb.py file.
I found that the script only works with different filename cause it uses that filename (basename) as key.
My path is somewhat like this:
/home/Dataset/SISR/Class_A/XXXX.png
/home/Dataset/SISR/Class_B/XXXX.png
/home/Dataset/SISR/Class_C/XXXX.png

Filenames are the same but the content is different. The create_lmdb.py will create only 1 key (it means the size of dataset will be 1 instead of 3 files)
The only solution I have right now is to rename all image filenames so that they do not duplicate. Then run the code to generate the lmdb file. But it seems to be not the convenient way.
Do you have any better ideas? Thanks

[UPDATED] My solution is to add the iterator i with basename so that they will have a unique name.
I changed the line #33 in the create_lmdb.py to:
base_name = str(i) + "_" + os.path.splitext(os.path.basename(v))[0]

@huuquan1994
Your solution is a good way to create unique keys.


Update TbbpmStatelessProcessRuntime.java

CodeScene Delta Analysis Results
View detailed results in CodeScene

Recommended Review Level
Detailed -- Inspect the code that degrades in code health.

Warnings
Degrades in Code Health

compileflow/src/main/java/com/alibaba/compileflow/engine/runtime/impl/TbbpmStatelessProcessRuntime.java degrades from a Code Health of 7.35 -> 4.63

Code Health Delta Descriptions
TbbpmStatelessProcessRuntime.java
Degradations

Low Cohesion - new issue
Complex Method: iterateLine cyclomatic complexity = 27, tileTapped cyclomatic complexity = 22, removeSelection cyclomatic complexity = 16, update cyclomatic complexity = 15, unitControl cyclomatic complexity = 14 and 9 more functions. - getting worse


instance-to-canonical-json() doesnt return all the items for a property that is an array

Below query is from unit test:
import module namespace es = 'http://marklogic.com/entity-services' at '/MarkLogic/entity-services/entity-services.xqy';
import module namespace conv = 'http://marklogic.com/entity-services/test#Order-0.0.4' at '/ext/Order-0.0.4.xqy';

conv:instance-to-canonical-json(conv:extract-instance-Order( doc('Order-Source-1.xml')))

There are 2 products in the source document and only 1 is returned. Apparently it seems to have been overwritten so the last product is only returned.
instance-to-canonical-xml() returns 2 as expected.
EDITED: Updated to instance-to-canonical-json() in place of instance-to-json-envelope()

Fixed this too in a PR to be pushed shortly.

Verified the fix. Working as expected.

Shipping the issue.


Fetch retracted status from Retraction Watch and display information; Consistently fetch flagged/deprecated/status tag attributes

This is a replacement for #1011

These all applied cleanly for me locally. going to merge and try on staging next.


Find way to remove hardcoded $PATH for checking Pass presence

https://github.com/gotmax23/ansible-role-pass/blob/35550c61d05261306c5a1455491a8fd1368ed349/tasks/source_install.yml#L6-L13
This was initially added in https://github.com/gotmax23/ansible-role-pass/commit/790f7ee6dfb38f98920d3b818623d7892af2c911 to fix failing CI on EL 8 and Leap 15.2.

Currently testing on the issue2 branch.


Disable refresh_token revocation

IFTTT requires that refresh_tokens essentially never expire.

Heads up @DanielRondeau @northoutvarun. IFTTT requires that refresh tokens essentially never expire. Because Doorkeeper does not provide this kind of configuration and would unlikely decline a PR to make it so (because refresh token TTL is not in the official OAuth spec), I've forked Doorkeeper in order to override this configuration. This means we're now using our own fork of Doorkeeper and not the official one out of necessity.


api documents

Headings are displayed, but there is no information about what is behind them. Of course, I can download the source code and look there, but for beginners, this will not be the best solution.
I think something just didn't compile correctly.

The code example in the documentation is very old, without async and something else that I don't remember exactly.
2.
Also, I would recommend fixing the API documentation and adding examples for all methods, like how do I get the server name.
I don't have the API documentation, but I just need to write a bot, not study its code, haha. But maybe, if I have time, I will also make some fixes, because I like this project and its implementations, but I recommend adding examples.

Thanks for your suggestions.
I will keep it in mind for next time I get some free time, but before the next version of TeamTalk.py.
Anyone are more than welcome to improve the documentation, or add examples.


logs/sds: add support for secondary validator.

What does this PR do?
Adds support for the SDS secondary validators.
Motivation
Use more feature the SDS library.
Additionnal notes
The TODO: telemetry will be done before merging this PR, I'm waiting for #24722 to be merged to avoid conflicts, and will use its changes in this one to complete the TODO.
Describe how to test/QA your changes

Run the Agent in an org with the feature enabled
Validate that a rule with a secondary validator is used and is working fine, e.g. the luhn one.

/merge


Focusing Jig

Focusing the camera is super hard - with the aperture, back-focus screw, light strength, and the normal focusing ring.
a 3D printed jig would be helpful
initial design looks like this:

stl file : https://github.com/UNCG-DAISY/SandCam/commit/b451561ca99871739699a5ee7c5fff1f92ebd56e

updated and fixed design


Document unique_identifier_attempt

e.g.

Either the party's id, {identifier.scheme}-{identifier.id} or name, depending on which fields are available.

It was noted in the end-of-sprint call on 2019-06-25 that we can add more documentation about the tables more generally (how to interpret calculated columns, how they are calculated, etc.).
cc @duncandewhurst @kindly who raised this.

 Improve docs of kingfisher-views and kingfisher-process database

@kindly - what was the intended scope of the uniqueness of these identifiers?
party.id need only be unique within the scope of a contracting process for the data to conform with OCDS, so if the intent was for the identifier to be unique across the dataset, then we shouldn't use this.
Identifiers which are unique across the whole dataset would be most useful (to avoid analysts having to add conditions to their queries based on whether a publisher has provided good organization identifiers or not), so even if this wasn't the intent, we should either change how these fields are constructed or add another field with a unique-across-the-dataset identifier.

Fields are now documented via #96.
I think the intent was for this was to have a way to joining to the parties array if the identifiers were bad.  Howerver, agreed I think we should have a unique across database field.


Create dataset loader for UIT-ViCTSD

Dataloader name: uit-victsd/uit-victsd.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?uit-victsd

Dataset
uit-victsd

Description
The UIT-ViCTSD (Vietnamese Constructive and Toxic Speech Detection dataset) is a compilation of 10,000 human-annotated comments intended for constructive and toxic comments detection.  Divided into three parts, it includes a Training set with 7,000 comments, a Validation set containing 2,000 comments, and a Test set with 1,000 comments. The composition of the dataset spanning 10 domains, reflecting the diverse expressions found in social media interactions among Vietnamese users.

Subsets
constructiveness, toxicity

Languages
vie

Tasks
Text Classification

License
Unknown (unknown)

Homepage
https://github.com/tarudesu/ViCTSD

HF URL
https://huggingface.co/datasets/tarudesu/ViCTSD

Paper URL
https://link.springer.com/chapter/10.1007/978-3-030-79457-6_49

#self-assign

@holylovenia @SamuelCahyawijaya @sabilmakbar
Almost done with dataloader, just making sure if INTENT_CLASSIFICATION is the correct task for the constructiveness subset?

Yeah INTENT_CLASSIFICATION should be fine for constructiveness. For toxicity, we have new type of task called ABUSIVE LANGUAGE PREDICTION (https://github.com/SEACrowd/seacrowd-datahub/pull/299).
cc @holylovenia @SamuelCahyawijaya


Visitor: User create a new account.

Good Job @Calebbii
Find the following minor fixes:

[ ] Replace Your e-mail with EMAIL

[ ] Replace the second PASSWORD with CONFIRM PASSWORD

[ ] Google sign in Logo should look like this:

I have fixed the changes

@Calebbii Ensure you attach the final screenshot


Update WPSpyder.py_hit-1170300803

I extend the program content, and add some annotations.

Thank you for your comments. Could you please be more specific? Adding more comments will be of great help to others.
Thanks again!

More information has been updated

Thank you!


Multi-URL support

Requested by @rahulr892 in #19.
Will need to come up with a design for how to allow for this feature in a simple to understand way.

Design will be decided in https://github.com/open-indy/Koa11y/issues/29
Work on this feature will be put on hold until designs are finalized. Scheduled for Koa11y 4.


Assorted bug fixes

Taken over from https://github.com/spdx/tools-python/pull/207.
There were some conflicts when rebasing on main. I tried to make minimal changes, only fixing code that was obviously wrong after resolving conflicts. I will add additional changes in separate commits.
NOTE: Since signoffs of original authors are missing, I will redo this PR from scratch.

Continued in #270.


Add Mnemonic field to CoreDSL Syntax

Motivation
With CoreDSL 2 instruction names can not include dots (.) while there are many extensions using names with a dot (see first & second example). While this might be neglectible for HLS and ISS, it affects further integrations, such as disassembler-Generation.
Therefore I propose to add an optional mnemonic: field to the CoreDSL 2 syntax which can be used to provide the actual instruction name if the name used in CoreDSL does not match the real one.
In addition I oftern run into situation where combining multiple instructions (which minor differences in the encoding/behavior) into a single one (see second & third example below), which of course will end up having an invalid name for that instructions.
To deal with this sort of problem I would like to be able to use similar formating options as already allowed for the assembly: field. For dealing with more complex types of instructions (having non-trivial mappings between encoding/operands and names) we would need to come up with a more powerful variant of this feature (see third example)
Examples
Mnemonics with a dot: Custom Multiply-Accumulate (Pulp/CoreV)
Spec: https://github.com/openhwgroup/cv32e40p/blob/master/docs/source/instruction_set_extensions.rst#mac-encoding
Usage: cv.mac rd, rs1, rs2
Before:
CV_MAC {
  encoding: 7'b1001000 :: rs2[4:0] :: rs1[4:0] :: 3'b011 :: rd[4:0] :: 7'b0101011;
  assembly:"{name(rd)}, {name(rs1)}, {name(rs2)}";
  behavior: {
    signed<65> result = (signed)X[rs1] * (signed)X[rs2] + (signed)X[rd];
    if(rd != 0) X[rd] = result[31:0];
  }
}

Problems:

wrong mnemonic used in (dis)assembly (underscore instead of dot)

After:
CV_MAC {
  mnemonic: "cv.mac";
  encoding: 7'b1001000 :: rs2[4:0] :: rs1[4:0] :: 3'b011 :: rd[4:0] :: 7'b0101011;
  assembly:"{name(rd)}, {name(rs1)}, {name(rs2)}";
  behavior: {
    signed<65> result = (signed)X[rs1] * (signed)X[rs2] + (signed)X[rd];
    if(rd != 0) X[rd] = result[31:0];
  }
}

Potential problems:

None as long as the mnemonic field is optional
Upper case for Instruction names vs. lower case or mnemonic?

Trivial mnemonic formatting: Vector Strided Segment Loads (RVV)
See: https://github.com/openhwgroup/cv32e40p/blob/master/docs/source/instruction_set_extensions.rst#mac-encoding
Usage: vlsseg<nfields>e<eew>.v vd, (rs1), rs2, vm
Details:

nfields=1...8
eew=8,16,32,64
Results in 32 Instructions
Only define 1 (or 4) times with nfields (or nfields+eew) taken from encoding?
Many similar examples in RVV!

For now let's only consider nfields. (eew has non-trivial encoding)
Before (combined):
VLSSEGE64_V {
    encoding: nf[2:0] :: 1'b0 :: 2'b10 :: vm[0:0] :: rs2[4:0] :: rs1[4:0] :: 3'b111 :: vd[4:0] :: 7'b0000111;
    assembly:"{name(vd)}, {name(rs1)}, {name(vm)}";
    behavior: {
        unsigned<4> nfields = nf + 1;
        ... // call to external softvector lib
    }
}

Problems:

Wrong mnemonic used in (dis)assembly
Can not distinguish between the 8 variants

Before (separate):
VLSSEG1E64_V {
    encoding: 2'b00 :: 1'b0 :: 2'b10 :: vm[0:0] :: rs2[4:0] :: rs1[4:0] :: 3'b111 :: vd[4:0] :: 7'b0000111;
    assembly:"{name(vd)}, {name(rs1)}, {name(vm)}";
    behavior: {
        unsigned<4> nfields = 1;  // nf + 1
        ... // call to external softvector lib
    }
}
VLSSEG2E64_V { ... }
VLSSEG3E64_V { ... }
VLSSEG4E64_V { ... }
VLSSEG5E64_V { ... }
VLSSEG6E64_V { ... }
VLSSEG7E64_V { ... }
VLSSEG8E64_V { ... }

Problems:

much redundant code
wrong mnemonic (underscore instead of dot)

After (combined):
VLSSEGE64_V {
    mnemonic: "vlsseg{nf+1}e64.v";
    encoding: nf[2:0] :: 1'b0 :: 2'b10 :: vm[0:0] :: rs2[4:0] :: rs1[4:0] :: 3'b111 :: vd[4:0] :: 7'b0000111;
    assembly:"{name(vd)}, {name(rs1)}, {name(vm)}";
    behavior: {
        unsigned<4> nfields = nf + 1;
        ... // call to external softvector lib
    }
}

Potential problems:

allow access to operands during formatting?
allow {imm:#08x} style formatting similary to assembly definition?

Non-trivial mnemonic formatting : Byte Unpacking (RVP)
Spec: https://github.com/riscv/riscv-p-spec/blob/master/P-ext-proposal.adoc#sunpkd810-sunpkd820-sunpkd830-sunpkd831-sunpkd832
Usage:

SUNPKD810 rd, rs1 (Signed Unpacking Bytes 1 & 0)
SUNPKD820 rd, rs1 (Signed Unpacking Bytes 2 & 0)
SUNPKD830 rd, rs1 (Signed Unpacking Bytes 3 & 0)
SUNPKD831 rd, rs1 (Signed Unpacking Bytes 3 & 1)
SUNPKD832 rd, rs1 (Signed Unpacking Bytes 3 & 2)

Details:

There are many further instructions in RVP

i.e. having suffix: BB(Bottom/Bottom), TT(Top/Top), BT(Bottom/Top), TB(Top/Bottom)

Before (combined):
SUNPKD8 { // or SUNPKD8XY
    encoding: 7'b1010110 :: code[4:0] :: rs1[4:0] :: 3'b000 :: rd[4:0] :: 7'b1110111;
    assembly:"{name(rs1)}, {name(rd)}";
    behavior: {
        if(rd != 0) {
            unsigned<32> rs1_val = X[rs1];
            if(code == 5'b01000) {  // SUNPKD810
                signed<8> rs1_val_hi = rs1_val[15:8];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01001) {  // SUNPKD820
                signed<8> rs1_val_hi = rs1_val[23:16];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01010) {  // SUNPKD830
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01011) {  // SUNPKD831
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[15:8];
            } else if (code == 5'b10011) {  // SUNPKD832
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[23:16];
            } else {
                raise(0, 2);  // Invalid instruction
            }
            X[rd] = (signed<16>)rs1_val_hi :: (unsigned<16>)(signed<16>)rs1_val_lo;
        }
    }
}

Problems:

Wrong mnemonic used in (dis)assembly
can not distinguish between the 5 variants

Before (separate):
SUNPKD810 {
    encoding: 7'b1010110 :: 5'b01000 :: rs1[4:0] :: 3'b000 :: rd[4:0] :: 7'b1110111;
    assembly:"{name(rs1)}, {name(rd)}";
    behavior: {
        if(rd != 0) {
            unsigned<32> rs1_val = X[rs1];
            signed<8> rs1_val_hi = rs1_val[15:8];
            signed<8> rs1_val_lo = rs1_val[7:0];
            X[rd] = (signed<16>)rs1_val_hi :: (unsigned<16>)(signed<16>)rs1_val_lo;
        }
    }
}
SUNPKD820 { ... }
SUNPKD830 { ... }
SUNPKD831 { ... }
SUNPKD832 { ... }

Problems:

Too much redundant code

Before (separate + helper function):
unsigned<32> sunpkd8_helper(unsigned<32> data, unsigned<5> code) {
    if(code == 5'b01000) {  // SUNPKD810
        signed<8> rs1_val_hi = rs1_val[15:8];
        signed<8> rs1_val_lo = rs1_val[7:0];
    } else if (code == 5'b01001) {  // SUNPKD820
        signed<8> rs1_val_hi = rs1_val[23:16];
        signed<8> rs1_val_lo = rs1_val[7:0];
    } else if (code == 5'b01010) {  // SUNPKD830
        signed<8> rs1_val_hi = rs1_val[31:24];
        signed<8> rs1_val_lo = rs1_val[7:0];
    } else if (code == 5'b01011) {  // SUNPKD831
        signed<8> rs1_val_hi = rs1_val[31:24];
        signed<8> rs1_val_lo = rs1_val[15:8];
    } else if (code == 5'b10011) {  // SUNPKD832
        signed<8> rs1_val_hi = rs1_val[31:24];
        signed<8> rs1_val_lo = rs1_val[23:16];
    } else {
        raise(0, 2);  // Invalid instruction
    }
    return (signed<16>)rs1_val_hi :: (unsigned<16>)(signed<16>)rs1_val_lo;
}

SUNPKD810 {
    encoding: 7'b1010110 :: 5'b01000 :: rs1[4:0] :: 3'b000 :: rd[4:0] :: 7'b1110111;
    assembly:"{name(rs1)}, {name(rd)}";
    behavior: {
        if(rd != 0) {
            X[rd] = sunpkd8_helper(X[rs1], 5'b01000)
        }
    }
}
SUNPKD820 { ... }
SUNPKD830 { ... }
SUNPKD831 { ... }
SUNPKD832 { ... }

Problem:

Less intuitive
Encoding etc. still redundant

After (combined only):
string decode_xy(unsigend<5> code) {
    if(code == 5'b01000) {  // SUNPKD810
        return "10";
    } else if (code == 5'b01001) {  // SUNPKD820
        return "20";
    } else if (code == 5'b01010) {  // SUNPKD830
        return "30";
    } else if (code == 5'b01011) {  // SUNPKD831
        return "31";
    } else if (code == 5'b10011) {  // SUNPKD832
        return "32";
    } else {
        return "";
    }
}

SUNPKD8 { // or SUNPKD8XY
    mnemonic: "sunpkd8{decode_xy(code)}"
    encoding: 7'b1010110 :: code[4:0] :: rs1[4:0] :: 3'b000 :: rd[4:0] :: 7'b1110111;
    assembly:"{name(rs1)}, {name(rd)}";
    behavior: {
        if(rd != 0) {
            unsigned<32> rs1_val = X[rs1];
            if(code == 5'b01000) {  // SUNPKD810
                signed<8> rs1_val_hi = rs1_val[15:8];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01001) {  // SUNPKD820
                signed<8> rs1_val_hi = rs1_val[23:16];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01010) {  // SUNPKD830
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[7:0];
            } else if (code == 5'b01011) {  // SUNPKD831
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[15:8];
            } else if (code == 5'b10011) {  // SUNPKD832
                signed<8> rs1_val_hi = rs1_val[31:24];
                signed<8> rs1_val_lo = rs1_val[23:16];
            } else {
                raise(0, 2);  // Invalid instruction
            }
            X[rd] = (signed<16>)rs1_val_hi :: (unsigned<16>)(signed<16>)rs1_val_lo;
        }
    }
}

Potential problems:

See previous example
needs string type?
allow to calling helper functions during formatting?

BTW: {name(...)} is also allowed and backend-implementation specific which is a bit unintuitive. With the proposed change, this could be implemented as (external) function instead.

Neat! I agree that this would be important to support more real-world extensions. @PhilippvK can you present this proposal in the WG call on 13/3?

I can present it next Monday!

I talked with @AtomCrafty about allowing dots in the instruction name. Having two kinds of identifiers is actually not possible because the lexer cannot distinguish them when tokenizing the input. We could
a) allow strings for the name
instructions {
  ADDI {...}
  "cv.mac" {...}
}

or
b) parse ID-with-dots as expressions (which would require some processing in the downstream tools, though the effort should be manageable, as instruction names are not references anywhere else).
Thoughts?

I figured out that the XCoreVMem ISA extension has some more good examples for the Mnemonic use-case: https://cv32e40p.readthedocs.io/en/latest/instruction_set_extensions.html#load-operations
They have register-register load/store instructions with and without Post-Increment which share the same mnemonic but use differend assembly arguments for differentiation (beside the encoding of course):

cv.lb rD, rs2(rs1) vs. cv.lb rD, rs2(rs1!)

Using the mnemonic as CoreDSL identifier leads to two instructions with the same name which can lead to issues. In my opinion these identifiers should be unique, even if only the encoding is used on the backend side. Hence I would prefer to use the following syntax:
CV_LB_rr {
    mnemonic: "cv.lb";
    assembly: "{name(rd)}, {name(rs2)}({name(rs1)})";
    ....
}
CV_LB_rr_inc {
    mnemonic: "cv.lb";
    assembly: "{name(rd)}, {name(rs2)}({name(rs1)!})";
    ....
}

Would you now agree, that the mnemonic: field would be a better solution, than just allowing . in instruction identifiers?
@jopperm @wysiwyng @eyck

There is no objection wrt. to the possibility if specifying a mnemonic. But I'm a bit hessitant to add keywords to the language itself.
Why not extending the assembly to either take a string (as of now) or take a list of strings enclosed in braces.  The example would look like:
CV_LB_rr {
    assembly: {"cv.lb", "{name(rd)}, {name(rs2)}({name(rs1)})"};
    ....
}
CV_LB_rr_inc {
    assembly: { "cv.lb", "{name(rd)}, {name(rs2)}({name(rs1)!})"};
    ....
}

Since the frontend is not validating the content of the string this would be a minor change in the grammar and validation framework (@AtomCrafty correct my if I'm wrong)

@eyck I am totally fine with that proposal as long as it is properly documented in the manual

SGTM!

Support to the frontend has been added. I'll leave this issue open to track the necessary changes to the spec.

Diff


bb-config.php file required for running unit tests

@rndevuk  @fordnox
Running unit tests require a bb-config.php file to be present.
Should we create a bb-config.php in src directory or modify source code to use bb-config-sample.php for testing?
Your inputs?

config file should be created during the build process from the sample config


[Improvement] notify may not wake all threads

What would you like to be improved?
In ClientPoolImpl.java notify() is used where probably notifyAll() should be used. notify() and notifyAll() both wake up sleeping threads, but notify only wakes one, while notifyAll wakes all of them.
How should we improve?
Use notifyAll() instead of notify().

Hi,
I'm interested in working on this issue. Could you please provide more details on where this update needs to be implemented?
Thank you!

It's line 150 of ClientPoolImpl.java


Beta Challenge : Copy Array items using Slice (minified "react" error)

Challenge copy-array-items-using-slice has an issue.
If I simply return the array by slicing it, like this -

function forecast(arr) {
  // change code below this line
  return arr.slice(2,4);
}

// do not change code below this line
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));

it returns a minified react error .

The function returns the same value, as expected when I copy paste into the console.

It was fixed after restarting browser, but should still be fixed.

First-timers only
Check out CONTRIBUTING.md to get your local development environment set up.
The issue is in the following line:
https://github.com/freeCodeCamp/freeCodeCamp/blob/885c73abac6bdc492f5fe913dd793332dbbb5dc3/seed/math-challenges/02-javascript-algorithms-and-data-structures/basic-data-structures.json#L254
The last <code> element in the message is never closed. It should be closed with </code> at the end of the message, right after the closing square bracket (])
If you need help, please visit our contributors chatroom. We're always happy to answer any questions!
Happy coding!

I'll give it a go, Tim!


Remove lodash dependency

Use ES5 array functions and custom functions to replace lodash dependency

I think Object.assign is the only thing preventing IE11 compatibility, as far as I can tell. Isn't nwt.merge doing the same thing?
Do we need nwt to be a global? Can we make it Contour.nwt if we need to?
Tangentially, would it be a lot of work to get browserify into the build process? If we do we can also just require the specific lodash functions we need var merge = require('lodash/merge') instead of including the entire lodash bundle/ replicating relevant code locally (and also solve the global nwt issue)

Also merge also sorting is not very intuitive; maybe name it mergeAndSort? (I can't comment on that specific file directly because the diff is too large)

Love this

I'll include a pollyfill for Object.assign and I think that should cover that part.
As for the merge also sorting, I think you are refering to the mergeArray function? If that's the case, it was there before as merge and renamed it as mergeArray, I agree maybe clearer to name it megeArrayAndSort. The merge function should work the same as the lodash version (maybe some edge cases are not the same?)
Yeah, there's no reason to have nwt in the global ns, except for the ease of wringing nwt instead of Contour.nwt everywhere :) (ie. Contour.nwt.default(Contour.nwt.merge(Contour.nwt.omit(a, 'a'), Contour.merge(x, y))));)
As for doing browserify I was thinking that is the next step into cleaning the whole deployment and publishing system and use webpack or rollup and move to cjs based build as oppose to what we have now.

I think I was mixing up the 2 different merge functions - but isn't  this._extraOptions.push(nwt.merge({}, defaults, extraPadding)); the equivalent of Object.assign anyway? Why do we need a polyfill?

re: nwt it'll practically just be a var nwt = Contour.nwt at the top of each file which needs it, which can then be replaced by a require whenever. But I'm fine if you want to merge this and move that to a different topic.

I added the Object.assign polyfill. As for using nwt.merge instead of Object.assign, some times I think we actually want to not do a deep clone which is what merge does, so that's why we need Object.assign...
As for the nwt on the global namespace, I think we can address this when we move to cjs modules, I started to make the changes to add it to the Contour object and it gets a bit complicated due to the circular dependencies it generates in our current build setup.


Make Parser::maybe_parse pub

This method is very useful for wrapping sqlparser's parser to parse custom syntax, while falling back to the upstream implementation. For example:
enum CustomStatement {
    CreateCustom {
        or_replace: bool,
        thingy: String,
    },
    Statement(Statement),
}

fn parse_custom_create(parser: &mut Parser) -> Result<CustomStatement, ParserError> {
    if let Some(custom) = parser.maybe_parse(|parser| {
        let or_replace = parser.parse_keywords(&[Keyword::OR, Keyword::REPLACE]);
        parse_create_custom(or_replace)
    }) {
        Ok(custom)
    } else {
        Ok(CustomStatement::Statement(parser.parse_create()?))
    }
}

Without access to maybe_parse, this would not be possible

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.235%

Totals

Change from base Build<PHONE_NUMBER>3:
0.0%

Covered Lines:
27472

Relevant Lines:
30786

💛  - Coveralls


Update RELEASES.md

We usually don't put every change to supported cars in the readme, they would get rather long otherwise. It's mostly used to thank people for writing new car ports, or for cars that are significantly different than others and required lot of work.


Beta Branch not selectable - default will attempt to install anonymous using beta password

This is not for requesting support for new games/applications
To do this you should go to https://github.com/CubeCoders/AMPTemplates and first attempt to build a configuration yourself - otherwise you can request a template from this repo.
Feature Request
Beta Branch not selectable - default will attempt to install anonymous using beta password
Feature Information:

I confirm:

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

The Generic Module at present doesn't have the ability to set a beta branch for steam downloads - at present you can specify a betapassword in the SteamCMD and Updates section, however an issue presents itself when the app itself is not a beta.
Realistically the panel should allow to specify the beta branch for these purposes.

I don’t follow this comment. Beta branches can be set via a config manifest setting and a var in the update stages. A number of templates have this

Mike claimed he didn't want to make this universal since it would have to be a text box. It'd be nice if he had a default text box that if we used the same FieldName elsewhere that it would override his and make it invisible. Then we could do enum for it if needed. Or... Just let us set values in an array setting that is used for that.

Yeah, a more cohesive solution would be good. Not to mention the ability to hide a range of default settings that are irrelevant or confusing

Preach!

Sorry this is more along the lines that the SteamCMD and Updates area has a spot for betapassword but no spot for betabranch. Kinda need both in a lot of cases...

And that's why it is included in a number of templates.
The potential issue with just including a general box, aside from users just putting in wrong data, is that steamcmd caches. So if someone switches to a beta branch and then tries to switch back by just removing the text, steam won't actually switch unless the default branch name is specified, eg public. But ofc default branch names are not always consistent

Closed due to no real need - where Generic templates have the ability to switch branches a specific modal will be introduced to work with this - having it as a general item will cause confusion.


PHOENIX-5389

This PR is mainly for:

Add a new JoinTable.createSubJoinTable method to replace the old JoinTable.getSubJoinTableWithoutPostFilters,  JoinTable.createSubJoinTable also push down the postFilter to the new created JoinTable in addition to create the new JoinTable.
Add a JoinCompiler.PushDownPostFilterParseNodeVisitor as the visitor to  push down the postFilter.
When add JoinCompiler.PushDownPostFilterParseNodeVisitor, two abstract class AndRewriterBooleanParseNodeVisitor and AndBooleanParseNodeVisitor are added to eliminate the duplicate code with other  BooleanParseNodeVisitor(SubqueryRewriter.JoinConditionExtractor, QueryOptimizer.WhereConditionRewriter etc.)
Refactor JoinCompiler.WhereNodeVisitor/JoinTable and JoinCompiler.OnNodeVisitor/JoinSpec to make the modification internal states of JoinTable and JoinSpec sealed in  JoinTable and JoinSpec class.

@twdsilva , thank you for the review, I would make a modification.

The associated JIRA is already resolved -- closing PR


Lint Code-base

Describe the enhancement
Lint the code-base with clang-tidy.

git fetch origin
git checkout 3-lint-code-base


ios32 tests failing to install gems on MacOS 12

  cocoapods was resolved to 1.11.2, which depends on
    cocoapods-core was resolved to 1.11.2, which depends on
      typhoeus was resolved to 1.4.0, which depends on
        ethon was resolved to 0.14.0, which depends on
          ffi

https://ci.chromium.org/ui/p/flutter/builders/staging/Mac_ios32 flutter_gallery__transition_perf_e2e_ios32/449/overview

\cc @jmagman

This doesn't have anything to do with the ios32 tests, it's that the staging pool is running macOS 12, which needs the new Xcode 13 package.
This is a duplicate of https://github.com/flutter/flutter/issues/91633#issuecomment-983372733--I believe all staging tests running both macOS 12.0.1 and Xcode 13 are passing.  So when the infra team is ready, both should be applied to try and prod. 🤞

Full circle, back to infra :partying_face:


Adapt README for Version 2.1.x

This changes the README file so the compatibility to ExtJS 5 is shown,
which will be introduced by version 2.1.x.

:+1: Please merge.


image is set on a background thread - PhotoEditorContentView

in the  PhotoEditorContentView.swift file you set the image on the background thread. You should change it to main thread when the user crops the image.
var image: Any? {         DispatchQueue.main.sync {             imageView.image         }     }

setting an image should be back on the main thread no?

There is no setting here, only get

sorry I got it confused. I meant getting on the main thread

if you make an edit to a photo you will see that xcode with give you a warning to get it from the main thread instead. check and please let me know


cuelang.org: write Python usage guide

@4ad content-related issues live in https://github.com/cue-lang/docs-and-content/issues please.


Upstream additions

openai just released two new checkpoints. I haven't tested this branch; just merged in the changes. May be a good idea to look over it since you're more familiar with the codebase.
Looks like they liked the idea of having a truncate option as well; which i refactored back to truncate_text.


Support of streaming data sources

Like receiving io streams and quantization criterion, Kafka and other remote queues in a similar way like Spark streaming works.

It would help me if you have an example I could use to see what you would like.


Fixed health bars bug

The health bars were not displaying the right health until the first hit after performing the switch ability.
After a switch, we need to update the character HP HUD
Also edited first time conditional in Update function so if we start the level with Onimaru, the health displayed is Onimaru's and not Fang's

Task linked: CU-hq9gkz GAMEPLAY


Unable to use domEvent in frontend anymore

I can't seem to use domEvent Click in the frontend, even inside the prerender block. I thought this used to work ... did something change? Is there a different (more correct) approach to tackle this?
frontend = Frontend
  { _frontend_head = el "title" $ text "Frontend"
  , _frontend_body = do
      prerender_ (pure ()) $ do
        e <- fmap (domEvent Click . snd) $ el' "div" $ text "Click me"
        widgetHold_ blank $ ffor e $ \_ -> text "clicked."
  }

    • Could not deduce (HasDomEvent t () 'ClickTag)
        arising from a use of ‘domEvent’
      from the context: ObeliskWidget js t (R FrontendRoute) m
        bound by a type expected by the context:
                   forall js t (m :: * -> *).
                   ObeliskWidget js t (R FrontendRoute) m =>
                   Obelisk.Route.Frontend.RoutedT t (R FrontendRoute) m ()
        at frontend/src/Frontend.hs:(21,12)-(27,3)
      or from: PrerenderClientConstraint
                 js
                 t
                 (Client (Obelisk.Route.Frontend.RoutedT t (R FrontendRoute) m))
        bound by a type expected by the context:
                   PrerenderClientConstraint
                     js
                     t
                     (Client (Obelisk.Route.Frontend.RoutedT t (R FrontendRoute) m)) =>
                   Client (Obelisk.Route.Frontend.RoutedT t (R FrontendRoute) m) ()
        at frontend/src/Frontend.hs:(24,7)-(26,58)
    • In the first argument of ‘(.)’, namely ‘domEvent Click’

Change snd to `fst' and it will work.
        e <- fmap (domEvent Click . fst) $ el' "div" $ text "Click me"

Huh, what a silly mistake. Thanks for catching it.


Line number click command - Setting

Please add the setting which command should be executed when I click on line number in Editor.
Personally, I would like to set the "Go to line" command to click on any of the line numbers.
It would be so comfortable for me.
EDIT: I know "Go to line" is in the status bar.
I just think it's more convenient when I click where I look and look for a line.
For the same reason I would like it - https://github.com/microsoft/vscode/issues/26596
Currently clicking on the line number selects the indicated line.
I don't use it this way. I do not need it.
VSCode 1.43.0

@vscode-triage-bot No, this is not a duplicate.


Global Working Directory Setting

Hi, would it be possible to set a global working directory that would by default be inherited by each run configuration?
We have our code in src and currently I have to manually add the custom working directory to each run configuration.

Could be possible to do yes.
I would accept that change in the codebase :)
However this might also be solvable in another way. Could you show your structure? Like where is your composer.json, src and tests folder and are there multiple composer.json files in your project?

If I can solve it in another way without moving anything that'd be great.
/project/src
/project/src/composer.json
/project/src/tests

Single composer.json
Using docker (not sure if that matters)

@j-dexx Alright, so what you wanna do should actually be possible.
The cwd is determined based on the path of the configuration file if a custom cwd has not been set.

Go to your preferences -> PHP -> Test Frameworks and set the default configuration file path.

Great, thanks :)
Really like the plugin.


vendor: Bump gopkg.in/yaml.v3 to v2.4.0

This version reverts the default line wrapping change introduced in v2.3.0, so we can remove our override in go.mod.
See https://github.com/go-yaml/yaml/commit/7649d4548cb53a614db133b2a8ac1f31859dda8c.

test-me-please

test-me-please

test-gke

retest-gke


IJulia Installation on Windows

I am using Windows 10 and Anaconda with julia-0.5.0. I previously had IJulia installed and working, but then somehow calling Pkg.update() broke my installation.
Here is the error message:
Installing julia kernelspec julia-0.5
===================================================[ ERROR: IJulia ]====================================================
LoadError: could not spawn jupyter-kernelspec install --replace --user julia-0.5: no such file or directory (ENOENT)
while loading C:\Users\eric.julia\v0.5\IJulia\deps\build.jl, in expression starting on line 101
========================================================================================================================
====================================================[ BUILD ERRORS ]====================================================
WARNING: IJulia had build errors.

packages with build errors remain installed in C:\Users\eric.julia\v0.5
build the package(s) and all dependencies with Pkg.build("IJulia")
build a single package by running its deps/build.jl script

========================================================================================================================
INFO: Package database updated
Running Pkg.build("IJulia") produced the same error.

I have proposed a fix in #364 could you check if it works?

Simply patching those 2 lines didn't seem to work for me:
I ran Windows Powershell with administrator and did pip install --upgrade jupyter (I'm using Anaconda), then ran jupyter kernelspec in Windows powershell but got
"jupyter: kernelspec is not a Jupyter command"

Ok. Have you tried the orginal build script after  pip install --upgrade jupyter? Do excuting jupyter-kernelspec --version work?

Yep, it yields the error above (kernelspec is not a Jupyter command).
I also get this error when I run jupyter kernelspec --version in Powershell.
Do I need to be using the dev branch of Jupyter notebook for kernelspec to show up?

Sorry the comment split the line unfortunate it is jupyter-kernelspec  --version where jupyter and kernerlspec joined by -.

Unfortunately, that doesn't work either :/
PS C:\Users\eric> jupyter-kernelspec --version
jupyter-kernelspec : The term 'jupyter-kernelspec' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At line:1 char:1
+ jupyter-kernelspec --version
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (jupyter-kernelspec:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Do the command work in cmd instead of powershell?

tried that, doesn't work either.
jupyter --version returns 4.0.6
Strangely enough, running jupyter -h lists the following subcommands:
Available subcommands: console kernelspec migrate nbconvert nbextension
notebook qtconsole trust

Hmm. I am indeed confused now. I think the only resolution to this is to wait for https://github.com/jupyter/jupyter_core/pull/62 or downgrade to IPython3. Alternative you could let IJulia use the Conda package which can be done by:
julia> ENV["JUPYTER"]=""
julia> Pkg.build("IJulia")

If jupyter-kernelspec is not in the PATH either, that sounds like it is a different problem from jupyter/jupyter_core#62 ... sounds like a problem with your Anaconda installation?

It sounds like what minrk describes here, https://github.com/jupyter/notebook/issues/448#issuecomment-143172921 where https://github.com/jupyter/jupyter_core/pull/62  is the PR for fixing the issue.

I had the very same issue, using jupyter --version 4.0.6:
jupyter: 'kernelspec' is not a Jupyter command
If I try to Pkg.build('IJulia'):
 could not spawn jupyter-kernelspec install --replace --user julia-0.5: no such file or directory (ENOENT).
My understanding is that although Anaconda\Scripts is in the PATH and contains jupyter-kernelspec, this latter is not a windows executable.
As a temporary workaround, I replaced line 101 of build.jl with:
run(`python C:\\Anaconda\\Scripts\\$jupyter-kernelspec install --replace --user $juliakspec`)

and ran Pkg.build('IJulia') again.
I still don't get it and I'm certain there is a cleaner solution.

@n-s-k, does jupyter-kernelspec --version work in run?

julia> run(`jupyter --version`)
4.0.6
julia> run(`jupyter-console --version`)
4.0.2
julia> run(`jupyter-notebook --version`)
4.0.5
julia> run(`jupyter-kernelspec --version`)
ERROR: could not spawn `jupyter-kernelspec --version`: no such file or directory (ENOENT)
 in _jl_spawn at process.jl:217 (repeats 2 times)

What is jupyter-kernelspec?  A batch file?  (If so, why doesn't it end with .bat?)

On my Mac, jupyter-kernelspec is
#!/Users/stevenj/anaconda/bin/python
from jupyter_client.kernelspecapp import KernelSpecApp

def main():
    KernelSpecApp.launch_instance()

if __name__ == '__main__':
    main()

but I guess Windows doesn't know how to spawn this.

On Windows, jupyter-kernelspec is:
#!C:\Anaconda\python.exe
from jupyter_client.kernelspecapp import KernelSpecApp

def main():
    KernelSpecApp.launch_instance()

if __name__ == '__main__':
    main()

yep... a python script and Windows is clueless.

Okay, this should be a straightforward fix.  We just need to find the correct path of jupyter-kernelspec and run it with Python.

Okay, it should be fixed now.  Please do Pkg.checkout("IJulia"); Pkg.build("IJulia") and confirm that it works.  Once you confirm, I will tag a new version.

Confirmed.

This works for me too. Thanks!
On Wed, Sep 30, 2015 at 2:44 PM, n-s-k<EMAIL_ADDRESS>wrote:

Confirmed.
—
Reply to this email directly or view it on GitHub
https://github.com/JuliaLang/IJulia.jl/issues/363#issuecomment-144503719
.

Great, tagged as IJulia 1.1.2.

I'm hitting this with the latest tag.
INFO: Found Jupyter version 4.0.6: C:\Users\Tony\.julia\v0.4\Conda\deps\usr\Scripts\jupyter
Writing IJulia kernelspec to julia-0.4\kernel.json ...
Installing julia kernelspec julia-0.4
jupyter: 'kernelspec' is not a Jupyter command
C:\Users\Tony\.julia\v0.4\Conda\deps\usr\python.exe: can't open file 'C:\Users\Tony\.julia\v0.4\Conda\deps\usr\Scripts\jupyter-kernelspec': [Errno 2] No such file or directory
===============================[ ERROR: IJulia ]================================

LoadError: failed process: Process(`'C:\Users\Tony\.julia\v0.4\Conda\deps\usr\python.exe' 'C:\Users\Tony\.julia\v0.4\Conda\deps\usr\Scripts\jupyter-kernelspec' install --replace --user julia-0.4`, ProcessExited(2)) [2]
while loading C:\Users\Tony\.julia\v0.4\IJulia\deps\build.jl, in expression starting on line 118

C:\Users\Tony\.julia\v0.4\Conda\deps\usr\Scripts has a jupyter-kernelspec.exe and a jupyter-kernelspec-script.py, but no plain jupyter-kernelspec without an extension. It looks like this may differ depending on anaconda or jupyter version?

Hmm, do we need a similar fix on windows to get notebook() working?

I believe several of these issues (esp #368) were caused by improper packaging of entrypoints in the Jupyter projects on Windows. Most of the entrypoints were fixed relatively promptly during the summer, but jupyter-client never got a release with the fix until 4.1, this week. I thought we had done that a while ago, but we hadn't. Hopefully this will be better behaved with the 4.1 update to jupyter-client.

Thanks, @minrk.  We will keep the workarounds in for quite some time, to support older installations, but it is great to hear that this has been fixed.

On Windows 7, 64-bit.
Installed Julia v0.4.5 -> Installed Anaconda (Python 3, 64 bit)
ran Pkg.add("IJulia") and it failed.
I installed Julia v0.5 (unstable version) and it worked.
Here is the error:
INFO: Downloading miniconda installer ...
INFO: Installing miniconda ...
===============================[ ERROR: IJulia ]================================
LoadError: could not spawn 'C:\Users\bsouthwood\.julia\v0.4\Conda\deps\usr\installer.exe' /S /AddToPath=0 /RegisterPython=0 '/D=C:\Users\bsouthwood\.julia\v0.4\Conda\deps\usr': unknown error (UNKNOW
N)
while loading C:\Users\bsouthwood.julia\v0.4\IJulia\deps\build.jl, in expression starting on line 35

@bsouthwood, that should be reported at Conda.jl

Apologiea, i'm a noob.. I checked line 35 of the build.ml file and it contained a jupytyr variable so i thought it was related to this threas.

It looks like IPython.jl is using the globally installed jupyter/ipython (rather than one locally installed from Conda.jl). This means that if you have ipython installed but not jupyter (specifically jupyter_client, though with just that notebook() will just immediately exit) you'll get the error noted above.

@bsouthwood, to simplify installation, do ENV["JUPYTER"]=""; Pkg.build("IJulia") ... this will use the Conda Jupyter and will auto-install everything for you.

Thanks.


add tests for SAM files that corrupt with adam + htsjdk 2.20.x

ADAM fails unit tests after bumping the htsjdk dependency version from 2.19.x to 2.20.x, see
bigdatagenomics/adam#2195
This pull request demonstrates that Hadoop-BAM shares the same issue.
$ mvn test -Dtest=TestSAMInputFormat
...
[ERROR] Tests run: 4, Failures: 1, Errors: 1, Skipped: 0, Time elapsed: 2.77 s <<< FAILURE! - in org.seqdoop.hadoop_bam.TestSAMInputFormat
[ERROR] testCorruptedHeaderSAM(org.seqdoop.hadoop_bam.TestSAMInputFormat)  Time elapsed: 0.829 s  <<< ERROR!
htsjdk.samtools.SAMFormatException:
Error parsing text SAM file. RNAME '75M' not found in any SQ record; Line 3
Line: 1	60	75M	*	0	0	GTATAAGAGCAGCCTTATTCCTATTTATAATCAGGGTGAAACACCTGTGCCAATGCCAAGACAGGGGTGCCAAGA	*	NM:i:0	AS:i:75	XS:i:0
	at org.seqdoop.hadoop_bam.TestSAMInputFormat.testCorruptedHeaderSAM(TestSAMInputFormat.java:151)

[ERROR] testCorruptedReadNameSAM(org.seqdoop.hadoop_bam.TestSAMInputFormat)  Time elapsed: 0.033 s  <<< FAILURE!
org.junit.ComparisonFailure: expected:<[simread:1:2]6472783:false> but was:<[]6472783:false>
	at org.seqdoop.hadoop_bam.TestSAMInputFormat.testCorruptedReadNameSAM(TestSAMInputFormat.java:131)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   TestSAMInputFormat.testCorruptedReadNameSAM:131 expected:<[simread:1:2]6472783:false> but was:<[]6472783:false>
[ERROR] Errors:
[ERROR]   TestSAMInputFormat.testCorruptedHeaderSAM:151 » SAMFormat Error parsing text S...
[INFO]
[ERROR] Tests run: 4, Failures: 1, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

@lbergelson @cmnbroad This pull request demonstrates an issue we see in ADAM and in Hadoop-BAM but not in disq.  Might you be able to help me make a reproducing case in htsjdk, to see if the problem is there or in Hadoop-BAM?

@heuermh - that seems bizarre. I'll have a look in the next day or so and see if I can track it down or repro.

@heuermh It looks like these failures are caused by the combination of a change in htsjdk and an invalid assumption inherent in this code in WorkaroundingStream. That code block in WorkaroundingStream probably never executed before, but does now because SAMFileHeader.getTextHeader() has been deprecated and was changed to always return null (I believe that change was motivated by a performance issue with very large headers).
The code in WorkaroundingStream assumes that the length of the string resulting from re-encoding the header object will be the same as the original header's text length, and therefore can be used as an offset to find the end of the header in the input stream. Both of the failing test cases are missing the optional @HD line, so in those cases the re-encoded text is longer than the original because the encoder inserts an @HD line during encode. You can verify this by seeing that the tests pass if the @HD line is added to the input files. Not sure what they real fix should be though, the WorkaroundingStream seems pretty fragile.

@cmnbroad Wow, nice work tracking that down.

Ah right, I mistakenly waded into the SAMFileHeader.getTextHeader() mess once before.  ;)


Title: Integration Testing through pipeline

Link: #63
[PS-4]
- Addressed some feedbacks
[PS-3]
- Tested it through pipeline
[PS-2]
- Write all integration tests
[PS-1]
- Resolved the lambda testing issue.
Signed-off-by: Yaseen Zafar<EMAIL_ADDRESS>

   CodeRabbit

Currently reviewing new changes in this PR...

Commits
Files that changed from the base of the PR and between 4c16218f3c62bcf2dc98d600ba6768330b3eec4d and d0edc93b1f0cc5ebf165b050236b00b57e0b3b70 commits.

Files selected (10)

.github/workflows/checkov.yml (1)
.github/workflows/linter.yml (1)
.github/workflows/shellcheck.yml (1)
.github/workflows/unit-test.yml (1)
infrastructure/config.sh (1)
infrastructure/terraform.auto.tfvars (1)
tests/config.py (34)
tests/integration-testing/config.py (1)
tests/integration-testing/xc3-lambdafunctions-test.py (1)
tests/integration-testing/xc3-vpcintegrationtest.py (1)

@yaseenzafar123
Also resolve conflicts in the PR


Doesn't seem to work with Wyze Cam V3, <IP_ADDRESS>

Not sure if this is supposed to work with v3 cameras; I couldn't find anything on it.
When I tried to put WyzeHacks 05_07 onto that <IP_ADDRESS> camera, it stopped communicating (and I got broken pipe and other complaints from the script).
Light on front of camera was alternating red / blue / red / blue ..
Until I repowered it, it would not connect to Wyze (or it wasn't recognized?).  Repowering put it back to normal.
`
Device type:      Camera (WYZE_CAKP2JFUS)
Device name:      **************
Firmware version: <IP_ADDRESS>
IP Address:       <IP_ADDRESS>
Pushing firmware to this device? [y/N]:y
INFO:root:Serving firmware file './firmware.bin' as 'http://<IP_ADDRESS>:11808/firmware.bin', md5=52fca213d3333b75e819a732ce340f2f
<IP_ADDRESS> - - [07/Jun/2021 13:31:53] "GET /firmware.bin HTTP/1.1" 200 -
Exception happened during processing of request from ('<IP_ADDRESS>', 48723)
Traceback (most recent call last):
File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.8/socketserver.py", line 347, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.8/http/server.py", line 647, in init
super().init(*args, **kwargs)
File "/usr/lib/python3.8/socketserver.py", line 720, in init
self.handle()
File "/usr/lib/python3.8/http/server.py", line 427, in handle
self.handle_one_request()
File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request
method()
File "./wyze_updater.py", line 188, in do_GET
self.wfile.write(firmware_data)
File "/usr/lib/python3.8/socketserver.py", line 799, in write
self._sock.sendall(b)
BrokenPipeError: [Errno 32] Broken pipe
Traceback (most recent call last):
File "./wyze_updater.py", line 362, in
args.action(creds, args)
File "./wyze_updater.py", line 260, in update_devices
push_update(creds, dev_info['product_model'], mac, url, md5)
File "./wyze_updater.py", line 163, in push_update
return run_action(creds, model, "upgrade", mac, {"url": update_url, "md5": md5, "model": model})
File "./wyze_updater.py", line 157, in run_action
return device_api(
File "./wyze_updater.py", line 140, in device_api
raise RuntimeError('Request failed, error %s:%s' % (rsp['code'], rsp['msg']))
RuntimeError: Request failed, error 3019:DeviceIsOffline
<IP_ADDRESS> - - [07/Jun/2021 13:31:56] "GET /firmware.bin HTTP/1.1" 200 -
Exception happened during processing of request from ('<IP_ADDRESS>', 48724)
Traceback (most recent call last):
File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.8/socketserver.py", line 347, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.8/http/server.py", line 647, in init
super().init(*args, **kwargs)
File "/usr/lib/python3.8/socketserver.py", line 720, in init
self.handle()
File "/usr/lib/python3.8/http/server.py", line 427, in handle
self.handle_one_request()
File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request
method()
File "./wyze_updater.py", line 188, in do_GET
self.wfile.write(firmware_data)
File "/usr/lib/python3.8/socketserver.py", line 799, in write
self._sock.sendall(b)
BrokenPipeError: [Errno 32] Broken pipe
<IP_ADDRESS> - - [07/Jun/2021 13:31:59] "GET /firmware.bin HTTP/1.1" 200 -
`

I've successfully installed this to one v3 with <IP_ADDRESS> firmware, but can't get it to install on 2 other v3s. Same errors @delovelady
is reporting. Happy to flash/install/test as needed to get a fix. Thanks!

@delovelady I did a fresh install of <IP_ADDRESS> from the sd card following https://support.wyze.com/hc/en-us/articles/360031490871-How-to-flash-your-Wyze-Cam-firmware-manually and it would install after that.  Before I had gotten the same broken pipe errors you had.  The camera updated to the latest (<IP_ADDRESS>) after that and is still working.

Ah - I now see that PR #130 actually deals with my problem. Indeed I get the following when running df:
root@WyzeCam-EA75:~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 3712      3712         0 100% /
tmpfs                    45736       652     45084   1% /dev
tmpfs                    45736       912     44824   2% /tmp
tmpfs                    45736         8     45728   0% /run
media                    45736         0     45736   0% /media
/dev/mtdblock3            3584      3584         0 100% /system
/dev/mtdblock6             384       120       264  31% /configs
tmpfs                    45736       912     44824   2% /etc
df: /mnt: Value too large for defined data type

I saw similar issues on my test camera. I think this is not an issue in wyzehack but some other random network reliability issues. At this moment there is not much I can do so I'm closing this issue.


сode with access to phi attribute is not compiled

EO code
+package example

+alias org.eolang.io.stdout

[] > obj
  "some" > @
  [] > foo
    ^.@ > @

[args...] > app
  stdout > @
    obj.foo

Expectation
By analogy with the example article, I would like to access the phi attribute

Result
an error occurs during compilation

@IngeniariusSoftware failed to reproduce in b249dbd. I think the problem is somewhere else with your code. Check the line that goes right after the one with the error. Is it empty? Remember, we don't tolerate lines with spaces.


app_version and app_build should not be fetched from a local IPA or PKG when distribute_only is set

🔑
Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ ] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Resolves #20479
Description

As mentioned in the title and the linked issue, a local IPA or PKG should not override the info provided to the command if distribute_only is set.
My particular test case used a repo with an iOS and macOS target, and an older macOS .pkg file sitting in the repo. When I ran the command from the linked issue, I ended up waiting for an iOS build with the version number on the old macOS .pkg, even though I passed the correct build_number to the command. With this change, the distribute_only argument will cause the code to fall through to the step where build_number is picked up from the config.
Testing Steps

Unfortunately, I'm not seeing what I've done wrong with regards to the CircleCI checks

@tremblay can you please connect circleci to your github account and rerun the build? once you've logged into CircleCI using your GitHub account, you should be able to rerun this branch from the CircleCI UI (or just push an empty commit to this branch if that's easier)

@getaaron thanks for the help! CircleCI is now running, and I added a test like you suggested. I also noticed that there were 2 copies of the exact same test wait given :app_version and :build_number, so I removed the 2nd one. Hope that's alright!


The new objectId change is causing me problems.

args.pipeline._id = new ObjectId(args.pipeline._id);
This is causing me problems. Please add this as an option not force all strings to be automatically ObjectId.
I rely on it to stay a string.
https://www.mongodb.com/docs/manual/reference/method/ObjectId/

Hey, thanks for raising the issue. I'm fixing it atm, though it will require some overhaul to the plugin, and a major release. So it will take me a few more days. For now, please just use the older version of the plugin and I'll close this issue when the new version is released.


Make amount a string instead of BigNumber

part of #754, fixes #753, fixes #752

In the drop-down line, there is a big number instead of a short one both in the mainnet and in the testnet.

I haven't used the wallet for a few minutes, then I came back and found this problem:

I also checked some transactions, but most of them failed due to compiler error:
Activity - failed
Send Tip - failed
Claim Tip - failed
Withdraw - pass
Invite link - pass
Settings:
Language - pass
Security&Privacy - pass
Networks - failed
Remove account - pass

In the drop-down line, there is a big number instead of a short one both in the mainnet and in the testnet

It was introduced before, proposing to fix it in the future releases

Send Tip - pass
Claim tip - pass
Withdraw - pass
Invite link - pass
Settings:
Language - pass
Security&Privacy - pass
Networks - pass
Withdraw - pass, via scan QR code - pass
Activity - pass
Top Up - pass
Names- pass
Invite link - pass
Settings:
Language - pass
Security&Privacy - pass
Networks - pass
Remove account - pass
Got this flying bug in web wallet:


linter: warn on repeated object literal keys

There should be a linter warning for object literals that look like:
{a: 1, a: 2}

This will currently result in an object like {a: 2}, but this is most likely an error on the programmer's part.
Computed properties make this not knowable at compile time, so it might be worth eventually bringing in runtime support for this as well. This could catch issues like {(Foo): 1, (Foo): 2}.

Note: look at lint.js. Should probably split current undeclared/unused variable linter into its own file, put this linter in its own file, and require and use both of them in lint.js. Both of these linter modules could be nested in a folder called linters or something.

This should also work for Let/Def and object patterns.


[NEW PROVIDER] Support to build stemcell on Alibaba Cloud

This PR can help user to build bosh heavy stemcell (ubuntu) on Alibaba Cloud.
At present, for some alicloud ECS design reason, alicloud bosh agent must build all alone, and it is stored in alicloud OSS, and we provide download url in bosh_alicloud_go_agent.
We have made some tests for built stemcell and we can deploy bosh successfully based on it.

🔗 Story #158921302

We squashed the commits and merged to master.


Traffic Generation disables itself after force closing

The Battery Optimization setting is set to Unrestricted.

Open the app
Enable Traffic Generation
Force close the app
Open the app

Traffic Generation will be disabled

Fixed this issue


feat: change pool noodle to use channels to prevent spamming pop

After a conversation with @fnichol we decided it would be better to use channels to pass work around here so we aren't hammering pop() in a bunch of threads and are instead just polling for work. We should be just as fast (if not faster) under load, but we'll be a lot quieter when sitting still. We limit total threads using a semaphore so we will block work until new slots  appear.

/try

/try

/try

/try

/try

/try

/try


Sending logs, metrics or traces to Vector

Actually we can easily configure Datadog agent to send logs, metrics or traces to a vector aggregator. But seems it doesn't work for the lambda extension.
Used both bellow configurations, but the datadog extension keep sending log to the datadog intake directly.
vector:
  logs:
    enabled: true
    url: "http://<OPW_HOST>:8282"

DD_VECTOR_LOGS_ENABLED="true"
DD_VECTOR_LOGS_URL="http://<OPW_HOST>:8282"

Do you know if there is a plan to fix this or anyone can direct me where/how to fix ?
Thanks

👋  @barryib, I linked a recent PR we have in the works for this

Leaving open as sending traces to vector is still in beta. Will close whenever that is GA'd and a PR is done for this.


Contact form backend

I've added contact form feature to save data of all users who submitted contact form in MySQL DB. Form submission is based on AJAX request backend used PHP. Let me know if any help required for deploying it on hosting server.

hey it's amazing but how can i access those data

Thanks. We can access those data from PHPMyAdmin manually or 2 ways possible.

Mail to admin whenever form submitted and also add to db
Create admin panel where you can see all forms submitted (just as phpmyadmin)

Yes then please add this maid id to admin so that we can receive the data
email - @.***
On Sat, Oct 16, 2021 at 3:14 PM Jigar Sable @.***>
wrote:

Thanks. We can access those data from PHPMyAdmin manually or 2 ways
possible.

Mail to admin whenever form submitted and also add to db
Create admin panel where you can see all forms submitted (just as
phpmyadmin)

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Eduhub-Community/eduhub-website/pull/162#issuecomment-944889071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLSWZHHVQDUFS4KC2OLM5DUHFCO5ANCNFSM5GDL6ZGA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

<EMAIL_ADDRESS>

no @SahityaRoy it might be insecure to use gmail SMTP. Just keep it simple access data from phpmyadmin


adding support for TEXT fields, remove non-standard ascii characters

Added a very basic TEXT field support, while removing non-ascii characters from such a field.
Updated the date and datetime fields to support string representations of unix time.

@odedelharar thank you for your PR! LGTM about TEXT type. I like it 👍
I assumed that DATE and DATETIME type are string like 2016-11-07 basically. Could you change the code to pass such values?
The code could be like this:
convert: val => {
  if (!val) return 'NULL'
  if (typeof val == 'number') val = moment(val).format('YYYY-MM-DD')
  if (typeof val == 'string') {
    if (/\d+/.test(val)) val = moment(parseInt(val)).format('YYYY-MM-DD')
    if (!/\d{4}-\d{2}-\d{2}/.test(val)) return 'NULL'
  }
  return `"${ val }"`
}

Could you pls add documentation to here, too? Thanks.

Updated, now can allow: date format string (YYYY-MM-DD), unix time (number), unix time (string). Can make more options viable, maybe in a future change

Great! Thank you.

Maybe add an expression like: /[\x00-\x1F\x7F\uFFFD\xEF\xBF\xBD]/g so it also covers the cases I saw

@odedelharar unfortunately, it seems not a good idea. These chars like \xBF \xBD are actually valid letters in some languages.

OK, so maybe we can use /[\x00-\x1F\x7F\uFFFD]/g since \uFFFD (�) is not OK anyway.


cosmos-js depends on react which could conflict with your node_modules/react

The old solutions was peerDependency, but it seems a new install suggestion for react, react-hot-loader, etc

Why would it conflict? It's only a peerDependency.

but it seems a new install suggestion for react, react-hot-loader, etc

What do you mean by this?

Something after installing cosmos-js to an existing project installed a copy of react in its node_modules. That was what I got a conflict error on. Can't reproduce now though.
What I meant is that peerDependencies are going away, so should the install instructions be something like: npm install react react-hot-loader cosmos-js
instead of depending on the deprecated peerDependency of npm.

Thanks, you can close this since I can't reproduce.

Thanks for the heads-up, will have to read more about the peerDependency deprecation.

They are not getting deprecated altogether, it's just that they will not be automatically installed, see here http://blog.npmjs.org/post/110924823920/npm-weekly-5

Ah that was a good read on it, so it is nice the installer will be told the peer dependency did not install. Thanks

They are not getting deprecated altogether, it's just that they will not be automatically installed,

That's good, it should be like this. React has a reputation for not working with more than one instance bundled together :)


Error on aes_hw_encrypt

Describe the bug
Integration doesn't start
Version of the integration

Integration 1.19.17
Home Assistant 2023.3.5
Python 3.10
Debian 11

Logs

Logger: homeassistant.config_entries
Source: config_entries.py:849
First occurred: 23 marca 2023 21:45:46 (54 occurrences)
Last logged: 08:28:31

Error occurred loading configuration flow for integration google_home: /srv/homeassistant/lib/python3.10/site-packages/grpc/_cython/cygrpc.cpython-310-arm-linux-gnueabihf.so: undefined symbol: aes_hw_encrypt

Before this error i had problem with "version GLIBC_2.34 not found" - when repaired it by method from readme - this occured.

Which version of grpcio have you installed? The readme shows example of grpcio==1.46.1, however, you must install a version matching glocaltokens package requirements, which are grpcio = ">=1.51.1".

This can be related to version of cryptography lib: https://stackoverflow.com/questions/67876592/python3-import-error-undefined-symbol-aes-hw-encrypt

grpcio i've had to install 1.51.3
cryptography i have 39.0.2 - but i see that they made 40.0.0 . I will try to update it.

So:
cryptography 40.0.0
glocaltokens 0.7.0
homeassistant 2023.3.6
grpcio 1.51.3

Also - updated homeassistant to 2023.3.6, installed from scratch python 3.11 with everything - still same error.

This error is caused by grpcio package, you may have more luck with opening issue in GRPC repo.

Closing due to inactivity.
Feel free to provide more info and reopen if relevant


New REFramework

dont change files in my folder, revert changes in my folder thats vajrang folder and make pull request again


Makes use of the IdP discovery server optional (but enabled by default)

This is needed by Spinnaker to bypass this isDiscovery method call in the SAML library  to get to the SSO code flow.
I have a working version of Spinnaker with this version using Google as the IdP (https://github.com/spring-projects/spring-security-saml-dsl/issues/4)
@rwinch @markthemarkest @jadekler - Please take a look.

@riltsken - This should help with your Okta issues, as well.

Thanks! Merged


K filters behavior?

It doesn't seem like any of the K-filtering aggregations work. Regardless of the filter / k values that I use, the same sample gets returned every time. Am I using these wrong?
For example, in a set of values:
[
    [1, 10.0],
    [2, 20.0],
    [3, 30.0]
]

I would expect a query w/ "aggregation: {"type": "abovek", "k": 25} to only return [3, 30.0]. However, all points from the sample are being returned with or without the aggregation (same goes w/ bottomk, topk, and belowk).

Check at the bottom of http://spotify.github.io/heroic/#!/docs/aggregations
Filtering aggregations return an entire time series, if it matches the given criteria. That is, if it has any data point witch matches it.

@udoprog Would you consider adding another constructor property to the k filters such as "on", which takes either "series" or "point", thereby allowing to either filter out entire series matching the criteria or specific points within a series?

@juruen what do you say?

The use case I have right now is needing to sum only the positive deltas of a time series. So basically was hoping to use a chain, e.g. delta | abovek(0) | sum.

My only consideration to add this feature would be naming. Should we just have different aggregation group names that indicate that they filter time-series or points instead of using an argument?

@juruen Yeah, that might be better. E.g. {"type": "pointsabovek", "k": 100} vs. {"type": "seriesabovek", "k": 100}.
I tried to take a stab at this using an "on" param, but couldn't get Optionals to work with the JsonProperty. Then I made it a required argument, but couldn't get the tests to pass due to an invalid argument type in LombokDataTest. If this seems like something you could implement rather quickly, would you please consider doing so?

@juruen @udoprog we are going to hire a contractor to work on this. Do you guys have any preference on my question above? In effect, should it be its own separate aggregation or an optional argument on the existing K-filters?

We currently don't have a good infrastructure to do complex decoding of the arguments in a consistent way. So my preference would currently be to just call them pointsabove, and pointsbelow. The k suffix doesn't add much.

We've devised a solution for this. Pull request incoming...


Improved suggested claims.

Hi,
I was adding a lot of claims lately and it was very annoying that it wasn't suggesting me the claim type  I entered just a second ago.
I've added logic to get the claims that are required by existing API resources.
Thinking points:

That logic might be out of place and should be somewhere a little higher in the food chain.
Maybe it should also prioritize by actual usage.
Should it have a list in the database that is manageable?

Hi,
thanks for this PR, I will test it. This is great idea, maybe some database table for this will be good, I will think about it.

I can't rewrite the request with a backing table if you want.

Great idea, I am thinking about it. Do you have time create some UI for managing theses claims as well or first step is put these claims into database?
Thanks

I'll do a backing table first with some seed.
UI is not really my thing so we'll call it step 2.
I'll give it a shot but I can't make promises on the end result.
Do you think this API should be moved elsewhere?

OK, good, you can please add this new table and I will add UI sometimes later, this is good for starting point. 😊

Implemented backing table with seed.
I've added infra for future sort by usage and last use.
I want to add an enum for that sorting purpose.
Where is it appropriate to place it? I couldn't decided based on existing files.

What do you plan to put into this enum - ASC/DESC?
Can you please generate extra new migration for this new table? I think this is mixed in DbInit migrations. ;-)
Thanks - great work, I really appreciate your help 👍

I want to add enum for ASC/DESC.
I also consider a way for specific on which column to sort (maybe a string).

Can you please generate extra new migration for this new table? I think this is mixed in DbInit migrations.

You mean an repo and context as well? A new migration sub-folder for standard scopes?

I mean migration name, currently is generated under DbInit migration name. What do you thing? Btw: what about boolean - sortAsc?

A boolean sortAsc sounds great, I'll implement it tomorrow as well as the separate migration.

@skoruba I've implemented what we discussed.

Thank you 👍