Xtensa xt-clang global merging causing issues with gen_kobject_list.py script

We are using an Xtensa toolchain RI-2021.7, specifically xt-clang.
An example main.c build command is:
.../bin/xt-clang -DKERNEL -DK_HEAP_MEM_POOL_SIZE=0 -DLITTLEENDIAN_CPU -D__ZEPHYR__=1 -Idependencies/zephyr/include -Ibuilds/build/zephyr/include/generated -Idependencies/zephyr/drivers -Iapp/include -isystem dependencies/zephyr/lib/libc/minimal/include -isystem dependencies/zephyr/lib/libc/common/include -fno-strict-aliasing -Os -imacros builds/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fcolor-diagnostics -fms-extensions -imacros dependencies/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-typedef-redefinition -Wdouble-promotion -Wno-pointer-sign -Wpointer-arith -Wno-sometimes-uninitialized -Wno-shift-overflow -Wno-missing-braces -Wno-self-assign -Wno-address-of-packed-member -Wno-unused-function -Wno-initializer-overrides -Wno-section -Wno-unknown-warning-option -Wno-unused-variable -Wno-format-invalid-specifier -Wno-gnu -Wno-tautological-compare -Werror=implicit-int -fno-asynchronous-unwind-tables -mno-global-merge -Wno-vla -fmacro-prefix-map=app=CMAKE_SOURCE_DIR -fmacro-prefix-map=dependencies/zephyr=ZEPHYR_BASE -ffunction-sections -fdata-sections -mlongcalls -std=c99 -o CMakeFiles/app.dir/src/main.c.obj -c app/src/main.c

In our main.c file, we have 2 threads defined.
struct k_thread u_thr;
struct k_thread poc_thr;

Even though -mno-global-merge is being passed, when we build, we still see a lot of warnings for clang-10: warning: argument unused during compilation: '-mno-global-merge' [-Wunused-command-line-argument]. When we look at our map file, we see u_thr and poc_thr were placed into a .bss..L_MergedGlobals section.
 .bss..L_MergedGlobals
                0x00029f90      0x160 ../app/libapp.a(main.c.obj)
                0x00029f90                u_thr
                0x0002a040                poc_thr

When we do a verbose build, we see that the gen_kobject_list.py script is detecting that u_thr and poc_thr are at the same address, which is causing a fatal error during runtime.
gen_kobject_list.py: symbol 'u_thr' at 0x29f90 contains 1 object(s)
gen_kobject_list.py: symbol 'poc_thr' at 0x29f90 contains 1 object(s)

Looking at the gen_kobject_list.py script, it appears to parse the DWARF debug information to determine the addresses of these variables. When I read the elf file that this script is parsing, with the command ./xt-readelf --debug-dump=info build/zephyr/zephyr_pre1.elf | grep "u_thr\|poc_thr" -B1 -A5, I see the following information:
 <1><cb2>: Abbrev Number: 32 (DW_TAG_variable)
    <cb3>   DW_AT_name        : (indirect string, offset: 0xcaf): u_thr
    <cb7>   DW_AT_type        : <0x63f>
    <cbb>   DW_AT_external    : 1
    <cbb>   DW_AT_decl_file   : 25
    <cbc>   DW_AT_decl_line   : 27
    <cbd>   DW_AT_location    : 5 byte block: 3 90 9f 2 0       (DW_OP_addr: 29f90)
--
 <1><ce3>: Abbrev Number: 32 (DW_TAG_variable)
    <ce4>   DW_AT_name        : (indirect string, offset: 0xcc0): poc_thr
    <ce8>   DW_AT_type        : <0x63f>
    <cec>   DW_AT_external    : 1
    <cec>   DW_AT_decl_file   : 25
    <ced>   DW_AT_decl_line   : 31
    <cee>   DW_AT_location    : 8 byte block: 3 90 9f 2 0 23 b0 1       (DW_OP_addr: 29f90; DW_OP_plus_uconst: 176)

Looking further at the gen_kobject_list.py script, it's only looking at the DW_OP_addr part of the DW_AT_location, it's ignoring the DW_OP_plus_uconst part for poc_thr, so the addresses appear to be the same.
When I add the following diff to the gen_kobject_list.py script, so it uses DW_OP_plus_uconst:
diff --git a/scripts/build/gen_kobject_list.py b/scripts/build/gen_kobject_list.py
index 6e41adb797..6e461c1c56 100755
--- a/scripts/build/gen_kobject_list.py
+++ b/scripts/build/gen_kobject_list.py
@@ -171,6 +171,7 @@ def debug_die(die, text):
 # -- ELF processing

 DW_OP_addr = 0x3
+DW_OP_plus_uconst = 0x23
 DW_OP_fbreg = 0x91
 STACK_TYPE = "z_thread_stack_element"
 thread_counter = 0
@@ -622,6 +623,11 @@ def find_kobjects(elf, syms):
             addr = ((loc.value[1] << 0 ) | (loc.value[2] << 8)  |
                     (loc.value[3] << 16) | (loc.value[4] << 24))

+            # Handle a DW_FORM_exprloc that contains a DW_OP_addr, followed immediately by
+            # a DW_OP_plus_uconst.
+            if len(loc.value) >= 7 and loc.value[5] == DW_OP_plus_uconst:
+                addr += (loc.value[6])
+
         if addr == 0:
             # Never linked; gc-sections deleted it
             continue

Then the u_thr and poc_thr addresses are parsed correctly by the script:
gen_kobject_list.py: symbol 'u_thr' at 0x29f90 contains 1 object(s)
gen_kobject_list.py: symbol 'poc_thr' at 0x2a040 contains 1 object(s)

Since you already have a diff, could you submit a PR?

PR submitted and linked.


Contact multi select -> new group

This was a really cool one to work on. Basic flow:

Press "New Group" in upper right hand corner of the contacts screen.
Select some contacts.
Press "Create a new group with [#] contacts" button at the bottom of the screen.
This opens a modal to name the new group.

Dude, yes! 🏆🏆🏆

Gonna merge master in here so i can run it locally

Awesome work. Can't wait to get this in!

@asutula Fixed these issues.


Q: proper way to create a test case in the suite that's already running?

I am implementing a tool for combinatorial reachability testing of asynchronous code -- https://github.com/MaxMotovilov/cort. It operates by running a test case repeatedly to execute all valid permutations of its explicitly declared asynchronous steps. Because of that, individual runs of the same case have to be registered with the reporting platform dynamically, not knowing in advance how many will there be (a while loop, not a for loop).
The trouble I run into when trying to integrate it with Mocha is that at a point where test case is running, list of tests to be executed within the suite is already inaccessible. The best solution I came up with so far is a fairly nasty monkey patch: replace suite.tests.slice with a function that would return an in-place window into suite.tests so that the execution loop can be extended while it's still running. Simplified sample code is below; I would very much like to know of a better way to achieve the same end if it exists.
class InPlaceSlice extends Array {
	constructor( from ) {
		super( ...from );
	}

	slice( from, to ) { return new Window( this, from, to ) }
}

describe( "Dynamic test creation", function() {

	this.tests = new InPlaceSlice( this.tests );

	var total = 3, suite = this;

	it( testName(), function myTest( done ) {
		setImmediate( () => {
			if( --total > 0 ) {
				suite.addTest( new this.test.constructor( testName(), myTest ) );
			}
			done();
		} );
	} );

	function testName() {
		return "Should create " + (total-1) + " more tests asynchronously"
	}
} );

class Window {
	constructor( array, from, to ) {
		this.array = array;
		this.from = from || 0;
		this.to = to;
	}

	shift() {
		return this.array[ this.from++ ]
	}

	get length() {
		return this.end - this.from
	}

	get end() {
		return this.to == null ? this.array.length : this.to < 0 ? this.array.length + this.to : this.to
	}
}

Altering the set of tests to run is unsupported and unlikely to work entirely as expected no matter how it is attempted. A variety of factors in Mocha's design necessitate running in two phases:

define tests
execute tests

(The first phase can be performed asynchronously if necessary, although it isn't always intuitive or pretty.)
You will have to separate the logic for determining what the tests are from the actual testing steps, e.g. instead of something like this:
it("generates more tests", function() {
  var testableList = getArrayDynamically()
  assert.stuffAbout(testableList)
  testableList.forEach(function(entry) {
    doSomethingToAddTestThatRuns(function() {
      assert.otherStuffAbout(entry)
    })
  })
})

...instead do something like this:
var testableList = getArrayDynamically()
it("just the test portion of what was the generator", function() {
  assert.stuffAbout(testableList)
})
testableList.forEach(function(entry) {
  it("test for " + entry, function() {
    assert.otherStuffAbout(entry)
  })
})

Unfortunately, the value of the tool is in making the process of exhausting permutations transparent to the user (i.e. the test creator) -- other than using the step designation API (later()), the rest of the test code follows guidelines of the testing platform it is written for (e.g. Mocha, nodeunit...). Moreover, the search tree (and therefore the total number of possible permutations) cannot be built by static analysis: the test code has to be run repeatedly; it is not impossible that certain permutation of the steps may result in additional steps being executed!
As to unlikely to work entirely as expected no matter how it is attempted -- well, that's why I'm asking. The "solution" above came from a couple hours of investigating Mocha code with debugger; I am already aware of at least one issue with it (no support for retry()). It is usually possible to support at least a large subset of functionality with intricate kludges of this sort (thankfully JS provides extensive introspection facilities!) but dependency on specific implementation details is the bigger problem that I would like to minimize if possible.

I've looked at Cort a bit to try to understand what you were saying about the use case, and it seems to me you've got three options to work within Mocha's constraint about not defining more tests while tests are already running:

Just use cort-unit inside an it:

const cort = require("cort-unit")

it("combinatorial whatever", cort.bind(null, (later, done) => {
		later(() => console.error("step 1"))
		later(() => console.error("step 2"))
			.later(() => (console.error("step 3"), done()))
	}))

Immediately determine all possible orders in which to run the laters when a Mocha-cort function is called; for each possible order of laters, call it(meta.name, <function that runs that order of laters and calls Mocha's done callback with the individual result>); no additional "permutations" may be determined based on the results of actually running any one "permutation". (You may also need to make sure that this Mocha-cort function gets the current it function and doesn't just rely on it being truly global; I'm not sure what all Mocha's doing behind the scenes when it sets up its globals for the test files.)
Run all the possible "permutations" immediately but, rather than handing off the single complete result to an it, instead hand off each "permutation"'s individual result to it(meta.name, done => done(<result from Cort>)) (This has the same caveat about the current it. It has an additional caveat that, since Cort won't know what its to call till after each asynchronous permutation runs, you will need to work Mocha's --delay and run into it also -- calling Mocha's run only after all the permutations are finished and their it calls made.)

