internal/graphicsdriver: both OpenGL and DirectX graphics engines are not working on given machine

Ebitengine Version
760e6b9ebd228554bed191410ce47d8a93a329dd
Operating System

[X] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] Xbox
[ ] Web Browsers

Go Version (go version)
1.19.1
What steps will reproduce the problem?
One of my players with rather old computer is not able to run my games completely, either with DirectX or OpenGL.
When engine is set to "auto", the error is: glfwwin: the driver does not appear to support OpenGL which probably means that the engine selection falls from DirectX to OpenGL but that lib is also not supported. Engine set to "directx" produces: directx: DirectX 12 is not supported.
His dxdiag looks like so:

The player is claiming that he updated Windows, DirectX and all his drivers.
I have no clue why OpenGL is not working for him, but in terms of DirectX it's because he has the "feature levels" od dx12 capped at 10_1, where as far as I know ebitengine supports dx12 from 11_0.
I do understand that his computer is old, and who's using such hardware nowadays, it'd be hard to fix and all that. But the biggest problem is that my previous client written in C++ (using GL/glx.h) is working just fine, so that particular player is kinda furious because for him it was a pretty massive, game breaking downgrade.
What is the expected result?
I would like to tell that player that he's able to run my game.
What happens instead?
The games does not launch
Anything else you feel useful to add?
God knows how many people had this problem and didn't write to me but just give up.
This particular player is responsive and cooperative, so if any further tests are required I think I would be able to arrange it.

I'm not 100% sure but this might be related: https://www.intel.com/content/www/us/en/support/articles/000058790/graphics.html

Is this still an issue?


PR to close #29 missing can isotp wait tx done flag to trigger a timeout

Closes #29

@driftregion if test_tp_compliance.c is fine, then you may approve and merge this PR :v:

Thanks you for your contribution @muehlke

You're welcome, keep up the good work 👍


[STA-757] Add Reverse Charge Singapore Y23

Fix existing reverse charge codes too

Description

Add 2023 Reverse Charge tax rates for Singapore
Release Notes

Keep inline with Xero accounting application
https://xero.atlassian.net/browse/STA-757
Screenshots (if appropriate):
Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[X] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

I think this is what you're looking for @Rett Behrens
@.***> ?
https://xero.slack.com/archives/D013N7ZLDM3/p1651782023359719
On Wed, 15 Feb 2023 at 09:37, Rett Behrens @.***> wrote:

@.**** commented on this pull request.
In xero_accounting.yaml
https://github.com/XeroAPI/Xero-OpenAPI/pull/541#discussion_r1106344310:

@@ -27994,10 +27994,10 @@ components:
- IGDSINPUT3
- SROVR
- TOURISTREFUND

 - TXRCN33INPUT

 - TXRCREINPUT

 - TXRCESSINPUT

 - TXRCTSINPUT

@dev-welli https://github.com/dev-welli do you have more context from
when these were added 9 months ago?
—
Reply to this email directly, view it on GitHub
https://github.com/XeroAPI/Xero-OpenAPI/pull/541#pullrequestreview-1298378508,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGFXJLNE2SQ3HTAACO5SZ63WXPUHVANCNFSM6AAAAAAUPUYPGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Welli Abdullah
Senior API Technical Specialist
19-23 Taranaki St, Wellington, 6011
www.xero.com
[image: Facebook] https://www.facebook.com/xero[image: Twitter]
https://twitter.com/Xero[image: LinkedIn]
https://www.linkedin.com/company/xero[image: Instagram]
https://www.instagram.com/xero/?hl=en[image: YouTube]
https://www.youtube.com/user/XeroOnlineAccounting
https://www.xero.com/nz/

@RettBehrens this is now ready for deployment. The changes to XeroWeb will be deployed on Thursday the 4th of May and the XeroDB changes the day after.


Task 3: Implementation with Capability Lists for Domains

Task 3: Implementation with Capability Lists for Domains
Rubric

Item
Description
PointsPossible

Dynamic Generation
N and M are generated in range [3,7]
5

Random Capability List
Access list filled in using Random() logic.
5

Capability List Size
Size of list is N
5

Thread Access
Threads randomly try to access different objects.
5

Arbitrator
A function exists that handles thread's actions/requests.
5

Output: List
Capability list is displayed to user.
5

Output: Access
Output is given when thread tries to access object or switch domain, and whether it was successful.
5

Requests
Each thread generates at least 5 requests.
5

Semaphore/Lock
Locks or semaphores are used to access resources
5

Total

45

