Vary blake2b 'personal' bytes from command line

More recent Zcash clones have been modifying first five characters of the 16 byte blake2b personal string of which Zcash sets initial eight to "ZcashPoW". Some examples are:
Bitcoin Gold (BTG) "Bgold"
Snowgem (XSG) "sngem"
Zero Currency (ZERO) "Zero_"
This became particularly important with the recent 51% attacks. It would be very helpful for the developers if the contents of these first five or of eight characters could be optionally passed on command line.

implemented for plain CPU miners


Clarification on ADFS Farm Levels

We have ADFS on a Windows Server 2016 install but are still running 2012R2 Farm Behaviour level.
The documentation on this page states "If you have AD FS on Windows Server 2016 or later:" and explains you can use the "Edg/*" which doesn't work if you are still on 2012R2 farm level.
It should be clarified

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

ID: cd7eb3f6-c00a-453f-a596-6f8bde452cb7
Version Independent ID: 3250a24b-8e71-a36c-a9a0-7c46bc36acd4
Content: Configure browsers to use Windows Integrated Authentication (WIA) with AD FS
Content Source: WindowsServerDocs/identity/ad-fs/operations/Configure-AD-FS-Browser-WIA.md
Product: windows-server
Technology: identity-adfs
GitHub Login: @billmath
Microsoft Alias: billmath

Any useful information pertaining to this issue in PR #5098 ?

Thank you for submitting this issue.  Unfortunately, due to high volumes I was unable to respond to this in a timely manner.  At this point, I am going to close this due to it's age and the possibility that it may have been addressed.  If this is still a problem, please consider submitting a new issue.  Thank you.
#please-close


[WIP] Azure - Deploy c7n_mailer as Azure Function

I did some minor refactoring and moved Azure mailer into sub-module, which also necessitated editing the find_packages('c7n_mailer') filter in setup.py.  Pic of directory structure below.  @thisisshi might be able to comment if this is good or bad  :)

Simply calling --update-lambda now works on Azure
c7n-mailer --config samples/mailer.yml --update-lambda

With just a simple mailer.yml
queue_url: asq://storage.queue.core.windows.net/testcc
from_address<EMAIL_ADDRESS>sendgrid_api_key: <key>
function_servicePlanName: stefanfunctiontest

I made a ton of small changes to our function packager so it would keep its sensible defaults for custodian but allow overrides for use with things like Mailer.
I also added a retry/delay system on our status checks to wait for the Function App to become ready - which is working really well in testing.

closes #2588


ICS-07 CosmWasm contract build needs CI + Nix flake

Summary
Following PR #1167:

Include a CI job to check the ICS-07 CosmWasm contract build
Add Nix flake to build ibc_client_tendermint_cw.wasm file

This provides Hermes team with a Wasm file aligned with their testing setup

I decided to go with Github workflow artifacts. It is a native option with less maintenance overhead.
While working on this, I realized we could remove the nix-shell from cw-check.


rmdir doesn't work if you make a dir named aaaaaaaaaaaaaaa (15 a's), then try to remove it. You have to rmdir AAAAAAAAAAAAAAA

cannot reproduce?

I'm retrying it, it's not working anymore. Not sure what happened there. Maybe some additional variable played a role or something.

Ok, closing this as can't reproduce


Support setting a scheme

Would be great if I could set a scheme for load(s) so if someone passes the one type it will throw an type error.
I expect something like:
import toml

from pathlib import Path

toml_data = """
[options]
enabled="true"
input="tests/struct2"
digit=12.5
"""

toml_scheme = {
    "options": {
        "enabled": {
            "type": bool,
            "default": True
        },
        "input": {
            "type": Path,
            "default": Path.cwd()
        },
        "digit": {
            "type": float,
            "default": 0.2,
            "validator": (lambda n: type(n) is float),
            "parser": (lambda n: n % 2)
        }
    }
}

def get_config(config_path):
    try:
      parsed_toml = toml.loads(toml_data, scheme=toml_scheme)
    except toml.TomlSchemeError as e:
      raise toml.TomlSchemeException(e)
    print(parsed_toml)
    return parsed_toml

Wondering if any of your needs would be solved by the proposed schema validator specification at https://github.com/toml-lang/toml/pull/116
It's meant to be something to solve post-1.0, though


marvin: 19.1.0 -> 19.23.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/marvin/versions.
meta.description for marvin is: '"A chemical modelling, analysis and structure drawing program"'.
meta.homepage for marvin is: '"https://chemaxon.com/products/marvin"

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 19.23.0 with grep in /nix/store/99m64lrqh9nfy791d4g454scxh1zf9kq-marvin-19.23.0

directory tree listing: https://gist.github.com/db8f313fb05d9007a456b0630159cbb5

du listing: https://gist.github.com/8488a1c0ea6e795d76b8e702752c3bce

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
marvin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/99m64lrqh9nfy791d4g454scxh1zf9kq-marvin-19.23.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A marvin https://github.com/r-ryantm/nixpkgs/archive/0672af450f9fa706f1686f18cccef7f291196c42.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/99m64lrqh9nfy791d4g454scxh1zf9kq-marvin-19.23.0
ls -la /nix/store/99m64lrqh9nfy791d4g454scxh1zf9kq-marvin-19.23.0/bin

cc @fusion809 for testing.

19.24, so I suggest bumping to it.


Release 2.1.1 - again

Questions
Answers

Description?
Missing bits for release 2.1.1

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
N/A

How to test?
No need I believe

Thanks @matks


qpg: Veresov Attack -> Richter-Veresov Attack

Removed the "Queens Pawn Game" from some of the Richter-veresov lines. Now the names are more coherent. I did not run the makefile

lint failure: https://github.com/lichess-org/chess-openings/pull/74/files


Use alias analysis to handle internal variables in CB input.

Pull Request Description
Fixes #7926
See the new test cases to see what is the improvement.
The self still will be not ideal, but it's because it uses same logic as edges discovery. When it will be improved this should be improved as well.
https://github.com/enso-org/enso/assets/3919101/25efd56d-5aaa-4f10-957d-8ed6a40f3d9b
Important Notes
It contains part of #8250. That PR may be reviewed, or here both PRs may be reviewed at once.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
- [ ] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

Converted to draft because discovered that this still does not behave ideally

Converted to draft because discovered that this still does not behave ideally

The problem is fixed.


Show name of dynamic struct when after creation like normal structs

Hi! Cool package, noticed this little inconsistency, hope it helps

Thanks for the PR!
Unfortunately I can't replicate this:
julia> struct A end |> typeof
Nothing

On a related note (but unrelated to the package), I actually noticed a discrepancy in Julia where function definitions return nothing when the functions belong to another module:
julia> (Base.getindex() = 1) |> typeof
Nothing

julia> (getindex() = 1) |> typeof # evaluated in module Main?
typeof(getindex) (singleton type of function getindex, subtype of Function)

And there's actually nothing special about Base, cause from the context of Base, the function does get returned:
julia> @eval Base begin
           getindex() = 1
       end
getindex (generic function with 183 methods)

Not sure if this behavior is intended, but maybe something similar is going on in the case of structs?

I think you are misunderstanding the intent. it's just that with a type you have
julia> struct A end
A # @dynamic instead doesn't print anything at the moment

I understand what you mean, but I'm just not seeing the type get printed even for normal types, hence why I checked the type of the expression struct A end when evaluated, which was Nothing.