Just use cort-unit inside an it
Which means making one test out of multiple runs of the same test. Lots of reasons why it's a bad idea; the biggest one being that all the setup/teardown hooks will not be executed for each run of the test but only once before the first run and after the last one. Basically this means giving up most of the Mocha facilities.
Immediately determine all possible orders in which to run the laters when a Mocha-cort function is called
You mean, before executing it() for this test even once? Same issue with hooks, plus I'd need to somehow record all assertions. Also, I don't think it generally possible to determine all possible orders: certain code paths in the test may not be activated depending on the order.
Run all the possible "permutations" immediately
About the same thing as the one before: test code has to be run outside the context of Mocha test?

The way things are looking, my original option "just kludge through the dynamic definition and see what breaks" is almost attractive enough to follow up on :-)  I guess I'll try it and see what happens. The runner loop in Runner.prototype.runTests() looked encouraging enough...

Same issue with hooks, plus I'd need to somehow record all assertions.

What?
The second option is (roughly) equivalent to:
it(<first permutation>, function() {
  firstStep()
  secondStep()
  thirdStep()
})

it(<second permutation>, function() {
  secondStep()
  firstStep()
  thirdStep()
})

it(<third permutation>, function() {
  secondStep()
  thirdStep()
  firstStep()
})

That should work just fine with Mocha's hooks, both the ones that run once per suite and the ones that run once per test (whichever is appropriate for a given use case); just put them before or after the Cort process that generates the permutations. (I'm also not sure how saving assertions comes into play in this scenario. Maybe we're talking past each other about design here for lack of more detailed examples?)

Also, I don't think it generally possible to determine all possible orders: certain code paths in the test may not be activated depending on the order.

I'm having a hard time offering any further advice on this front without a more concrete example. Everything I see in the readme looks like the possible orders in which to run the later callbacks can be determined once all the later callbacks are known. Are we talking here about creating more later callbacks inside one of the running later callbacks? Or about the idea that if a later callback that calls done() runs before one of the others then the remaining later callbacks shouldn't end up being run? Or some other mechanism not yet described in the readme?

About the same thing as the one before: test code has to be run outside the context of Mocha test?

Not sure if you're asking if that's the one thing that's different or asking if they're the same in that regard, but to answer either question: that's how they're different, the second runs the later callbacks inside the Mocha tests (one test per permutation), the third runs them right away and as each permutation finishes generates a Mocha test that merely uses the result of that permutation. Again, it's (roughly, I'm trying to describe high-level logic and not things like the asynchronicity or how try-catching errors would work) equivalent to:
var passed

passed = firstStep()
  && secondStep()
  && thirdStep()
it(<first permutation>, function() { if (!passed) { throw new Error(<first permutation failure>) } })

passed = secondStep()
  && firstStep()
  && thirdStep()
it(<second permutation>, function() { if (!passed) { throw new Error(<second permutation failure>) } })

passed = secondStep()
  && thirdStep()
  && firstStep()
it(<third permutation>, function() { if (!passed) { throw new Error(<third permutation failure>) } })

Unlike the second option, this pretty clearly rules out using Mocha's hooks (even moreso than the first option in fact, since the first option at least could use before[All] and after[All] and this can't use any), although (also unlike the second option) it would be able to handle finding out the possible permutations not-ahead-of-time.

The second option is (roughly) equivalent to [snipped]

Not really: "immediately determine all possible orders" means "run the test body at least once before any of the it() bodies are executed" -- static code analysis not being generally feasible, and a monumental task in any case -- hence 1st run is not made inside an it(). I was playing with a variation of this idea where 1st run is made in a suite separate from (and preceding) the one where new tests would be injected but (a) it would still violate the rule of 2 separate stages and (b) there is ultimately no guarantee all code paths are even entered during the first run so you can't determine all possible orders from it anyway. Dynamic insertion of suites appears (from looking at Mocha code) to have the same exact problems as dynamic insertion of tests.

the third runs them right away and as each permutation finishes generates a Mocha test that merely uses the result of that permutation