Directions
Click to Toggle
Instead of using an access list, as you did in Task 2 (#18) , you will be using capability lists for domains, and the arbitration function will be using such lists to determine legality of access and domain switches.
All other specifications for this task are the same as in both Task 1 (#17) and Task 2 (#18).

A capability list is domain based and should be of size N (number of domains).

Each entry in the list corresponds to the objects that the domain has access to.
This can be more general than the previous tasks you have the option to either

only specify whether a domain has access to the object or not (allowing it to perform all operations)
continue allowing specific R, W, and R/W rights.

In each run, your program should generate at least 5 random requests from each thread.
Note that semaphores/locks must be used to access objects properly.

Again, protect each object with a semaphore, and if a thread is granted access to an object, yield [3,7]times before releasing it.

At the end of the request, yield again to let another user in.

See Task 4 for how to run this program in your chosen implementation.

Sample Output
Click to Toggle
student@nachos: threads:$./nachos -S 3 -rs 1234
Access control scheme: Capability List
Domain Count: 7
Object Count: 3
D1 --> F1:R/W, F2:W, D2:allow, D3:allow, D4:allow, D6:allow
D2 --> F1:R/W, F2:W, F3:R/W, D3:allow, D7:allow
D3 --> F1:R/W, D7:allow
D4 --> F1:R, F2:W, F3:R/W, D2:allow, D3:allow, D7:allow
D5 --> F3:W, D2:allow, D4:allow
D6 --> F1:W, F3:W, D1:allow, D2:allow, D4:allow, D5:allow, D7:allow
D7 --> F1:R/W, F2:W, F3:R, D2:allow, D3:allow

[Thread: 0(D1)] Attemping to switch from D1 to D5.
[Thread: 0(D1)] Operation failed, permission denied
[Thread: 1(D2)] Attemping to switch from D2 to D6.
[Thread: 1(D2)] Operation failed, permission denied
[Thread: 2(D3)] Attemping to write resource: F1
[Thread: 2(D3)] Writing 'Orange' to resource F1
[Thread: 2(D3)] Yielding 6 times
[Thread: 3(D4)] Attemping to switch from D4 to D3.
[Thread: 3(D3)] Switched to D3
[Thread: 3(D3)] Yielding 7 times
[Thread: 4(D5)] Attemping to write resource: F3
[Thread: 4(D5)] Writing 'Green' to resource F3
[Thread: 4(D5)] Yielding 6 times
[Thread: 0(D1)] Attemping to write resource: F1
[Thread: 1(D2)] Attemping to read resource: F1
[Thread: 5(D6)] Attemping to switch from D6 to D3.
[Thread: 5(D6)] Operation failed, permission denied
[Thread: 6(D7)] Attemping to write resource: F2
[Thread: 6(D7)] Writing 'Pink' to resource F2
[Thread: 6(D7)] Yielding 7 times
[Thread: 5(D6)] Attemping to switch from D6 to D1.
[Thread: 5(D1)] Switched to D1
[Thread: 5(D1)] Yielding 4 times
[Thread: 4(D5)] Operation Complete.
[Thread: 5(D1)] Operation Complete.
[Thread: 2(D3)] Operation Complete.
[Thread: 4(D5)] Attemping to switch from D5 to D1.
[Thread: 4(D5)] Operation failed, permission denied
[Thread: 0(D1)] Writing 'Blue' to resource F1
[Thread: 0(D1)] Yielding 6 times
[Thread: 2(D3)] Attemping to switch from D3 to D4.
[Thread: 2(D3)] Operation failed, permission denied
[Thread: 3(D3)] Operation Complete.
[Thread: 4(D5)] Attemping to switch from D5 to D3.
[Thread: 4(D5)] Operation failed, permission denied
[Thread: 5(D1)] Attemping to switch from D1 to D6.
[Thread: 5(D6)] Switched to D6
[Thread: 5(D6)] Yielding 4 times
[Thread: 2(D3)] Attemping to switch from D3 to D6.
[Thread: 2(D3)] Operation failed, permission denied
[Thread: 3(D3)] Attemping to switch from D3 to D6.
[Thread: 3(D3)] Operation failed, permission denied
[Thread: 4(D5)] Attemping to switch from D5 to D1.
[Thread: 4(D5)] Operation failed, permission denied
[Thread: 2(D3)] Attemping to switch from D3 to D1.
[Thread: 2(D3)] Operation failed, permission denied
[Thread: 3(D3)] Attemping to switch from D3 to D4.
[Thread: 3(D3)] Operation failed, permission denied
[Thread: 4(D5)] Attemping to switch from D5 to D4.
[Thread: 2(D3)] Attemping to switch from D3 to D6.
[Thread: 2(D3)] Operation failed, permission denied
[Thread: 3(D3)] Attemping to write resource: F3
[Thread: 3(D3)] Operation failed, permission denied
[Thread: 4(D4)] Switched to D4
[Thread: 4(D4)] Yielding 3 times
[Thread: 6(D7)] Operation Complete.
[Thread: 2(D3)] Attemping to switch from D3 to D5.
[Thread: 2(D3)] Operation failed, permission denied
[Thread: 3(D3)] Attemping to switch from D3 to D2.
[Thread: 3(D3)] Operation failed, permission denied
[Thread: 5(D6)] Operation Complete.
[Thread: 6(D7)] Attemping to read resource: F1
[Thread: 3(D3)] Attemping to switch from D3 to D1.
[Thread: 3(D3)] Operation failed, permission denied
[Thread: 5(D6)] Attemping to switch from D6 to D3.
[Thread: 5(D6)] Operation failed, permission denied
[Thread: 4(D4)] Operation Complete.
[Thread: 5(D6)] Attemping to switch from D6 to D4.
[Thread: 5(D4)] Switched to D4
[Thread: 5(D4)] Yielding 3 times
[Thread: 0(D1)] Operation Complete.
[Thread: 4(D4)] Attemping to read resource: F2
[Thread: 4(D4)] Operation failed, permission denied
[Thread: 1(D2)] Resource F1 contains Blue
[Thread: 1(D2)] Yielding 7 times
[Thread: 0(D1)] Attemping to switch from D1 to D7.
[Thread: 0(D1)] Operation failed, permission denied
[Thread: 0(D1)] Attemping to switch from D1 to D3.
[Thread: 0(D3)] Switched to D3
[Thread: 0(D3)] Yielding 4 times
[Thread: 5(D4)] Operation Complete.
[Thread: 5(D4)] Attemping to switch from D4 to D7.
[Thread: 5(D7)] Switched to D7
[Thread: 5(D7)] Yielding 6 times
[Thread: 0(D3)] Operation Complete.
[Thread: 0(D3)] Attemping to switch from D3 to D6.
[Thread: 0(D3)] Operation failed, permission denied
[Thread: 1(D2)] Operation Complete.
[Thread: 0(D3)] Attemping to switch from D3 to D1.
[Thread: 0(D3)] Operation failed, permission denied
[Thread: 6(D7)] Resource F1 contains Blue
[Thread: 6(D7)] Yielding 4 times
[Thread: 1(D2)] Attemping to switch from D2 to D4.
[Thread: 1(D2)] Operation failed, permission denied
[Thread: 1(D2)] Attemping to switch from D2 to D3.
[Thread: 1(D3)] Switched to D3
[Thread: 1(D3)] Yielding 5 times
[Thread: 5(D7)] Operation Complete.
[Thread: 6(D7)] Operation Complete.
[Thread: 6(D7)] Attemping to switch from D7 to D1.
[Thread: 6(D7)] Operation failed, permission denied
[Thread: 6(D7)] Attemping to switch from D7 to D6.
[Thread: 6(D7)] Operation failed, permission denied
[Thread: 6(D7)] Attemping to switch from D7 to D6.
[Thread: 6(D7)] Operation failed, permission denied
[Thread: 1(D3)] Operation Complete.
[Thread: 1(D3)] Attemping to switch from D3 to D6.
[Thread: 1(D3)] Operation failed, permission denied
[Thread: 6(D7)] Attemping to read resource: F3
[Thread: 6(D7)] Resource F3 contains Green
[Thread: 6(D7)] Yielding 3 times
[Thread: 1(D3)] Attemping to read resource: F1
[Thread: 1(D3)] Resource F1 contains Blue
[Thread: 1(D3)] Yielding 4 times
[Thread: 6(D7)] Operation Complete.
[Thread: 1(D3)] Operation Complete.
No threads ready or runnable, and no pending interrupts.
Assuming the program completed.
Machine halting!

Ticks: total 2022, idle 12, system 2010, user 0
Disk I/O: reads 0, writes 0
Console I/O: reads 0, writes 0
Paging: faults 0
Network I/O: packets received 0, sent 0

Done


Bump dask-saturn

This'll close #CU-cyq6mm, #CU-cykj8m, #CU-cyq830, but isn't ready yet. We need the new conda recipe to be built first.

Task linked: CU-cyq6mm Starting a Dask Cluster using dask_saturn resets nprocs and nthreads to 1 on 2020.07.08 (is this still an issue for 2020.09.25 and 2020.08.28?)

Task linked: CU-cykj8m [dask-saturn] dask-saturn should only send explicity set parameters. Not defaults.

Task linked: CU-cyq830 cannot start SaturnCluster on 2020.08.28 with default arguments


replace listeners on an object that is replaced

Related Issues or Discussions
Relates to #449
Summary
This change allows for listeners to be resubscribed to objects that are replaced.
These changes allow the following code to not lose the subscription to the object that previously would lose the subscription:
const unsubscribe = subscribe(state.myObject, () => {
  // callback to run whenever object changes
  if(needToReplace) {
    state.myObject = newObjectState
  }
})

Check List

[x] yarn run prettier for formatting code and docs

Thanks for the suggestion.
However, I think this is by design. We want the implementation to be minimal and I don't think this change works for some edge cases.
For example, we still want to use the old object.


System.Numerics conversions

PR Details
Adds implicit conversions between System.Numerics and Stride.Maths vectors
Some casts use Unsafe.As for better performance, haven't done any tests though.
Motivation and Context
A lot nugets use System.Numerics, it would be nice to be able to cast implicitely between Sys Nums and Stride Maths
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks, not sure if you're done but you might want to cover matrix as well. Will have to verify whether they are row major or column major though.

Of course, there are other conversions i will add too that can be useful

Can you also do the conversions the other way from Stride vectors into System.Numerics?

Didn't think of it but will do, shouldn't be much of a trouble!

Are you sure that stride and dotnet's matrix have the same memory layout ?


Updating kpt pkg get to use git-or-oci reference

Draft PR to preview examples of using ref := location.ParseReference(arg) and src := open.FileSystem(ref) calls in kpt CLI command implementations

PR obsoleted by 3-part change:
https://github.com/GoogleContainerTools/kpt/pull/2760
https://github.com/GoogleContainerTools/kpt/pull/2762
https://github.com/GoogleContainerTools/kpt/pull/2763


Add meta-phosh to required-projects

This allow the jobs to be triggered from other layer branch pushes

regate

regate

regate


Direct reference Asset delegates

Untested--submitting for discussion.
Not sure if this is too invasive a change. The idea here is to avoid AssetManager having to do the map look-up every time we access our Texture (or whatever) property when using delegates for asset properties.
By the way...any idea my ktx forked project in IntelliJ might no longer recognize junit and ockito libraries? I haven't opened the ktx project in a few months, but it was fine before.

Sorry, wrong branch.


V2 : Transforms are not applied in order

Expected Behavior
Transforms (scale, rotate, translate, etc) are applied in order, resulting in expected shapes. The following code should produce three shapes, like this.

const { color, geometry, primitives, transforms } = require('@jscad/modeling')

const main = (params) => {
  let p0 = primitives.rectangle({center: [60.0000, -20.0000], size: [119.8, 39.8]})
  color.color([1, 0, 0, 1], p0)

  let p1 = primitives.roundedRectangle({center: [30.0000, -20.0000], size: [40, 20], roundRadius: 5})
  color.color([0, 1, 0, 1], p0)

  let p2 = primitives.roundedRectangle({center: [20.0000, -10.0000], size: [40, 20], roundRadius: 5})
  p2 = transforms.rotateZ(0.5235987755982988, p2)
  p2 = transforms.translate([70, -21, 0], p2)
  color.color([0, 0, 1, 1], p0)

  return [p0, p1, p2]
}

module.exports = { main }

Actual Behavior
The transforms are accumulated, rather then being applied to the shape. This results in an unexpected shape.

Steps to Reproduce the Problem

Drap and drop the given code into the web version of V2

Specifications

Version: V2
Platform: ALL
Environment: ALL

This is a BIG step backwards. Basically, users cannot predict the outcome of transforms.
Solution #1: Removed the lazy transforms in geom2/geom3/path2
Solution #2: Always apply transforms (is there any advantage to keeping the matrix?)

Additional feedback... after changing the SVG deserializer to apply transforms as per SVG standards, the shapes are fine.

@z3dev I think this is our mistake in the order in which the transforms are applied, I need to double check a few things, but I might have a fix

@kaosat-dev this may be just a learning issue, but there will be some fairly large differences between V1 and V2.

@z3dev I do not think it is a learning issue to be honest, you are completely right to point out that this is not the 'expected' result :)

hmm wait no , now I am not 100% sure hmm

it's just different from V1. it's not wrong but different.
i'm curious. i'm sure transforms are part of the new V2 examplese. did you have any issues determining positions / rotations?

Here's a nice tutorial about SVG transformations. I think V2 is following this pretty much.

Just a short notice:
packages/modeling/src/geometry/geom2/transform.js @ line 18, switching the order of operations does most of the trick.
newgeometry.transforms = mat4.multiply(matrix, geometry.transforms)
However, I am just trying to read up into the project so I have no idea what other implications this might have.
So, enjoy this suggestion with care and healty doubt.

Agreed that this is backwards; I was about to file a bug myself.
The reason it feels backwards is because the order of matrix multiplications is the reverse of the function applications. If functions f, g, and h are transforms that apply matrices F, G, and H, then the syntax f(g(h(geom))) corresponds in linear-algebra-land to H*G*F*geom in the current implementation. People expect with the given syntax that h will be applied "first", then g, then f, because that's the convention in JS and most popular programming languages.

Regarding the SVG documentation, the syntax there is different enough from JS that it may make sense in that context, but not in the JSCAD context. If JS's function call syntax looked like geom |> f |> g |> h, then I think the comparison to the SVG syntax would be more apt. But for better or worse, in JS, execution goes right to left, not left to right as in SVG.

In fact, thinking about it further, this is definitely wrong because it violates encapsulation.
Let's say we have a function widget() that returns a geom3 with some transforms applied. Let's say it's a rotation of 90 degrees about the X axis (matrix R) followed by a translation (T), so the resulting geometry is T*R*geom.
As a caller of this function, I should be able to take the output of widget() and transform it in ways that don't depend on its implementation (i.e., encapsulation). However, if I now try to translate it 10 units up along the Z axis using a matrix U, the resulting geometry will be  T*R*U*geom.
The translation in the caller happens before the rotation defined in widget(), so rather than moving the shape 10 units up, it'll move it 10 units along the Y axis. Likewise, if widget() had a matrix that scaled everything by 5x, then it'd move 50 units. You can't anticipate that unless you look at the code of widget(), and widget() can't be safely changed to return a different representation of the same geometry, because that could break callers. In other words, functions don't encapsulate their implementations.
Definitely should be changed.

This should be fixed with the merge of #644 so closing this issue.


Some testing/configuration related refactorings

Trying to make the tests more reliable, and easier to work with.

This is awesome, thanks


Fix for Query monitor thread holding on & delaying closing of iModel when query is initialized

itwinjs-core: https://github.com/iTwin/itwinjs-core/pull/6815

/azp run imodel-native

/azp run imodel-native

/azp run imodel-native

/azp run imodel-native


Add video walkthrough guides to documentation/youtube channel

Story
As a user, and a hackathon participant, I want lots of onboarding material that helps me get off the ground with IF.
Rationale
People have reported that writing impls can be tricky, and we also anticipate lots of people trying to create models in the upcoming hackathon. If we can make the onboarding as smooth as possible, we will get more, higher quality contributions to the project from the community.
Implementation details

Priority

Scope

Size

What does "done" look like?

Does this require updaes to documentation or other materials??

What testing is required?

Is this a known/expected update?

closing as complete


difference between cross and same domain

I want to know what the difference is. Is it just a difference in scale? What impact will it have from an intuitive perspective? I don't seem to find this element in the paper.

Hi, thank you for your question.
This brief discussion can be found in the final paragraph of Section 4.2, under "Noise incorporation."
They are mainly different in the composition space of noise, which is an empirical choice.


Test aidgent

@Aidgent write "let's build together" to readme.md

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/1328dda57afaf1063942aa6130eae10d832.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.


ISPN-12366 infinispan-commons is not a valid Multi-Release jar

Resolves
https://issues.redhat.com/browse/ISPN-12366

Yeah, I have the same in https://github.com/infinispan/infinispan/pull/8659/commits/9ca724970108ac50c5731473325c9bc36bb646b6#diff-546390a73c23fef04b49a22d2f7c4740

@tristantarrant Cool, what a coincidence. Might have saved me half an hour debugging :-) Might as well merge this one to get proper tracking and get testing if your PR is still in the works.