I rechecked again, and you are right, it doesn't print anything. I don't know where I got the impression that it worked that way, probably because one of my packages mimick a sort of struct behaviour (https://github.com/JuliaDynamics/DynamicSumTypes.jl) and It prints, and I always assumed it worked like Julia structs. Sorry for the noise!


⚠ Bofrost.be has degraded performance

In 557c920, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1782 ms

Resolved: Bofrost.be performance has improved in f4eebdc.


Re-enable tests skipped in JSInterop

Fixes: aspnet/AspNetCore-Internal#1733
It's unclear what the cause of the original failures are but it was a
consistent failure. If this passes on the CI I will merge.

It is the fail. Something is actually wrong.

Object of type 'Microsoft.JSInterop.Tests.DotNetDispatcherTest+TestDTO' cannot be converted to type 'Microsoft.JSInterop.Tests.DotNetDispatcherTest+TestDTO'. As I recall the speculation was that this had something to do with contexts when parsing JSON.


ASSERTION 'tcp_dial(laddr, raddr, &remote_master_) != 0' FAILED IN 'TCPDevice'

Hi zain,when I run ./run.sh in exp/fig6a/aifm_nt,The following error message appears，Can you help me see what went wrong？
CPU 19| <5> cpu: detected 20 cores, 1 nodes
CPU 19| <5> time: detected 2394 ticks / us
[  0.000646] CPU 19| <5> loading configuration from '/users/wpq/aifm/aifm/configs/client.config'
[  0.000693] CPU 19| <3> < 1 guaranteed kthreads is not recommended for networked apps
[  0.019104] CPU 19| <5> net: started network stack
[  0.019118] CPU 19| <5> net: using the following configuration:
[  0.019124] CPU 19| <5>   addr:        <IP_ADDRESS>
[  0.019131] CPU 19| <5>   netmask:     <IP_ADDRESS>
[  0.019138] CPU 19| <5>   gateway:     <IP_ADDRESS>
[  0.019144] CPU 19| <5>   mac: D2:35:87:84:25:65
[  0.389310] CPU 19| <5> thread: created thread 0
[  0.389429] CPU 19| <5> spawning 18 kthreads
[  0.389564] CPU 10| <5> thread: created thread 1
[  0.389651] CPU 02| <5> thread: created thread 2
[  0.389755] CPU 13| <5> thread: created thread 3
[  0.389876] CPU 05| <5> thread: created thread 4
[  0.390188] CPU 12| <5> thread: created thread 5
[  0.390383] CPU 07| <5> thread: created thread 6
[  0.390551] CPU 16| <5> thread: created thread 7
[  0.390787] CPU 18| <5> thread: created thread 8
[  0.390924] CPU 00| <5> thread: created thread 9
[  0.391127] CPU 14| <5> thread: created thread 10
[  0.391283] CPU 17| <5> thread: created thread 11
[  0.391635] CPU 08| <5> thread: created thread 12
[  0.391778] CPU 10| <5> thread: created thread 13
[  0.392052] CPU 05| <5> thread: created thread 14
[  0.392254] CPU 06| <5> thread: created thread 15
[  0.392405] CPU 12| <5> thread: created thread 16
[  0.392586] CPU 04| <5> thread: created thread 17
[  5.398783] CPU 06| <0> FATAL: ../../..//src/device.cpp:65 ASSERTION 'tcp_dial(laddr, raddr, &remote_master_) != 0' FAILED IN 'TCPDevice'
./main(+0x697bb)[0x558831fa17bb]
./main(+0x69820)[0x558831fa1820]
./main(+0x26e14)[0x558831f5ee14]
./main(+0x13284)[0x558831f4b284]
./main(+0xfe41)[0x558831f47e41]
./main(+0x57260)[0x558831f8f260]
[  5.399004] CPU 06| <5> init: shutting down -> FAILURE

Hi puqing,

Have you set bash as your default shell? See "Set bash as the default shell." in README.md.
Have you run Shenango's setup script on both machines? See "Setup Shenango (on all nodes)" in README.md.

Hi puqing, does the suggestion above work for you?

2. Have you run Shenango's setup script on both machines? See "Setup Shenango (on all nodes)" in READ
Hi zain,Sorry for the late reply!
When I set bash as my default shell：
chsh -s /bin/bash
Password:
But I don't remember setting the password before. Do you know what the password is？Thank you！

Have you run Shenango's setup script on both machines? See "Setup Shenango (on all nodes)" in READ
Hi zain,Sorry for the late reply!
When I set bash as my default shell：
chsh -s /bin/bash
Password:
But I don't remember setting the password before. Do you know what the password is？Thank you！

You can use sudo which doesn't require password

Have you run Shenango's setup script on both machines? See "Setup Shenango (on all nodes)" in READ
Hi zain,Sorry for the late reply!
When I set bash as my default shell：
chsh -s /bin/bash
Password:
But I don't remember setting the password before. Do you know what the password is？Thank you！

You can use sudo which doesn't require password
Hi zain,Thank you for your answer! The problem just now has been solved!
when I run ./run.sh in exp/fig6a/aifm_nt,The following message appears，
Is it normal to display segmentation fault？

{: Command not found.
}: Command not found.
CPU 08| <5> cpu: detected 20 cores, 1 nodes
CPU 08| <5> time: detected 2394 ticks / us
[  0.000651] CPU 08| <5> loading configuration from '/users/wpq/aifm/aifm/configs/client.config'
[  0.000694] CPU 08| <3> < 1 guaranteed kthreads is not recommended for networked apps
[  0.019188] CPU 08| <5> net: started network stack
[  0.019203] CPU 08| <5> net: using the following configuration:
[  0.019209] CPU 08| <5>   addr:        <IP_ADDRESS>
[  0.019216] CPU 08| <5>   netmask:     <IP_ADDRESS>
[  0.019221] CPU 08| <5>   gateway:     <IP_ADDRESS>
[  0.019229] CPU 08| <5>   mac: F2:02:3D:18:E1:FC
[  0.388789] CPU 03| <5> thread: created thread 0
[  0.388923] CPU 03| <5> spawning 18 kthreads
[  0.389081] CPU 14| <5> thread: created thread 1
[  0.389161] CPU 05| <5> thread: created thread 2
[  0.389312] CPU 06| <5> thread: created thread 3
[  0.389373] CPU 15| <5> thread: created thread 4
[  0.389631] CPU 18| <5> thread: created thread 5
[  0.389830] CPU 09| <5> thread: created thread 6
[  0.390089] CPU 00| <5> thread: created thread 7
[  0.390299] CPU 02| <5> thread: created thread 8
[  0.390523] CPU 13| <5> thread: created thread 9
[  0.390860] CPU 05| <5> thread: created thread 10
[  0.390960] CPU 12| <5> thread: created thread 11
[  0.391107] CPU 00| <5> thread: created thread 12
[  0.391307] CPU 03| <5> thread: created thread 13
[  0.391454] CPU 14| <5> thread: created thread 14
[  0.391687] CPU 02| <5> thread: created thread 15
[  0.391914] CPU 13| <5> thread: created thread 16
[  0.392125] CPU 10| <5> thread: created thread 17
Prepare...
Bench...
mops = 0.0443197
90 tail lat (cycles) = 144006
Segmentation fault

I think the script is still being run with other shells instead bash, otherwise, you won't see "{: Command not found." Just log out and re-login and run "echo $SHELL" to confirm that bash is being used.

Yes，the script doesn't switch to bash. What should I do?
sudo chsh -s /bin/bash
echo $shell
/bin/tcsh

Use sudo passwd to change your password. Then run chsh without sudo using your account.

Btw, you can set your default shell at https://www.cloudlab.us/myaccount.php. This will be applied to all new cloudlab instances created by you.

Btw, you can set your default shell at https://www.cloudlab.us/myaccount.php. This will be applied to all new cloudlab instances created by you.
Thanks! The problem was solved. Just as what you have mentioned.

Great, just let me know if you encounter any new questions. Btw, since your last script execution fails in the middle, there might be some processes that were not cleaned up properly, which may affect your new execution. You can kill them manually. For example, in this case, just ssh into both nodes and run "sudo pkill -9 iokerneld; sudo pkill -9 main; sudo pkill -9 tcp_device". You can use top or ps command to confirm that things are clear.

OK，Really appreciate your help!


Add TLS support

Add the TLS option to the service using command line arguments -cert , -key, -cacerts, --noHostVerify.

-cert

the PEM encoded server cert file - must be usable as a TLS server cert

-key

matching unencrypted PEM encoded key file

All good now.


Frequency masking

Any plan to add the ability to mask certain frequency ranges?

This is a great feature, and I intended to include it initially, but the complexity of its implementation delayed it. I cannot guarantee that I will implement this, as my main concern right now is to get the paper accepted https://github.com/openjournals/joss-reviews/issues/2151. However, I would say hopefully in the near future, we will manage to add this useful feature to pydiogment.


[SR-13020] Concrete associated type leaks through opaque type

Previous ID
SR-13020

Radar
rdar://problem/64405639

Original Reporter
@typesanitizer

Type
Bug

Additional Detail from JIRA

Votes
0

Component/s
Compiler

Labels
Bug

Assignee
None

Priority
Medium

md5: 0f390e9405cf0f9b08177e5e6fe29492

Issue Description:
Consider the following code:
protocol Container {
    associatedtype Item: Equatable
    var count: Int { get }
    subscript(i: Int) -> Item { get }
}
extension Array: Container where Element: Equatable { }
func f<T: Equatable>(_ items: [T]) -> some Container {
    return items
}
let x = f([0])
let y = f([1])
let z = x[0] == y[0]

I don't think this should compile, but it does! `x` and `y` are different containers, how/why is the compiler able to tell that the different calls to `f` are returning opaque types with the same associated type? I think the only information that should be accessible is that the element is Equatable. This means that `x[0] == x[1]` would compile but `x[0] == y[0]` would not. It seems like information about the concrete type is "leaking through" and being used to check the call to `==`.

x and y are different containers, but they have the same type because the opaque return type is known to always have the same underlying type. So even though the compiler doesn't know the types of x[0] and y[0], it knows they're the same.


Can I add some parameters to specify that the generated Schema and API support swift macros?

It would be nice to be able to add macros to the generated Schema and API requests in order to extend the functionality, e.g. all of my request return structures have an optional error field, so if I could add a macro that would allow me to extend the support for a protocol for them, I could easily handle the error uniformly

@HonQii could you elaborate a little on what you'd like to see? You can currently write extensions on the types generated and conform them to protocols that you define. Are you asking for the protocol conformance to be automatically added for you by the generator, potentially by specifying a macro you'd like to run in the generator config?
Maybe you could provide a quick snippet of how you'd like the generated code to be different.

Maybe @HonQii means that they could configure some macro name to be automatically attached to all generated types, similar to how we allow adding additional imports? But the user would still need to provide the macro implementation.
(Which is an interesting idea that would indeed provide quite a lot of flexibility for sufficiently motivated adopters.)

Maybe @HonQii means that they could configure some macro name to be automatically attached to all generated types, similar to how we allow adding additional imports? But the user would still need to provide the macro implementation.🔄  ❓
(Which is an interesting idea that would indeed provide quite a lot of flexibility for sufficiently motivated adopters.)🔄  ❓

Right, what I mean is that I can configure macros to the generated Schema as well as the Client so that I can do some wrapping. An example:
// Each of my request response structures will have an error field with a message and code if there is an error
struct BaseResponse {
      var error: Error? // empty if there is no error.
}

Normally I would need to define a protocol for all structures to follow, and then I could handle these errors consistently. But in the case of autogeneration, I think it's more appropriate to use a macro for this purpose
Similarly, I need a layer of encapsulation for each request in the client to handle exceptions, which can also be accomplished using a macro

// Each of my request response structures will have an error field with a message and code if there is an error
struct BaseResponse {
      var error: Error? // empty if there is no error.
}

OOI, are you the author of this document? Because, if so, for this example, you could have the generated code make use of shared types by writing this in the OpenAPI document itself. For example, you can make use of of a common type in #/components/schemas, or you could define a shared response in #/components/responses, or you could try and combine these with an allOf^1.
Concretely, if you make use of references in the OpenAPI document, then the generator will use a single type. This allows for you to write extensions on this common type once.

Can you be even more specific here, for example use a simple OpenAPI document, generate code with it, and then outline what exact changes you'd like to see in the generated code? I'm still not entirely sure I understand.您能否在这里更具体一点，例如使用一个简单的 OpenAPI 文档，用它生成代码，然后概述您希望在生成的代码中看到哪些确切的更改？我仍然不完全确定我是否理解。

For example, I'm using the Combine framework to encapsulate a lot of UI components, so I'd like to be able to return web requests through the Publisher, and I'm now generating my own batch of code using the Plugin, which is formatted as follows:
func getMyInfo(_ query: Components.Schemas.GetMyInfoReq) -> AnyPublisher<Components.Schemas.GetMyInfoResp, Error> {
        Future { promise in
            Task {
                do {
                    let resp = try await self.filterSuccess(await self.client.getMyInfo(.init(body: .json(query))))
                    promise(.success(resp))
                } catch {
                    promise(.failure(error))
                }
            }
        }
        .eraseToAnyPublisher()
    }

If I could support macros when generating swift-openapi-generator, I could generate the methods directly from the macros, and instead of having to convert the results using the filterSuccess method, I could just make each structure in the Schema adhere to a certain protocol, and use Combine's filter function to handle the errors.

// Each of my request response structures will have an error field with a message and code if there is an error
struct BaseResponse {
      var error: Error? // empty if there is no error.
}

OOI, are you the author of this document? Because, if so, for this example, you could have the generated code make use of shared types by writing this in the OpenAPI document itself. For example, you can make use of of a common type in #/components/schemas, or you could define a shared response in #/components/responses, or you could try and combine these with an allOf1.OOI，你是本文档的作者吗？因为，如果是这样，对于此示例，您可以通过将其编写在 OpenAPI 文档本身中来让生成的代码使用共享类型。例如，您可以在 中使用 中的通用类型，也可以在 中定义共享响应，或者可以尝试将这些响应 #/components/schemas 与 allOf 1 . #/components/responses
Concretely, if you make use of references in the OpenAPI document, then the generator will use a single type. This allows for you to write extensions on this common type once.具体来说，如果使用 OpenAPI 文档中的引用，则生成器将使用单个类型。这允许您在此常见类型上编写一次扩展。

https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#composition-and-inheritance-polymorphism ↩

Sorry, I didn't write it.

If I understand correctly, you'd be interested in being able to use a macro to generate a variant of every client method that uses Combine, like you outlined above?
If so, that seems very similar to the "add async variant" macro here: https://github.com/apple/swift-syntax/blob/main/Examples/Sources/MacroExamples/Implementation/Peer/AddAsyncMacro.swift
The question is where exactly the generator would add the @UserSpecifiedMacro macro, probably in the extension, so that the macro could emit an implementation (couldn't be on the func declaration in the protocol). I think that could work, and can be done post-1.0 as a non-breaking change, as this would be fully opt-in through the config file, similar to additionalImports.


Kyfast/add trusted types compatibility

When running tests append CHROMEVER="110.0.5481.77" npm run test where the CHROMEVER comes from chrome-driver --version

@manuelpuyol it looks like the CI tests failing on our branch also appear to be failing on main. Is this expected?


Feature request: Add option to hide the new "Server" button from menu

It takes up unnecessary space if not using it, allow user to hide the added button and separators.

I agree, this has no place in the ComfyUI.

\ComfyUI\custom_nodes\bilbox-comfyi\web If you delete this reboot.js here, it doesn't show up.
When it's updated, it looks like it can happen again.
I have no choice but to manually erase it.

You could delete the file and then add it to the .gitignore, so it doesn't add it back in again.

How do you do it??
And, I want the developer to see this.

Hello, and sorry for the delay.
This feature is purely personnal ,because I mainly use ComfyUI on a distant self hosted server that I want to turn off directly in the UI.
I understand the problem and I would be glad to add an option but I need to make some recearch to add it properly in ComfyUI.

Then, when I delete the reboot.js file, I wonder how to prevent it from reviving when I update it.
I think it's a necessary method for users who don't use that function.

I syhould completely remove it now. In the meantime, just switch to new menu in comfy UI.

I added a specific option in comfy ui parameters.


MicroWin - Connect Microsoft Account, then unable to login

Describe the bug
I'm running tests using Hyper-V VM's.
I've created MicroWin ISO's using the Win11_24H2_English_x64.iso. One, without setting a user - and another by setting my regular local login.
With both ISO's, I install Windows using the MicroWin image - and then connect my Microsoft Account after the fact. Windows then boots to a blank login screen with no inputs.
I normally rely on using my online account due to it having my Win Pro key attached.
To Reproduce
Steps to reproduce the behavior:

Create a MicroWin image with or without a default user, given the current Win11_24H2_English_x64.iso.
Install using the above image.
Connect your Microsoft Account in Settings.
Reboot the system.

Expected behavior
I'd expect to be able to login again.
Screenshots

I forgot to mention - in all tests the region was set to World during install.
With one, I set my region back to US after installing and then added the microsoft account. The other I did not set to the US region.
In both cases I ended up in the same state, I.e. - unable to login.


How to adjust audio latency?

The problem is that the webcam previewer has a bit of lag, causing the audio to play about 0.5s ahead of the video.
Is there a easily known way to tell ffmpeg to add latency to the audio? I would rather not do this with post-processing.

Are you using gstreamer for the webcam preview as mentioned in the wiki?

Are you using gstreamer for the webcam preview as mentioned in the wiki?

No, that seemed to perform very poorly, and the window could not be resized or moved.
I was using this:
mplayer -vo xv tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=30

Maybe try something like mpv --gpu-context=wayland --hwdec=vaapi.

I've asked for help here: https://forums.raspberrypi.com/viewtopic.php?t=371908

For what it's worth, you should be able to resize the gst-launch window with the wayfire resize binding, the default binding is here. (Super+Right Click Drag)

This works extremely well.
mpv av://v4l2:/dev/video0 --profile=low-latency --untimed=yes --video-latency-hacks=yes --wayland-disable-vsync=yes --video-sync=display-desync

I would still like to delay the audio just slightly, so not closing this issue quite yet, but I suggest you add this to the wiki in case it helps others.

Is there a way to pass arbitrary flags to ffmpeg? I think the --itoffset flag does what I want.
Things I've tried:
yes | wf-recorder -a -f /tmp/video.mkv -c libx264 -p preset=ultrafast -r 30 -F=-itsoffset=5
#fails
yes | wf-recorder -a -f /tmp/video.mkv -c libx264 -p preset=ultrafast -r 30 -P=-itsoffset=5
#has no effect

I think you might want --codec-param="-itsoffset=5"

I think you might want --codec-param="-itsoffset=5"

No change. For ffmpeg, -itsoffset must be specified before the input you want to offset, in case that detail becomes important.


Distribution Normal from Tensors

This pull request is a first implementation of the class available in tensorflow python:
tf.distributions.Normal
The current method on tensorflow.js output a non-differentiable tensorflow.
This pull request implements a differentiable normal distribution from tensors (mean and stds).
The original issue: https://github.com/tensorflow/tfjs/issues/231#issuecomment-385482092

This change is

Thanks for this awesome contribution!
Instead of starting a new namespace to match tf.distributions, it would be better to just implement gradients for mean and std in tf.randomNormal to match TensorFlow's tf.random_normal. To do that, allow mean and std to be either a number or a Tensor. Does this sound ok?
Cheers!

Review status: 0 of 3 files reviewed at latest revision, all discussions resolved, some commit checks failed.

src/ops/normal.ts, line 40 at r1 (raw file):

   * @param scale Floating point tensor|number; the stddevs of the
   * distribution(s).
   * @param dtype The data type of the output.

Remove dtype since tf.distributions.Normal doesn't have it and ints also don't make much sense here.

Comments from Reviewable

We want to postpone growing the codebase too quicky until there is a good use-case driven request. In other words, we can start tf.distributions.* when there is a real use-case that can't benefit from tf.randomUniform and tf.randomNormal.

Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

Comments from Reviewable

Ok, I just finish to implement gradients for mean and std and add unit tests. The normal behavior of the method is still working. All the tests passed on my computer (yarn lint and yarn test) but travis through this error after all the tests passed:
The command "if [ "$BROWSERSTACK_KEY" ]; then yarn test-travis; fi" exited with 1.
I am not sure to understand where does the problem comes from...

@dsmilkov  Travis is now happy :)

Hi @thibo73800 I don't see any gradients being implemented. We can still get this in after you simplify the method to take only scalar (see comment below). Also if you can update the title of the PR and the top-level comment to reflect what this PR will do.

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/ops/array_ops.ts, line 428 at r3 (raw file):

   * const means = tf.tensor1d([0., 5., 10.]);
   * const stds = tf.tensor1d([1., 1., 1.]);
   * tf.randomNormal([2, 2], means, stds).print();

to align with TF's API: https://www.tensorflow.org/api_docs/python/tf/random_normal let's force the mean and std to be either a number of a Scalar (0-rank tensor).

src/ops/array_ops_test.ts, line 759 at r3 (raw file):

  });

  it('should return a int32 2D of values from differents normal distribution',

i don't think this description reflects what is tests below. Also no need to test for int32 since randomNormal of int32 doesn't make sense.

src/ops/array_ops_test.ts, line 796 at r3 (raw file):

  });

  it('should return a float32 3D of values from differents normal distribution',

it's not really a 3d tensor tested below.

Comments from Reviewable

Hi @thibo73800 ,  I just noticed that TensorFlow's tf.random_normal is not differentiable. That is, you can't compute the gradient of the output of random_normal w.r.t mean or std_dev, so we don't really have to make tf.random_normal accept both number and tensors as inputs.
I'm curious, what is your original use-case (project) that motived this PR?

@dsmilkov  I am working on a reinforcement learning algorithm, running into the browser. I use the Actor critic algorithm for continuous value, the predicted value follow a Gaussian distribution. In python, I would use tf.distributions.Normal(mean, std). In this case, mean and std are tensors coming from a neural network... Since tf.random_normal don't allow tensor, I can't apply backpropagation on the result.


v0.9.1_09: There is no space between axis values

SEVERITY: Minor
MODULE: Line Chart
Platform:  iPad Air 2 iOS(9.1) / Safari
RELEASE: v0.9.1
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.9.1/preview/linechart.html
Line chart page will be loaded
Click “Expand”
Change the orientation of the iPad to landscape
Note that  there is no space between axis values

ACTUAL RESULTS:
There is no space between axis values
EXPECTED RESULTS:
Space should be there between axis values
SCREENSHOT:

need to better parametrise the axis labeler in linechart-component.js

Tested on iPad 3 IOS 8.4, can not reproduce? retest please

this should be related to a very certain resolution. you can reproduce it on a PC by resizing a window.
for example 1008 x 732
problem axis labeler is not shifting 64000 away from 128k


Update parser, interpreter to Rust 2021 edition

While we're probably well past needing to support earlier versions of Rust, are there any specific reasons this project requires the 2021 edition in order to be used?

The usual things are that the feature resolver in cargo changed (and you already have the examples using 2021 edition). There were also a couple of additions to the prelude.
Rust 2021 edition was in 1.56 and the practical current msrv right now for this is 1.66 or so (regex needs 1.65, axum needs 1.66).


Predict method

Hi,
Is it possible to implement a predict method like in the sklearn implementation of KMeans.
If you think it is resonnable, i could try to implement it my self.

Sorry for not noticing this issue earlier. In the spirit of keeping the code as close as possible to the pseudo-code, I have tried to avoid adding such functionalities. If a user absolutely needs methods similar to those offered by sklearn, I think they can easily wrap a function around the existing ones.


Remove joda time usage

Remove Joda-Time usage
Justification:
Joda-Time would be deprecated and removed from Embulk.
And actual definition for FormatterIntlColumnOption is using String type:
https://github.com/embulk/embulk/blob/4b8250d88792cd4e9024903e133b76758ef6a02e/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java#L185-L188

Travis CI is failing with Expected feature release number in range of 9 to 16, but got: 8.
the source of issue is that line: ~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"
I would appreciate if someone could help with that.


Make the games section work as the apps section does. For example get rid of the dl links in the “More info” tab

➤ zeb commented:
why would you get rid of the DL links?


add optname SO_ORIGINAL_DST

SO_ORIGINAL_DST is defined at
https://github.com/torvalds/linux/blob/master/include/uapi/linux/netfilter_ipv4.h
ruby missing it, but i can set 80 directly and worked fine:
sock.getsockopt(Socket::SOL_IP, 80)
in mruby i got Errno::EINVAL

It's not defined in CRuby either. Basically, mruby does not provide the original feature addition unless necessary. You had better proposed to CRuby first.


One NPE in dubbo/container/Main.java

Hello,
Our static analyzer found a following potential NPE. We have checked the feasibility of this execution trace. It is necessary to defend this vulnerability to improve the code quality.

Return null to caller (Trace staring point)
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java#L466

Function getDefaultExtension executes, stores the return value to defaultextension (defaultextension can be null) and return defaultextension to caller, which can be null
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java#L434

Return the return value of function getExtension to caller
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java#L426

Function getExtension executes and stores the return value to extension (extension can be null)
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java#L63

Function add executes and containers contains null as its elements.
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java#L63

Function next executes and return null value
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java#L89

The return value of function next is passed as the this pointer to function start (the return value of function next can be null), which will leak to null pointer dereference
https://github.com/apache/dubbo/blob/f26ba91b67f642148a10d3b197502e29928b77bf/dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java#L90

Commit: f26ba91b67f642148a10d3b197502e29928b77bf
ContainerAnalyzer

I will fix it.

Any update on this? Has it been fixed yet?

I will fix it.

It has already been fixed by #8215

It has already been fixed by #8215

ok

@containerAnalyzer pls close issue


Going to release forked copy

Given this appears dead here and prior PR unanswered for very long time, I'm going to start releasing this so its modernized.  You can find the fork over here https://github.com/hazendaz/whitespace-maven-plugin.
There is another fork that appears to have had same goal but also went dead afterwards, that one is here https://github.com/yusiwen/whitespace-maven-plugin.
I'm putting a note over there to refer back to this as well and going to pick up changes applied over there as well.  Goal is to leave the master branch alone, going to have a branch for now called 'modernize' that will maintain breaking changes afterwards (ie switch on GAV, anything net new, etc).

ok the other fork doesn't have issues open so cannot report anything there.  So only note will be here, given only 2 exist, this should be enough to link them together.

For the other fork, can now see the diff from my fork anyways here https://github.com/hazendaz/whitespace-maven-plugin/pull/2.

note: My fork will not change the internal packaging as that is not very useful in what was done on the upstream although it doesn't quite matter for usage given its via maven.  That at least will allow to come back together if so wished where-as work done on the 1.0.5 released fork is not possible to bring back.

closing as released fork.


Plugin hub single source demo

Summary
This is a preview PR to show how single sourced plugin docs can work.

DO NOT MERGE

This PR adds a new Demo plugin that has 5 releases across 3 major versions.

Versions 0.1.x and 0.2.x use the old style documentation where each version has a new markdown file
Versions 1.0.x and 1.1.x are single sourced from _1.x.md
Version 2.0.x falls back to the default file of _index.md

Single sourcing input files start with an underscore to prevent Jekyll processing them directly.
Interesting features:

Parameters can have a minimum_version and maximum_version field (sample)
Content can be conditionally rendered

The PR that will be merged for this work can be found here. This PR should not be merged and only serves as a way to show the potential features and view the final rendered result in a preview app
There are a lot of changes as this also includes the single sourcing generator PR. I'd recommend looking at this commit specifically to see the plugin data only changes.

I think this change makes a lot of sense. It would definitively make things easier to maintain -- less duplication of files per plugin.
Would it be possible to keep using index.md if it exists? (Otherwise, use _index.md). That would sidestep having to rename of those indexes to _index right away.

I think this change makes a lot of sense. It would definitively make things easier to maintain -- less duplication of files per plugin.
Would it be possible to keep using index.md if it exists? (Otherwise, use _index.md). That would sidestep having to rename of those indexes to _index right away.

That might make it harder to enforce the standard though.

Would it be possible to keep using index.md if it exists? (Otherwise, use _index.md). That would sidestep having to rename of those indexes to _index right away.

Unfortuanately not. Jekyll processes anything that doesn't start with a _ so we need to rename the file and let the single sourcing generator take care of writing it out.
There should be no change in behaviour - the file is now called _index.md rather than index.md but it works exactly as it did before unless you use any of the conditional rendering functionality

Closing as #3836 looks close to merge


Build failure

Builds using mvn clean install fails for two components:

camel-kura
camel-spark

[ERROR] The build could not read 2 projects -> [Help 1]
[ERROR]
[ERROR]   The project io.rhiot:camel-kura:[unknown-version] (/Users/klimaye/Projects/finiteloop.me/rhiot/components/camel-kura/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for io.rhiot:camel-kura:[unknown-version]: Could not find artifact io.rhiot:rhiot-iot-components:pom:0.1.3-SNAPSHOT in kura-repository (https://repo.eclipse.org/content/repositories/kura-releases/) and 'parent.relativePath' points at wrong local POM @ line 14, column 10 -> [Help 2]
[ERROR]
[ERROR]   The project io.rhiot:camel-spark:[unknown-version] (/Users/klimaye/Projects/finiteloop.me/rhiot/components/camel-spark/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for io.rhiot:camel-spark:[unknown-version]: Could not find artifact io.rhiot:rhiot-bom:pom:0.1.3-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 6, column 13 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

Instead of rhiot-components as the parent component, camel-kura POM refers to rhiot-iot-components as the parent
Setting the relative path for parent module in camel-spark POM to go one more level up

thx for this issue

Issue has been fixed with PR. Thanks for a contribution!


Primer Extension Methods

Hi there,
I'm curious about paired-end designs utilizing a single primer.  Is this something that BamClipper can handle?
Thanks!

We recently developed a variant of BAMClipper to handle single primer extension dataset but I am not sure whether it fits your dataset. Is your dataset  based on a commercially available gene panel like Qiagen Qiaseq? or ArcherDx?

Great, I'd love to try it out!  Otherwise, I will be writing my own. Yes, this is based on the QIAseq method, with UMIs.  I'm feeling good about adapter and UMI handling, now just trying to deal with the error rate in primer regions leading to incorrect allele frequency estimation.

We would also like to test it. Is it possible ?

Please contact<EMAIL_ADDRESS>for further discussion. Thank you.


[WIP]Add huawei dorado driver

Add huawei dorado driver.

Coverage decreased (-3.02%) to 38.062% when pulling 832a81c0ce87e61a913073611112a5e5f92be06e on xxwjj:huawei_dorado into d8865bc90da738552013814d7f3f96bbbd0847b4 on opensds:development.

Coverage decreased (-3.05%) to 38.035% when pulling cfca4f05899f6052b3ee0910f8bc11a8dcf96fa7 on xxwjj:huawei_dorado into d8865bc90da738552013814d7f3f96bbbd0847b4 on opensds:development.


Spotinst improvements

Add support for ephemeral volumes

Handle modifying groups better. Default to existing parameters
when updating a group and not passing in every argument

Refactor unit tests

Add SpotinstClient to extract Spotinst API code into its own
class

build


Need a way to know why slice creation failed.

When slice creation fails, we need a way to know what went wrong.
Below is the step by step process of how I know that the slice creation failed:

I try to create a slice.
slice_manager.create(slice_name='JupyterSlice1', slice_graph=slice_graph, ssh_key=ssh_key)
And then I query the slices using this:
status, slices = slice_manager.slices()
I run this line multiple times. I get "configuring" for some time.
Response Status Status.OK
Slices [{
    "graph_id": "aec118c8-41d0-42d0-a2d0-5857089a9695",
    "slice_id": "cb3d8d9c-ca02-44cf-8c13-9e8b15c97633",
    "slice_name": "JupyterSlice1",
    "slice_state": "Configuring"
}]

And then the slice disappears.
Response Status Status.OK
Slices []

I don't know what went wrong.

duplicate


[Bug]: custom prompt not working for sql query as expected , it's not able to pick the instructed column

Bug Description
When formulating a query, the SQL query encounters difficulties in comprehending the requested column from the prompt
selecting non relevant column
Version
latest
Steps to Reproduce
llm = OpenAI(temperature=0.1, model="gpt-3.5-turbo")
service_context = ServiceContext.from_defaults(
llm=llm,callback_manager=callback_manager
)
from llama_index.indices.struct_store.sql_query import NLSQLTableQueryEngine
query_engine = NLSQLTableQueryEngine(
sql_database=sql_database,
service_context=service_context
)
custom_prompt = """
follow the instructions if needed:
When given an inquiry of id, select the 'status' column"
"""
token_counter.reset_counts()
query_str = "What is the inqiry of id 1234?"
response = query_engine.query(custom_prompt + " " + query_str)
print(response.response)
print('token_counter:',token_counter.total_llm_token_count)
Relevant Logs/Tracbacks
No response

Hey @akashkumar398, the sql query engine could be fairly sensitive to model and prompt. Best to try with gpt-4 (or another LLM with high reasoning capability like Claude-2).


Bug: The latest version of the C # SDK cannot use CancellationToken properly

Here is our calling code:

This seems to be a bug related to OpenAI SDK, I have opened an issue to keep track of it.

https://github.com/openai/openai-dotnet/issues/213

How to cancel a task based on the Azure OpenAIC hatCompletionService library.
As shown in the code below, I triggered the cancel operation, and the prompt also said that the task has been canceled, but the text is still continuously outputting. How can I solve this problem? Thank you.


Nested conditionals will nullify outer conditionals

Given the following spec, I would expect that all examples would be filtered out.
context 'when the outer conditional is false', if: false do
  context 'and the inner conditional is true', if: true do
    it 'does not run this example' do
      expect(true).to eq(true)
    end
  end
end

Unfortunately, the inner context is still running.

This is working as designed.  Filtering is applied to individual examples (not example groups) and examples (and nested groups) are free to override the metadata that is set at the example group level.  This is what you are doing here.
I understand the confusion, though; if is named after a traditional conditional and it's not exactly mirroring the behavior you'd get out of a traditional conditional!  If you want a traditional conditional, you can use one:
if false
  context 'when the outer conditional is false' do
    if true
      context 'and the inner conditional is true' do
        it 'does not run this example' do
          expect(true).to eq(true)
        end
      end
    end
  end
end

Actually, we've tossed around the idea of deprecating the if and unless metadata, partly due to the potential for confusion.  The original use case (#167) no longer exists now that there is no longer a block form of pending.


Refactor cluster controller to separate out syncer management

This PR is not ready for review until #548 merges.
My intent here is separating out the controllers that previously comprised the cluster controller so they can be maintained and tested independently.
Notes:

pkg/reconciler/cluster/controller.go

shared ClusterReconciler that watches and responds to cluster events
intended to be provided a ClusterReconcileImpl to which Reconcile() and Cleanup() calls can be delegated

pkg/reconciler/cluster/syncer/syncer-manager.go

syncerManager implements logic common to management of push and pull syncers
delegates mode-specific logic to an implementation of syncerManagerImpl

pkg/reconciler/cluster/syncer/{push,pull}*.go

implements mode-specific versions of syncerManagementImpl

pkg/reconciler/cluster/syncer/syncer-controller.go

constructs a ClusterReconciler that delegates to syncerManager for reconcile and cleanup

pkg/reconciler/cluster/syncer/syncer-controller-start.go

enables starting the controller with flags, used by command and apiserver

The same rough model used for the syncer controller was also followed for api importer (pkg/reconciler/cluster/apiimporter).
Open to suggestions to factor it more cleanly, and name it more appropriately. This second pass was intended to balance reuse with separation.

Will be separating the syncer management into its own controller.

Fixed lint failure.


Conversions through Chromium could not work on Remote WSL extension

When export through Chromium to some file types such as PDF and PPTX, Marp conversion cannot work on Remote WSL environment powered by VS Code Remote Development Extension.
According to developer console, Marp CLI executes on WSL but freezes.

Probably it's releated to https://github.com/marp-team/marp-cli/issues/175.

It seems to be resolved in v0.11.0.


Expose docker port according to coreos guidelines

Implemented https://coreos.com/docs/launching-containers/building/customizing-docker/#enable-the-remote-api-on-a-new-socket so there is no need for everyone to search for it and implement. See #121,  #125, https://github.com/coreos/coreos-vagrant/issues/132

Two things here:

I'm not sold on this as the default behavior. I have no idea how common it is to enable the TCP socket
Assuming the need is actually here, this could be implemented a lot more cleanly in the user-data built into the vagrant OEM: https://github.com/coreos/coreos-overlay/blob/master/coreos-base/oem-vagrant/files/cloud-config.yml

@bcwaldon Just found this was already implemented in https://github.com/coreos/coreos-vagrant/pull/100. Closing.


Add getopt flag, and switch to fuzzy-matcher by default.

Add getopt flag:
-h, --help:  print help menu.
-r, --regex: use regex match instead fuzzy match.

Fuzzy match by default. If you want to use the query as regular expression,
try -r or --regex.

This branch has conflicts as GitHub says, I'll merge this PR if the conflicts are removed.

Sorry, fixed!


Feature/copy update policies

3scale copy service and 3scale update service commands add proxy policy to the list of entities to copy/update.
Needs new release of 3scale-api-ruby with the following PR merged
3scale/3scale-api-ruby#49

ready for review @mikz  @miguelsorianod


updates Azure package version

Hi @Kwal, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, DNFBOT;

@Kwal, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Thanks @Kwal but I think it's easier if people update the package themselves.


Consider providing Reactive Streams library implementation specific interfaces

In Micronaut, there's a good example of this.
HttpClient
https://docs.micronaut.io/latest/api/io/micronaut/http/client/HttpClient.html
ReactorHttpClient extends HttpClient:
https://micronaut-projects.github.io/micronaut-reactor/latest/api/io/micronaut/reactor/http/client/ReactorHttpClient.html
With pulsar-client-reactive, the challenge is about the nested interface layers and how to make that seamlessly work.
One possibility would be to have an interface method that adapts the current instance to some other Reactive Streams implementation library type.
One option would be that it's completely decoupled from the Reactive Streams library implementation type
public interface ReactiveMessageSender<T> {

	Publisher<MessageId> sendMessages(Publisher<MessageSpec<T>> messageSpecs);

        <R> R adapt(Class<R> adaptedSenderType);
}

public interface ReactorMessageSender<T> {

	Mono<MessageId> sendMessage(Mono<MessageSpec<T>> messageSpec);

	Flux<MessageId> sendMessages(Flux<MessageSpec<T>> messageSpecs);

}

Internally there would be some SPI (Service Provider Interface) which Reactive Streams library support modules could implement. This way it would be easy to add support for various Reactive Streams implementation libraries where the types of the implementation library would be directly supported.

The challenge is to build it in a way where the core doesn't depend on other Reactive Streams implementations.
(The core could depend on Reactor, so this applies to other implementations.)

I'm closing this as "wontfix". The solution for #1 is sufficient.
I made a broad experiment of a full blown approach where the whole API is mirrored for a specific Reactive Streams implementation, hiding the Project Reactor types completely. This experiment is in branch https://github.com/lhotari/pulsar-client-reactive/tree/lh-rs-impl-experiment .
The value of the wrapping is very minimal. All Reactive Streams libraries have interoperability with RS Publisher. Hiding this translation is just going to be more messy than using code for doing it.
One possible solution to the problem is to use Project Reactor's .as method (<P> P as(Function<? super Flux<T>, P> transformer)) to convert a Flux or Mono to another type.
For example, converting to RxJava3, would be as simple as .as(Flowable::from) or .as(Single::from).
Similar chaining with .as method could be done for Akka Streams and any other Reactive Streams implementation.


⚠ SceneTime has degraded performance

In b804a64, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2664 ms

Resolved: SceneTime performance has improved in b0ccf7d after 35 minutes.


Out of the box consent form might be a security risk.

Thank you for the package and also for the video on daily motion, easy to follow.
If anyone is using your out-of-the-box implementation, new users signing up might able to hook on to existing users by writing an existing users e-mail before submitting the consent form, that is, if one is still using the e-mail as a username/loginname.
Anyway, changing that and creating a new controller like you suggested I like the OidConnect.

Thank you for the feedback. The security concern you describe is one of the primary reason for me not to use "Socialite". The fact that OidConnect module integrates a real federation model protect us from the risk you describe.
In Socialite, the email your receive from Fakebook, Gmail, etc.. is used to query user in localDB, If you find the email you log corresponding user, if you do not find it you create a new user with that email as primary login key.
In OidConnect you only take UserID as returned by Facebook, Paypal, etc ... Then you check if this external userID exits in corresponding Social Federation table. If yes you retrieve corresponding local user. If not you prompt the user to create a new account, but this new account remains map on federated UserID and not on email or pseudonym values. I only force email and pseudonym to be unique in order to avoid the same user to create multiple account by accident, but technically this would be possible.
How to check this behaviour ?

To start with something clean. If you already create a demo account from github, login and delete your user on oiddemo.breizhme.net.

Login and federated a new account on the demo with facebook and any other supported social network [except github, that we will use in next step]

Logout from demo to pretend you're a different user.

Log on github and change your public email to be the same as the one used in step-2

Log on demo with this hacked github account. Despite the fact that you present the same email address that step-2, the system recognizes you as a new user and prompt from consent.

In consent phase the system will refuse your email from github. This because the two users [step-2 & step-5] are different, even if they claim the same email address.

Now if do the same thing with Socialite, step-5 user is going to log as being step-2 user, which I agree is a huge security risk.
It would have been nice to show all those usecases in the video, but video are already too long. Which is the reason why I had to host them on DialyMotion and accept their nasty advertisements.

I agree. Even if this component is hooked in directly to an already existing architecture the ones doing the integration should be aware.
I like the code, easy to read and follow, so changing and understanding what needs to be done was a breeze. Once again, thank you for your work!

Thank you for the compliment, I still need to make a proper PHP component but I'm somehow lazy :)
Note that automatically linking of multiple social users to one single local user based on email address remains possible. If your consider that a given email coming from a trusted IDP is safe enough to be used for an automatic federation nothing prevent you from doing it. In fact this is a pretty common scenario. OidDemo was originally implementing it, but I removed it to keep things as simple as possible. Few IDPs provide certified email. In my demo all IDP are ranked with the same level of security, but everyone knows that reality is somehow more complex.
For example Google returns a flag with "verified email" in its social user profile. Application may conciser that in such a case, if the end-user does not change his email during consent phase {or if consent does not allow user to change his email]. The application can then automatically federate this new social user with an existing the local account that uses this "verified" email.
What is not implemented out of the box, is the capability to merge after creation two local accounts in one. Some applications may want to group existing account in one single one. This is more complex has you need to understand how to merge data attached with both local accounts. This would happen when an existing account try to change its email and use one that already exist. We could then imagine a consent with "this email is already used, would you like to merge those two account". It is a very interesting use case but I'm not sure on how it could be implemented in a generic component.


commit history list collapsible

the commit history we shold be able to collapse it, or it should come collapsed by default.
we have 8 projects in the workspace and this is very annoying.

VS Code Version: 1.92.0
OS Version: windows 11

Duplicate of https://github.com/microsoft/vscode/issues/224517.


Ticket 23521 Support changing model bases in migrations

Not sure how can I edit old and closed PR from another user so I created a new one.
Original PR is here: https://github.com/django/django/pull/11222
Ticket: https://code.djangoproject.com/ticket/23521
I'm actually using the code in my project, decided to fix it here.

Thanks for this patch :+1: Simon's comment is not addressed.

@felixxm created autodetect for changing bases but found another issue with model bases, which is kinda blocking some of AlterModelBases functionality. I can't find a ticket for that, should I address it in that PR?
Steps to reproduce:

Create 2 models that have models.Model in bases:
class A(models.Model):
pass
class B(models.Model):
pass

Try to apply multi-table inheritance to one of them:
class B(A):
pass

Results:
You will get exception:
django.core.exceptions.FieldError: Local field 'id' in class 'B' clashes with field of the same name from base class 'A'.
btw, if you have more than one model in bases, you will get the similar error also
I can see 2 possible solutions:

Rename ID field, change it to models.OneToOne with primary_key and make sure the user will prepopulate that field somehow.
Just raise the exception and ask the user to write migration manually.

hiya @Zorking and happy new year. Distinct issue deserve distinct tickets! 👍🏻  This allows folks who monitor tickets a chance to vet your issue and accept it or ask for clarification. If your issue is accepted you can claim it and fix here; or if your fix is lightweight you might choose to fix in a separate PR that can get merged fast. Best, Jacob

hiya @Zorking and happy new year. Distinct issue deserve distinct tickets! 👍🏻  This allows folks who monitor tickets a chance to vet your issue and accept it or ask for clarification. If your issue is accepted you can claim it and fix here; or if your fix is lightweight you might choose to fix in a separate PR that can get merged fast. Best, Jacob

hiya @Zorking and happy new year. Distinct issue deserve distinct tickets! 👍🏻 This allows folks who monitor tickets a chance to vet your issue and accept it or ask for clarification. If your issue is accepted you can claim it and fix here; or if your fix is lightweight you might choose to fix in a separate PR that can get merged fast. Best, Jacob

Hi!
The issue was created 6 years ago and the ticket is in detail of the PR.
I already tested the fix in the production of the project that I worked on, worked great.
Should I change the PR name to something different or add some tags?

hiya @Zorking and happy new year. Distinct issue deserve distinct tickets! 👍🏻 This allows folks who monitor tickets a chance to vet your issue and accept it or ask for clarification. If your issue is accepted you can claim it and fix here; or if your fix is lightweight you might choose to fix in a separate PR that can get merged fast. Best, Jacob

Hi!
The issue was created 6 years ago and the ticket is in detail of the PR.
I already tested the fix in the production of the project that I worked on, worked great.
Should I change the PR name to something different or add some tags?

Ah, I was referring to the comment directly above where you said you identified a second issue without a ticket.

Ah, I was referring to the comment directly above where you said you identified a second issue without a ticket.

@jacobtylerwalls got it!
Is it worth spending time with? Maybe I didn't get the workflow right, but the PR and the ticket look kinda dead.

@jacobtylerwalls got it!
Is it worth spending time with? Maybe I didn't get the workflow right, but the PR and the ticket look kinda dead.

Short answer is yes. Long answer is that some new Django contributors have some trouble getting used to the setting Needs... flags on the ticket to No to get in the patch review queue. I can recommend you set those flags once we get this other issue to no longer be blocking! Cheers.

Short answer is yes. Long answer is that some new Django contributors have some trouble getting used to the setting Needs... flags on the ticket to No to get in the patch review queue. I can recommend you set those flags once we get this other issue to no longer be blocking! Cheers.

@jacobtylerwalls I created the ticket.

once we get this other issue to no longer be blocking!

The issue is not blocking the current fix, it's just limiting it a bit. AlterModelBases will remove model inheritance, but can't be used in order to actually alter all possible model bases (add new, patch, etc.). That is what I meant by blocking some of the functionality.

@jacobtylerwalls I created the ticket.

once we get this other issue to no longer be blocking!

The issue is not blocking the current fix, it's just limiting it a bit. AlterModelBases will remove model inheritance, but can't be used in order to actually alter all possible model bases (add new, patch, etc.). That is what I meant by blocking some of the functionality.

Super. Then if in your judgment this patch is ready for review please set all the Needs... flags in the ticket to no.

Super. Then if in your judgment this patch is ready for review please set all the Needs... flags in the ticket to no.

Closing due to inactivity.

What? No, please reopen this, this is an insanely important thing to fix =(

@Pomax Feel-free to check comment and prepare a new patch.

If I had the skill, I would, but this is exactly the thing I don't have the skills for to the point where I had to bounty off 500 rep on Stackoverflow just to get help even getting a workaround. Having the team take this one on instead of external contributor at this point in the PR is most definitely worth the team's time given what it fixes (and how long that bug's been the case).

Having the team take this one on instead of relying on external contributor at this point in the PR is most definitely worth the team's time given what it fixes

The team is external contributors and your feeling about the urgency of fixing this particular issue is shared amongst all Django users affected a particular issue affecting their workflow. In other words nothing makes it issue special compared to the other existing hundreds of bugs and the most productive way of getting it fixed it to commit time to making the few remaining adjustments brought up above as their is no paid contributors actively fixing bugs that aren't issues affecting Django releases (regressions, security issues)
Closing inactive PRs is just a way for fellows to manage the large number of changes requests received by the community in a way that ensures the sustainability of the project in terms of code quality and maintainability. To give you an example, if a developer proposing non-trivial changes is not responsive during the review process it's likely that they also won't be if their changes happen to introduce a regression that the limited number of volunteers and the fellows will have to figure out a solution for or simply revert the patch.

While true, what does make it special is the fact that there already is a PR that's 95% of the way there, based on the comments? As opposed to bugs that haven't been started on. @Zorking are you still on github at all? If so, could I convince you to finish this PR?


Screening of AMC projects from the Projects listed

In the products page screening of AMC Projects

closing as task is done


Fix signed integer subtraction involving iX::MIN

The current state of affairs is that subtraction with iX::MIN as the second operand results in an overflow, as signed integer subtraction is implemented using the following algorithm: a - b = a + (-b) and if the value of b is the minimum boundary of that type, the negation results in an overflow. This is special-cased in tests, which skip operations where b.checked_neg().is_none().
A possible solution is to adjust the subtraction algorithm for b == iX::MIN to the following: a - b = -(-a + b), and to handle the one operation where it doesn't work, i.e. when both a and b are equal to iX::MIN by just returning 0.
Fixes https://github.com/AleoHQ/leo/issues/800.

There is an argument for disallowing negation when the negated value would overflow when negated on its own, but since this is an intermediate operation in subtraction, it is not visible to the user and could thus be confusing, especially if it happens as part of some larger arithmetic operation where the affected operands are not immediately apparent.

Closing due to inactivity and conflicts, happy to revisit if still applicable.


OperationalInsights Workspace 'dailyQuotaGb' type inaccurate

Bicep version
0.11.1 (030248df55)
Describe the bug
When attempting to set the dailyQuotaGb property; the Microsoft documentation, Bicep warning message, and actual data type needed are all in conflict.
Microsoft Documentation states that property is a nullable double
Bicep indicates that the property is an Int

However, in order to get the template to deploy, it seems that the property needs to be a numeric string
dailyQuotaGb: '1.25'
To Reproduce

create a Microsoft.OperationalInsights/workspace@2022-10-01 (all attempted schemas show same issue)
attempt to set the workspaceCapping.dailyQuotaGb property

You should be able to do the following:
  dailyQuotaGb: json('0.025')


Icon submission: BitSight

Icon type
Logo based
URL of the site or app
https://www.bitsight.com/
Logo / icon info
Letter "B" taken from the embedded SVG logotype in the header
Background color info
Background color is from the logo.
Upload icon(s)

Anything else?
No response
Confirmation

[X] I have read and carefully followed CONTRIBUTING document

Use full logo, not one letter.

Here is the updated file: BitSight.zip


Made Abstract Particle Swarm Background component responsive

Fixes Issue🛠
Closes #1411
Description👨💻
Changes made in styles

Body is flex, with internal elements vertically and horizontally centered
Canvas width height is 100 of viewport

Changes made in script

Fetched getBoundingClientRect of the canvas
Assigned height and width vars to the returned dynamic value
New event listener on window resize, refetches the getBoundingClientRect of the canvas and assigns width height vars to the new width height of the canvas

Type of Change📄

[x] Style (non-breaking change which improves website style or formatting)
[x] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project

Screenshots/GIF📷

Mobile View
Desktop View

Thanks for reviewing and merging my PR.


LLMContextPrecisionWithoutReference KeyError: 'reference'

[ yes] I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
LLMContextPrecisionWithoutReference not working as mentioned
https://docs.ragas.io/en/latest/concepts/metrics/available_metrics/context_precision/
Ragas version:
Python version:
Code to Reproduce
import asyncio
from ragas.dataset_schema import SingleTurnSample
from ragas.llms import LangchainLLMWrapper
from langchain_openai import ChatOpenAI
from ragas.metrics import LLMContextPrecisionWithoutReference

import os
os.environ["OPENAI_API_KEY"] = "Key"

sample = SingleTurnSample(
    user_input="Where is the Eiffel Tower located?",
    response="The Eiffel Tower is located in Paris.",
    retrieved_contexts=["The Eiffel Tower is located in Paris."],
)
evaluator_llm = LangchainLLMWrapper(ChatOpenAI(model="gpt-4"))
context_precision = LLMContextPrecisionWithoutReference(llm=evaluator_llm)
async def call_context():
    score = await context_precision.single_turn_ascore(sample)
    print(score)

asyncio.run(call_context())

Error trace
python3.10/site-packages/ragas/metrics/_context_precision.py", line 163, in _ascore
    answer=row["reference"],
KeyError: 'reference'

Expected behavior
It should give score without requiring reference.

Glad to see this error reported. I am facing similar issue.

this was fixed with the PR - will be out next week - thanks for raising the issue 🙂


codeunit 8800 "Custom Layout Reporting" - SetTableFilterForReportID() - does not honour report substitutions

SetTableFilterForReportID() is called, for example, by the Customer Card as follows, to default the filter on the Customer No. to the record that was being viewed on the card:

The problem here is that if we subscribe to ReportManagement.OnAfterSubstituteReport and replace the Standard Statement with our customised one, then the above means the Customer No. filter is saved for the original report ID, not the one whose request page is actually opened by Custom Layout Reporting... so we lose the default filter on the No.. This annoys customers and seems like an obvious point of hard-coding where there shouldn't be.
This applies to anywhere else where this is happening, though I didn't go looking for cases.

Is there a way that SetTableFilterForReportID() can go via SubstituteReport and thus save the new report ID after substitution, so the request page filters default in the same way, whether or not the report has been substituted?
Thanks!

For reference, that function currently looks like this:
procedure SetTableFilterForReportID(ReportID: Integer; CustomerNo: Text);
begin
    TableFilterForReportID := ReportID;
    TableFilterTxt := StrSubstNo(TableFilterTok, Format(ReportID), STRSUBSTNO(EscapeTok, ParseCustomerNo(CustomerNo)));
end;

and those global variables will later be used here:
[Scope('OnPrem')]
procedure GetReportRequestPageParameters(ReportID: Integer) XMLTxt: Text
[...]
    if IgnoreRequestParameters then
        exit('');
    If ReportId = TableFilterForReportID then
        exit(TableFilterTxt);
    if not ObjectOptions.Get(LastUsedTxt, ReportID, ObjectOptions."Object Type"::Report, UserId, CompanyName) then
        exit('');
    ObjectOptions.CalcFields("Option Data");
    ObjectOptions."Option Data".CreateInStream(InStr);
    InStr.ReadText(XMLTxt);
    exit(XMLTxt);
end;

workarounds for this that I've considered and failed:

I can't use OnBeforeAction() in our page extension, because Custom Layout Reporting only saves 1 latest report ID/filter, so its one just overwrites ours from OnBeforeAction.
I can't replace the entire trigger, because it calls OnPrem methods, which we can't do in a SaaS extension.

I guess we'd have to add our own single-instance codeunit, in which to stash the customer no, and reload it when opening the request page of our customised report... but I'm far from convinced it's worth that much hassle just to preserve standard functionality that shouldn't be broken by report substitutions.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

@JesperSchulz How was this fixed, and in which version(s)? 17.5 doesn't seem to have it. I couldn't check 18.0 yet.

We will update this issue with information about availability.

Yet no one who says this ever does! Can you either actually do it, or remove it from your stock message? ;-)

That "GitHub issue updating automation" is indeed not very robust. If developers deviate the slightest from our processes or fill in some not 100% accurate information in our internal work items, the automation breaks and doesn't report anything back. It is supposed to work like in this issue (#10481), but that seems to be the exception rather than the rule. I'll see what I can do about that.
Now to your actual question. I can see that a checkin was made on the 8th of February, meaning the fix has shipped with version 18. The changes made to the customer card look at little something like this:

I hope that answers your question.

Thanks for the info and investigation!
Can that be backported to BC17 and possibly earlier? Or do you confider it too 'large' to do so?
That said, I don't think the approach taken above can work fully, for several reasons...

If the Customer has no Custom Report Selection of their own, and will just use the one from the overall Report Selection - Sales page, that won't be acknowledged here.
Even if they do have a Custom Report Selection, that code just looks up the first for any customer, not necessarily the one being reported for... which can result in wrong IDs getting used and hence the functionality stopping working again.
It doesn't honour report substitution as requested! I'd expected that even if the report selections used the Standard Statement, if we were substituting that with something else in the AL code - not in the Report Selections - that said substitution would be honoured. Mind you, I don't know if that would work with Custom Layout Reporting for potentially innumerable other reasons... but it was what was requested ;-)

Just my thoughts - appreciate that some effort has been made anyway - and by using the above setup, we could conceivably work around the problem for some cases - but it looks lacking and brittle at the moment.

I have forwarded your comment to the author of the code. As this case is closed, please create a new issue, if you have further requests, as closed issues disappear from our radar. Thanks for the input!


Add category for ground truth

existing datasets, c.f. https://github.com/cneud/ocr-gt/issues/1
tools to create (archiscribe, glyph miner, ocr-gt-edit...)
tools to evaluate

I moved the data from ocr-gt here to initiate a new datasets category with ground truth resources (and eventually further subcategories).
Tools to create/evaluate ground truth would imho better fit in a subcategory under the software category (as they partially already do).


MPEG-4: display of recorded date from DV substream

Request from https://twitter.com/The_BFOOL/status/869633548214521856

Example of result:
Complete name                            : 0019IO.mov
Format                                   : MPEG-4
Commercial name                          : DVCPRO HD
Format profile                           : QuickTime
Codec ID                                 : qt   2005.03 (qt  )
File size                                : 16.7 MiB
Duration                                 : 2 s 836 ms
Overall bit rate                         : 49.3 Mb/s
Recorded date                            : 2008-11-06 13:11:34.000
Encoded date                             : UTC 2008-11-11 01:58:20
Tagged date                              : UTC 2008-11-11 01:58:20
Writing library                          : Apple QuickTime

Encoded date is from MPEG-4 header
Recorded date (added) is from DV substream


[AutoRelease] t2-resource-2023-08-01-80034(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/2985
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1031
BuildTargetingString
azure-mgmt-resource
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/2985


chore(ci): cache cargo

Cache cargo binaries (?) to improve CI speed. You can compare the CI times on the commits to see the difference, when using the cache it's ~4 min faster

Thanks!


mesh: use mesh transaction in AccountMeshDataQuery rpc

Actually, I added it and then removed because it won't be so easy to add to the streaming interface. LayerID can be added to stream without significant refactoring, but BlockID is not propagated to the place where tx notification is made.
Maybe I shouldn't use MeshTransaction for streaming response.

Maybe I shouldn't use MeshTransaction for streaming response.

I think we should because clients definitely need it in the stream as well as in the query.

Maybe I shouldn't use MeshTransaction for streaming response.

I think we should because clients definitely need it in the stream as well as in the query.

Again, we designed transaction objects in the API to not contain layer info because a transaction can exist before being added to a layer, e.g., while in the mempool. There are places in go-spacemesh where a tx event is reported with no context of layer or block.

I assumed that this API is for AccountMeshData that is already included in the mesh, is this not the case?
Based on my observation, transactions are always saved only after the layer is known. And they are pushed to the notification engine  in two cases:

if dropped from tx pool (layer is not known)
after applying transaction to the state (layer is known)
But the streaming interface that I talked about actually ignores the first, and only publishes the second.

As for receipts, are they used in the current codebase? I can't find code that pushes them to events.ReportReceipt

I think the correct way to solve this problem, without breaking the existing API design, is to use receipts. That's what they're for. I don't think a layer should be included in a transaction object. On the contrary, the transaction object should be included in a block, which should be included in a layer.
Receipts haven't been implemented yet. But we could probably quickly implement something very basic that just includes the required information while we finalize the design.

I think the correct way to solve this problem, without breaking the existing API design, is to use receipts. That's what they're for. I don't think a layer should be included in a transaction object. On the contrary, the transaction object should be included in a block, which should be included in a layer.

@lrettig - receipts won't provide a solution to all cases. Clients need to know which layer a transaction they are interested at is on the mesh and such transactions can be on the mesh before a receipt for them has been created. This will be the case from the time node knows they got to a layer until the STF is executed for transactions in this layer. My working assumption for 0.2 clients has been that receipts will not be implemented for 0.2. When clients display transactions, they need to order them according to some time measure, otherwise they appear random in the transactions log. This is why we just want the layer number indicator in MeshTransaction. So, I see no reason why we should not add layer number to transactions returned by the MeshService when the transactions are in a layer in the mesh - and yes, it is a shortcut for getting the block and getting the layer for that block. User clients, in general, do not care about blocks at all - but they do care a lot of timing information for transactions they care about...

@lrettig - following our discussion about this:
TransactionState in current API release:
// TransactionState is the "journey" of a tx from mempool to block inclusion to
// mesh to STF processing. To know whether or not the tx actually succeeded,
// and its side effects, check the Receipt in the GlobalStateService.
message TransactionState {
    TransactionId id = 1;
    enum TransactionState {
        TRANSACTION_STATE_UNSPECIFIED = 0; // default state
        TRANSACTION_STATE_REJECTED = 1; // rejected from mempool due to, e.g., invalid syntax
        TRANSACTION_STATE_INSUFFICIENT_FUNDS = 2; // rejected from mempool by funds check
        TRANSACTION_STATE_CONFLICTING = 3; // rejected from mempool due to conflicting counter
        TRANSACTION_STATE_MEMPOOL = 4; // in mempool but not on the mesh yet
        TRANSACTION_STATE_MESH = 5; // submitted to the mesh
        TRANSACTION_STATE_PROCESSED = 6; // processed by STF; check Receipt for success or failure
    }
    TransactionState state = 2;
}

Note that it is design to return all possible state of a tx in the system, including execution results, rejection, mehs inclusion, etc...
Here's my understanding of the txs design pattern for 0.3:

Call TransactionsState our subscribe to TransactionsStateStream in TransactionService to get the TransactionState of a transaction by id. The TransactionState as currently implemented provide an accurate and high-level status. For example, using it client can tell if the tx is in the mem-pool, on the mesh or was executed.
If tx status shows it was executed then call GlobalStateServicee to get a tx receipt with detailed info.
If tx is on mesh but not executed - call the MeshService to get the tx mesh status - this is where we have a gap in our understanding. It is my understanding that the response should include all the mesh-related info about the tx, including layerId and blockId.

Tx receipts are not planned to be implemented for 0.2. So for 0.2 the pattern is:

Call TransactionsState our subscribe to TransactionsStateStream in TransactionService to get the TransactionState of a transaction by id. The TransactionState as currently implemented provide an accurate and high-level status. For example, using it client can tell if the tx is in the mem-pool, on the mesh or was executed.
If tx is on mesh but not executed - call the MeshService to get the tx mesh status - this is where we have a gap in our understanding. It is my understanding that the response should include all the mesh-related info about the tx, including layerId and blockId.
Use the TranactionState to display information for the client, for example TRANSACTION_STATE_PROCESSED, TRANSACTION_STATE_MESH, TRANSACTION_STATE_CONFLICTING.

Let's first agree that these patterns are accurate. If they are then it makes sense to me to add mesh-info to the MeshService tx related methods.

Clients need to know which layer a tx they are interested at is on the mesh, and such txs can be on the mesh before a receipt for them has been generated. This will be the case from the time node knows a tx got to a mesh layer and until the time that STF is executed for txs in this layer.

If tx is on mesh but not executed - call the MeshService to get the tx mesh status

This doesn't make sense to me. There is no such thing as "on the mesh but not executed." When a tx appears "on the mesh," that means it's been mined into a block and put in a layer, the layer has been confirmed, and all nodes should have already run the transaction. It's atomic. Are you suggesting something like "a miner has included the transaction in a proposed block (that hasn't yet been confirmed as part of any layer"? That's still just pending, in my mind.
There is no "from the time node knows a tx got to a mesh layer and until the time that STF is executed for txs in this layer" - again, this is atomic.
The right thing to do is to 1. use the tx service to submit the tx and get the txid, then 2. follow the LayerStream in the mesh service until you see the tx appear in a block in a confirmed layer. Alternatively you can 3. follow the GlobalStateStream in the global state service and look for a corresponding tx receipt.
We may want to add filters to one or both of these streams to make it easier to filter for a specific txid.
I'm still a little bit uncomfortable with adding layer number to the transaction data object (directly, or indirectly as a wrapper). We have a very neat directed abstraction: epoch -> layer -> block -> tx. By adding a link from tx -> layer, you add a cycle in this otherwise acyclic graph.
In design terms, I think a good API is opinionated and presents exactly one way to retrieve each unit of data (rather than lots of hacks or shortcuts). I think the right approach here is to:

implement tx receipts (at least very basic functionality)
add filters to the existing query and stream endpoints, as necessary, if smapp can't handle the volume of data (this is the existing design pattern that we chose)

Thanks for your detailed explanation. So this means that:

We must implement the transaction receipts methods in the GlobalStateService in order ship 0.2 smapp and smrepl and we can't hack around it and this becomes an 0.2 blocking issue.
don't think we want or need implement filtering by txs ids in MeshService if indeed we modify the definition of a verified layer to mean that the txs on this layer have been executed because it is unnecessary and requires constant extra computation in the node when clients are registered on that stream - it will need to compare each tx in each block with a list of one or more txs registered by clients in filters.

My proposal for how to deal with this is as follows:

client generates and submits a new tx using TransactionService.SubmitTransaction (and gets a new txid in response)
client shows a "pending" state for this tx
client calls MeshService.LayersQuery once per layer and iterates through the response data to check if the transaction was successfully added to the mesh. if so, client updates the UI with layer timestamp and marks the tx as successful/final.
if the tx does not appear in the mesh after one or two layers, mark the tx as failed and suggest that the user submit it again

Without having implemented tx receipts, we have no way to prove that a tx failed, but if it doesn't appear in the mesh within one or two layers max, we know implicitly that this is what happened. This is sufficient for now. We can do this more explicitly (and provide more info on what happened, e.g., out of gas, bad nonce, VM error, whatever) later when we properly implement transactions.
I'm going to close this since this use case does not require API changes at present.

This proposal needs to be clarified a bit to consider that clients will often go offline and online again.

After client queried a layer for txs, it needs to persist this layer number.
When new app session begin, client needs to load the stored layer number and query the MeshService for all layers from that layer until the tip (current layer) to transactions and look for transactions of interest in these layers.
Once a transaction is in a layer, associate layer number with a tx.

Discussed this with @avive further. We agreed that it's okay to add this to API v1 for convenience (until tx receipts have been implemented), but it will not be included in API v2.

you can go ahead and merge - merging in this repo does not require that CI be passing, that's just informational (this is a breaking change)


RxMoya & ReactiveMoya tests are using deprecated providers

I noticed that our unit tests are running using the RxMoyaProvider and ReactiveSwiftMoyaProvider that are marked as deprecated in Moya v9.0.0. I'm just curious if this is intentional.

No; they should use the current implementation.

@SD10 We changed the tests as well, I don't see where is RxMoyaProvider used in tests, but if it is, we should change it. I left some tests for ReactiveSwiftMoyaProvider because there were some specific tests with subclassing that could be still valuable before we remove reactive providers.
But, indeed, I found one place when we have ReactiveSwiftMoyaProvider where we probably don't need to.

Great, thanks for clarifying. Are we going to remove these in Moya 10.0? I assume we only leave things deprecated for 1 major version?

@sunshinejr I can submit a PR removing these if you'd like. They're blocking my fun ☹
Some other things:

Are these two tests identical? Test One and Test Two.

I can remove both if so. Just want to make sure we're not missing something.

What's the replacement for the stubScheduler property of ReactiveSwiftMoyaProvider?

Are we requiring that users override the stubRequest method of MoyaProvider to use a scheduler?

Sure, go ahead @SD10!

Right, seems like these are the same.
Currently we don't have a replacement easy to build, one of the ways should be subclassing the MoyaProvider as you've said. We were hoping that if the request for this feature is big, we would come up with something easier, but seems like it is not 😄

@SD10 if you are working on that, could you change the name of MoyaProviderRx class in tests to MoyaProviderRxSpec as it is for the rest of it (really bugs me off but I don't want to overlap your work).

Yes I've made that change and closing this in favor of the PR @ #1320


References

(I will collect some here for my refactor)
http://lib.tkk.fi/Diss/2005/isbn9529187793/isbn9529187793.pdf

https://www.software.ac.uk/resources/guides/adopting-open-source-licence

https://jacobian.org/2009/sep/17/contributor-license-agreements/


Fix golint issues in maya/pkg/msg/v1alpha1/msg.go

File: maya/pkg/msg/v1alpha1/msg.go
Line 36: warning: exported type MsgType should have comment or be unexported (golint)
Line 39: warning: exported const InfoMsg should have comment (or a comment on this block) or be unexported (golint)
Line 64: warning: exported function IsInfo should have comment or be unexported (golint)
Line 71: warning: exported function IsWarn should have comment or be unexported (golint)
Line 78: warning: exported function IsSkip should have comment or be unexported (golint)
Line 85: warning: exported function IsNotInfo should have comment or be unexported (golint)
Line 89: warning: exported function IsErr should have comment or be unexported (golint)
Line 96: warning: exported function IsNotErr should have comment or be unexported (golint)
Line 115: warning: exported method Msgs.Filter should have comment or be unexported (golint)
Line 127: warning: exported method Msgs.Log should have comment or be unexported (golint)
Line 136: warning: exported method Msgs.LogNonInfos should have comment or be unexported (golint)
Line 140: warning: exported method Msgs.LogNonErrors should have comment or be unexported (golint)
Line 144: warning: exported method Msgs.LogErrors should have comment or be unexported (golint)
Line 148: warning: exported method Msgs.AddInfo should have comment or be unexported (golint)
Line 156: warning: exported method Msgs.AddWarn should have comment or be unexported (golint)
Line 164: warning: exported method Msgs.AddSkip should have comment or be unexported (golint)
Line 172: warning: exported method Msgs.AddError should have comment or be unexported (golint)
Line 180: warning: exported method Msgs.Merge should have comment or be unexported (golint)
Line 194: warning: exported method Msgs.Infos should have comment or be unexported (golint)
Line 198: warning: exported method Msgs.NonInfos should have comment or be unexported (golint)
Line 202: warning: exported method Msgs.Errors should have comment or be unexported (golint)
Line 206: warning: exported method Msgs.NonErrors should have comment or be unexported (golint)
Line 210: warning: exported method Msgs.Skips should have comment or be unexported (golint)
Line 214: warning: exported method Msgs.Warns should have comment or be unexported (golint)
Line 218: warning: exported method Msgs.HasWarn should have comment or be unexported (golint)
Line 247: warning: exported method AllMsgs.HasError should have comment or be unexported (golint)
Line 255: warning: exported method AllMsgs.HasWarn should have comment or be unexported (golint)
Line 263: warning: exported method AllMsgs.HasSkip should have comment or be unexported (golint)
Line 271: warning: exported method AllMsgs.HasInfo should have comment or be unexported (golint)
Line 279: warning: exported method AllMsgs.IsEmpty should have comment or be unexported (golint)
Line 291: warning: exported method AllMsgs.ToMsgs should have comment or be unexported (golint)
Line 319: warning: exported method Msgs.AllMsgs should have comment or be unexported (golint)

Resources:
-> Contributors guide: https://github.com/openebs/openebs/blob/master/CONTRIBUTING.md
Complexity: Easy

go ahead @AndreaM16 . Let me know if you need any help.

Since this isn't really resolved, should I work on this? :)


MSBuild Transforms - Transform Modifiers - Example - Description

🛑 IMPORTANT: You can get your feedback addressed faster if you use the comment section for the article in which you encountered a problem.
There is no comment section!?
Link to article:
https://github.com/MicrosoftDocs/visualstudio-docs/blob/master/docs/vs-2015/msbuild/msbuild-transforms.md
Problem:
The line
c:\sub0\sub1\sub2\sub3
should be changed to
c:\xmake\sub1\sub2\sub3

@jjELT Your link is not found.

I guess this is outdated and can be closed.