Ok, I understand now. This definitely means forgoing most if not all Mocha facilities :-(

Hey @MaxMotovilov, sorry for the late reply -- I wrote up the following comment, then went to double-check the examples on the repo and forgot to come back here and post it. I figure it's worth letting you know what my thoughts were, but feel free to ignore any questions here if they're adequately answered by the readme now -- I need to get back over there and check out your updates! (What can I say, my life is a bit hectic.)

Hmm. So this might be where I've been misunderstanding something and/or having trouble figuring out how this works. The initial callback that calls later is run once per permutation rather than just once to get the possible permutations? How exactly does Cort know when all the possible permutations have been found and that the callback wouldn't have done something different on the next run after the one Cort considers the last?
Instinctively, I'd be more inclined to do something like:

beforeEach for setup that has to happen every time
define all the possible laters once
have a callback that is called once per permutation at the end that can sanity-check the results

(Maybe that last one is the onComplete callback? I was under the impression that that runs just once for the whole run rather than once per permutation, but I still haven't got as thorough a handle on how Cort's intended to work as I'd like.)

How exactly does Cort know when all the possible permutations have been found and that the callback wouldn't have done something different on the next run after the one Cort considers the last?

It maintains a "search tree" throughout the runs. Each tree node contains all available events to choose from at this stage: there're two kinds in 0.2.0 -- a "scheduled" step (i.e. call to later() has executed but the callback hasn't) and a "running" step (i.e. the callback has executed, it had the ready parameter -- new since last time, see the doc, the notifying call to ready() has been made but the user's callback has not yet been called or promise resolved). The edges leading away from the node are events already tried in previous runs. Cort keeps growing this tree until something breaks in the test, it runs into a non-determinism (the event should be available but isn't) or it runs out of search space. Hence, it is quite conceivable that the entirety of search space is not discovered in any specific number of runs. It is also quite conceivable that the search space proves infinite, thus I provide a hard limit option maxRuns.
I think you might understand it better now if you go through the new readme -- it now has two reasonably real-life examples with runnable Mocha test code. Note that beforeEach() / afterEach() hooks actually work, and so does retry(); I am really curious as to what Mocha functionality I do break with my ham fisted kludges  if anything...


Make supported OSes clearer/obvious

At the top of the article, it says "Applies to" and mentions Server 2016/2019.
I was trying to find if this was supported on 2012 as well.
Further down the article it does mention 2012:
"Starting with Windows Server 2012 R2, it is recommended to always configure a witness as the cluster automatically manages the witness vote and the nodes vote with Dynamic Quorum."
I checked a 2012 server and Cloud Witness is NOT an available witness option.
Would be nice to have a clear warning at the start of the article saying 2012 and older OSes do NOT support Cloud Witness.
Thanks

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

ID: 7e6da99e-a148-b5ea-224d-8a4c48604945
Version Independent ID: a6a90a1f-870c-3501-ce6e-fbf52f802dfb
Content: Deploy a cloud witness for a Failover Cluster
Content Source: WindowsServerDocs/failover-clustering/deploy-cloud-witness.md
Product: windows-server
Technology: failover-clustering
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

#assign:IngridAtMicrosoft
gh issue comment 4868 -b #assign:IngridAtMicrosoft

#assign:IngridAtMicrosoft

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


[Feature][Config UI] Add the Pipeline list back

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description

Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Bump


[Bug]: indentation incorrect

Is there an existing issue for this?

[X] I have searched the existing issues and my issue is unique
[X] My issue appears in the command-line and not only in the text editor

Description Overview

It indents like this even though I have this rule enabled:
  react/jsx-indent-props: [2, 'tab']

Expected Behavior

indent as normal

eslint-plugin-react version
7.35.2
eslint version
8.57.0
node version
20.11.0

That rule only covers indentation of props for a multiline component. Do you also have react/jsx-indent enabled? (i'd strongly suggest using the airbnb config)

react/jsx-indent

You resolved my problem.


[ENH] Series search for similarity search module

Reference Issues/PRs
Fixes #1900
What does this implement/fix? Explain your changes.
After the query search, this PR introduces the series search, which is linked to the task of computing matrix profiles.
To make this task compatible with query search (for the naive approach), I changed the return of the predict function for query search to return both index and distances to best matches.
Modified docstrings accordingly.
For now, only the naive version (the one looping on query search, which is equivalent to STAMP from matrix profile paper 1) and STOMP (from matrix profile paper 2) algorithm for squared and euclidean distance are implemented. I'll add the different matrix profiles (e.g. SWAMP with dtw and more efficient euclidean ones) methods in a later PR.
Minimal functionality were tested given time frame for ECML, more complete test are planned in next PR.
Comments
I'm still not entirely satisfied with the naming of query search / series search, so that's open to discussion
PR checklist
For all contributions

[X] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[X] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

For new estimators and functions

[x] I've added the estimator to the online API documentation.
[X] (OPTIONAL) I've added myself as a __maintainer__ at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.

For developers with write access

[x] (OPTIONAL) I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

Will update notebooks tomorrow and this will be good for review ! (and fix test that fails while I'll sleep)

Switching this back to draft as there is huge performance issue with STOMP

I agree that some changes would be needed before 1.0 to make thing cleaner, multiple issues are already up for this purpose.


lodash: defs for flatmap to work on objects

Existing defs for flatMap only works for array, but it actually works for objects too (lodash docs)
This pr:

adds OFlatMapIteratee for flatMapping on objects
adds appropriate defs for flatMap, flatMapDeep, flatMapDepth on objects

Could you add tests please?

@marudor added!


globs with leading forward slash should match relative to project root

It looks like when glob package was swapped out for minimatch, we accidentally lost the ability to match globs with a leading forward slash.
I'm first pushing the failing test to serve as example, then pushing the fix.  I can squash these if needed.
Sidenote: my master branch is a working version of coffee-coverage for Iced CoffeeScript.  It's almost perfect and backwards compatible, but will require upkeep so I haven't made a PR for it against the main package.  This package is really useful, thanks!

Coverage increased (+0.03%) to 78.372% when pulling 09cd39bd15347d1c3323fe236c4197f331a991a7 on doublerebel:fix/project-root-glob into 6295ef5a253ebf4c0df14e82976e06f5bc908736 on benbria:master.

@doublerebel Thanks for the fix, I've merged it into my fork which also includes CoffeeScript 2.6.1 support here: https://github.com/DanielXMoore/CoffeeCoverage


build: update to same revs as soroban-examples

What
Update the SDK & environment rev hashes
Why
The SDK rev referenced by soroban-examples was updated in https://github.com/stellar/soroban-examples/pull/224. The branch adding CLI tests to the examples repo, https://github.com/stellar/soroban-examples/pull/216, not only depends on the SDK, but also on the CLI. When the SDK and CLI versions mismatch, the tests fail.
Known limitations
N/A

Seems like the windows build is running out of disk https://github.com/stellar/soroban-tools/actions/runs/4744084507/jobs/8424498674?pr=585


⚠ Bofrost.lu has degraded performance

In cab1395, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1450 ms

Resolved: Bofrost.lu performance has improved in 9a726b0.


exp show: add --rev, -n, -A flag exp pull/push

Related to https://github.com/iterative/dvc/pull/7255

& https://github.com/iterative/dvc/pull/7245

Is it possible to re-do this PR from a branch directly on this repo? Thanks

Is it possible to re-do this PR from a branch directly on this repo? Thanks

UPDATE: Never mind, I reviewed this already.


Somewhat strange Portrait photos

I have seen you deal with this issue before, but I have something strange going on -
I have a significant number of pictures which seem to be portrait photos but osxphotos does not seem to recognize them as portraits. And also when I look at the metadata via my iPhone with Metapho it shows the Image original as HEIC and with a FullSizeRender.jpg. But probing via python shows as follows -

photos = [p for p in PhotosDB().photos() if "AD05D755-505D-4A56-B362-706A32AA98FD" in p.uuid]
for p in photos:
...     print(p.path, p.path_edited, p.hasadjustments, p.portrait)

/Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/originals/A/AD05D755-505D-4A56-B362-706A32AA98FD.heic /Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/A/AD05D755-505D-4A56-B362-706A32AA98FD_1_201_a.heic True False
When I export via osxphotos the output file is a file with extension HEIC but it is actually a JPEG internally. So Exiftool complains whenever I try to update this file via the associated XMP sidecar.
But if I export via the Photos UI - the original is exported as HEIC and the JPEG is correctly exported with correct jpg extension.
So not sure why the render is saved as a jpeg with heic extension. But somehow exporting via Photos on macOS or iPhone works ok. But osxphotos is not able to handle this correctly.

What does exiftool say this file type is:
/Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/A/AD05D755-505D-4A56-B362-706A32AA98FD_1_201_a.heic
E.g.
exiftool “/Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/A/AD05D755-505D-4A56-B362-706A32AA98FD_1_201_a.heic”
This is the path to the edited file and osxphotos only prints this if the file actually exists.  This would seem to indicate that there’s an edited version of the image saved with .heic.
Portrait photos (internally to Photos called “depth effect”) always indicate they are edited as the depth effect seems to be done in post-processing.   I’ve had to make several assumptions about identifying portraits and have had to make adjustments to the portrait code before (#203 ) so could be the same here.
Are you using —convert-to-jpeg?  If so, it’s quite possible this is related as #366 and several other bugs related to this code.  It has been surprisingly difficult to get this part of the code right.  E.g. the image was converted to jpeg but the extension is incorrect.
Also, could you run this command and post or send me the data?  The output will contain all the metadata of the photo in question so if sensitive (e.g. address information, person names, etc) you can sanitize it by editing the text file or email to me at<EMAIL_ADDRESS>osxphotos debug-dump --dump photos --uuid AD05D755-505D-4A56-B362-706A32AA98FD > debug.txt

Using another photos -
exiftool photo/2020/September/19/photo_n_200919_417CE6B7-6F93-4572-8C02-6A80028A0C0F_edited.heic outputs image as image/jpeg -
ExifTool Version Number         : 12.16
File Name                       : photo_n_200919_417CE6B7-6F93-4572-8C02-6A80028A0C0F_edited.heic
Directory                       : photo/2020/September/19
File Size                       : 3.0 MiB
File Modification Date/Time     : 2020:09:19 19:30:42+08:00
File Access Date/Time           : 2021:02:17 00:27:52+08:00
File Inode Change Date/Time     : 2021:02:16 12:41:34+08:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Exif Byte Order                 : Big-endian (Motorola, MM)
Make                            : Apple
Camera Model Name               : iPhone XS Max
I am not using --convert-to-jpeg in this scenario
Will email the debug.txt to you

This is very strange and I've not been able to replicate it. What's the full osxphotos command you're using?
Also, what's the output of:
exiftool “/Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/A/AD05D755-505D-4A56-B362-706A32AA98FD_1_201_a.heic”
and
exiftool “/Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/4/417CE6B7-6F93-4572-8C02-6A80028A0C0F_1_201_a.heic”

Thanks for sending the debug data.  It appears the actual rendered file inside the Photos library is really a jpeg even though it has .heic extension:
File Name : F638A916-473E-4BEC-BB2A-F1A79805BC9C_1_201_a.heic
Directory : /Volumes/PhotoSync/nsankar/Photos Library.photoslibrary/resources/renders/F
File Type : JPEG File Type Extension : jpg
MIME Type : image/jpeg

Is it possible this photo was edited in an external editor or plug-in?  If so, do you know which one?  You had a similar issue with luminar flex (https://github.com/RhetTbull/osxphotos/issues/322)

This image was not edited. I think this is a bug in Photos on how it is syncing from iOS to iCloud. I think the root cause is that for around a month last year Portraits from my iPhone were not synced up as Portraits to iCloud. So when downloaded to my Mac it seems that they got downloaded as rendered Jpegs with HEIC extensions.
So when I go to my iPhone and just open up the picture and edit it in any way - for example add a filter, then with the sync it seems to go through correctly and gets updated on my Mac with a HEIC in HEIC. I have filed a bug with Apple, but not sure if/when they might look at this.
For osxphotos perhaps there is a way to check on export if the extension matches the format when exporting and print an error?
I am using Imagemagick (identify) to probe and check in my Library and hence found these images. There were around a 100 like this. Not sure what was the reason for this issue though since this seems to be isolated to Portraits. Don't know if there is a python library that can allow you to do this easily.
And the other item I found is that some of these images now contains multiple images in the HEIC. One - full size and one reduced size. Again there doesn't seem to be any rhyme or reason for this. But when osxphotos exports the image it exports both images in a single HEIC. Not sure if there is a way to again detect/handle this. But less of an issue.

For osxphotos perhaps there is a way to check on export if the extension matches the format when exporting and print an error?

This is similar to #322 which was also the result of Photos using the wrong extension for edited files.  I've already created an issue (#336) to add a fix feature. It would be possible to also do this on export but there's not a reliable way to do this without an external dependency like Image Magick or exiftool, e.g. exiftool -FileTypeExtension file.heic.  There are some libraries such as filetype to do this but they support a limited number of image types.  E.g.
>>> import filetype
>>> filetype.guess("/users/Rhet/Desktop/export/IMG_1064.heic")
<filetype.types.image.Jpeg object at 0x7febcdb1c880>
>>>

And the other item I found is that some of these images now contains multiple images in the HEIC. One - full size and one reduced size.

This would be difficult to detect.  osxphotos simply copies the photo out of the Photos library so if Photos so will copy whatever Photos has put in the file.  There may be some way to post-process these with Image Magick, etc.

Not sure what was the reason for this issue though since this seems to be isolated to Portraits.

I think the issue with not detecting these as Portraits is the same issue as what caused the corrupted jpegs in the first place -- a Photos bug.  The depthstate column in the database, which indicates Portrait photos shows these are not Portraits as far as Photos is concerned.

Do the photos in question show up as Portrait in Photos (e.g. in the media types album under Portraits)

I think the only reliable way to find the correct extension of the file is using exiftool.  It handles the widest variety of formats.  Unfortunately this means that for user to use a --fix-file-extension feature, they'd need to install exiftool (not a big deal) but it would also slow down export as exiftool would need to be called on every photo.  The filetype library looked promising but it incorrectly guesses tif for all raw formats it doesn't recognize:
>>> photo.uti
'com.adobe.raw-image'
>>> photo.path
'/Users/rhet/Pictures/Test-<IP_ADDRESS>.photoslibrary/originals/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068.dng'
>>> filetype.guess(photo.path).extension
'tif'

whereas exiftool:
exiftool -FileTypeExtension '/Users/rhet/Pictures/Test-<IP_ADDRESS>.photoslibrary/originals/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068.dng'
File Type Extension             : dng


fix: fix OfferCreate price visual

High Level Overview of Change
This PR fixes an issue where prices showed up weirdly on the OfferCreate price currency pair.
Context of Change
Noticed while working on #839
Type of Change

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

TypeScript/Hooks Update
N/A
Before / After
Before

After

Test Plan
Works locally.

Looks like there is an extra space between the / and the next pair.

Yeah, I'm not sure where that came from/how to get rid of it.


if expression inside binary expressions are not indented after breaking long lines

Ran rustfmt on the crate base of embed_lang and got some formatting which seems a bit weird to me.
diff
Arguably there isn't really a good way to format it in this case and I should move the if expression to a separate line but I would otherwise expect lines 17-20 to be indented to the level of the if expression's start. Might just a matter of taste though.

-    let cap = size / mem::size_of::<f64>() + (if size % mem::size_of::<f64>() != 0 { 1 } else { 0 });
+    let cap = size / mem::size_of::<f64>() +
+              (if size % mem::size_of::<f64>() != 0 {
+        1
+    } else {
+        0
+    });

I thought this was a known issue, but I couldn't find anything. We should be indenting the if bodies with the if itself (plus a block indent).

Somewhat related so I might as well mention this.
I use if expressions in a few other places like this where the line is not long enough to need to be split onto separate lines but is split regardless.
Int(if true { 1 } else { false })

Is changed to something like
Int(if true {
    1
} else {
   false
})

While I think the first code before formatting is a bit clearer I don't mind the formatted version enough to think it warrants an issue.

@Marwes I think that the code before formatting is better. Maybe it's worth an issue.


Isolate device incorrect response

The following is not documented as a limitation or response:
When you send multiple API calls to isolate the same device, there are inconsistent results. It may depend on how much time has passed since you last issued an isolate API call. Some duplicate calls returned the pending machine action instead of a new machine action and some duplicate calls returned HTTP 400 with the message "Action is already in progress". Additionally, if the machine is already isolated (or pending isolation) and you send a duplicate isolate API call, the new machine action will be stuck in the "pending" status even if you later submit another API call to remove isolation. Also, the remove isolation action can only be performed over the API as the pending duplicate isolation action makes it so the portal thinks isolation is still pending (and the option to remove is grayed out).
It appears the duplicate action that was stuck in pending status was only completed after duplicate remove isolation API calls were made. The order of API calls was: "isolate", "isolate", "remove isolation", "remove isolation" but the order of completion was "isolate", "remove isolation", "remove isolation", "isolate" resulting in the device still being isolated.

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

ID: 2484bbe8-9fd4-cfcd-b9fe-73e1a0ee249c
Version Independent ID: d6079609-ea2a-d6f9-6170-eb8e02f76a1e
Content: Isolate machine API
Content Source: microsoft-365/security/defender-endpoint/isolate-machine.md
Product: m365-security
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@MastaDisasta Thank you for your feedback. I'm working with the author on this.
Thanks
Sri

This sounds like there's a required programmatic change. Please submit feedback through the portal using the frown button.


Make Tooltip recover gracefully when context is destroyed.

fixes https://github.com/flutter/flutter/issues/54096
fixes https://github.com/flutter/devtools/issues/1518
The issue is that the Tooltip widget is destroyed before we create the entry and forward the controller, but there is no fail safe check to prevent findRenderObject() from being called on a null context. This ensures we do not call _createNewEntry() and try to create an entry for a destroyed context.

I am wondering: How/Why do you call ensureTooltipVisible on a Tooltip that's not in the tree in the first place?
Also: This will need a test.

The case where I see this is when the widget is rebuilt before the tooltip appears. For example, an item that changes color on selection. Mouse over the widget -> tooltip starts waiting to appear -> select the widget before tooltip appears -> widget is rebuilt to change color -> tooltip error is thrown because context is null.
Do you have suggestions on how to test this? It seems like it would require destroying the context mid-test.

Do you have suggestions on how to test this?

I would write a test that goes through the scenario you provided:

Mouse over the widget -> tooltip starts waiting to appear -> select the widget before tooltip appears -> widget is rebuilt to change color -> tooltip error is thrown because context is null.

I am still not fully sure I understand why you're seeing the crash, though. When the State gets disposed (which causes context to go to null), we cancel the _showTimer, so ensureVisible shouldn't be called in that case. Is for some reason this timer not getting properly cancelled?

We do see this issue frequently in DevTools (more or less every time somebody mouses over an item with a tooltip). While minor, it's likely our most frequently encountered exception. I added customer: ddt to the associated issue.


Change the OmniAuth redirect into a POST rather than a GET

Change the OmniAuth redirect into a POST rather than a GET
Trello card
This PR changes how users login to our system.
We don't keep a list of user names and passwords within our service to log users in. Instead, we rely on external services to manage users and check users are who they claim to be. When an unauthenticated request is made to our application, we redirect the user to the external service to login and then be redirected back to us.
Each service has a slightly expectations about how users are redirected and what information they need. To manage the differences, we use we use a library called OmniAuth.
OmniAuth works by creating new routes like /auth/auth0 and /auth/gds_sso.
These routes are the start of the login journey for that service. In our application code, all we need to do to make a user follow that journey is redirect the user to one of the /auth/* routes.
This process is shown in the authentication flow diagram
as steps 1-5.
There is a potential security issue with this approach. Because the OmniAuth routes start the auth journey based on a GET request, it's very easy for a user to be sent through them without realising. The user's browser follows redirects automatically. When they try to access our service, they are redirected to the login page without taking any further action to confirm they want to login.
If a user is already logged into an auth provider, they may bounce through the authentication without ever pressing a button.
This CVE-2015-9284 against OmniAuth explains how it can turn into a vulnerability.
If a user can associate multiple accounts with a service, perhaps a username and password and a google account. It can be possible for a an attacker to trick a victim to associate a google account the attacker owns with the victims account. It's a bit obscure - the victim would have to be logged into both accounts first.
By itself, with our current authentication setup, this isn't a security issue. Forms authentication only allows one identity to be linked to a user account at a time and Auth0 always asks users to login. There is no concept of using other accounts to login. Even when we were migrating away from GDS Signon, a user could only be associated with one login
method. We also only use our Auth0 tenant for our single application. It's not possible to have an account with another service and not have a forms account.
Why do we need to change if CVE-2015-9284 does not cause us any issues?
Redirecting a user through to an authentication method directly still causes us a few issues:

Auth0 logs that we are sending too many requests to the login
page. This might be because we redirect any traffic - bots, services like slack which show embedded previews etc.
We still have the signon omniauth route in production. It will be removed when we clean up the code but user's can be redirected to [https://admin.dev.forms.service.gov.uk/auth/gds]. Because the settings are no longer configured in our service, users are not able to login. It's still possible to trick users to make GET requests to these routes and there may be security issues lurking there.
If we change our Auth0 config in the future, such as allowing users to link their google accounts, we may open ourselves up to the original OmniAuth CVE.

What change are we making to secure the service?
We are switching the /auth/* routes to only respond to POST requests. This will stop browsers following redirects straight to the authentication method without a form submit. This is the fix recommended by OmniAuth. They have not made this the default to keep compatibility with existing code and created a new GEM to handle the logic.
This means that our current auth flow must change. Users can no longer be redirected straight to Auth0.
Instead they are redirected to /login, where they must submit a form to make a POST request. The form is actually a single submit button. When the login form is submitted, using a POST request, the user is redirected straight to Auth0.
This solves the security issue but it does add friction to our login flow.
To fix this, we are using some client-side javascript to automatically press the Login button. To the user, it should feel similar to the redirect, with a slightly awkward page load in between.
This is a compromise.
If it's annoying or causes issues we will remove the javascript and users will need to press the button themselves.
It also removes some of the user intent - it's still possible to send users directly to and authentication provider by giving them a link.
Do we need to change the e2e tests
No. Because of the javascript which clicks the button for the user, the flow hasn't changed. The admin code has been changed to add the required connection string to the post request form when the auth=e2e string is present.
Does that work across browsers
Yes. It seems to work across all the browsers I used to test it in browserstack.
Does it work for screen readers etc.
Yes. Screen readers don't read the login page as the redirect happens pretty quickly. It's possible they might in some situations but I think it would ok as reading the login screen makes sense in the context.
What happens if JS is not enabled or fails?
The login button is not clicked and user must do it themselves.
Can we provide a direct link to login from our product pages?
Not without relaxing our security constraints on the login page. The form uses a CSRF token to ensure the request came from our site. The product pages could submit a form across domains but would have no way of generating a CSRF token.
We could come up with another way of authenticating the POST request but I think it would be better to change the design to something more traditional.
How do other sites handle this?
It's more common to have the product pages and service on the same site. That way a login button can be pressed by the user to send them to auth.
What does the login screen look like?

Thank you for the very detailed write up!
One thing I'm curious about, if someone hosted an iframe which pointed to the /auth/auth0 route of our site, would the JavaScript execute? Could we tell browsers to not execute the JavaScript?


Number Theory

I wanna add some number theory questions.
Please assign me this task.

@TecHAyusH6476 hello sir can I add a few number theory and recursion questions?
please assign me this issue and add appropriate labels.


Remove flash errors from admin password recovery

It is possible for an attack to deduce admin account email addresses by
injecting email addresses into the password recovery view until the
receive a success message.
The solution in this commit is to remove those flash error messages from
that view entirely. Instead we will flash a generic success message when
the form submits.
This functionality will still exist for non-admin users who may be less
technically savvy and may need help remembering the email address they
used to sign up.
Before:

After:

Another thing: I don't think an attack can deduce admin emails at the moment since the email existence check is performed against all users, not only admin ones. I think that every user, even non-admin, can login/reset password with those backend authentication pages. The only information that an attack can deduce is if that email belongs to a user signed up on the store, which we are also allowing to do in the frontend.
I think this is still a good change but I would consider adding the same behavior in frontend as well. Users that forget the email used can try different emails and they will receive an email while the right one is entered.

@kennyadsl That is a good point.
I will extend this behavior to the frontend password reset in another PR, or look into opportunities to address duplicated functionality. I saw a few things I could improve in this gem while making this change, but I'd like to get @aitbw PRs merged in before doing too much more.


Failed to link patch for UnrealLink but also succeeded?

I couldn't find anybody else with this issue so I thought I'd make a post. I'm on Unreal 5.1. When I build in Rider everything succeeds.
When I click compile in Unreal I get the following error. It both says the link patch succeeded and failed? Anyone have any ideas?
...snipped for brevity...
Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\SimpleSocket.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\countdownlatch.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\async.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\cfg.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\color_sinks.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\file_sinks.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\fmt.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\spdlog.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RD\stdout_sinks.cpp.obj was modified or is new
Building patch from 55 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RD.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RD.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RiderLink\Module.RiderLink.cpp.obj was modified or is new
Building patch from 1 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RiderLink.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RiderLink.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RiderBlueprint\Module.RiderBlueprint.cpp.obj was modified or is new
Building patch from 1 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RiderBlueprint.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RiderBlueprint.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RiderLogging\Module.RiderLogging.cpp.obj was modified or is new
Building patch from 1 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RiderLogging.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RiderLogging.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMO.init.gen.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOCharacter.gen.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOCharacterController.gen.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOGameMode.gen.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMO.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOCharacter.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOCharacterController.cpp.obj was modified or is new
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Intermediate\Build\Win64\UnrealEditor\Development\MMO\MMOGameMode.cpp.obj was modified or is new
Building patch from 8 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Binaries\Win64\UnrealEditor-MMO.dll
   Creating library C:\Users\Shivang\Documents\Unreal Projects\MMO\Binaries\Win64\UnrealEditor-MMO.patch_0.lib and object C:\Users\Shivang\Documents\Unreal Projects\MMO\Binaries\Win64\UnrealEditor-MMO.patch_0.exp
Successfully linked patch (0.000s)
Patch creation for module C:\Users\Shivang\Documents\Unreal Projects\MMO\Binaries\Win64\UnrealEditor-MMO.dll successful (0.000s)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RiderGameControl\RiderGameControl.cpp.obj was modified or is new
Building patch from 1 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RiderGameControl.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RiderGameControl.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
File C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Intermediate\Build\Win64\UnrealEditor\Development\RiderShaderInfo\RiderShaderInfo.cpp.obj was modified or is new
Building patch from 1 file(s) for Live coding module C:\Users\Shivang\Documents\Unreal Projects\MMO\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor-RiderShaderInfo.dll
LINK : fatal error LNK1104: cannot open file 'C:\Users\Shivang\AppData\Local\Temp\UnrealLink\Pupiwab\HostProject\Plugins\RiderLink\Binaries\Win64\UnrealEditor-RiderShaderInfo.patch_0.exe'
Failed to link patch (0.000s) (Exit code: 0x450)
---------- Finished (0.000s) ----------

Check the last version of Rider, it has a new RiderLink that should be fixing LiveCoding issues


add option for not installing dependencies automatically

Right now, setuptools tries to download missing dependencies automatically. This is good in the general case, but for packaging systems/distributions it would be useful to have the option to tell setuptools not to install missing dependencies automatically, so the dependencies have to be recorded correctly by the packager in the packaging system.
For this reason, please add a flag that turns off automatic installation of packages.

Thinking more about it, I consider this a major security nightmare. This is effectively a pre-made Remote Code Execution bug by design.

With setuptools 36, it once again re-vendors its dependencies.


Need advice on calling showNotificationIfAvailable

We are trying to call this method but its not referenced anywhere:
http://mixpanel.github.io/mixpanel-android/com/mixpanel/android/mpmetrics/MixpanelAPI.People.html#showNotificationIfAvailable-android.app.Activity-
Any advice? Would we have to fork and create our own bridge for that method?

Also for iOS the same method is simply showNotification()


Input Mask Bug

Describe the bug
I accidentally found a bug, when pressing Keys that contain more than 1 character just as: 'Escape', 'Control', 'Alt', 'Insert', 'Delete',  'Page Up', etc...
To Reproduce
Just Press any of those keys on Input Mask forms and see the bug.
Expected behavior
I don't know, maybe not working on those keys.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Chrome
Metro Version 4.4.3

Thank you. Component is not complete and can contain bugs.


Performance - high CPU load while idling

Hi everyone,
I noticed that the deployed MXD has a high CPU load even though the system is not in use at all:

Although we are running the MXD on a fairly low powered Server (AWS EC2 t3a.large) I would expect the load to stay low until I request something. We pinned the EDC's version to 0.6.0.
I find it interesting that the database has the highest load of all pods. Also, Alice's CPU load is higher than Bob's - maybe because it contains more Assets? What else is running on there while idling? Would you say this CPU load is normal?

Hi, I deployed mxd with edc 0.6.0 on a t3.large, and from my experience I see a large spike in CPU usage at the initial stage but the usage gets slowly down to an average of 25% after ±20 minutes.

When using Htop we can also see that a half of all cpu usage is dedicated to system and IRQ.
So total user CPU usage after ±20 minutes is around 12% this inludes k8s system pods.

Htop CPU colors for reference:
Green: The % of CPU used for user processes
Red: The % of CPU used by system/kernel processes
Yellow/Orange: The % of CPU used by IRQ time
I also checked for pod logs at info level, and there is rarely something happening on default namespace pods.
So I would say this level of CPU usage idling is normal.
How much time after the start the screenshot is taken?
Is CPU usage going down as shown on the first image ?

@anschl should we consider this issue resolved?

Closing as this amount of CPU load seems to be expected.


Submenu suport

Is there any way/suggestion how to dinamicly add submenu items?

The plugin was designed to be simple and lightweight and would probably require a re-write to support hierarchical menus. Depending upon what you're trying to do you could take a different approach and have a toolbar that acts upon the selected feature?

That is other option that we consider, but importance is to have the menu populated depending on click on diferents polygons or markers.
We will also evaluate option to call some bootstrap context menu.
Thank you for your answer!


PE raw section size vs virtual size

Found a case where a PE section parser was thrown off by a mismatch between section's raw size and its virtual size. It would read the section bytes sequentially, encounter the padding zeroes in the end, and crash.
PE stores the size of the section in a loaded PE file in the second field of the section header, VirtualSize. Maybe the library should initialize section.bytes with a VirtualSize-sized blob instead. Note the case where VirtualSize is greater than SizeOfRawData ; in those cases the bytes should be zero padded.
The filebytes library surfaces that field as PhysicalAddress_or_VirtualSize. The doc at https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers doesn't mention the circumstances when this field can mean PhysicalAddress, but maybe the maintainers know something I don't.

Yes. I knew it, but I forgot it. I will look at this.


Add a CupertinoTextField

Adds support for an iOS styled text field #13695 with APIs supporting default UITextField and UITextView functionalities.
Consolidates docs between Material TextField, EditableText and this new widget.

Thanks for the quick review!

Gentle ping. Any more comments?

LGTM!


codeepneat should initalize best_fitness to None rather than 0

In codeepneat initialize_population() (line 104) should initialize best_fitness to None rather than 0 to avoid issues with negative fitness values.
...
self.pop.best_fitness = 0  # should be None
...

Thanks for the feedback. You are right, I will include that in the next version of the framework. I am developing the code offline for some research and included things like this already as my project requires negative fitness as well. I also noticed that the offspring generation has difficulty calculating the correct offspring sizes for each species if some genomes have negative fitness and improved that as well. Therefore be careful when applying the code to an environment that returns negative fitness as for now.
But as I said, I will include fixes for this in the next version. In about 2-3 weeks my project will finish and I can spend more time on TFNE.

Thanks for the feedback. You are right, I will include that in the next version of the framework. I am developing the code offline for some research and included things like this already as my project requires negative fitness as well. I also noticed that the offspring generation has difficulty calculating the correct offspring sizes for each species if some genomes have negative fitness and improved that as well. Therefore be careful when applying the code to an environment that returns negative fitness as for now.
But as I said, I will include fixes for this in the next version. In about 2-3 weeks my project will finish and I can spend more time on TFNE.

Great, thanks for the update.
On Mon, Jan 4, 2021, 01:52 Paul Pauls<EMAIL_ADDRESS>wrote:

Thanks for the feedback. You are right, I will include that in the next
version of the framework. I am developing the code offline for some
research and included things like this already as my project requires
negative fitness as well. I also noticed that the offspring generation has
difficulty calculating the correct offspring sizes for each species if some
genomes have negative fitness and improved that as well. Therefore be
careful when applying the code to an environment that returns negative
fitness as for now.
But as I said, I will include fixes for this in the next version. In about
2-3 weeks my project will finish and I can spend more time on TFNE.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PaulPauls/Tensorflow-Neuroevolution/issues/11#issuecomment-753694713,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADDKOQN7CVXCLLIKCLRCTDSYD7KHANCNFSM4VSECA5A
.

Great, thanks for the update.
On Mon, Jan 4, 2021, 01:52 Paul Pauls<EMAIL_ADDRESS>wrote:

Thanks for the feedback. You are right, I will include that in the next
version of the framework. I am developing the code offline for some
research and included things like this already as my project requires
negative fitness as well. I also noticed that the offspring generation has
difficulty calculating the correct offspring sizes for each species if some
genomes have negative fitness and improved that as well. Therefore be
careful when applying the code to an environment that returns negative
fitness as for now.
But as I said, I will include fixes for this in the next version. In about
2-3 weeks my project will finish and I can spend more time on TFNE.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PaulPauls/Tensorflow-Neuroevolution/issues/11#issuecomment-753694713,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADDKOQN7CVXCLLIKCLRCTDSYD7KHANCNFSM4VSECA5A
.


Fixes for compilation issues

Fixes for compilation issues

For what it's worth, this is probably still useful - even if I've not gotten around to actually adding it so that Linqpad can consume it.


AllOf C# Inheritence

What are you generating using Kiota, clients or plugins?
API Client/SDK
In what context or format are you using Kiota?
Linux executable
Client library/SDK language
Csharp
Describe the bug
I am working with the Schwab API and their schema. I have published a repo to go along with this issue. https://github.com/pettijohn/KiotaIssue/
In the schema, there are a number of models that extend AccountsBaseInstrument using allOf.
Most of these generated C# classes extend AccountsBaseInstrument, as expected (AccountCashEquivalent, AccountFixedIncome, AccountOption, CollectiveInvestment generate as expected). Two do not - AccountEquity, AccountMutualFund. E.g.,
"AccountEquity": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/AccountsBaseInstrument"
                    }
                ]
            },

Reviewing the documentation, I think this is actually by design. If I understand this correctly: https://learn.microsoft.com/en-us/openapi/kiota/models#components-versus-inline-models AccountEquity and AccountMutualFund fall into the rule "Class/interface with properties from the referenced schema and without a parent type."
That's a bummer, because there are instances where I only care about properties on the base type and I want to be able to treat them all the same:
AccountsBaseInstrument? instrument =
        position.Instrument.AccountCashEquivalent as AccountsBaseInstrument ??
        position.Instrument.AccountEquity as AccountsBaseInstrument ??
        position.Instrument.AccountFixedIncome as AccountsBaseInstrument ??
        position.Instrument.AccountMutualFund as AccountsBaseInstrument ??
        position.Instrument.AccountOption as AccountsBaseInstrument ??
        position.Instrument.CollectiveInvestment as AccountsBaseInstrument;
var s = instrument.Symbol;

To work around, I added an empty property to the classes to get it to generate inheriting from the base class.
"AccountEquity": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/AccountsBaseInstrument"
                    }
                ],
                "properties": {
                    "ignoreme": {
                        "type": "string"
                    }
                }
            },

Is there a better way? Or maybe this is a feature request - if other generated classes inherit from the base class, then so should all generated classes.
Expected behavior
Generated classes inherit from AccountsBaseInstrument
How to reproduce
See schema in initial commit and generate https://github.com/pettijohn/KiotaIssue/
Open API description file
No response
Kiota Version
1.16.0
Latest Kiota version known to work for scenario above?(Not required)
No response
Known Workarounds
No response
Configuration
Docker, WSL, Ubuntu 22.04, Windows 11
Debug output
Click to expand log
```

</details>

### Other information

_No response_

Hi @pettijohn
Thanks for using kiota and for reaching out.
To make sure I understand your concern correctly: your OAI description contains a schema named AccountEquity which before any change only contains a single allOf entry (no other properties). This results in that schema being "squashed" as it doesn't add any other meaning (besides maybe the type hierarchy). And you'd like the type to be projected anyway? is that correct?
If so, this is by design, in most scenarios allOf with single entries result from improper OAS description generation from the server-side tooling and was adding noise. This is why we decided to implement "squashing". Unless we get overwhelming feedback this is wrong, we're unlikely to change that at this point.

Mostly correct. The schema has SIX components that extend AccountsBaseInstrument. Four of them add additional properties and as such extend from the base class. Two of them do not add any additional properties and so get squashed. The squashing of some but not others means that they don't all extend the c# class AccountsBaseInstrument.
I certainly understand and agree with your rationale for squashing when there is no added value. This is maybe a different case because there's value in the polymorphism and being able to treat everything as an AccountsBaseInstrument.
This isn't my schema (again I'm getting it from Schwab). But maybe the solution is to modify the discriminator to reference the base class directly instead of through an abstraction that doesn't add any value. "EQUITY": "#/components/schemas/AccountEquity" could become EQUITY": "#/components/schemas/AccountsBaseInstrument" for instance.
AccountsInstrument:
"discriminator": {
                    "propertyName": "assetType",
                    "mapping": {
                        "CASH_EQUIVALENT": "#/components/schemas/AccountCashEquivalent",
                        "EQUITY": "#/components/schemas/AccountEquity",
                        "FIXED_INCOME": "#/components/schemas/AccountFixedIncome",
                        "MUTUAL_FUND": "#/components/schemas/AccountMutualFund",
                        "OPTION": "#/components/schemas/AccountOption",
                        "COLLECTIVE_INVESTMENT": "#/components/schemas/CollectiveInvestment"
                    }
                }

Here's a direct link to the open api schema: https://github.com/pettijohn/KiotaIssue/blob/95917e105b5e99533d164d43d12be52df71fe324/openapi3.json If you look at the latest version of the same file you can see how I added "ignorme" properties. I generated C# classes with this command (WSL, docker) https://github.com/pettijohn/KiotaIssue/blob/main/kiota-generate.sh

Thanks for the additional context here.
The difficulty lies in establishing clear rules for when to squash or not squash.
I guess we could add an exception which would avoid squashing a derived schema if the parent has a discriminator entry with it.
But that creates another issue: we default the discriminators when they are absent which would mean not squashing anything anymore.

My guess is that they added this additional empty type because they either want to enable type assertion / matching to be used as logic control flow. Or because they anticipate additional properties for that derived type in the future. Or both.

Would you be willing to look into the solution I have suggested and submit a pull request given some guidance?

Can you give me a code pointer to get me started on changing the squashing logic? I can try to look at it this weekend.

Great! The triage and merging logic is here. https://github.com/microsoft/kiota/blob/44d61a46454e8e2b13ef4e18d9f8d38cb04fda8e/src/Kiota.Builder/KiotaBuilder.cs#L1634
And the tests start here
https://github.com/microsoft/kiota/blob/22089d65eb1cc1a0ac652e7b7ba7b5fbf9b01abf/tests/Kiota.Builder.Tests/KiotaBuilderTests.cs#L7773
Let us know if you have other questions

Before I test this and submit a PR, can you please let me know if I'm doing about what you had in mind?
https://github.com/pettijohn/kiota/commit/5f5374b433e71370382cbfa3e071d1811c1552a1
In the switch statement you referenced in CreateInheritedModelDeclaration, I added an additional parameter referencedByOneOf to indicate if we are generating this class off of a discriminator and added the appropriate cases and of course the appropriate cases.
I'm not sure if I'm determining if it was referenced by oneOf in the right/clean/optimal way. GetCodeTypeForMapping (which is called by GetDiscriminatorMappings) now passes a bool down the stack indicating that referencedByOneOf=true, particularly into CreateModelDeclarations so that we can decision in the schema.IsInherited branch.
I suspect there's a more elegant way to do that? Or maybe not and I should just add comments & tests.

I think this is a good start.
Thank you for sharing .
It's probably only addressing wonderful paths there are probably additional code paths out there, but we can start from here.
I would also name the additional perimeter differently because one off can be confused with oneof in JSON schema.
You can probably go ahead and open a pull request in the draft and we will iterate from here.

Appreciate the early feedback. I expect to have a busy week at work so it'll be a bit before I return to this. I'll make the changes you suggest and submit a PR for iterating.


Issue when running inference /data/one-file.txt

I1024 09:59:28.228960   100 net.cpp:248] Memory required for data:<PHONE_NUMBER>
/usr/local/lib/python2.7/dist-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.
  warn("The default mode, 'constant', will be changed to 'reflect' in "
F1024 09:59:37.120355   100 syncedmem.cpp:51] Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
1 of 1/usr/bin/inference: line 37:   100 Aborted                 (core dumped) python -m pyfacades --plot --resume --no-use-mask --output "${OUTPUT}" --files $1
updating: output/one-file/one-file.txt (deflated 28%)

It looks like your GPU is out of memory.    I will look into providing a
CPU flag,  and try to document how much memory it needs. We have used this
on GTX1070, GTX1080, and K40s.
On Oct 24, 2017 6:04 AM, "Raziel"<EMAIL_ADDRESS>wrote:
I1024 09:59:28.228960   100 net.cpp:248] Memory required for data:<PHONE_NUMBER>
/usr/local/lib/python2.7/dist-packages/skimage/transform/_warps.py:84:
UserWarning: The default mode, 'constant', will be changed to
'reflect' in skimage 0.15.
warn("The default mode, 'constant', will be changed to 'reflect' in "
F1024 09:59:37.120355   100 syncedmem.cpp:51] Check failed: error ==
cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
1 of 1/usr/bin/inference: line 37:   100 Aborted                 (core
dumped) python -m pyfacades --plot --resume --no-use-mask --output
"${OUTPUT}" --files $1
updating: output/one-file/one-file.txt (deflated 28%)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jfemiani/facade-segmentation/issues/1, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ACq7F3f-go2P9MEoy2FjFy16CqPJ85r3ks5svbYcgaJpZM4QEKUi
.

Thanks for replying, I would also ask you kindly if you can explain the results made by this code briefly or how to interpret it (I was able to run this code on an Amazon instance with 12 GiB GPU Memory, my machine has 2 Gib GPU Memory)  Thanks

This is repository is part of a project I did with a colleague at UCL to reconstruct 3D buildings. I output a .yml file that includes the estimated bounding boxes of a variety of facade elements captured from google street-view images.  The output folder also includes a variety of diagnostic images, including a probability mask for each image that shows the probability that each pixel is of a certain type (e.g. window, door, etc.).     The .yml file is not really documented (at least not yet) but I hope it is decipherable anyhow.
It may be useful to try and run jupyter notebook from within the docker container, and look at the scripts/process.ipynb.   I added a bit to the README.md explaining how to launch the notebook server, hopefully seeing the notebook might give a bit more insight into how to understand the result.

Hi,
Thanks for replying, I read the paper and it's clear now I have just one more additional question
What the meta.txt file is contained and how did you produce the mask for the input?
Thanks :)

@zzqstar Were you able to use the GPU? One thing I have found is that sadly there is some coupling between the nvidia drivers and libraries on the host and in the docker container you are running.

Yeah, @jfemiani thank you very much!  I cannot use the GPU now. The problem  is not solved yet. What's the coupling bewteen the nvidia drivers and libraries no the host?


feat: replace defer with native promise

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


redis-cli errata

Context
You can connect to these cache instances using the redis-cli utility in the
[unstable](https://redis.io/download) branch of the Redis repository at GitHub.
This version implements basic support when started with the -c switch.

The link does not lead to GitHub, but rather the release download page for both Redis
and Redis Stack.
The documentation on that page says the unstable version is "Only for hard-core hackers".
The "stable" client has accepted the "-c" option to enable cluster mode since
version 2.6.0. See<EMAIL_ADDRESS>The word "redis-cli" should be set off typographically.

Requests
1. Proposed wording change
Consider using the following instead:
You can connect to these cache instances using the `redis-cli` utility included
in any recent [Redis release](https://redis.io/download/#redis-downloads).
This utility implements basic support when started with the -c switch.

2. Fix command name in example
The command example for "Bash" shows the command Redis-cli.exe being used.
If it is "Bash" being used (Linux shell) the command should be redis-cli.

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

ID: 2fbf7b9e-ded8-3cd5-2615-6828ca4f8325
Version Independent ID: d0a60bbe-b472-f362-bb67-3467b0ba900c
Content: Configure Redis clustering - Premium Azure Cache for Redis - Azure Cache for Redis
Content Source: articles/azure-cache-for-redis/cache-how-to-premium-clustering.md
Service: cache
GitHub Login: @flang-msft
Microsoft Alias: franlanglois

@coderalex
Thanks for your feedback! We will investigate and update as appropriate.

Hi @flang-msft,
Could you please look into this request, thanks.

Thanks for the doc suggestion! I've noted it for a future update of this article. According to our usual policy, I'll now proceed to close this issue. If you have further information or would like to continue the discussion, please tag me and or reopen the issue. Thank you!
#please-close


Rclone + Ubuntu Server 14 + Google Drive

Hello.
Can you tell me please what i need todo while i config rclone?
Its as just installed, first run:
$ rclone config
2015/10/22 19:33:07 Failed to load config file /home/user/.rclone.conf - using defaults: open /home/user/.rclone.conf: no such file or directory
No remotes found - make a new one
n) New remote
q) Quit config
n/q> n
name> gdrive
What type of source is it?
Choose a number from below
 1) swift
 2) s3
 3) local
 4) google cloud storage
 5) dropbox
 6) drive
 7) amazon cloud drive
type> 6
Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://<IP_ADDRESS>:53682/auth
Log in and authorize rclone for access
Waiting for code...

hmm.. so what next? It is Ubuntu server and i connect via SSH. How-to open http://<IP_ADDRESS>:53682/auth ???
PS: i tried open by ip http://<IP_ADDRESS>:53682/auth with out any lucky :(
Thanks

Hello there Aleksej,
Simply open this url http://<IP_ADDRESS>:53682/auth in a web browser to
authorize your rclone installation to access Google Drive. You will have to
login to your drive account on the same browser window.
On Thu, Oct 22, 2015 at 12:46 PM, Aleksej Filippovich <
<EMAIL_ADDRESS>wrote:

Hello.
Can you tell me please what i need todo while i config rclone?
Its as just installed, first run:
$ rclone config
2015/10/22 19:33:07 Failed to load config file /home/user/.rclone.conf - using defaults: open /home/user/.rclone.conf: no such file or directory
No remotes found - make a new one
n) New remote
q) Quit config
n/q> n
name> gdrive
What type of source is it?
Choose a number from below

swift
s3
local
google cloud storage
dropbox
drive
amazon cloud drive
type> 6
Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?

Say Y if not sure
Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://<IP_ADDRESS>:53682/auth
Log in and authorize rclone for access
Waiting for code...

hmm.. so what next? It is Ubuntu server and i connect via SSH. How-to open
http://<IP_ADDRESS>:53682/auth ???
PS: i tried open by ip http://<IP_ADDRESS>:53682/auth with out any lucky
:(
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/ncw/rclone/issues/178.

The easiest option is to say N to auto config. That works on a remote server.

thanks for reply.
@zeshanb, it I's impossible because where is no GUI — It is Ubuntu Server w/o even monitor so i connect via ssh
@ncw, thanks you — it works.

Strange, I don't have that option using v1.25
The easiest option is to say N to auto config. That works on a remote server.

oot@readynas:~# rclone config
2015/11/19 10:58:04 Failed to load config file /root/.rclone.conf - using defaults: open /root/.rclone.conf: no such file or directory
No remotes found - make a new one
n) New remote
q) Quit config
n/q> n
name> amazon-cloud
What type of source is it?
Choose a number from below
 1) amazon cloud drive
 2) drive
 3) dropbox
 4) google cloud storage
 5) swift
 6) hubic
 7) local
 8) onedrive
 9) s3
type> 1
Amazon Application Client Id - leave blank normally.
client_id>
Amazon Application Client Secret - leave blank normally.
client_secret>
Remote config
If your browser doesn't open automatically go to the following link: http://<IP_ADDRESS>:53682/auth
Log in and authorize rclone for access
Waiting for code...

@diego-vieira The original question was about drive. I'm afraid that ACD doesn't have a non-auto config mode. If you are trying to set rclone up on a headless box then set it up locally and copy the config file.  See the first item in the FAQ for how to do that. http://rclone.org/faq/
Hope that helps.
Nick

@ncw sorry about that, that will do.
Thank you!

@diego-vieira – Which rclone build did you download to get it to work on the ReadyNAS? I have a Duo V1 but can't figure out which OS it runs on.


8K command line restriction when publish typescript from VisualStudio

I have a typescript project in Visual Studio that compiles and runs well from the IDE.
When I try to publish it in Azure, VS launches tsc and puts all file names to compile in one command line. I have about 130 .ts files. Having average file length about 85 (full path), my command line exceeds 8K an is being truncated so tsc receives incomplete file set and raises errors.
To check that the problem is in 8K, I created Subst drive and shorten all paths. Tsc compilation was OK during this test.
Steps:

Create Typescript Site
Add 100 any .ts files that have 100 characters in name length (full path)
Click Publish To Azure
Expected:
All typescript files compiled to JS and uploaded to Azure
Actual:
TSC compiler bails out with error different errors, depending on actual file names length. Most popular is "file not found" when you have dependencies between files.

We're looking into it, but as a workaround you can create a tsconfig.json with your project, or alternatively make a response file.

Can you share the project? msbuild should automatically create a response file and pass it to the compiler if the commandline is too long, wounder why this is not happening.

Actually I just verified it always creates a response file.. I wonder why that doesn't work as expected.

I created an huge project, but it doesn't exhibit the behavior described in the bug. Without a project that has the issue there is no good way to diagnose this.


Remove publishedhours default statistics provider

This fixes #1251

@lkiesow Should be rebased now, hopefully. :D

Looks good. Thanks for the adjustment. Merged.


treewide: add meta.mainProgram

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
23.11 Release Notes (or backporting 23.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.

Question: What is the benefit of adding meta.mainProgram, when pname is identical to it?

to suppress the warning from https://github.com/NixOS/nixpkgs/pull/246386

to suppress the warning from #246386

Thanks!


feat(applications-service-api): add representation table

closing this PR, have included changes with https://github.com/Planning-Inspectorate/applications-service/pull/781


[Outlook] (smart alerts) Update walkthrough

Docs Build status updates of commit be36b5a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/smart-alerts-onmessagesend-walkthrough.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d82eddb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/images/outlook-win-smart-alert.png
:white_check_mark:Succeeded
View

docs/outlook/smart-alerts-onmessagesend-walkthrough.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Line 144 ('Implement event handling' section): Consider changing /src/ to ./src/.

Docs Build status updates of commit a34dc71:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/images/outlook-win-smart-alert.png
:white_check_mark:Succeeded
View

docs/includes/outlook-loopback-exemption.md
:white_check_mark:Succeeded
View

docs/outlook/autolaunch.md
:white_check_mark:Succeeded
View

docs/outlook/smart-alerts-onmessagesend-walkthrough.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit dbbb10e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/images/outlook-win-smart-alert.png
:white_check_mark:Succeeded
View

docs/outlook/smart-alerts-onmessagesend-walkthrough.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 68eaeab:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/images/outlook-win-smart-alert.png
:white_check_mark:Succeeded
View

docs/outlook/autolaunch.md
:white_check_mark:Succeeded
View

docs/outlook/smart-alerts-onmessagesend-walkthrough.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Replace text_field with email_field

This small change replaces form.text_field :email, type: 'email' with form.email_field :email in all of the views used in the generators.

Thank you @dorianmariefr!


Passing --base option to the cray command  throws Failed to open stream: No such file or directory

Exception
 file_put_contents(/var/www/uot-web.test/mybase/routes/web.php): Failed to open stream: No such file or directory

  at vendor/jq/cray/src/Console/Contracts/GeneratorCommand.php:194
    190▕         $routeFile = $base. "/routes/web.php";
    191▕
    192▕         if (!file_exists($routeFile)) {
    193▕             file_put_contents($routeFile, <<<DATA
  ➜ 194▕ <?php
    195▕
    196▕
    197▕ DATA
    198▕             );

Expected Behaviour:
If routes/web.php does not exist, cray should either warn the user, or ask if the user wants to create the file or create the missing file and move forward.

Duplicate of #18


Can not install Autoware by source

Bug report
Required information:

Operating system and version:

<Ubuntu 16.04, ROS kinetic>

Autoware installation type:

Autoware version or commit hash

ROS distribution and version:

ROS installation type:

Package or library, if applicable:

Description of the bug
<Hi everyone,
After finish all the install procedure for Autoware,  in the last step when I start "./catkin_make_release", the terminal says bash: /.catkin_make_release : there is no such file. Could you help me to solve this problem? >
Steps to reproduce the bug

Expected behavior

Actual behavior

Screenshots

Additional information

Thanks for using Autoware and for your question. However the issue tracker is for posting confirmed bugs and feature requests.
We ask that you please ask questions at the ROS Answers website following our support guidelines: https://github.com/autowarefoundation/autoware/wiki/Support-guidelines#ros-answers. Please pay particular attention to the information we ask you to provide.


Using "setStyle" two times in a row causes inexplicable scrolling

Hey ;)
i upgraded from v6 to v7 and i noticed that there is an issue when using area.setStyle(0,1,"...") in a row with different ranges.
For example:
setStyle(0, 1, Arrays.asList("highlight")); setStyle(10000, 10001, Arrays.asList("highlight"));
Causes the following behavior:
After calling the method which includes the above code nothing special happen. The styles are changed like i expect. But after i begin typing the scrollingposition changes to position 0 (or 1) like set in the first line.
In v6 the scrollingposition did not change.
Maybe someone knows a workaround or something what could help me.

Could you provide a reproducible demo? I'm not fully understanding the issue.
This may have something to do with #390

Also, which milestone release are you using for 0.7?

Many thx for your replay. I forget to tell you that i use setStyle TWO TIMES in a row (i edited my post). The first setStyle is changing a range at the beginning of the document and the second one ist changing the style of a character in the mid of the document.
For example changing the -rtfx-background-color of the opening  tag if the caretposition is after an ending tag . The caretposition is still after the ending tag but the scrollposition jumps to the beginning tag. But it jumps not directly after changing the style  but only after i click behind another ending tag.
I will give you an examplecode asap (maybe in a few hours) ;)
At first i started with version 6.10 and it worked. Now i am using v7 Milestone 5.

Hi,
i was able to reproduce the issue. setStyle - or setStyleClass seems not to be the problem. I wrote a method which shall reset the styles of every character to default and this caused the jumps.  Hinweisbox: danger -->"
    );

    // here we insert the CodeArea into the VBox and setting the prefHeight
    richtext.getChildren().add(new VirtualizedScrollPane<>(ca));
    ca.setPrefHeight(800.0);

    // Now its going to be interesting...
    // Whenever the user clicks with the mouse it checks, if the caretPosition is after 1648
    // If true -> setStyleClass of caret 1647-1648 and 37-38 to "highlight"
    ca.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            // in the following line comes the issue
            // this line shall reset the whole text to default style
            ca.setStyleSpans(0, computeHighlighting(ca.getText())); // <-- ISSUE

            // after text is set to default i want to change some specific chars
            // this works fine, but if i click again somewhere the line above makes now a jump
            // to Position 37
            if(ca.getCaretPosition() == 1648)
            {
                ca.setStyleClass(37, 38, "highlight");
                ca.setStyleClass(ca.getCaretPosition()-1, ca.getCaretPosition(), "highlight");
            }
        }
    });
}

// This method is the probleme i guess.
// It shall reset every stylechanges i made before to the defined regular expressions
public StyleSpans<Collection<String>> computeHighlighting(String text) {
    Matcher matcher = PATTERN.matcher(text);
    int lastKwEnd = 0;
    StyleSpansBuilder<Collection<String>> spansBuilder = new StyleSpansBuilder<>();
    while (matcher.find()) {
        String styleClass = matcher.group("TAG") != null ? "tag" : null;
        assert styleClass != null;
        spansBuilder.add(Collections.emptyList(), matcher.start() - lastKwEnd);
        spansBuilder.add(Collections.singleton(styleClass), matcher.end() - matcher.start());
        lastKwEnd = matcher.end();
    }

    spansBuilder.add(Collections.emptyList(), text.length() - lastKwEnd);
    return spansBuilder.create();
}

`

I think your problem might be caused by using setOnMouseClicked. Technically, two handlers are running: the one you have defined and the default mouse behavior that you have not overridden. You can see an example of how to properly override it via the Override Behavior Demo.
Try changing that and see it if makes any difference.

Hi Jordan,
i tried the following:
InputMap<MouseEvent> testEvent = InputMap.consume(
    mousePressed()
);
// Now its going to be interesting...
// Whenever the user clicks with the mouse it checks, if the caretPosition is after 1648
// If true -> setStyleClass of caret 1647-1648 and 37-38 to "highlight"
EventHandler<MouseEvent> mouseClick = e -> {
    // in the following line comes the issue
    // this line shall reset the whole text to default style
    ca.setStyleSpans(0, computeHighlighting(ca.getText())); // <-- ISSUE
    // after text is set to default i want to change some specific chars
    // this works fine, but if i click again somewhere the line above makes now a jump
    // to Position 37
    if(ca.getCaretPosition() == 1648)
    {
        ca.setStyleClass(37, 38, "highlight");
        ca.setStyleClass(ca.getCaretPosition()-1, ca.getCaretPosition(), "highlight");
    }

};
Nodes.addInputMap(ca, testEvent);
ca.setOnMouseClicked(mouseClick);

I navigate to the position 1648 by using the Keyboard (cause i consumed the default MousePressed event) and then i clicked with the mouse so my EventHandler is doing its job but its the same result.
If i delete one of the (doesnt matter which one) ca.setStyleClass() lines the problem is gone but if both lines are activated the scrolljump is real.

I ran the following code and clicked the mouse in the area. The scroll jump was seen without the two setStyleClass calls, indicating that this issue is a duplicate of #390.  Hinweisbox: danger -->");

        // ignore any default behavior
        Nodes.addInputMap(ca, InputMap.consume(EventPattern.mousePressed()));

        ca.setOnMouseClicked((event) -> {
            // simulate correct user click
            ca.moveTo(1648);

            ca.setStyleSpans(0, computeHighlighting(ca.getText()));

            if(ca.getCaretPosition() == 1648) {
//                    ca.setStyleClass(37, 38, "highlight");
//                    ca.setStyleClass(ca.getCaretPosition()-1, ca.getCaretPosition(), "highlight");
                }
        });

        // simulate scroll to the bottom
        ca.showParagraphAtBottom(ca.getParagraphs().size() - 1);

        // now user needs to manually click in the area
    }

    public StyleSpans<Collection<String>> computeHighlighting(String text) {
        Matcher matcher = PATTERN.matcher(text);
        int lastKwEnd = 0;
        StyleSpansBuilder<Collection<String>> spansBuilder = new StyleSpansBuilder<>();
        while (matcher.find()) {
            String styleClass = matcher.group("TAG") != null ? "tag" : null;
            assert styleClass != null;
            spansBuilder.add(Collections.emptyList(), matcher.start() - lastKwEnd);
            spansBuilder.add(Collections.singleton(styleClass), matcher.end() - matcher.start());
            lastKwEnd = matcher.end();
        }

        spansBuilder.add(Collections.emptyList(), text.length() - lastKwEnd);
        return spansBuilder.create();
    }
}

Also, just to be clearer, the above code is what I mean by a reproducible demo. Yours doesn't quite fit it because I can't copy and paste into my IDE and immediately run it.
Please reopen if that wasn't the issue and I somehow misunderstood you.


feat: add caching for terragrunt

enable terragrunt provider caching, when inputs.cache-dependencies is set

Thanks!