Merged to master and 11.0.x

@tristantarrant Great, thanks!


Support @StreamListener with PollableChannels

Based on the concerns raised on https://github.com/spring-cloud/spring-cloud-stream/pull/460#issuecomment-205041080 and discussing further with @garyrussell, it may not make sense to support this, along with the entire line of PollableChannel support for binding. The motivations are: a) risk of memory overuse and/or message loss; b) if the users need to buffer outgoing messages they can do it themselves inside the application; c) the main motivation around PollableChannel support is to allow applications to control the pace at which they consumer messages, we can do it much better with reactive support.

Closed as we decided that this is a feature we do not want to support.

I am not sure this is the right place to bring up this issue . I was referring to the Spring Cloud Stream documentation http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_programming_model  and it says that it supports PollableChannel . You might want to correct the documentation.


createPath might be doing to much

We should check if that path exists, as we shouldn't create this "part" of the folder imho.
As in all the folders in the name variable is okay to create, but the folders in the paths could be system folders.
A "constructed" case would be a root user running a program with this, might end up creating /usr/local/share, even if /usr/share is the only path there.
I understand that this would create a problem with paths like ~/.local/state as that wouldn't be created, and I could see a reason for that to be created.
A solution to this might be a few functions to create the XDG_BASE places, and let createPath only handle the relative part.
func main() {
  // For homes that we need to create files in
  xdg.CreateCacheHome()
  xdg.CreateConfigHome()
}

https://github.com/adrg/xdg/blob/aad56aee3b6d35da74f30725a6c356560a61f1cd/utils.go#L63-L71

I don't really understand your point here. Each path in the paths slice is checked in turn for existence. And the paths are sorted by their priority (home directory paths first).
If we take the xdg.DataFile function as an example. Let's say these are the searched paths:
[~/.local/share, /usr/local/share, /usr/share] (composed by XDG_DATA_HOME + XDG_DATA_DIRS)
and I want to create myapp/app.data.
In that case, createPath would first look if ~/.local/share/myapp exists. If not, it would create it and stop.
If the directories cannot be created, the next path in the paths slice is attempted and so on until it succeeds or there are no more paths.
The files should always be written in the order of the paths, even though not all of them exist. If the first one in the slice does not exist, it should be created. If that succeeds, then that's the path at which the data file should be written.

I don't really understand your point here. Each path in the paths slice is checked in turn for existence. And the paths are sorted by their priority (home directory paths first).
If we take the xdg.DataFile function as an example. Let's say these are the searched paths:
[~/.local/share, /usr/local/share, /usr/share] (composed by XDG_DATA_HOME + XDG_DATA_DIRS)
and I want to create myapp/app.data.
In that case, createPath would first look if ~/.local/share/myapp exists. If not, it would create it and stop.
If the directories cannot be created, the next path in the paths slice is attempted and so on until it succeeds or there are no more paths.
The files should always be written in the order of the paths, even though not all of them exist. If the first one in the slice does not exist, it should be created. If that succeeds, then that's the path at which the data file should be written.

@KalleDK Can this issue be closed?
To summarize:
createPath is used by 	xdg.DataFile, xdg.ConfigFile, xdg.CacheFile, xdg.RuntimeFile and xdg.StateFile.
For all of them, paths are created relative to XDG_DATA_HOME, XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_RUNTIME_DIR and XDG_STATE_HOME. Defaults are used for variables which are not defined or are empty.
For xdg.DataFile and xdg.ConfigFile, in addition to XDG_DATA_HOME and XDG_CONFIG_HOME, XDG_DATA_DIRS and XDG_CONFIG_DIRS are used as fallbacks. They are used only if paths cannot be created relative to XDG_DATA_HOME and XDG_CONFIG_HOME. So that should never happen, as users should always be able to create directories inside their home directory. However, if that happens for any reason, path creation is attempted relative to the paths defined by XDG_DATA_DIRS/XDG_CONFIG_DIRS, in the order they are defined in the variable by the user/system (or in the order of the defaults if it is not defined). Realistically, fallbacks are never used.

@KalleDK Can this issue be closed?
To summarize:
createPath is used by 	xdg.DataFile, xdg.ConfigFile, xdg.CacheFile, xdg.RuntimeFile and xdg.StateFile.
For all of them, paths are created relative to XDG_DATA_HOME, XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_RUNTIME_DIR and XDG_STATE_HOME. Defaults are used for variables which are not defined or are empty.
For xdg.DataFile and xdg.ConfigFile, in addition to XDG_DATA_HOME and XDG_CONFIG_HOME, XDG_DATA_DIRS and XDG_CONFIG_DIRS are used as fallbacks. They are used only if paths cannot be created relative to XDG_DATA_HOME and XDG_CONFIG_HOME. So that should never happen, as users should always be able to create directories inside their home directory. However, if that happens for any reason, path creation is attempted relative to the paths defined by XDG_DATA_DIRS/XDG_CONFIG_DIRS, in the order they are defined in the variable by the user/system (or in the order of the defaults if it is not defined). Realistically, fallbacks are never used.

Closing this issue. Please re-open if I missed anything.

Closing this issue. Please re-open if I missed anything.


Enable imagemagick

Hey, I'm using nix-doom-emacs on commit 6c47eaa13d6f825b8a34df065f0e8260da0d3a1b and I'm trying to display an image, but I get a "No images to display inline" error. I think the problem is that emacs-doom doesn't have imagemagick support, anyone knows how I could enable it?
My home-manager.nix looks like this:
let
  doom-emacs = pkgs.callPackage (builtins.fetchTarball {
    url =
      "https://github.com/nix-community/nix-doom-emacs/archive/6c47eaa13d6f825b8a34df065f0e8260da0d3a1b.zip";
  }) {
    doomPrivateDir = ./doom.d;
  };
in {
    [...]
    programs.emacs = {
      enable = true;
      package = doom-emacs;
    };
  };
}

Works here on nix-doom-emacs rev 17673891a41c747d485b9407cb3b50b3156395ee. Read pinned issues, this project is slowly but surely going out of date until someone steps up to fix the eldritch horrors behind it.


Update to Upstream v0.14.0

/test unit

/lgtm
/approve
/override ci/prow/verify-commits
/override ci/prow/verify-commits-shared
(these never pass on rebase PRs)


Update from 0.5.1 to 0.6.2 failed

Describe the bug
I loaded the Debian packages for 0.6.2 and tried to install tedge, tedge-agent and tedge-mapper via dpkg.
Running dpkg yields an error if I try to install the mapper:

pi@raspberrypi:~/tedge/v062 $ sudo dpkg -i tedge_mapper_0.6.2_armhf.deb
(Lese Datenbank ... 58881 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von tedge_mapper_0.6.2_armhf.deb ...
Entpacken von tedge_mapper (0.6.2) über (0.6.2) ...
tedge_mapper (0.6.2) wird eingerichtet ...
2022-04-20T14:28:28.337018038Z  INFO flockfile::unix: Lockfile created "/run/lock/tedge-mapper-c8y.lock"
2022-04-20T14:28:28.337116371Z  INFO tedge_mapper::c8y::mapper: Initialize tedge mapper c8y
Error: Creating the file failed: "/etc/tedge/operations/c8y/c8y_SoftwareUpdate".
dpkg: Fehler beim Bearbeiten des Paketes tedge_mapper (--install):
»installiertes tedge_mapper-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
tedge_mapper

Looking at the post-install script I can see that tedge-mapper should be part of the tedge group, but it wasn't for me.

pi@raspberrypi:~/tedge/v062 $ groups tedge-mapper
tedge-mapper : tedge-mapper

After doing a

pi@raspberrypi:~/tedge/v062 $ sudo usermod -a -G tedge tedge-mapper

it still didn't work so I checked the operations directory and it looks like it belongs to tedge:

pi@raspberrypi:~/tedge/v062 $ ls -la /etc/tedge/
insgesamt 40
drwxr-xr-x   9 tedge       tedge       4096 Feb  9 13:15 .
drwxr-xr-x 102 root        root        4096 Apr 20 14:37 ..
drwxr-xr--   2 tedge-agent tedge-agent 4096 Jan 28 17:13 .agent
drwxr-xr-x   3 root        root        4096 Jan 28 16:31 contrib
drwxr-xr-x   2 mosquitto   mosquitto   4096 Feb  9 09:31 device-certs
drwxr-xr-x   2 tedge       tedge       4096 Feb 16 10:19 mosquitto-conf
drwxr-xr-x   4 tedge       tedge       4096 Jan 28 16:31 operations
drwxr-xr-x   2 tedge       tedge       4096 Jan 28 16:31 plugins
drwxr-xr-x   2 root        root        4096 Jan 28 16:37 sm-plugins
-rw-r--r--   1 tedge       tedge        248 Jan 28 17:13 tedge.toml

Changing the owner did resolve the problem for me:

sudo chown -R tedge-mapper:tedge-mapper /etc/tedge/operations/

To Reproduce
I'm not entirely sure what caused this, but I suspect that the owner of the directory changed over the versions (or that the additional group membership was added later on). So installing an old version and then following the upgrade scenario described here  should yield the error.
Expected behavior
Thin-edge.io should be able to update (following the instructions) via dpkg without any problems
Environment:

Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
thin-edge.io version 0.6.2
raspbian 10.11

@anonymosh The fix for this issue is in progress.
As a workaround, please change the ownership of the files present in /etc/tedge/operations/c8y/ directory.
sudo chown tedge-mapper:tedge-mapper /etc/tedge/operations/c8y/*
Then try upgrading to 0.6.2.

[ ] The maintainer script of debian package should call upgrade_tedge_0.6.sh script in preinst if it's called for upgrading.
[ ] Write about this script in the release note of 0.6.3 and 0.7.0.

@anonymosh We have fixed this issue. Could you please check the fix upgrading from 0.6.2 to 0.6.4?.

Since we fixed the issue, and no new comment for more than two weeks, I would like to close this issue.


Segmentation fault when launching gnome-boxes

Issue description
When trying to launch gnome-boxes from the launcher nothing happens. However launching from the command line gives the error saying a seg fault has occurred.
Steps to reproduce
Install gnome3.gnome-boxes
Run it from the commandline or launcher
Technical details

system: "x86_64-linux"
host os: Linux 4.14.88, NixOS, 19.03pre162671.44b02b52ea6 (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.1.3
channels(root): "nixos-19.03pre162671.44b02b52ea6"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I'm unable to reproduce this on b0ccd8be8e4. Ran a nix-diff and got these changes:
    - freerdp-2.0.0-rc3
    - libvirt-4.7.0
    - qemu-3.0.0
    - webkitgtk-2.22.4
    + freerdp-2.0.0-rc4
    + libvirt-4.10.0
    + qemu-3.1.0
    + webkitgtk-2.22.5

So one of these probably fixed the issue.

Ah sweet thanks, unstable's a week behind at the moment and that commit is 4 days old so hopefully when it updates I'll get the fix! I'd test it by compiling nixpkgs but this machine only has 2gb of ram so it'd take way to long.
Should I close this and just wait until I can test/the fix comes? Or leave it open until then? I'm not quite sure the etiquette.

b0ccd8b is cached, it failed a test randomly (the installer tests are being a pain at moment :(), but it's safe to use.
In general looking at how many builds have failed/completed and how many tests are sucessful can give you a pretty good idea if a given commit is cached and usable. Then you do this:
cd path/to/nixpkgs/
git checkout <commit that looks>
nixos-rebuild boot/switch -I nixpkgs=.

This is a bit clunky, but at least workable if the channels are being pain (eg. due to random test failures).

It's fine leaving it open until you've confirmed things work.

Hey all good now, looks like I got the update. Thanks!


fix docs archiving process

Codecov Report

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

@@           Coverage Diff           @@
##           master     #233   +/-   ##
=======================================
  Coverage   83.87%   83.87%
=======================================
  Files          19       19
  Lines        2208     2208
=======================================
  Hits         1852     1852
  Misses        356      356

Continue to review full report at Codecov.

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


Flat Lit Toon Lite is not affected by Point Light

(The scarf uses Flat Lit Toon, image is taken with a very low intensity Directional Light and a normal intensity Point Light)
Materials on Flat Lit Toon set to Fade will not be affected by Point Light as well-

Furthermore, on high-intensity Point Lights, a terrifying afterimage will appear on the center of the screen

I've been having a lot of similar issues lately, i've witnessed the after image, and light issues... I've tried modifying a lot of stuff to make the point light to illuminate it, which i did manage to accomplish successfully once, but it broke the transparency.  Been fighting with this shader for 2 days  at least, as this has been plaguing all my avatars.

A friend of mine is using this and some people have tried to kick him. We believe it's cause it hides nameplates sometimes causing people to think he's going around crashing people.

I've got the afterimage issue (or a similar issue) with my model when I was in the boats on the JP Fireworks world.

I think the real bug here is the afterimage because from what I've heard, when it shows for you it also shows on the screen for everybody. A good place to test this effect is to go to Avatar testing and walk down the stairs into the pond. Some other worlds with pretty skyboxes will have this effect too like the OP shows.
So after bashing my head with this issue for a week I managed to get a version of the shader that does not have the afterimage. I probably disabled too much code but I have narrowed it down to one of the following things:

the (I think) mistaken include #include "FlatLitToonCore.cginc" instead of #include "FlatLitToonCoreLite.cginc" during the second pass that I think pulls in the non-lite version.
some bug during the ShadowCaster pass
some bug related to UNITY_APPLY_FOG.

My money is actually on number 1 but I haven't tested just that yet. I kind of "fixed" that by mistake when trying to rename the file.
Anyway you can find a patch here and apply it yourself for testing (I made a new file named "Fixed". If you want you can delete the word Fixed everywhere in the patch and just edit the Lite shader). I might put this as a proper pull request but I feel like I deleted too much code so I want to figure out first what actually needs to go to fix the issue.
https://gist.github.com/lyuma/c9cc4570300db0205c9538284d636879

This issue is fixed in version 0.25.


There is no x264.so after ffmpeg x264 cross compilation

./ffmpeg-android-maker.sh -all-gpl
No error is reported, but the so file of x264 cannot be found

There shouldn't be any x264.so, because all external libraries are built as static libs (you can find them in builddirectory). They are embedded into FFmpeg's shared libraries.

Thank you very much

You're welcome


ADD SUPPORT FOR FLEUNCY BUILDER ASAP

Describe the bug
A clear and concise description of what the bug is.
Browser

[ ] firefox
[❤🩹 ] chrome

version:
rosettastone product

[ ❤🩹] Foundations
[ 🤌] Fluency builder

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.

Wrini Akhoya kifach lah yshal 3liik


Fixed xaff different length array bug in JATS parser

Codecov Report
Base: 85.52% // Head: 85.70% // Increases project coverage by +0.17% :tada:

Coverage data is based on head (82975b2) compared to base (bc7c6bf).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   85.52%   85.70%   +0.17%
==========================================
  Files          18       17       -1
  Lines        1748     1749       +1
==========================================
+ Hits         1495     1499       +4
+ Misses        253      250       -3

Impacted Files
Coverage Δ

tests/test_jats.py
93.93% <ø> (ø)

adsingestp/parsers/jats.py
87.41% <100.00%> (+0.61%)
:arrow_up:

adsingestp/__init__.py

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Testing Savage's commit status feature

DO NOT MERGE!

(I'm running a test)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: 21bbdfc3a54468e7beec93c2a1c60e548c6d9d10
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/59828085
(Please note that this is a fully automated comment.)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: 21bbdfc3a54468e7beec93c2a1c60e548c6d9d10
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/59828085
(Please note that this is a fully automated comment.)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: a220d3fe22dda532481f7b3224f26d5c94cb532d
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/59831671
(Please note that this is a fully automated comment.)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit:<PHONE_NUMBER>2ac2f97916fbd8e7dca484cf7f4514
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/59834707
(Please note that this is a fully automated comment.)

Tests passed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: CONFIRMED
Commit: d39fdaf5ed3ac0a1b98be1e44e4adf1702b4da69
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/59837327
(Please note that this is a fully automated comment.)


[WIP] renovate current pipeline to 3-envs pipeline and some fixes

TODO

[x] define 3-envs.yml and fix 2-envs.yml
[x] testing 3-envs.yml and 2-envs.yml
[ ] pave README (documenting both 2-envs and 3-envs)

Changes
I've renovated the previous pipeline on dev/rc/master branching model into gitlab flow with 3 environment branches(master, pre-production, production) which followed 2-envs example in #2.
Note: master branch is the only branch which has different branch name from environment one to which it is deployed. see "Environment branches with GitLab flow" in https://about.gitlab.com/2014/09/29/gitlab-flow/

this pipeline maintains three version resources:

dev-version for tagging commits in master branch.  dev-version always forms x.y.z-dev.n.
rc-version for tagging commits in pre-production branch.  rc-version always forms x.y.z-rc.n.

rc-version initialized by merge commit created in merge-master-to-pre-production job.
initialized value of rc-version will be always computed from dev-version.  initilized value of rc-version will be x.y.z-rc.1 when dev-version was x.y.z-dev.n
rc-version can be bumped repeatedly because this pipeline supports hot fix commits on pre-production branch (see below).
initializing rc-version causes initiation of next development version.  i.e. when initializing rc-version to x.y.z-rc.1, dev-version will also be initialized to x.y.z+1-dev.1 too.

final-version is always computed from the latest rc-version

final-version will be x.y.z when rc-version is x.y.z-rc.n

Purposes of three branches(master, pre-production, production) are below:

master branch

it is for development.
this branch will be deployed to staging environment.
every merge commits to master branch which passed unit/integration test will be tagged by dev-version.

pre-production branch

it is for QA or similar.
this branch will be deployed to pre-production environment literary.
merge commit into the branch which is created in 'merge-master-to-pre-production' job initiates new release candidate (set new release candidate version to rc-version).
this pipeline supports hot fix commits on pre-production branch in default.  this means you would need to cherry-pick hot fix commits to master branch.
every commit which passed unit/integraiton tests will be tagged by rc-version.
after tagged successfully, new development version will be initiated denoted as above.
end2end test will be performed for QA purpose on pre-production environment after successful shipment.  this test works as the final gate before publishing your codes to production.
shipping job is not triggered automatically in default and it can be executable repeatedly because the same reason denoted in #2.

production branch

it is only for maintaining codes shipped to production environment.
only merge commit from pre-production is allowed.
all commits which passed unit/integration test will be tagged by final-version
shipping job is not triggered automatically in default and it can be executable repeatedly because the same reason denoted in #2.

Pipeline Screenshots
staging(master)

pre-production

production

Testing 3-envs and 2-envs pipeline
3-envs.yml was tested on my local concourse by using everpeace/concourse-gitlab-flow-test-3-envs repo.  2-envs.yml was tested on my local concourse by using  everpeace/concourse-gitlab-flow-test-2-envs repo
here is an example of generated commit tree by the pipeline(3-envs).

Also, shape of commit tree can be seen at here(3-envs) and here(2-envs)

One comment, but LGTM overall! 👍 🍺

Two minor comments, but LGTM overall!!

@mumoshu Thank you very much for great feedbacks! I'm merging this!


Fix/time before next offset

Fixes a scenario where there's a time before a modifier:
>>> parsedatetime.Calendar().parse("1pm next Friday")
(time.struct_time(tm_year=2016, tm_mon=9, tm_mday=2, tm_hour=4, tm_min=14, tm_sec=58, tm_wday=4, tm_yday=246, tm_isdst=-1), 3)

This addresses the immediate issue by differentiating between the modifiers a little more - "next Friday" is not the same as "after Friday".  There might be a deeper issue here of assuming that the first chunk is an offset (like "1 hour") when in fact, it could be a fully qualified time ("1 pm").

This change is

Current coverage is 77.13% (diff: 100%)

Merging #183 into master will increase coverage by 0.20%

@@             master       #183   diff @@
==========================================
  Files            14         14
  Lines          1569       1570     +1
  Methods           0          0
  Messages          0          0
  Branches        288        288
==========================================
+ Hits           1207       1211     +4
+ Misses          268        266     -2
+ Partials         94         93     -1

Powered by Codecov. Last update b2e0031...90df0b1

Reviewed 1 of 2 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

I just love new code that has new tests! 👍  to merge

@jonklein I like the changes but the commit messages are too generic. Outside of the context of this pull request it would be difficult to tell what you're fixing here without tracing it to the branch name when this is merged.
Could you do an interactive rebase and force push the fix branch to update the commit messages to better identify the problem and what was changed?

thanks @idpaterson - I am the worst when it comes to useful commit messages

This is one project where I tend to use blame a lot to figure out who last changed something and why. It usually ends up being my own fault but it helps that the commit message says what I was trying to do ;)

Updated!

I would say this is good to merge. An improvement in 3.0 since this only works for English would be a more concrete representation for all localized terms allowing this behavior and similar quirks to be modeled in the locale without hardcoding the actual words outside of the locale. That will certainly require some thought but it doesn't affect this PR.

great point @idpaterson -- @jonklein can you file an issue to add those strings to our language/locale solution and tag it as v3 ?

I’ve got the locale change in this branch - https://github.com/jonklein/parsedatetime/tree/feature/relative_modifier_localization.  I can put that into this PR, or, if you’re prefer, can get this current one merged in and then put in a new PR tagged for v3.

Let's get this one merged and then add a new one for v3 if you can


Topic edit: edit icon doesn't remove edit icon and checkbox label doesn't fade

Changing settings of allowing message editing to never should lead to-

disappearing of edit topic icon in recipient bar

fading of checkbox of allowing to edit topic of any message

But it does so only after reloading the page after saving the settings.
This can be reproduced by-

Login as admin in dev environment.

Change the setting of allowing message editing to never and save the changes.

Reload the page to see the required changes.

GIF for current behaviour is attached-

I'm not able to reproduce this issue in my dev environment. It is working fine.

@ss62171 I assume that it is not really an issue and this happens in my dev server because I am getting another error while running the server.


chore(ci): use maturin GHA to build wheels

Wow @messense , this is a HUGE win: builds take 2 minutes instead of 1h+. For Rust projects, this is much better than cibuildwheel.

Yes, cibuildwheel requires QEMU which is really slow for building large Rust projects.


Bootloader/reset mode not accessible anymore

I am now apparently unable to boot into bootloader/reset mode. After an unsuccessful flash (more on this later), pressing the reset button on the PCB will make Windows say it's an unrecognized device. The keyboard will switch immediatly (without waiting ~10s in bootloader mode) into normal mode.
However on Linux (Fedora) I noticed that the device will outright disappear from the lsusb device listing, and stay absent, once I press reset. A power cycle is needed to return to normal mode.
Normal mode:
❯ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04ca:2006 Lite-On Technology Corp. Broadcom BCM43142A0 Bluetooth Device
Bus 001 Device 002: ID 04f2:b483 Chicony Electronics Co., Ltd USB2.0 VGA UVC WebCam
Bus 001 Device 009: ID feed:0000 Falbatech The Redox Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Once I pressed reset (either physically or via QMK RESET):
❯ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04ca:2006 Lite-On Technology Corp. Broadcom BCM43142A0 Bluetooth Device
Bus 001 Device 002: ID 04f2:b483 Chicony Electronics Co., Ltd USB2.0 VGA UVC WebCam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Unsuccessful flash (root cause)
The situation avove may be my own fault, as this happened right after a flash that apparently stopped mid flashing, and for both sides individually, at 88% for many minutes. Ctrl-C didnt abort, I had to physically unplug the keyboard to halt the procedure (I DO know about not doing it in normal circumstances, but as it appeared obvious flashing was somehow halted mid procedure, what else could I do?).
Console output (from Windows QMK MSYS):
[bilange@warbird qmk_firmware]$ avrdude -p atmega32u4 -P COM3 -c avr109 -U flash:w:stable\ -\ backup_flash.hex

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9587 (probably m32u4)
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "stable - backup_flash.hex"
avrdude.exe: input file stable - backup_flash.hex auto detected as Intel Hex
avrdude.exe: writing flash (32730 bytes):

Writing | #####                                              | 10% 0.28s
(...)
(skipping many lines)
(...)
Writing | ############################################       | 88% 2.45s
(stuck indefinitely there)

While flashing seems to work at first sight (the "stable - backup_flash.hex" file was succesfully applied as my keyboard seems to act as per this file*), it has the side effect of having somehow wiped (partially??) bootloader.

: With the caveat that this file was the result of backuping a known good config file from the keyboard, per avrdude -P COM5 -c avr109 -p atmega32u4 -U flash:r:backup_flash.hex:i. I do usually qmk flash but have lost my stable .hex binary inbetween workstation reinstallation.

So, is there a way to get out of this situation? Mind you, I CAN use the keyboard, only NOT flash it anymore- so i'm basically stuck with whatever is on my keyboards memory right now.
Thanks!

Hi,
I'm sorry but I can't help you here. I would redirect you over the QMK github repo for this kind of issues.
Cheers,
Matt

Hi Matt,
It definitely looks like I need to reflash my bootloader according to other people having the same issue with other keyboards. I'm in the process of acquiring the proper wiring tools and an additional Pro Micro and will definitely try to flash it back.
I understand this is somewhat unrelated for your Github project, but for the sake of your issues section completeness (for future redox readers that could stumble on the same issue), I will report back when my wiring+Pro Micro order is shipped, if you don't mind.
Sources (partial):

https://beta.docs.qmk.fm/using-qmk/guides/keyboard-building/isp_flashing_guide
https://old.reddit.com/r/olkb/comments/prb7wp/keyboard_wont_flash_after_bad_hex_flash/

Thanks!
(Sidenote: I hope submitting my comment won't reopen automatically this issue.)


Dyson failed to unload

After upgrading to HA Core 2024.12.1, receiving Dyson Integration Error "failed to unload.
Using Dyson integration version 1.4.2.   Rebooted HA several times and tried to reload integration to no avail.

Hello
Same problem here. Updated to last Core and HA version, Dyson is not working anymore, showing "No devices or entities" under MyDyson section.

Dyson stopped working for me too.

Hi,
Same problem as stated above. Since I have updated, the Dyson integration does not work anymore. "No devices"  nor entities visible.

Hmm, I'm on 2024.12.1 and not having any issues. For anyone who is seeing this, are you able to share debug logs to help identify where/why it's happening?

Please see below
2024-12-17 21:38:15.315 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Pure Hot+Cool Link for dyson_local
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 855, in async_unload
result = await component.async_unload_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/init.py", line 181, in async_unload_entry
device: DysonDevice = hass.data[DOMAIN][DATA_DEVICES][entry.entry_id]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '01JEGHKQWSKYGX7ZJXHDQEZSPC'

Same issue and same error by i have 2 dyson pure cools.
One works fine the other is not anymore

I am also having this issue, no devices/entities found
Logger: homeassistant.config_entries
Source: config_entries.py:855
First occurred: 20:21:04 (1 occurrences)
Last logged: 20:21:04
Error unloading entry MyDyson: [my email and region] for dyson_local
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 855, in async_unload
result = await component.async_unload_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/init.py", line 181, in async_unload_entry
device: DysonDevice = hass.data[DOMAIN][DATA_DEVICES][entry.entry_id]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '01JFN8B6727G8YEG5JW30P7PJ4'

Same issue and same error by i have 2 dyson pure cools. One works fine the other is not anymore
Simple restart etc did not worked
what did worked for me was a redownload of the latest dyson version and reboot again, that solved it for now.
No changes made other then that.

Same issue and same error by i have 2 dyson pure cools. One works fine the other is not anymore
Simple restart etc did not worked
what did worked for me was a redownload of the latest dyson version and reboot again, that solved it for now.
No changes made other then that.

Sadly this did not work for me

Reinstall the Dyson integration and reboot still does not work:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 855, in async_unload
result = await component.async_unload_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/init.py", line 181, in async_unload_entry
device: DysonDevice = hass.data[DOMAIN][DATA_DEVICES][entry.entry_id]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '01JG0P9N8XRYQM1WDBRSENM6XB'


Its there a 32 Bit iso?

Its there a 32 Bit iso?

no, we don't have the time to add and keep it validated - and many of the constituent parts, including Docker only have spotty support for it.
Sorry


Master

Squashed minor commits.

Realizing that the commits were not squashed, and instead I may have made it worse. I attempted to squash via git rebase -i HEAD~10 and then letting pick-->squash for the README updates that happened after "Compatibility Tests." Apparently this didn't work, but I'm not sure why...


[Feature]: Automatic MultiLine Plot when Logging Arrays

Description
Hi, in the Docs https://docs.wandb.ai/guides/track/log/logging-faqs when logging a list of values (e.g., a np.array of losses) it suggests the following: either unpack the list and split them into distinct Dictionary Keys, or use Wandb.Histogram.
The Histogram looks very nice in the dashboard but it obfuscates the values in some cases. For example, I run my experiments with 10 seeds simultaneously on the GPU and as a result I lose the individual run-trajectories in the plots and can only see the distributions. If I want to view the individual runs I have to either export the data after the full experiment OR log all individual values per seed as a distinct dictionary key and then combine all seeds into one panel on the dashboard.
The latter is not particularly nice to do when my seeds scale to ~100... I am aware of the Regex Pattern in the dashboard of course, but I log a lot of data, I also don't want to manually modify every panel for every metric...
Suggested Solution
Could W&B implement Array Logging as a multiline plot by default? So when you call wandb.log({'loss': 5}) it plots a single line over time, and when you call wandb.log({'loss'}: np.array([5, 4, 3])) it plots 3 lines over time.
If no, is there a good reason on why not to do this? Or does there already exist a scalable alternative?
Alternatives
No response
Additional Context
What I suggest is useful for interactively inspecting experiments when replicating over seeds on the GPU.
So typically we compare runs in the runs page, which nicely combines trajectories over different experiments. It would be nice to be able to do this within a run if we are able to vectorize our experiments for improved efficiency.

@joeryjoery - I made the feature request & will be sure to update you if any progress arises!

This feature would be amazing! Currently wasting a lot of time by making individual wandb.log() calls.

@gil2rok @joeryjoery Just to make sure that I understand the feature request correctly. Would you say it is the same as doing something like the following:
wandb.log({f"loss_{i}": v for i,v in enumerate([5, 4, 3])})

and seeing all the loss_{i} metric lines on the same plot in the UI?
Thanks for the feature request!

Yes exactly.
I know you can do this with regex, e.g., metric_*. However, if you log a lot of different metrics across experiments, or are updating names, you have to manually specify the panels every time.
Having this done automatically would be a very nice QOL feature.

@gil2rok @joeryjoery Just to make sure that I understand the feature request correctly. Would you say it is the same as doing something like the following:
wandb.log({f"loss_{i}": v for i,v in enumerate([5, 4, 3])})

and seeing all the loss_{i} metric lines on the same plot in the UI?
Thanks for the feature request!

Yes exactly.
I know you can do this with regex (edit: meaning in the UI), e.g., metric_*. However, if you log a lot of different metrics across experiments, or are updating names, you have to manually specify the panels every time.
Having this done automatically would be a very nice QOL feature.

Thanks for the response! Yeah, I can see the need for programmatically editing your workspace, we are actually actively thinking about the best way to implement this and i'm adding this ticket to the list of features!

To give another example of a use case where this kind of feature would be exactly what I want:

We have distributed training runs with X GPUs.
Each of the X processes produces a bunch of different metrics.  Let's say, for example, the amount of time spent in the forward pass.
We can gather and reduce on the rank-0 process and emit a summary, but instead it would be nice if we could just emit the gathered tensor keyed on the process rank.  This way, we can look at each process independently, but we can also reduce in the wandb widget (e.g. switching to the mean + std-dev or min/max bands)

Let me know if that makes sense and am happy to answer questions if helpful!

Is there any plans to add this?

Hi @JackCai1206 @justin-yan @joeryjoery @gil2rok thank you for your patience regarding this valuable feature suggestion! In the meantime, as a workaround, you can programmatically edit your workspaces using our Workspaces API. You can find examples in our GitHub repo: https://github.com/wandb/wandb-workspaces, and additional information in our documentation here: https://docs.wandb.ai/tutorials/workspaces/. I hope this helps!


Clone Mode not reacting to Reader on Nexus 5X

Hey,
so I have two Nexus 5X with stock Android 8.1.0 (OPM7.181205.001) rooted with Magisk 27, Zygisk enabled in Magisk, LSPosed installed and enabled in Magisk and NFCGate Module enabled in LSPosed. Both devices were barely used after the last reset (just used them to capture CellBroadcasts).
I get all green checkmaks in the App.

However, I have issues with Clone Mode. I can scan and save/load a Tag. Once a Tag is scanned the device stops probing for Tags (validated via Oscilloscope and wire loop). However, it's not responding to other readers. I tried the other Nexus 5X (reading with NFCGate Clone Mode), my Pixel 6a (Wakdev NFC Tools and NXP Taginfo) and an Elatec USB reader (Elatec Director reading ISO14443 UID).
logcat | grep -i "nfc" gives me this when reading a tag in clone mode:
clone_logcat_nfc.txt
I found that when Clone Mode is open without a Tag read/loaded, the Nexus identifies as FeliCa 64bit to the Elatec Reader and can't be read by my Pixel 6a. Othe Phones I have usually identify as ISO14443A/Mifare 32bit. (probably not relevant)
Capture Mode works, I successfully captured the traffic of NXP Taginfo.

Once a Tag is scanned the device stops probing for Tags (validated via Oscilloscope and wire loop)

We disable polling once we emulate a tag, so this should be working as intended.

I found that when Clone Mode is open without a Tag read/loaded, the Nexus identifies as FeliCa 64bit to the Elatec Reader and can't be read by my Pixel 6a. Othe Phones I have usually identify as ISO14443A/Mifare 32bit. (probably not relevant)

This is actually standard behavior of Android HCE devices. If you scan the phone multiple times with a compatible reader you will see (more or less randomly) NFC-A, NFC-B and NFC-F (FeliCa) since the reader polls for all technologies. When no tag configuration is applied, NFCGate's patch is not enabled which will therefore restore the HCE default behavior.
Regarding your problem: Do you try to emulate a Mifare Classic tag? I noticed a SEL_RES value of 0x08 which indicates that ISO-DEP is not supported (for ISO-DEP bit 0x20 must be set). Emulating Mifare Classic (or Ultralight) tags is sadly not supported.

We disable polling once we emulate a tag, so this should be working as intended.

Yeah, got that. I just wanted to confirm this happens ;)

Do you try to emulate a Mifare Classic tag?

Yes, according to NXP TagInfo I tried NTAG216 (ultralight), NTAG203(F) (ultralight) and two Mifare Classic.
Thx. It actually worked with my public transport ticket and passport.
I also have a card that triggers the android NFC sound but is not recognized by NFCGate at all (also Mifare Classic acording to NXP TagInfo) and I have a Legic CTC MM410 (ISO14443A / ISO15693) that causes just a white screen and can't be cloned:

So I guess there is nothing wrong with my setup. I just tried the server and successfully relayed my Deutschlandticket through both Nexus 5X, read by eTicket Leser on my Pixel 6a.
Guess I have to experiment more. It really wasn't obvious that the tag(s) could be the issue.

Trying to relay the Legic Advant CTC MM410 when it's read in ISO14443A mode also fails. I get empty rows in the relay view and the pcap only shows 5 Bytes 00 fb 00 01 02 for each of the rows/attempts. Is this something you're interested in?
Otherwise this issue can also be closed. Thx for the help!

Thanks for testing! The classic tag that is not recognized by NFCGate as well as Legic with empty rows are very interesting. Could you share logs and tag information that is  displayed when reading it with another reader? It's also possible to send it privately by mail (see README) if you don't want to share this data publicly.

I'll send you a mail ;) What Tools do you recommend to generate the data you need?
I can send you the output of NXP TagInfo and NFCGate Logs while Taginfo is reading the Tag. Anything else I can do with Android? Should I also have logcat running while doing this?

adb logcat with all log entries mentioning "nfc" case-insensitive while you read the tag in clone mode with NFCGate + output from TagInfo (can also be the XML export). We don't need the on-device capture data from NFCGate while TagInfo scans the tag. Thanks!


Type constraints

This is taken from one of the examples:
type Named a = { name: String, value: a }

How would I enforce the "Show" trait for a?

It isn't possible to have "constraints" defined on the type itself. The closest you can get is to constrain ever function that uses name.
let f x : [Show a] -> Named a -> String = ...
let g x y : [Show a] -> Int -> Named a -> String = ...

In Haskell this is a fine (and preferable) approach, seeing as you only have one possible instance possible per type. In Gluon, for something like Show a I think it's fine too - the show instance doesn't enforce any invariants on how the type should be constructed (like Ord for a set).


PhotoInfo.hasadjustments() does not work for Photos 5.0+ databases

hasadjustments() always returns None for Photos 5.0+.
Look at ZGENERICASSET.ZHASADJUSTMENTS and ZUNMANAGEDADJUSTMENT in ZADDITIONALASSETATTRIBUTES

Fixed with version 0.14.6


Acquire size of ImGUI canvas from game viewport

This change adjusts the size of ImGUI canvas to the game viewport.
The current implementation draws ImGUI widgets onto large 4K canvas.  This causes following issues in smaller viewports:

Modal popup windows (ImGui::BeginPopupModal()) pops up in the center of 4K canvas.  In working with 2K displays, they cannot be visible without dragging or zooming out the canvas.
Pulldown menus of ImGui run out of the bottom of the game viewport and cannot be clickable.

The pull request adjusts IO.DisplaySize of ImGUI every frame so that DisplaySize matches the game viewport in order to solve these problems.
Best,

Hey, thank you for your change, but could that be an option?
I was considering limiting canvas size but in the end decided to use a bigger one (possibly too big) and use this (https://github.com/segross/UnrealImGui#navigating-around-imgui-canvas) to navigate around it.
The reasons why canvas is not linked to the size of viewport:

Resizing canvas can move ImGui widgets what means that binding it to the viewport size could constantly change debug layout, for instance when pressing F11 in PIE window.
I tend to use lots of windows when debugging. I like to keep some of those widets out of the way and them bring them back when necessary. With canvas size the same as game viewport that woud be not possible.
And I know it is a bit silly to discuss unimplemented features but I wanted to allow sharing canvas with ImGuiRemote or between different widgets with potentially different size (for debugging outside of the game viewport). I just didn't find a time to clean that quick RemoteImGui integration that I have.

For modals, I think it is possible to draw them at custom positions, but I see that limiting canvas size might be a better option is some scenarios. If that was optional (especially in the editor), it would be great.
On a side note, I think ImGui IO has a visible area property (or something like that, I don't remember exactly), which seems like something that should allow fixing what you described without limiting the canvas size. Did you actually try that? I think I did it a long time ago but it was new and not 100% reliable at that time.

Thank you for reviewing my PR.  I understand the design goal of the current implementation by your description.  I'll update the PR and let you know soon.

Thanks for understanding :) As I wrote in the other thread, pleas be patient with me as right now I have limited capabilities to work with this repository (any repository actually but I only maintain this one :)

Hi,
I've updated the branch for adding a command ImGui.ToggleCanvasSizeAdaptive to enable/disable the variable canvas size.  The default behavior is compatible with the current implementation.  Would you mind reviewing the changes when you have time?
As for the visible area property of ImGui you mentioned I couldn't spot it, so the PR is implemented based on ImGui's IO.DisplaySize.

Hey, thanks for the update. I will try to look at this in the next two days. Sorry for keeping you waiting so long.

Hey, thank you for your update. I made a quick review but I have found two major issues. One might be seen as a bit pedantic but since this is potentially unsafe I would revert to the pattern that I suggested in the comment. The other one is, unfortunately, a bit worse as it basically means that the feature will not work as expected in multi-PIE sessions. This is connected with how worlds and widgets are updated. Normally I deal with it by cashing data in context proxy and then copying them when starting a new frame (in either direction).
This is a nice change but it would need addressing those two issues, especially the second one. If I'm not clear about something, let me know and I will be happy to explain more.
Additionally, do you think that it is better for bCanvasSizeAdaptive to be a property or a setting? It has been a while but if I recall correctly, I tend to use properties for switches that I expect to dynamically change (like toggling input or the demo) and settings for things that I expect to be set once (like input handler, shortcuts, etc.). As always, there are some blurred lines and this might fall in that area but I would see it more as a setting. If this is a property, then you have to always change it at least once during application execution and if you want it always enabled that might be a bit hassle. On the other hand, if this was a setting, you could change it in Project Settings and have it remembered every time when you start the application. My feeling would be that people will just stick to one or the other option.

Thank you for reviewing and comments.  I updated the branch to enable this feature by a setting instead of a property, so the incomplete object is not passed in ctors any more.
As for SImGuiWidget::ComputeDesiredSize(), I noticed there is no need to zoom in/out when adaptive canvas size is enabled by a setting (because the canvas size equals to the viewport size), so I've reverted this function to original implementation.
As for multi-PIE sessions, frankly speaking I've never considered it in writing this feature, but I believe the current PR is helpful for single PIE in a small window.  What do you think of it?

Hey, the problem is more with the fact that it actually breaks the multi-PIE. However, even if it didn't break multi-PIE, I would have to be careful with a change that doesn't cover all the engine or editor use cases as from my experience, I can say that sooner or later somebody will open an issue asking to fix it.
If I get some time I can try to check it more closely as I expect that it might be actually a small modification. If I can find it, I might even take that change and amend it.

Thanks.  My comment was somewhat ambiguous and may have confused you, but the latest pull request (585f693) never breaks compatibility with the original implementation because the new feature (adaptive canvas size) is enabled only when bAdaptiveCanvasSize is set true.  I would appreciate it if you could review it when you have a time.

Hey, sorry for being a bit unresponsive but I'm just preoccupied with other stuff. I was expecting you can say that and to be fair it is true to a point. Combining that with a fact that I didn't put guidance on how to contribute, I can see your point... although I don't fully agree :) If I find some time, I will try merging it in the next few days. Given that I was planning a similar feature I can use this as a trigger and a starting point and add what I want.
And now, the reason why I care, is that I want all features to support all the main working scenarios in Unreal as much as possible. Of course, this is not always possible or easy and sometimes there might be a compelling reason not to but in general, I see partially supported features as a WIP. Allowing that by default would mean that when seeing a bunch of features it would be hard to say which one can be safely used in a particular workflow. And from my experience, it would also mean more discussions in the issue threads.
Luckily, in this case, it will be easy to change as the main problem is the place where data are read. Doing that in the widget is easier because it has access to the correct viewport and to proxy where it can copy data. Additionally, it can be nicely aligned with a feature that I'm planning to do sometime later (quite later knowing life). I've already tried that on top of your changes and now need to clean it and merge.

Hey @kkawachi , I have finally merged your changes. Thank you for your changes and patience. Sorry that it took so long. That feature is part of the version 1.19. I've added multi-PIE support, and it works fine. I also want to add a possibility to define own fixed canvas size, so 1.19 is still marked as WIP. This is something that I was thinking about and you just triggered it :)
Because of the different modes, I might change that bool property to an enum. If I change it, sorry in advance as you might need to re-enable your adaptive canvas size. Current property is fine but with more settings in place, enum might be more readable. It will look like the Game Viewport Settings in Play Advanced Settings.

Thank you for your update and merger! I've confirmed the latest master works beautifully.

Hey @kkawachi. I have finally found a time to add those additional canvas options and integrate that with a basic DPI scale that I have added. But the setup changed slightly and the next time that you sync you will need to update your settings. To get the adaptive canvas size, just set the Canvas Size property to Viewport. I'm sorry for that inconvenience, but combining all options in one enum seems the most convenient from the UX perspective.

Thanks for the heads-up!


Update Set-ADReplicationSite.md

Corrected Kerberos consistency checker  to Knowledge Consistency Checker

@JohanFreelancer9 Please copy review

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

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 31de3d8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

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

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

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

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 644ae59:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 9814eec:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

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

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 644ae59:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 4aeab0e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@dariomws @get-itips @tseward
Peer review needed for this PR. Thanks.

Docs Build status updates of commit 0e931d2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012-ps/activedirectory/Set-ADReplicationSite.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/addsadministration/Set-ADReplicationSite.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Added common module for blob, queue and file.

Currently, blob, queue and file share the exactly same common pkg. I would be better to add a common module for the reasons:

We do not have duplicate code for 3 services.
No need to make extra efforts every time we update the common module. Like SAS token.

Work need to be done for common module.

Extract the common func to a new module.
Added Junit tests
Remove the common pkg in each service and the refer to the common module.

@JonathanGiles @jianghaolu @alzimmermsft


add google fonts

Submit a new Plugin to Marketplace
Plugin Github repo URL: https://github.com/vipzhicheng/logseq-plugin-google-fonts
Github releases checklist

[x] a legal package.json file.
[x] a valid CI workflow build action for Github releases. (Optional for theme plugin only).
[x] a release which includes a release zip pkg from a successful build.
[x] a clear README file, ideally with an image or gif showcase. (For more friendly to users, it is recommended to have English version description).
[x] a license in the LICENSE file.

Great plugin!


Include docker-compose example in the documentation

Hey,
it took me a while to figure out how to achieve this so I figured others might benefit from my work. Here's an example of a docker-compose.yml capturing all network traffic of an nginx container:
version: "3.6"
services:
  tcpdump:
    image: nicolaka/netshoot
    depends_on:
      - nginx
    command: tcpdump -i eth0 -w /data/nginx.pcap
    network_mode: service:nginx
    volumes:
      - $PWD/data:/data

  nginx:
    image: nginx:alpine
    ports:
      - 80:80

Would you like to include this in the documentation?

+1
thanks @oschlueter I was exactly looking for this.

@oschlueter feel free to open a PR against the README page to include this docker-compose example.


Unable to start pact on windows

Software versions

OS:  Windows 10
Library version: 9.2.1
Node Version: 10.16.0

Expected behaviour
pact process is starting normaly
Actual behaviour
Pact is not starting when the folder length is > than  80 characters.
I saw the readme but changing the registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled to 1 has no effect.
Steps to reproduce
Provide a repository, gist or reproducible code snippet so that we can test the problem.
Consider forking the project and modifying the E2E test
Relevant log files
Please ensure you set logging to DEBUG and attach any relevant log files here (or link from a gist).
Pact Binary Error<EMAIL_ADDRESS>service-3.1.1/lib/pact/mock_service/app.rb:5:in require': cannot load such file -- pact/consumer/mock_service/cors_origin_header_middleware (LoadError)         from<EMAIL_ADDRESS>1.1/lib/pact/mock_service/app.rb:5:in <top (required)>'
from<EMAIL_ADDRESS>1.1/lib/pact/mock_service/run.rb:2:in require'         from<EMAIL_ADDRESS>1.1/lib/pact/mock_service/run.rb:2:in <top (required)>'
from<EMAIL_ADDRESS>1.1/lib/pact/mock_service/cli.rb:33:in require'         from<EMAIL_ADDRESS>1.1/lib/pact/mock_service/cli.rb:33:in service'
from<EMAIL_ADDRESS>/command.rb:27:in run'         from<EMAIL_ADDRESS>/invocation.rb:126:in invoke_command'
from<EMAIL_ADDRESS>.rb:387:in dispatch'         from<EMAIL_ADDRESS>/base.rb:466:in start'
from D:/loooooooooooooooooooooooooooooooooooooooongpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaath/node_modules/@pact-foundation/pact-node/standalone/win32-1.70.2/lib/app/pact-mock-service.rb:15:in `'
[2019-10-29T08:27:23.185Z]  WARN<EMAIL_ADDRESS>on PAVER02: Pact exited with code 1.
[2019-10-29T08:27:23.185Z]  INFO<EMAIL_ADDRESS>on PAVER02: Removing Pact with PID: 9924

There are already a few issues that document this scenario (e.g. #101) . Unfortunately until we release a major overhaul of the library integrating our new Rust engine, we can't do anything about it.


228 two surveyors per assignment

Creating a draft PR here to put comments on…

I was thinking a bit more about how to represent the home–assignment association, because I wonder whether we're painting ourselves into a corner right now. Assumptions:

We fundamentally want an assignment to represent a group of homes – i.e. there is a 1:many relationship between assignment and homes. Fundamentally, this is a property of the assignment, not the home (i.e. the home means something independently of the assignment – but the assignment without homes isn't meaningful).
The new join table feels like a good way to represent the many:many relationship between surveyors and assignments.

Given that, I can see a few different ways of capturing the 1:many assignment to homes relationship:

Represent this the way we started – i.e. there is one row in assignments for each assignment, and one row in homes for each home. The assignment that the home is in is represented by a assignment_id column on homes, which is either NULL (i.e. unassigned), or indicates the ID for the assignment. To find which homes are in an assignment, we simply join on assignment.id = homes.assignment_id. This allows efficiently querying either way – we can look up the assignment of a home, and also go from an assignment to all homes in it. This requires no changes to the many:many surveyors to assignments relationship.

Keep a single row per home; keep a single row per assignment, but have an array of the homes in it – i.e. the homes table does not have an assignment_id column. Instead, the assignments table has a home_ids array column, which consists of the homes in that assignment. We can easily go from an assignment to the list of homes, but now, to look up which assignment a home is in, we have to do a scan through the assignments table, checking each array for that home_id. In the event that this home is unassigned, we would have to go through the entire table before finding it is not in any. This also allows representing the same home in more than one assignment (unless a unique constraint on contents of arrays is possible?), which we don't want. This also requires no changes to the many:many surveyors to assignments relationship.

This is what we've started doing on the branch – keep a single row per home, but now have multiple rows per assignment – with assignment.cluster_code indicating the logical assignment (i.e. all assignments rows with the same cluster_code are one logical assignment). There should be at most one entry in assignments with the same home_id (this could be neatly handled with a unique constraint). This does support querying in both directions efficiently – we can go from a home, and search assignments for that home_id. We can also start from an assignment cluster_code, and find all entries with that value. However, now assignment.id does not have any real meaning, so we would need to update the many:many relationship from surveyors to assignments to use cluster_code instead. This also has the unconventional property that there are many rows for a logical entity, which isn't true for option 1.

@mzagaja , I know you thought option 3 might make it easier to insert the assignments in the first place, but it does feel a bit less like the “normal” way of representing this 1:many relation. I'd lean to keeping this bit as it was before (i.e. option 1). See below for what might be involved:
Inserting initial data
Do we know how we're getting the assignments info from the data team? My understanding is that they don't have names – they're simply sets of sets of homes.
If the homes already have a unique numeric ID, we could just use that in the DB. In that case, the assignments would just be a set of sets of those IDs (e.g. { {1, 2, 3}, {4, 5, 6, 7} } would indicate two assignments, one with 1–3, and the other with 4–7). The options would then require:

Give each assignment an ID (we can just run through them in sequence). Create a row for each. Run through all the homes records, and use the assignment ID we created before.
Give each assignment an ID (we can just run through them in sequence). Create a row for each, and include the set of home_ids in the record.
Give each assignment an ID (this is the cluster_code). For each home in each assignment, create an assignment record, using the home ID, and referring to this cluster_code.

If the homes don't already have unique IDs (this seems unlikely?), then presumably the assignments look more like { {1 Main Street Unit, …}, … }. First we have to create all the homes, and give them arbitrary home IDs – but then we do the same as before.
In either case, I feel like the slightly simpler steps here for option 3 doesn't really justify the unusual way of representing it.
What does everyone else think? Have I missed something here – maybe another factor to consider?

I'm with you on preferring option 1. I think it is easier to understand and explain to other people (new backend team members or members of other teams the backend team interfaces with) what's going on conceptually in that scenario, since the database more directly reflects how the overall team conceptualizes of things. If I'm remembering correctly, there are "clusters" and "regions" (groups of clusters) coming from the data team. I don't think the data team or the front end team have an additional conceptual need for an "assignment" in the sense that it is used in scenario 3, and I'm not convinced that we (the backend team) really benefit from adding such a concept either. I agree that it seems like the fundamental relationship we're trying to capture here is a 1:many relationship between assignments and homes, and that scenario 1 seems like a more standard way of representing that.

Just to confirm what we discussed yesterday – we thought option 1 made most sense. I did an interactive rebase to remove the commit that changed that part, and have force-pushed back on this branch (sorry!) For reference, the old branch still exists at 228-two-surveyors-per-assignment-orig. I'll flag when this is ready to look at again.

Since it looks like the security checks that are failing are the ones you addressed in #275, can we just merge main in here and expect things to probably work?


Placeholder brick implementation

Added a way to retrieve a placeholder layout in case data is not ready for the brick.
When overriding getPlaceholderLayout() method, isDataReady() must be overridden as well in order to let BrickRecyclerViewAdapter know when to inflate placeholder and when to inflate the actual layout.
A shimmer effect has been also used as an example on how to take advantage on this new placeholder technique. Can be seen in action within the first UsedBrick brick when launching the app.
Covered new code with some tests.

Codecov Report

Merging #63 into master will decrease coverage by 0.38%.
The diff coverage is 72.72%.

@@             Coverage Diff              @@
##             master      #63      +/-   ##
============================================
- Coverage      90.1%   89.71%   -0.39%
- Complexity      383      391       +8
============================================
  Files            23       24       +1
  Lines          1071     1089      +18
  Branches        185      190       +5
============================================
+ Hits            965      977      +12
- Misses           44       49       +5
- Partials         62       63       +1

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/com/wayfair/brickkit/brick/BaseBrick.java
97.1% <0%> (-2.9%)
30 <0> (ø)

...in/java/com/wayfair/brickkit/BrickDataManager.java
85.94% <100%> (+0.22%)
116 <4> (+4)
:arrow_up:

.../com/wayfair/brickkit/animator/MyItemAnimator.java
25% <25%> (ø)
1 <1> (?)

...ava/com/wayfair/brickkit/BrickRecyclerAdapter.java
96.98% <87.5%> (-0.52%)
54 <1> (+3)

Continue to review full report at Codecov.

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


add english field errors

[WIP] This is a start to filling out missing field errors in smartForm #2135

Good improvement, thanks!


Fixed the create file scalability

Chmod and chown are STO operations
Do not read INodeAttr.. in dir listing as it is not needed
Fixed bugs

retest this please


Bug since 0.90

Hello,
I tried your new release which should have fixed #68, but I think the SDK is broken now... ;)
The thing is, I receive the correct logs from your application, such as :
09/03/2020 16:03:12 [ERROR] rest_session::request::160 - Networks, createOrganizationNetwork - 400 Bad Request, {'errors': ['Name has already been taken']}

The problem is the fact that the data returned by the calls is always None None, None (printed in str format as Networks, createOrganizationNetwork - None None, None)
For example, for the same call above I get this dict of values on the error:
09/03/2020 16:03:12 [WARNING] decorators::wrapper::74 - {'response': <Response [400]>, 'tag': 'Networks', 'operation': 'createOrganizationNetwork', 'status': None, 'reason': None, 'message': None}

Thanks for reporting this issue! It should be fixed now with this latest update; can you check please?

Hi again,
I checked and now the SDK is repaired, but I found another bug, related as before to the root cause of #68, which is an unknown error thrown pretty often (30% of the time maybe or a bit below but pretty often still)(maybe a Timeout from Meraki ? I'm not sure, I never got as far as to get an error from your SDK about it yet, as there are still some bugs in between).
Below is the error message:
File "./app/lib/meraki_api.py", line 210, in _create_network
dev_1         |     organization_id, name=self.site.name, tags=tags, type="appliance", timeZone=self.site.timezone)
dev_1         |   File "/usr/local/lib/python3.7/site-packages/meraki/api/networks.py", line 279, in createOrganizationNetwork
dev_1         |     return self._session.post(metadata, resource, payload)
dev_1         |   File "/usr/local/lib/python3.7/site-packages/meraki/rest_session.py", line 227, in post
dev_1         |     response = self.request(metadata, 'POST', url, json=json)
dev_1         |   File "/usr/local/lib/python3.7/site-packages/meraki/rest_session.py", line 90, in request
dev_1         |     raise APIError(metadata, response)
dev_1         |   File "/usr/local/lib/python3.7/site-packages/meraki/exceptions.py", line 17, in __init__
dev_1         |     self.status = self.response.status_code if self.response.status_code else None
dev_1         | AttributeError: 'NoneType' object has no attribute 'status_code'

OK this should be fixed too now, with a check added for NoneType in APIError exception.

I confirm this works now ;)