MLIR code generation from Julia SSA IR.

This PR contains an experimental way to generate MLIR code from Julia code. Similar in spirit to MLIR-python-extras, and initially based off of Pangoraw's Brutus example.
Currently it probably only works for Julia 1.11 as it uses some Core.Compiler functions that are in flux.
Example
# Regular Julia code:
struct Point{T}
    x::T
    y::T
end

struct Line{T}
    p1::Point{T}
    p2::Point{T}
end

sq_distance(l::Line) = (l.p1.x - l.p2.x)^2 + (l.p1.y - l.p2.y)^2

# Convert this to MLIR:
op2 = cg(Tuple{Point{i64},Point{i64}}) do a, b
    l = Line(a, b)
    d_2 = sq_distance(l)

    Point(((a.x, a.y) .- d_2)...)
end

generates:
  func.func @f(%arg0: i64, %arg1: i64, %arg2: i64, %arg3: i64) -> (i64, i64) {
    %0 = arith.subi %arg0, %arg2 : i64
    %1 = arith.muli %0, %0 : i64
    %2 = arith.subi %arg1, %arg3 : i64
    %3 = arith.muli %2, %2 : i64
    %4 = arith.addi %1, %3 : i64
    %5 = arith.subi %arg0, %4 : i64
    %6 = arith.subi %arg1, %4 : i64
    return %5, %6 : i64, i64
  }

I'm leaving out some details but the full code is included in examples/main.jl.
It is possible to customise Julia function <--> MLIR operation mappings by defining "intrinsic" functions (this is an awfully vague name, any alternatives?).
For example, an intrinsic function that maps addition onto arith.addi:
@intrinsic Base.:+(a::T, b::T) where {T<:MLIRInteger} = T(Dialects.arith.addi(a, b)|>result)

Again, more details can be found in examples/definitions.jl.
Internal Details
Julia code is first lowered to SSA IR using a custom AbstractInterpreter (Generate.MLIRInterpreter) that allows types other than Bool to be used for conditional gotos. This AbstractInterpreter also overwrites the inlining policy to inline everything except calls to intrinsics. (see src/Generate/absint.jl)
With this SSA IR in hand, a source2source transformation is applied that replaces all control flow statements to builder functions that build corresponding MLIR unstructured control flow operations. (see src/Generate/transform.jl)
Finally, the transformed IR is executed and produces an MLIR region.
The code generation can be nested to support generating MLIR operations containing regions, the last example in examples/main.jl shows how an scf.for operation can be generated.

TTFG (time-to-first-generate MLIR code) is long. I haven't worked on optimising this but I believe the biggest slowdowns have to do with the AbstractInterpreter caching. CI is way slower because of this...
This PR is an updated version of what I did for my Master's thesis. The internal details compared to my thesis have changed a bit (for the better), but for my thesis, I wrote a lot more examples including generating linalg operations from einsum expressions, or generating GPU kernels. The code can be found here

Really nice! I like the intrinisc approach a lot!

In the original Brutus we had a simple worklist to allow for function calls.
https://github.com/JuliaLabs/brutus/blob/c45ec5e465c0de01dc771e3facee7479fd2ac8ef/Brutus/src/codegen.jl#L70-L86

This looks awesome!!

It is possible to customise Julia function <--> MLIR operation mappings by defining "intrinsic" functions (this is an awfully vague name, any alternatives?).

intrinsic looks nice to me. If you need other names, maybe primitive?

But it would be okay if we added an @intrinsic for these cases right?

TTFG (time-to-first-generate MLIR code) is long. I haven't worked on optimising this but I believe the biggest slowdowns have to do with the AbstractInterpreter caching. CI is way slower because of this...

Would it be posible to run the AbstractInterpreter on some warmup codes during precompilation and save the cache for later?

In the original Brutus we had a simple worklist to allow for function calls.

Aha, thanks for the link, this should be doable. How does this handle function names? e.g. when calling +(::Int, ::Int) and +(::Float64, Float64) in the same function?

Is the full set of Julia SSA IR mappable to MLIR?

Not completely yet. I've ignored PhiC and Upsilon nodes, and PiNodes don't generate any MLIR.
For full Julia compilation like Brutus, the current intrinsic system also doesn't suffice because Julia builtins cannot be specialized.
julia> Base.abs_float(x) = x
ERROR: cannot add methods to a builtin function
Stacktrace:
 [1] top-level scope
   @ REPL[6]:1

Tapir.jl handles this by replacing any call to a Core.IntrinsicFunction with a call to a function that calls the builtin. (code).
The current system also doesn't allow to map existing Julia types onto MLIR operations. For example, defining an intrinsic for Base.:+(::Int, ::Int) won't work because it literally redefines this method so you can't add integers together anymore.
To fix this, intrinsic definitions should exist in a separate context. CassetteOverlay.jl could be used to achieve something like this, but during my thesis I depended on it and ran into strange errors and found the package to be quite fiddly.
Alternatively, we could again take inspiration from Tapir.jl and use something similar to their rrule (relevant code).
I.e., use a function like intrinsic(<:Tuple{Base.:+, ::Int, ::Int}) = ... instead of redefining the method. The source transformation should then replace each call to a function with a call to intrinsic with the correct signature.

Would it be posible to run the AbstractInterpreter on some warmup codes during precompilation and save the cache for later?

Yes! One annoyance is that redefining intrinsics can spoil the cache because there's no backedge from e.g. Generate.is_intrinsic(::Type{<:Tuple{typeof(+), T, T}}) to Base.:+(::T, ::T). Tapir.jl faces the same limitation.
I spent some time trying to add these backedges manually but quickly found myself out of my depth.
Still, this should speed up things a lot for the initial experience. I haven't done this before so would have to find how exactly to do this properly.

But it would be okay if we added an @intrinsic for these cases right?

Not sure I'm following here. Currently, the ability to define intrinsics can't cope with recursion and dynamic dispatch. Full inlining  is required to expose all control flow that's otherwise hidden in function calls. All control flow needs to be known upfront because all basic blocks are created at the start of MLIR generation.
With a worklist algorithm that generates calls instead of inlining everything, this should be a non-issue, though.

We used https://github.com/JuliaLabs/brutus/blob/c45ec5e465c0de01dc771e3facee7479fd2ac8ef/lib/Codegen/Codegen.cpp#L42
So the name included the signature.
https://github.com/JuliaLabs/brutus/blob/c45ec5e465c0de01dc771e3facee7479fd2ac8ef/test/Codegen/translate/caller.jl#L11

Really nice! I like the intrinisc approach a lot!

In the original Brutus we had a simple worklist to allow for function calls.
<EMAIL_ADDRESS>
I'm implementing function calls but I'm having trouble understanding the difference between invokes and calls.
In the Brutus code, it seems like only invokes are being added to the worklist. But when I look at IRCode for some functions, I also see calls that would need to be added to the worklist.
Based on what I found online, "calls" are dynamic function calls while "invokes" are static. But why is sitofp a call instruction instead of an invoke, AFAICT, the method can be statically decided...
julia> only(Base.code_ircode(sin, Tuple{Int}))
1627 1 ─ %1 = Base.sitofp(Float64, _2)::Float64                                                                                │╻╷╷ float
1629 2 ─ %2 = invoke Base.Math.sin(%1::Float64)::Float64                                                                                │
     └──      return %2                                                                                │
      => Float64

Based on what I found online, "calls" are dynamic function calls while "invokes" are static.

This is generally correct, but intrinsics and builtins are calls and not invokes. But they don't need to be Bart of the worklist since we can lower them directly to an instruction.

I implemented the worklist + function invocations:
fibonacci(n) = n < 2 ? n : fibonacci(n-1) + fibonacci(n-2)
cg(fibonacci, Tuple{i64})

module {
  func.func private @"Tuple{typeof(fibonacci), i64}"(%arg0: i64) -> i64 {
    %c2_i64 = arith.constant 2 : i64
    %0 = arith.cmpi slt, %arg0, %c2_i64 : i64
    cf.cond_br %0, ^bb1, ^bb2
  ^bb1:  // pred: ^bb0
    return %arg0 : i64
  ^bb2:  // pred: ^bb0
    %c1_i64 = arith.constant 1 : i64
    %1 = arith.subi %arg0, %c1_i64 : i64
    %2 = call @"Tuple{typeof(fibonacci), i64}"(%1) : (i64) -> i64
    %c2_i64_0 = arith.constant 2 : i64
    %3 = arith.subi %arg0, %c2_i64_0 : i64
    %4 = call @"Tuple{typeof(fibonacci), i64}"(%3) : (i64) -> i64
    %5 = arith.addi %2, %4 : i64
    return %5 : i64
  }
}

One thing you might want to guard against is redefinition. And other names pacing issues. Right now your function name has the potential for collision since there may be multiple function f either across modules or across world (nee redefinition)

With the worklist for function calls, I'm running into problems with captured variables in functions.
For example:
function h(x)
    f(x) + f(x+1)
end

function f(x)
    @noinline g() = x+1
    g()
end

2 1 ─ %1 = %new(var"#g#50"{Int64}, _2)::var"#g#50"{Int64}                │╻ f
  │   %2 = invoke %1()::Int64                                            ││
  │   %3 = (Core.Intrinsics.add_int)(_2, 1)::Int64                       │╻ +
  │   %4 = %new(var"#g#50"{Int64}, %3)::var"#g#50"{Int64}                │╻ f
  │   %5 = invoke %4()::Int64                                            ││
  │   %6 = (Core.Intrinsics.add_int)(%2, %5)::Int64                      │╻ +
  └──      return %6                                                     │
   => Int64

When generating MLIR code for h, the two invocations to f have the same Methodinstance. The two func.call operations that are generated will call the same MLIR function, leading to incorrect code.
This can be solved by generating a different MLIR func.func for each function instance, but this introduces quite some complexity.
Another approach could be to insert an extra argument x in the generated MLIR func for f. At function call sites, all captured variables need to be passed explicitly.
Any more ideas on how to tackle this? I think it's important that these kind of higher-order functions work because they are useful to model more complex MLIR operations with nested regions.

We had some discussions on Reactant.jl about how we could add support for control-flow and we use an AbstractInterpreter similar to the one in this PR.
@jumerckx @vchuravy is the interpreter in here able to detect ifs and for loops and lower them to the scf dialect? I believe this might be critical for Brutus.

@jumerckx you’re welcome to join the reactant party, if you like!

And @mofeing honestly lowering to a CFG is fine. We can always use the infra built in polygeist for raising the control flow back (which recently has demonstrated from llvm all the way to linalg).
The sole question here imo is type stability, at one point in the future we can deal with type unstable IR but even when we add proper control flow first, we’re going to want to limit ourselves to concrete types.
Currently this is resolved by tracing so everything definitooballt is a mlir tensor type we know about. It’s fine to equally emit branches or scf on top of.  Other types might be doable but it requires a lot more design work to make sure everything fits together

@jumerckx you’re welcome to join the reactant party, if you like!

Thanks, would love to join the discussions!

Send me your email and I’ll send a slack invite!


sweep: account for p2wsh output in craftSweepTx

With this change, transactions created via craftSweepTx will be
standard. Previously, p2wsh scripts passed in via SendCoins would
be weighted as p2wpkh scripts. With a feerate of 1 sat/vbyte,
transactions returned would be non-standard. Luckily, the critical
sweeper subsystem only used p2wpkh scripts so this only affected
callers from the rpcserver.
Fixes #6747

@crypt-iq, remember to re-request review from reviewers when ready

I think the issue still exists if a user passes in a P2PKH or P2SH script when sweeping all -- need to account for that as well

P2SH scripts luckily won't cause an issue due to lnd overestimating the DER sig weight, but P2PKH outputs can result in a non-std tx. I've added an integration test that will fail with a non-std transaction error if this patch isn't applied. The getWeightEstimate function will also fail if outputPkScript is an unknown script which requires new scripts to update this function.

PR is looking good now, though I see this race on CI:
WARNING: DATA RACE
Read at 0x00c0000296af by goroutine 28:
  github.com/lightningnetwork/lnd/sweep.createSweeperTestContext.func2()
      /home/runner/work/lnd/lnd/sweep/sweeper_test.go:142 +0x6c
  github.com/lightningnetwork/lnd/sweep.(*UtxoSweeper).sweep()
      /home/runner/work/lnd/lnd/sweep/sweeper.go:1296 +0xd8
  github.com/lightningnetwork/lnd/sweep.(*UtxoSweeper).sweepCluster.func1()
      /home/runner/work/lnd/lnd/sweep/sweeper.go:8[68](https://github.com/lightningnetwork/lnd/runs/7679184688?check_suite_focus=true#step:6:69) +0x1ab
  github.com/lightningnetwork/lnd/sweep.(*mockBackend).WithCoinSelectLock()
      /home/runner/work/lnd/lnd/sweep/backend_mock_test.go:108 +0x2e
  github.com/lightningnetwork/lnd/sweep.(*UtxoSweeper).sweepCluster()
      /home/runner/work/lnd/lnd/sweep/sweeper.go:858 +0x15c
  github.com/lightningnetwork/lnd/sweep.(*UtxoSweeper).collector()
      /home/runner/work/lnd/lnd/sweep/sweeper.go:797 +0x1b05
  github.com/lightningnetwork/lnd/sweep.(*UtxoSweeper).Start.func1()
      /home/runner/work/lnd/lnd/sweep/sweeper.go:385 +0xfe

Previous write at 0x00c0000296af by goroutine 29:
  github.com/lightningnetwork/lnd/sweep.createSweeperTestContext.func2()
      /home/runner/work/lnd/lnd/sweep/sweeper_test.go:142 +0x7d
  github.com/lightningnetwork/lnd/sweep.TestDifferentFeePreferences()
      /home/runner/work/lnd/lnd/sweep/sweeper_test.go:1101 +0x4c8
  testing.tRunner()
      /opt/hostedtoolcache/go/1.18.2/x64/src/testing/testing.go:1439 +0x213
  testing.(*T).Run.func1()
      /opt/hostedtoolcache/go/1.18.2/x64/src/testing/testing.go:14[86](https://github.com/lightningnetwork/lnd/runs/7679184688?check_suite_focus=true#step:6:87) +0x47


Caching

I've been lurking korona.kans.io for a long time and wondered why load time is just ridicilous. I realized just now that there is no caching what so ever so basically everyone that loads the page generates the content again and again. Why are we fetching the data again and again for every user instead of caching it all and observing changes?

Yeah, we have discussed about caching but I've been super busy with my real work lately so haven't had time to work on that 🤷♂

Sorry valtsu!
I "edited" my issue and it became as duplicate. Closed this one but i got the answer. Others might not.
Thanks for the answer anyway


Support for splitting with estimator

This task is to provide a way to split a sample using an estimator/ML model.
We already have a mc.split method that splits self into two new objects by mass.
We also have an mc.apply_partition method that will split using a partition on the index.
We should consider renaming all 3 methods similarly for consistency.
Of course the model will ideally preserve mass, however MCNetwork's job is to advise us of this.
Additionally, any out-of-range estimates on the resultant 2 objects will be flagged under the status property.

NOTE - a breaking change - renamed the apply_partition method to split_by_partition for method name consistency.


Bug 2093866: Make VM creation from template from default yaml work

📝 Description
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2093866
Make VM creation work, VM creation from the template, that was created from the default yaml
(without any changes; with vm-template-example as the default VM template name).
🎥 Demo
Before:
Error, cannot create a VM:

After:

VM created successfully:

@glekner @avivtur @metalice @pcbailey @yzamir @vojtechszocs please review

/lgtm


Should I add this script to this repository?

https://github.com/Sanceilaks/nufetch

FemboyOS is supported

Sure. It looks cool.


Fix link to git documentation

Context
The anchors on https://git-scm.com/docs/git-commit have changed between v2.20.0 and v2.20.2.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

Thanks @chkpnt


There doesn't seem to be a 'quit' menu option

Can't close the app once it's running :-(

+1, perhaps a quit option menu which includes a restart button? Would be quite helpful in case of bugs


Enable prod FE

For now I updated deploytoprod to use BASIC_AUTH_USERNAME and BASIC_AUTH_PASSWORD, new secrets I created in the setup-cloud-platform repo


⚠ GitLab Server has degraded performance

In 2352a72, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6720 ms

Resolved: GitLab Server performance has improved in 79f341c.


Scope of exception transitions

Context and Problem Statement
Exception transitions are intended for critical (potentially non-recoverable) errors (cf. #544):

Insufficient memory for setting a field of a message
Insufficient memory for appending an element to a sequence or extending a sequence by another sequence

(Exception transitions are currently also used for other errors, but this will change in the future (cf. #569).)
The affected actions can be related to session global or state local objects. In a state, multiple actions can lead to critical errors. As exception transitions are defined on a per-state basis, all critical errors must be handled in the same way. I'm wondering if a per-state granularity is the best option to handle such errors.
Considered Options
O1 Per-statement exception transition (most fine-grained)
Each statement that could be affected must be annotated by an exception transition.
+ Enables individual handling
+ Makes clear which actions could be affected
− Probable repetition of same exception transition, as individual handling unnecessary in many cases (even more than in O1)
O2 Per-state exception transitions (current solution)
Each state that contains actions that could be affected must be annotated by an exception transition.
+ Enables individual handling
− Probable repetition of same exception transition, as individual handling unnecessary in many cases
− Obscures which actions inside a state could be affected
O3 Per-session exception transition (most coarse-grained)
A session must be annotated with an exception transition (if it contains an action that could be affected).
+ Prevents unnecessary repetition of the same exception transition
− No individual handling possible
− Obscures which actions could be affected
O4 No exception transition (transition to final state)
All critical errors lead to a transition to the final state.
+ Prevents unnecessary repetition of the same exception transition
− No error handling possible at all
− Obscures which actions could be affected
O5 Optional definition of exception transition
Multiple combinations with O1-O4 conceivable, e.g.:
Critical errors lead to a transition to the final state (O4) by default. The behavior can be overridden by exception transitions (O1-O3). If an exception transition is defined on a per-session basis (O3), exception transitions need not be defined for individual states (O2) or statements (O1), but exception transitions on states and statements could be used to override the per-session exception transition.
+ Very flexible
+ Prevents unnecessary repetition of the same exception transition
− Obscures which actions could be affected, as it is not enforced that individual actions are annotated
Decision Outcome
TBD

The notion of exception handlers at multiple levels is common in languages that support exception handling, so I don't see a significant source of confusion arising from supporting multiple levels of granularity.


urm self-documenation is misconfigured.

I was including /home/linuxbrew/.linuxbrew/share/fish/vendor_completions.d/urm.fish in my fish shell, and found this error;
> source /home/linuxbrew/.linuxbrew/share/fish/vendor_completions.d/urm.fish
complete: Too many arguments

/home/linuxbrew/.linuxbrew/share/fish/vendor_completions.d/urm.fish (line 5):
complete -c urm -s i -l prompt before every removal
^
from sourcing file /home/linuxbrew/.linuxbrew/share/fish/vendor_completions.d/urm.fish

5: complete -c urm -s i -l -d 'prompt before every removal'

The -l requires an option here's my fix.
complete -c urm -s i -l prompt -d 'prompt before every removal'

However I'm assuming the completions are auto-generated

It seems something in the urm code has before every removal in the incorrect place, it should be aligned with the column on the right.
I tried to find it in the code, but I'm no rust developer yet.
> brew info uutils-coreutils
uutils-coreutils: stable 0.0.14 (bottled), HEAD

> urm --version
urm 0.0.14

Thanks!

The completions are indeed autogenerated by clap-complete. If you can find a minimal, easy to reproduce example of this problem, we could open an issue there.


Release version 0.4.0

Aligning with changes in tags behaviour, fixing bugs and adding more docs.

SonarQube analysis reported 6 issues

 5 major
 1 minor

Watch the comments in this conversation to review them.
5 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 curves.py#L263: Method "search_instances" has 18 parameters, which is greater than the 15 authorized.
 curves.py#L624: Method "search_instances" has 19 parameters, which is greater than the 15 authorized.
 util.py#L225: Rename function "generated_series_to_TS" to match the regular expression ^[a-z][a-z0-9_]{2,}$.
 util.py#L238: Rename function "tags_to_DF" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
 curves.py#L12: Rename this field "hasMetadata" to match the regular expression ^[_a-z][_a-z0-9]*$.

SonarQube analysis reported 6 issues

 5 major
 1 minor

Watch the comments in this conversation to review them.
5 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 curves.py#L263: Method "search_instances" has 18 parameters, which is greater than the 15 authorized.
 curves.py#L624: Method "search_instances" has 19 parameters, which is greater than the 15 authorized.
 util.py#L225: Rename function "generated_series_to_TS" to match the regular expression ^[a-z][a-z0-9_]{2,}$.
 util.py#L238: Rename function "tags_to_DF" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
 curves.py#L12: Rename this field "hasMetadata" to match the regular expression ^[_a-z][_a-z0-9]*$.

SonarQube analysis reported 6 issues

 5 major
 1 minor

Watch the comments in this conversation to review them.
5 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 curves.py#L263: Method "search_instances" has 18 parameters, which is greater than the 15 authorized.
 curves.py#L624: Method "search_instances" has 19 parameters, which is greater than the 15 authorized.
 util.py#L222: Rename function "generated_series_to_TS" to match the regular expression ^[a-z][a-z0-9_]{2,}$.
 util.py#L235: Rename function "tags_to_DF" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
 curves.py#L12: Rename this field "hasMetadata" to match the regular expression ^[_a-z][_a-z0-9]*$.


unison-ucm: M4i -> M5b

Description of changes

Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Note: Is there a specific reason why we're modifying the release version names, like here?
It seems we're appending 1.0 and -alpha to the upstream release version names: https://github.com/unisonweb/unison/releases

Fixed in #244225


chore(testing): sample-test

update some tsconfigs and adds a sample unit test

I just added some too!

Looks like that test is failing. I pushed a commit excluding it for now.


Hidden ability?

In particular, for the security option:
. Remove the notifications
. Remove the icon from launcher
. Ability to change the name of the app in the app manager (settings)
. Ability to change the icon of the app in the app manager (settings)
For example, when the phone is lost or stolen, the ability to work so invisible makes the app much more discrete and effective.

It still could be accessed from your store.
May make the app lokk like something else?

Thank you for your feedback.
I could implement options for hiding or disguising the app in the app manager.
But it is a more complicated procedure to remove the permanent notification or to prevent sms notifications, due to the following reasons.

Without the permanent notification the system kills the app service process.
Since Android 4.4 it is not possible anymore to abort the message broadcast without being the default sms app. So the default sms app will receive the message and will try to display a notification.
I could make a workaround like this: Set the ring volume to slient (temporary), remove the notification exact when the notification is thrown. However it is not possible to delete the sms from the inbox.

I am not sure wether it pays off to work on this issue.

 In the case, I apologize in advance.

For the app services process, this permission could help?

android.permission.PERSISTENT_ACTIVITY
(lets app to make persistent in memory some parts)
Or, as an alternative, adding the root access permission?

for the notification, you may use silent SMS  (Ping SMS?) instead of those normal?

for the payment, you may enter a bitcoin address to receive donations and pursue the work

Thanks for your suggestions.
I will try the persistence thing.
Regarding payment. I'm not sure if the app targets a big audience.
Play Store statistics:

7 active installations at the moment
34 installations since release
however, 8 installations only yesterday

Morover, I'm working on a new big project, which takes a lot of my time.
I would be glad, if you want contribute to this repository. ;)

May we ask you, which awsome (it has to be sinve you're working on it ;-) project it is?

Our project is in an early development stage and we don't want to publish it at this time.
I can only tell you that it's a mobile app for organisation and planning. I'm really excited and can tell you more information in a later stage if you want. :)

Some launchers offers the possibility to change the icon and the name (e.g. Nova). So this is no issue for me.
"Only" the notification-bar is one. May it be possibility to let the notification show other information?
Some ideas:

battery indicator
current network speed
Display-On-Counter 8-)

This may hide the "real" functionality.


Addons override pod-names.js content

I'm using ember-component-css in my ember app, now i want to use it in one of my addons as well.
During build-time, the ember-component-css/pod-names.js file gets replaced twice, once for my
app and once for my addon.
This results in an incomplete file and thus losing part of my styling.
Using version 0.2.11

@mlenderink are you putting the style files in the "app" directory of the addon, or the "app" directory..? I know it's supported with putting them in the "addon". Your issue sounds like it's due to them being in the "app" side, but maybe there is something i'm unaware of going on.

The styling is inside the "addon" folder.
I did some debugging and saw that this code (https://github.com/ebryn/ember-component-css/blob/master/lib/pod-names.js#L54) get called twice. Once for my normal app and once for the addon.

@mlenderink ya.. So even though it shouldn't be, and if it does it shouldn't matter, it might be running over that tree twice. In the "treeForAddon" hook https://github.com/ebryn/ember-component-css/blob/master/index.js#L81-L84 we merge all the different filters that have grabbed style files, and then use that merged node to create one pod-names file that includes everything.
There was a case with engine in-repo addons that was causing this to be run over twice, hence the comment there, but there might be other cases that I'm not aware of.
All the instances that I have used with addons and in apps, and in the acceptances tests in the repo, seem to be working. :/ Even if the file gets overwritten, the final time it gets run, it will have the most up to date tree of style files in order to build the js object from.
Maybe there is something that is going on with yours that hasn't been accounted for. You don't happen to have a sample app that I could look at do you?

I will try again soon and possibly make an sample app

@mlenderink are you still having this issue?

Yes i still do, i haven't had time yet to make an example app and try to reproduce it that way

Shoot. :/ @mlenderink I'll try to play around with some different stuff to see if I can get it cause the issue.

If it helps, my application has 2 in-repo addons and 2 out of repo addons that all want to use ember-component-css

ok cool. I'll try to set up a sample app that does that, and see what shakes out. Are any of the "outer repo" addons public? If not, that's fine, would just help narrow down the possible issues if i could get the example to resemble your real world issuevas closely as possible.

Cool! No, unfortunately all of these repo's are private

@mlenderink I think i might have stumbeled onto this issue. I hopefully will have a solution out to you soon. thanks.

I have a similar but slightly different issue: I'm using npm link to link one of the addons I'm working  on to my main app. Both the addon and the app contains component css. The CSS on my app is fine when not using npm link, but breaks when using it: the initializer doesn't seem to be run for the app (only for the addon).
Any ideas?
Thanks

removing the name of the initializer makes it run for the app, but the podNames as explained above by @mlenderink are only those of the addon (so I don't think the initializer running only once is an issue, rather the override of the pod-names.js file is the real issue).

Think I fixed it, will send a PR.

ya @mlenderink thanks for this! I'm just up in the middle of the night by chance right now, but i'll cut a release in the morning.. (well, my morning!!)

@mlenderink @Leooo just release 0.3.3

@webark I've done a PR that fixes the NPM link issue mentioned by @Leooo https://github.com/ebryn/ember-component-css/pull/248/files


Scalability (Nonce Coordination)

Is your feature request related to a problem? Please describe.
We currently cannot scale polyswarmd. More specifically, you cannot run multiple copies of polyswarmd at least in part because there's no way to pub/sub for nonce values.
Describe the solution you'd like
Develop a means for multiple instances of polyswarmd to agree on allocation of nonce values.
Additional context
Blocks on: https://github.com/polyswarm/polyswarmd/issues/57

In my mind this is a polyswarm-client problem and not a polyswarmd problem.

In other words, multiple polyswarm-clients need to coordinate peer-to-peer on nonce values then dole them out to N instances of polyswarmd?

correct, polyswarmd doesn't/shouldn't keep state like that around, we've discussed adding in a default implementation of multi-process/network nonce sync into client, added an issue for that at https://github.com/polyswarm/polyswarm-client/issues/32

Is there a reason to keep this ticket around @mjkoo ?

No


environment detection error on webworker

I'm trying to run this module as cloudflare worker. However I get "Error: environment detection error". I think this is because cloudflare workers don't implement "importScripts"
I'm quite new to workers and webassembly so not sure if this just is configuration problem in my end. However what i read from webpack produced code there was a check: "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)" And also found commit related to environment detection
I created example repo for reproducing the issue.
Just run

npm install
npm run dev-build
npm run dev-server (in another terminal)
with postman or curl query localhost:3000
produces 500 error and in the dev-build terminal shows "Error: environment detection error"

It's likely due to limited by environment doesn't implement fully as same as normal worker thread does. Latest cld3-asm doesn't have any env override but browser side bundle already supports worker thread, so you shouldn't need (and not supported anyway) to try set env. Clarifying, broswer side bundle specified -s ENV=broswer,worker compile time.
I'm bit unsure if it's possible to make it work on given cloudflare worker environment if it doesn't fully support worker's interfaces emscripten uses.

My suggestion is try any minimal hello world wasm with emscripten to verify cloudflare worker doesn't support it really - then this should be supported by cloudflare.

Ok thanks. I'm little bit confused as with cloudflare workes it seems that you need to upload wasm files separately and then use "new WebAssembly.Instance(MY_WASM_MODULE, imports)". However I don't see any wasm-files that cld3-asm produces.

Yes, that's not supported case of cld-3asm out of box. If you'd like to use raw wasm binary, you may need build binary using https://github.com/kwonoj/docker-cld3-wasm which cld3-asm also relies on.

Let me close issue for now cause main target of cld3-asm is node / browser (and worker), don't have immediate plan to separate binaries.


Fix spelling mistake in setup.py description

@alonisser I believe the failure above is due to a commit of yours and not the spelling change in this PR


Validate user input

Check if the user input in case 3 is valid or not.
Sample to do the same is written in case 5 and 6.

Please assign this to me

Assigned. You can now work on this issue.


Offline models are not appearing on the Ollama server list

Problem
I download model on the the machine where Ollama installed and  have internet access. Then moved the model files from the folder usr/share/ollama/.ollama/models to the new machine which doesn’t have internet access. I could see Ollama is not detecting those models and they are not visible as part of list command.
Expected
Ollama list
should list the new models files transferred.

Could you find any resolution? I am facing the same issue. Tried all possible changes related to permissions, systemd file etc. No luck yet.

Need solution too. On windows moved both the BLOB content and the library subfolders. No cigar.

PS: what really sucks it succeeds with
"ollama cp my_invisble_model my_invisible_model2"
It creates the new folder and copies the manifest, but still doesn't list the model and when you try to run it insists on connecting to the internet. There must be somewhere else it looks?

Hey guys, sorry for the slow response.
If you are moving between Windows and Linux, the problem is the filenames of the blobs in linux look like sha256:<sha256 hash> whereas NTFS doesn't support a : in the file name. Unfortunately you have to rename the files.
For moving files to a different place, you should be able to use the OLLAMA_MODELS environment variable when you're starting Ollama. There is an FAQ which covers how to use that.

Hi Patrick, thank you, that's helpful  for cross-platform moves. I've resolved mine from going windows to windows and making sure I copied all dependencies.

Thanks! this solved the issue.


Fix typos

@satoshiotomakan can you approve this? We can merge this without passing the CI. Thanks @shuoer86, btw.


Fixed glitch.

Was glitchy when appcpulimit was 30.

This code should go inside the #ifdef _3DS block and needs to have the two-space indentation.

Also, it should be unnecessary since latest hbmenu does this automatically.

@fincs So the hbmenu release isn't up to date because it's still glitchy atm.

Is this still a problem?

Yeah but it seems it isn't in 1.1(or it's different).
Le 16 janv. 2016 08:04, "mtheall"<EMAIL_ADDRESS>a écrit :

Is this still a problem?
—
Reply to this email directly or view it on GitHub
https://github.com/mtheall/ftbrony/pull/24#issuecomment-172167496.


Add password length validation to password fields

AS A new user or existing user
WHEN I create a new password or change my password
I WANT TO receive a message telling me "Please add a password that is at least 8 characters" if I enter one that is too short.
NOTE: This functionality should appear both when a user creates a new account and makes a password for the first time, and when they go in to Settings to change their existing password.

@kate-rose What do you think about scaling down the font size for this error message so it all displays on one line on all screen sizes?
Right now it's going to look like this on mobile:

I did some fiddling with the CSS and we could also have it look something like this if we scale down:


ad app update: allow setting random properties

Fix #6097
@tjprescott, could you please take a look? Note, I have tried to apply the generic update pattern, but because the AD App has its own PATCH operation and own model type which disconnects the generic getter from the generic setter, hence my code was quite hacky.
But let me know if there is still a nice way to accomplish through the generic update.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

View a preview at https://prompt.ws/r/Azure/azure-cli/6339
This is an experimental preview for @microsoft users.

Is this for sprint 37?

Yes


Added missing subdomain for 4chan

I added a missing subdomain for 4chan the lack of which caused some images to not be downloaded

Followed-up from #423


[v2-feedback] Issue when AWS Profile unable to run amplify init

Page: https://docs.amplify.aws/start/getting-started/setup?integration=js
Feedback:
Was trying to create an AWS Profile under our corporate federation. Seems that by using accessKeyId and secretAccessKey to setup the profile is no longer enough.
Here is the exception I get:
? Do you want to use an AWS profile? Yes
? Please choose the profile you want to use tutorial
init failed
UnrecognizedClientException: The security token included in the request is invalid.
    at Object.extractError (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/json.js:51:27)
    at Request.extractError (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)
    at Request.callListeners (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Users/jim/.nvm/versions/node/v12.16.1/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:685:12) {
  message: 'The security token included in the request is invalid.',
  code: 'UnrecognizedClientException',
  time: 2020-03-23T17:47:10.639Z,
  requestId: 'cd699f59-8494-44a1-aca6-f5aac74b4878',
  statusCode: 403,
  retryable: false,
  retryDelay: 77.16144963242972
}

even i get the same error

Could you elaborate on "create an AWS Profile under our corporate federation"?
Does the IAM user that the profile's credential is associated with have all the required permissions for the Amplify CLI?
https://docs.amplify.aws/cli/usage/iam
Is it a temp credential? do you use a role?
https://docs.amplify.aws/cli/usage/iam-roles-mfa

Hi @UnleashedMind , thanks for your patience.
Our internal tool is aware of the profiles and configuration in ~/.aws/config. It looks like this.
And that role contain this policy. Therefore I assume it would work for Amplify. But this is what I see when running amplify init
UnrecognizedClientException: The security token included in the request is invalid.
https://share.getcloudapp.com/2NuX74z9
More detail about how our internal tool work:
We have a CLI tool that make a call to a token service, then the token service assumes an IAM Role on behalf of an authenticated user and returns back AWS temporary security credentials. We do this via a SSO provider (Okta AWS OIDC). Our tool was inspired by https://github.com/segmentio/aws-okta, and leverage https://github.com/99designs/aws-vault to store IAM credentials.
We have not observe other limitation with AWS CLI when authenticate with AWS with this tool.
Any pointer is appreciated!

Hi @UnleashedMind,
we face the same problem after introduce AWS SSO for our developers. If you need more input to reproduce the problem:
Within AWS Organizations we have e.g.:
aws-admin (just for account management, without any resources)
aws-dev	(where we are working)
aws-prod (will be created later)
IAM (from root/admin account):
No relevant User here
So far this shouldn't be relevant, just want to give you a complete overview.
AWS SSO Configuration:
AWS Accounts: AWS Organization: aws-dev with Permission set "AdministratorAccess" --> IAM policy "AdministratorAccess" (including Amplify)
Users: Some users assigned to a group "dev" that has Permission set "AdministratorAccess"
A User portal URL is configured for SSO: https://xxx.awsapps.com/start
I can login with such a user over the SSO portal and can also retrieve my credentials over the button "Command line or programmatic access"
Adding that credentials to ~/.aws/credentials (copy & paste) works for a short time (until the session token expires).
Using the amplify cli I can then init, push and pull projects without any problems.
But if I want to work with AWS SSO like it is meant to be (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) it doesn't work!
..more specifically:
$ aws configure sso
introduce a new profile and also set this new account as the default
[...]
$ aws sso login --profile=AdministratorAccess-530xxxxxxx
Successully logged into Start URL: https://xxx.awsapps.com/start
[...]
$ aws s3 ls #works fine
$ amplify init  #for a new amplify project (empty folder)
Please choose the profile you want to use: AdministratorAccess-530xxxxxxx
init failed
UnrecognizedClientException: The security token included in the request is invalid.
at Object.extractError (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/json.js:51:27)
at Request.extractError (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)
at Request.callListeners (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:688:14)
at Request.transition (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/Users/viktor.goetz/.nvm/versions/node/v14.1.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:690:12) {
code: 'UnrecognizedClientException',
time: 2020-07-21T15:25:11.114Z,
requestId: '80ed1e23-5973-4f20-b8fb-b96c954fbe9f',
statusCode: 403,
retryable: false,
retryDelay: 54.57781621514268
}

@jimcal Are you using AWS SSO as well. As a workaround could you try out this recommendation out here - https://github.com/aws-amplify/amplify-cli/issues/4488#issuecomment-713736827 ?


Feat: Dask filter and and method added

What type of PR is this? (check all applicable)

[ ] 💾 Refactor
[x] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 🔧 Optimization
[ ] 📝 Documentation
[ ] ✅ Test
[ ] 🐳 Other

Related issues

Related issue #637

Checklist

[x] Code follows style guide (ruff)
[x] Tests added
[ ] Documented the changes

If you have comments or can explain your changes, please do so below.
Following up from: https://github.com/narwhals-dev/narwhals/pull/670
Introduces filter for dask dataframes, plus a few required methods for comparison to get things working into a testable state. (@FBruzzesi hope it's ok, I went ahead and implemented __and__ - I know you said you'd probably do this, so I hope I haven't stood on any toes! It seemed a quick add and otherwise testing all horizontal was a little messy)
Note: There's a pretty disgusting hack I've added in that should probably come out before anything is merged. Looks like narwhals evaulate_into_exprs has this bit:
series.append(evaluated_expr[0].alias(name))0

I'm getting an error here because evalated_exp[0] is a dask-exp/dask-series (depending on version) which doesn't have an alias method.
I've added this fix:
try:
    to_append = evaluated_expr[0].alias(name)
except AttributeError:
    to_append = evaluated_expr[0].rename(name)  # type: ignore[union-attr]

Which works, but the only thing is should I even have an actual dask expressions here? The code is running fine seemingly with my above hack, but it seems like this point in the code should have a narwhals abstraction instead?

hey, thanks for working on this

but it seems like this point in the code should have a narwhals abstraction instead?

i'd originally resisted making DaskSeries, as we don't expose it to the user,  but if we want to re-use code in narwhals._expression_parsing.py, we may need to...i'll take a look tomorrow

Hey @benrutter, thanks for the PR, I will check in more depth in a bit.
And do not worry you are not stepping on anyone! There are enough tasks for all of us! 🙌🏼

thanks @benrutter ! Just pushed a commit
I think it might be simpler if we keep _expression_parsing separate for the Dask backend, and just use _dask/utils.py. This is for a couple of reasons:

for Dask, we're a lot more constrained in what we accept - for example, we can't just accept a numpy array, or a free-standing Series. We just accept column names or expressions - else we don't know what kind of magic index alignment might happen under out feet (as opposed to in pandas where can just check the index values). I think it's OK to start constrained an possibly loosen later
it gives a chance to revisit the expression parsing logic. I think _expression_parsing.py may well be a bit too complicated for its own good 😄


Record failures for ETHZ Eprog Ex. 12 Prob. 1

This failure has been discovered by crosshair where inf has been
misplaced in the tokenization rule.

Pull Request Test Coverage Report for Build 982560516

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.2%) to 89.332%

Files with Coverage Reduction
New Missed Lines
%

correct_programs/ethz_eprog_2019/exercise_06/problem_01.py
1
97.44%

correct_programs/ethz_eprog_2019/exercise_06/problem_04.py
2
95.3%

Totals

Change from base Build 982558863:
0.2%

Covered Lines:
2914

Relevant Lines:
3262

💛  - Coveralls


[tool_crash] Bad state: StreamSink is closed

Command
flutter --no-color run --machine --track-widget-creation --device-id=chrome lib/main.dart

Steps to Reproduce

...
...
...

Logs
StateError: Bad state: StreamSink is closed
#0      _StreamSinkImpl.add (dart:io/io_sink.dart:156:7)
#1      _Socket.add (dart:io-patch/socket_patch.dart:1868:38)
#2      _DetachedSocket.add (dart:_http/http_impl.dart:3070:13)
#3      _ByteAdapterSink.add (dart:convert/byte_conversion.dart:60:11)
#4      ByteConversionSinkBase.addSlice (dart:convert/byte_conversion.dart:45:5)
#5      _Utf8EncoderSink.addSlice (dart:convert/utf.dart:267:13)
#6      StringConversionSinkMixin.add (dart:convert/string_conversion.dart:165:5)
#7      SseConnection._setUpListener (package:sse/src/server/sse_handler.dart:73:15)
<asynchronous suspension>
#8      new SseConnection (package:sse/src/server/sse_handler.dart:53:15)
#9      SseHandler._createSseConnection.<anonymous closure> (package:sse/src/server/sse_handler.dart:161:26)
#10     _fromHttpRequest.onHijack.<anonymous closure> (package:shelf/shelf_io.dart:146:35)
#11     _rootRunUnary (dart:async/zone.dart:1192:38)
#12     _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#13     _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#14     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#15     Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#16     Future._completeWithValue (dart:async/future_impl.dart:526:5)
#17     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#18     _rootRun (dart:async/zone.dart:1184:13)

[✓] Flutter (Channel beta, v1.17.0, on Linux, locale en_IN)
    • Flutter version 1.17.0 at /home/karthick/flutter
    • Framework revision d3ed9ec945 (8 days ago), 2020-04-06 14:07:34 -0700
    • Engine revision c9506cb8e9
    • Dart version 2.8.0 (build 2.8.0-dev.18.0 eea9717938)

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /home/karthick/Android/Sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /home/karthick/IDE/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /home/karthick/IDE/android-studio
    • Flutter plugin version 45.0.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[!] VS Code (version 1.43.2)
    • VS Code at /usr/share/code
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • Chrome     • chrome     • web-javascript • Google Chrome 81.0.4044.92
    • Web Server • web-server • web-javascript • Flutter Tools

! Doctor found issues in 2 categories.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: beta
Creation framework version: d3ed9ec945f8869f0e136c357d0c2a6be2b60c98

Duplicate of https://github.com/dart-lang/webdev/issues/943


fix: updated translation

closes #14

The tooltip had incorrect text because of the lit-translate we used to have in legacy open-scd.


MBXMapKit Example App high CPU usage

I implemented an offline map database in my own app and noticed that whenever offline map tiles were added CPU usage would go up over 175% and would not idle once the map was rendered.
I had a look through the code for MBXRasterTileRenderer and noticed that in -canDrawMapRect: zoomScale: the call to  self -setNeedsDisplayInMapRect: zoomScale: in the result block occurs every time.
Moving the call to within the if block seems to have solved the problem, hopefully without new and unintended consequences!
if ( ! tileActive) {
            [(MKTileOverlay *)weakSelf.overlay loadTileAtPath:path result:^(NSData *tileData, NSError *error) {
                @synchronized(weakSelf) {
                    [weakSelf.activeDownloads removeObject:xyz];
                }
                if (tileData) {
                    NSData *tileDataCopy = [[NSData alloc] initWithBytes:tileData.bytes length:tileData.length];
                    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                        CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)tileDataCopy);
                        CGImageRef imageRef = nil;
                        if ([[weakSelf class] dataIsPNG:tileDataCopy]) {
                            imageRef = CGImageCreateWithPNGDataProvider(provider, nil, NO, kCGRenderingIntentDefault);
                        } else if ([[weakSelf class] dataIsJPEG:tileDataCopy]) {
                            imageRef = CGImageCreateWithJPEGDataProvider(provider, nil, NO, kCGRenderingIntentDefault);
                        }
                        if (imageRef) {
                            @synchronized(weakSelf) {
                                [[weakSelf class] addImageData:tileDataCopy
                                                    toRenderer:weakSelf
                                                        forXYZ:xyz
                                                 usingBigTiles:usingBigTiles];
                            }
                        }
                        CGImageRelease(imageRef);
                        CGDataProviderRelease(provider);
                    });

                    //Moving this line here has prevented constant redrawing of the map
                    [weakSelf setNeedsDisplayInMapRect:mapRect zoomScale:zoomScale];
                }
                //Originally the call was here
            }];
        } else {
            [weakSelf setNeedsDisplayInMapRect:mapRect zoomScale:zoomScale];
        }

check out #153.  The fix there helped my high CPU as well as a random crash ...

Now that I see this issue and #153 discussed together, I am betting they are one in the same.  Instead of the fix proposed above, which could potentially lead to missing tiles from an online map -- since the setNeedsDisplayInMapRect call would have the (presumably) desirable effect of re-queuing an online tile for download if the data was bad -- I'd suggest leaving the setNeedsDisplayInMapRect call in the original location, but use an if to skip it if loadTileAtPath returns an error associated with missing offline tiles:
if ([error code] != MBXMapKitErrorCodeOfflineMapHasNoDataForURL) [weakSelf setNeedsDisplayInMapRect:mapRect zoomScale:zoomScale];

So setNeedsDisplayInMapRect will be called in all cases except the case of a missing offline tile.
That appears to block repeated calls to load an offline tile that does not exist, and avoids high CPU usage and crashes were were discussing on #153 .  It also eliminates the need for that blank tile hack in #153 , so it allows over/under zooming of tiles at other zoom levels.  Essentially, if there is no available offline tile for a mapRect, any previous rendering is left in place and we do not attempt to load the tile any further.

@s219 I'll have some time to test your comment out in the next few days - sounds like the best way to proceed !

Well, I saw a crash today with online maps, which originated from the setNeedsDisplayInMapRect call and veered off into the #153 crash.  Need to study the code again -- may want to revisit and think about scenarios when that call needs to be skipped for online maps -- might be other error conditions, or cases where tileData is bad.  @ndm-io may have had a safe approach up top of the thread.

I did some stress testing with online maps, and was able to create an endless looping condition similar to what we saw in #153 for offline maps when using my fix suggested up above.  It took some doing and may not be a common scenario, but I showed it could happen.  Based on that, I think @ndm-io has the best solution (whether offline or online), by calling setNeedsDisplayInMapRect inside the if(tileData) check.  May even be that we should move that call inside the if(imageRef) check too.
I imagine the MapBox guys are busy with WWDC this week, but would be good to get some feedback here.  It's possible that the location of the setNeedsDisplayInMapRect call in 0.7 is in fact a bug, and it should be up inside the tileData check as @ndm-io suggested.  Of if it was meant to be where it is, I think we really need some sort of limit so that the whole setNeedsDisplayInMapRect  --> canDrawMapRect cycle doesn't go into an endless loop in certain scenarios.

See #167 for a revised canDrawMapRect that avoids this crash and fixes another major bug when using 512px tiles.

@ndm-io  Thanks a lot...Solved my crash issue by moving the call to within the if block..


In Firebase User Engagement Events: most of rendered Class screens are WebViewFallbackActivities

Hi, I don't know if it is just a bug, but there is something not properly expected in the following implementation of my TWA activity.
I have not a simple TWA Activity declared in AndroidManifest.xml. I implemented some adding code, extending your LauncherActivity class to achieve my purposes.
Here the details:
In my LAUNCHER AppCompatActivity named CustomTwaActivity, I start a new Activity called CustomQueryStringLauncherActivity extending LauncherActivity in which I manipulate the app's default  launching url.
The matter is that, as shown in my Firebase User Engagement Events' section, only 33% of  rendered screen classes are of type CustomQueryStringLauncherActivity while the 66% of the rendered classes are WebViewFallbackActivity.
As a result only 33% of my app's rendered classes are LauncherActivity and this is a problem because my code is not run most of the times and because of the known problems related to WebViewFallbackActivity.
Is this normal? 33% of the rendered class of type LauncherActivity is not an anomaly?
Here is my code:
public class CustomTwaActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           Context context = getApplicationContext();
           Intent launcherIntent = new Intent(CustomTwaActivity.this, CustomQueryStringLauncherActivity.class);
           startActivity(launcherIntent);
           finish();
}

public class CustomQueryStringLauncherActivity extends LauncherActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    @Override
    protected Uri getLaunchingUrl() {
        Uri uri = super.getLaunchingUrl();
        Uri returnUri = uri
                    .buildUpon()
                    .appendQueryParameter(key_1, value_1)
                    .appendQueryParameter(key_2, value_2)
                    .build();
        return returnUri ;
    }
}

  <activity android:name="com.coelotec.meteodrome.CustomTwaActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.coelotec.meteodrome.CustomQueryStringLauncherActivity"
                  android:label="@string/app_name">

            <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
                android:value="https://app.my_own_url.it" />

            <meta-data android:name="android.support.customtabs.trusted.FILE_PROVIDER_AUTHORITY"
                android:value="@string/provider_authority"/>

            <meta-data android:name="android.support.customtabs.trusted.FALLBACK_STRATEGY"
                android:value="webview" />

            <intent-filter android:autoVerify="true"
                tools:targetApi="m">
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="https"
                    android:host="app.my_own_url.it"/>
            </intent-filter>

        </activity>

        <activity android:name="com.google.androidbrowserhelper.trusted.WebViewFallbackActivity"
            android:configChanges="orientation|screenSize" />

Hey, so looking at your code:

CustomQueryStringLauncherActivity looks good.
I'm not sure what the point of CustomTwaActivity is - it looks like it just launches CustomQueryStringLauncherActivity. Could you not just set that to be launched directly?

As for the firebase user engagement events, we'll need to look into it a bit more, but I've got a theory:

When a user doesn't have a supporting browser, the WebViewFallbackActivity is used and that gets recorded.
When the user does have a supporting browser, CustomQueryStringLauncherActivity is used, appearing in the foreground for a split second before launching the browser. Since at that point the browser is in the foreground, not your Activity, that doesn't get recorded.

So I suspect there's nothing much going wrong - most users are seeing the TWA in the browser, it's just that Firebase isn't recording it.
We could test this by looking at your server logs. If you launch the TWA with a specific URL (eg, www.mysite.com/?twa=true) you can then see what % of people visiting that URL are in a WebView (more info here).

+1 to Peter's view on engagement levels. Something like the change on #237 would ensure the Trusted Web Activity is only started after Firebase is initialised.

+1 to Peter's view on engagement levels. Something like the change on #237 would ensure the Trusted Web Activity is only started after Firebase is initialised.

Closing, as things seems to be working as intended.

@PEConn  Thanks for your reply and sorry for delay in my reply.

I'm not sure what the point of CustomTwaActivity is - it looks like it just launches CustomQueryStringLauncherActivity. Could you not just set that to be launched directly?

As from your advise I removed CustomQueryStringLauncherActivity and kept CustomTwaActivity.
More details on how CustomTwaActivity works are in a new separated thread I recently opened for a different matter (https://github.com/GoogleChrome/android-browser-helper/issues/281).
I had seen this "two separated activities approach" in a stackoverflow.com thread. I thought there was some reason I didn't know to do so. Actually it was simply useless.
As far as your interesting theory concerning the reason why so many WebViewFallbackActivity are recorded, your explanation seems to be supported by the fact that in "https://play.google.com/" there is a similar metric (even better I would say that it's the same metric).
And in this metric the percentage of CustomQueryStringLauncherActivity is 85% while WebViewFallbackActivities is 15% out of all cases.
The only problem is that now I'm not able to find it again.
To be honest play.google.com interface could be more user friendly, but I'm sure that the values was those one.
Thanks.
E.F.


Retry on failed fetch messages

Fixes #3281

Thanks @borisyankov ! Merged.

FTR, I just reverted this because it broke our tests. Details in #3281 .


don't explode when no exc_info is available, fixes flask logging

Fixes the following use case on flask (tested with python 3.5):
if not app.debug:
    print("adding slack logging")
    handler = slh.SlackerLogHandler(apy_key, channel, username="Python errors")
    handler.setLevel(logging.ERROR)
    app.logger.addHandler(handler)

app.logger.error("this error goes to slack")

Thanks! If you'd like to add some Flask config info to the readme, feel free to open another pull request.


3/27 Review Ticket

[x] Big Idea 2 Quiz
[x] Space and Time Hacks
[x] Group Project Planning
[x] Trio Group
[x] CPT Finishing Plan

Commit history:

Peer Review by Tay Kim

Criteria
Score

Team Plans
1

Division of work - Scrum Board
1

Pair-Trio Issues
1

Code in Space/Time Hacks
1

Quiz score and correction
1

GitHub Commit
1

Plans to finish CPT
1

Peer grade: 7/7


added ids to all text fields #613

Description
see #613
Testing instructions

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage

Agile board tracking
closes #613

wait on #525 to be merged so that IDs can be added to autocompletes

Testing this I found it was inconsistent with property ids as they are generated while the page is open e.g. adding two categories wont remember the first. Discussing with Joshua we think its best just to disable it for these by generating unique random ids for them rather than the ones generated with a counter. I think you can use the uuid package to do this and use uuidv4 (cypress already includes this, but we will need to add it to the non dev dependencies with yarn add uuid @types/uuid).

Testing this I found it was inconsistent with property ids as they are generated while the page is open e.g. adding two categories wont remember the first. Discussing with Joshua we think its best just to disable it for these by generating unique random ids for them rather than the ones generated with a counter. I think you can use the uuid package to do this and use uuidv4 (cypress already includes this, but we will need to add it to the non dev dependencies with yarn add uuid @types/uuid).

Would just be in the propertyForm ? Or everywhere in which there are properties, like in the catalogue items / items dialog.

Testing this I found it was inconsistent with property ids as they are generated while the page is open e.g. adding two categories wont remember the first. Discussing with Joshua we think its best just to disable it for these by generating unique random ids for them rather than the ones generated with a counter. I think you can use the uuid package to do this and use uuidv4 (cypress already includes this, but we will need to add it to the non dev dependencies with yarn add uuid @types/uuid).

Would just be in the propertyForm ? Or everywhere in which there are properties, like in the catalogue items / items dialog.

Items form looks fine to me as it uses the ids of the properties. The catalogue items form currently use the name, but should use id as well if you can change that. The migration add property form currently renders with names like property-name-input- and as they have the same issue with the allowed values list, I think they should as well but that is in the propertyForm anyway. So I think it is just the propertyForm that needs the uuid's.

Could the case match on the selects, e.g. right now it shows they are different e.g.

Also could the clear button be removed on the fields that are mandatory - it doesn't do anything after a value has been selected as they can't be cleared.

Could the case match on the selects, e.g. right now it they are different e.g.
Also could the clear button be removed on the fields that are mandatory - it doesn't do anything after a value has been selected as they can't be cleared.

I was going to create an issue to change the autocompletes to ensure the labels and value work better - I will probably do it in #643, and can get rid of the clear option if mandatory


Add sync_until method to pcli::sync

Currently, pcli has a method
pub async fn sync(opt: &Opt, state: &mut ClientStateFile) -> Result<()> { /* .. */ }

It would also be useful to have a method
pub async fn sync_until(opt: &Opt, state: &mut ClientStateFile, nc: note::Commitment) -> Result<()> { /* .. */ }

that would attempt to synchronize until the provided note commitment nc was observed in the wallet state.  This would let us wait on change notes.
In a later iteration, we could use Tendermint's websockets or something to be notified when new blocks arrive, but for now, we could do something much simpler, along the lines of:
pub async fn sync_until(opt: &Opt, state: &mut ClientStateFile, nc: note::Commitment) -> Result<()> {
    loop {
        sync(opt, state).await?;
        if /* nc in state */ { return Ok(()) }
        tokio::time::sleep(Duration::from_secs(3)).await;
    }
}

This doesn't need to have a timeout logic built in, since the call to sync_until can be wrapped in a tokio::time::timeout, which is much simpler than using an internal select.

Are there situations where we'd like to use this to await more than one note at the same time? Should it take &[note::Commitment]?

I don't think so, if the method returns immediately when the note is already present, you can get the same effect by looping and waiting for each note individually without extra wait time (some layer notes might be seen while waiting for earlier ones).

Closing this because it may become stale by the time we revisit the wallet code.

Closed in favor of #935


Issue after Post is submitted

Hey guys, thanks for your time. Hopefully this is the right place to post this or at least someone can point me in the right direction.
My telescope app is deployed on a EC2 Ubuntu server, via meteor-up. I did the mongo setup using mup too. I created a simple package based on the telescope-blank package, and i added a hook to the postAfterSubmitMethodCallbacks array, which calls an external API using the Meteor's HTTP library. On my local environment this works without any problems, i put some console.logs to follow the workflow and everything is fine. But when i deploy the callback doesn't seem to be ran. To check this i used mup's mup logs -f command and this is what i got
[<IP_ADDRESS>] Exception in defer callback: MongoError: '$set' is empty. You must specify a field like so: {$mod: {<field>: ...}}[<IP_ADDRESS>]
    at Object.Future.wait (/opt/TestApp/app/programs/server/node_modules/fibers/future.js:326:15)
    at [object Object].<anonymous> (packages/meteor/helpers.js:119:1)
[<IP_ADDRESS>]     at [object Object].MongoConnection.(anonymous function) (packages/mongo/mongo_driver.js:634:1)
[<IP_ADDRESS>]     at [object Object].mongoConnectionProto.(anonymous function) [as update] (packages/meteorhacks:kadira/lib/hijack/db.js:36:1)
[<IP_ADDRESS>]     at Object.fields (packages/matb33:collection-hooks/update.js:75:1)
    at Object.collection.(anonymous function) [as update] (packages/matb33:collection-hooks/collection-hooks.js:99:1)
    at [object Object].Mongo.Collection.(anonymous function) (packages/mongo/collection.js:574:1)
    at [object Object].Mongo.Collection.(anonymous function) [as update] (packages/aldeed:collection2/collection2.js:159:1)
    at addMediaAfterSubmit (packages/telescope-embedly/lib/server/get_embedly_data.js:80:1)
    at app/collections/posts.js:364:18
    - - - - -
    at Object.toError (/opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/utils.js:110:11)
    at /opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/collection/core.js:542:27[<IP_ADDRESS>]
    at /opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/db.js:1129:7
    at /opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/db.js:1843:9
    at Server.Base._callHandler (/opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
    at /opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/server.js:468:18
    at [object Object].MongoReply.parseBody (/opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at [object Object].<anonymous> (/opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/server.js:426:20)
    at [object Object].emit (events.js:95:17)
[<IP_ADDRESS>]     at [object Object].<anonymous> (/opt/TestApp/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13)

Sadly it doesn't end there... i removed my package, re-deployed the app and this is still happening. Also in both cases with my package and without it the Post still get's saved, but i never see the console logs inside the callback that i added.
Any ideas? Thanks for your time!

Is this the full error? Seems like it might be missing the error message itself?

Also can you link to your GitHub repo?

Updated!.
Sorry i copied the wrong thing!, i'll upload and let you know

@SachaG i can't give you access yet because it's on a private repo. I did some more investigation and when i deactivate the embedly package everything works fine, deployed and local... the callback runs.
I'll keep you updated!

Closing this for now, feel free to reopen it if you run into this issue again :)

This should fix it: https://github.com/TelescopeJS/Telescope/commit/0e3a96f50b0660da7360823ad7ac0457cf2c073d


⚠ Bofrost.de has degraded performance

In 5417937, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 792 ms

Resolved: Bofrost.de performance has improved in 6f27a82.


Tracing Jaeger Helm configuration not being translated to Traefik arguments

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What version of the Traefik's Helm Chart are you using?
10.6.1
What version of Traefik are you using?
2.5.3
What did you do?
I generated a tracing config to integrate Traefik with our new tracing infrastructure using Jaeger.
This is the tracing config within helm (values.yaml):
                "tracing":
                  "jaeger":
                    "collector":
                      "endpoint": "http://jaeger-colletor.jaeger:14268/api/traces?format=jaeger.thrift"
                    "enabled": "true"
                    "gen128Bit": "false"
                    "localAgentHostPort": "jaeger-agent.jaeger:6831"
                    "propagation": "b3"
                    "samplingParam": "1"
                    "samplingType": "const"
                    "traceContextHeaderName": "x-b3-traceid"
                  "serviceName": "traefik"

This should result in helm converting the tracing config into arguments representing the config.
What did you see instead?
No arguments are generated and tracing stays "OFF".
No feature was activated
What is your environment & configuration?
Tools:

Terraform
helm using the Terraform Helm provider

Environment:

Kubernetes v1.22 running on EKS

Additional Information
Related to the "translation" missing inside the podtemplate:
https://github.com/traefik/traefik-helm-chart/blob/ce3dbf2eb2011388f16e3579b52e5f8f9f832225/traefik/templates/_podtemplate.tpl#L134
Currently only supports instana and datadog but not jaeger even though it's supported (see docs https://doc.traefik.io/traefik/observability/tracing/jaeger/)
Workaround for now is to directly provide the arguments through:
      additionalArguments = [
        "--tracing.jaeger=true",
        "--tracing.serviceName=traefik",
        "--tracing.jaeger.localAgentHostPort=jaeger-agent.jaeger:6831",
        "--tracing.jaeger.gen128Bit=false",
        "--tracing.jaeger.samplingType=const",
        "--tracing.jaeger.samplingParam=1",
        "--tracing.jaeger.traceContextHeaderName=x-b3-traceid",
        "--tracing.jaeger.propagation=b3",
      ]

But this seems redundant and makes using the other properties useless.

Possible duplicate for #608


MSL: Allow post-depth coverage on Mac in MSL 2.3.

It's still only supported on Apple GPUs, but Macs will have those soon.

Will merge when Travis passes.

What's up with Travis lately? It's been almost a full day since I pushed this, but Travis still hasn't started building this.

Yes, it's rather curious. Travis has been exceptionally slow lately. I'll just go ahead and merge, since this only affects macOS, is a small patch and I assume you ran test suite.


(BKR-1158) Modularize docker hypervisor

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/4051/

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/4062/

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/4068/

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/4069/


AcraCloud: Admin/instance config UI

Interface, that allows to configure (generate configuration, attach storage) and fire up a new instance.

This is a large feature. We planned it in backlog to Q4 2018.

we're sunsetting AcraWebConfig since 0.91.0 and will release / partially release Policies Configuration for AcraCE in next releases.


Artifacts: Class method for 'exists'

Might be useful to have a class method that returns whether a 'uuid' exists within the current visibility scope.

We're using the instance check() method for checking if something exists.


Inference Time 2X Slow

Hi all,
When I perform finetuned model inference on 2 GPUs and load in 4bit, the speed is 2X slower compared with the original model after 4 bit quantization.
The model I used is MOSS and the reason use 2 GPUs for inference is OOM issue. I wonder why this happens. Really hope u could help me out

@lukaswangbk did you find a solution?


xgboost.train() with custom feval is 10x-20x slower than with standard eval metric

First of all, thank you for XGBoost, it is a great library!
I am using xgboost from python and observe a much slower training time - in the order of 10x to 20x slower - when using a custom metric, i.e. xgboost.train(param, dtrain, feval=custom_metric), with respect to using a standard metric, e.g. map. So training lasts 20 minutes instead of 1-2 minutes for 100 rounds. The custom metric is a very simple and fast function that takes milliseconds to evaluate, no more. The problem doesn't seem related at all to the cost of executing custom_metric.
Is this an expected behavior?
Further details: I use a GPU ('tree_method': 'gpu_hist') and observed the issue both in XGBoost v0.90 and v1.5.0-dev.
Could this be a GPU-related problem?

The problem was unrelated to XGBoost. Sorry for the noise.


Title: hex gradient color

Is your feature request related to a problem? Please describe.
Hey I made hex gradient color Project Which Is Very Good!
Describe the solution you'd like.
This Project is very Helpfull,
I Make This Project With the help of HTML, CSS & JavaScript,
Describe alternatives you've considered.
The CSS & JavaScript Code are Available in very well mannered! & Easy to understand!
Add any other context or screenshots about the feature request here.
No response

Already there on the website

Any idea you give me me?

Any idea you give me me?

Try to be more innovative.


Caching happens earlier than expected

If I understand correctly, saving the contents of the local directory happens at the end of the workflow step with shogo82148/actions-setup-perl@v1. Notably, this is different from the behavior of the actions/cache@v3, which saves the cache at the end of the job instead.
This might cause the cache to miss some content, for example any modules that are installed in later steps in the same job manually into the local directory. This might happen e.g. when Dist::Zilla is used to install author dependencies with dzil authordeps | cpm install -.
There might be a better way to solve caching for this specific use case (please let me know), but it might still worth to do one or more of the following:

document the current behavior
match the behavior of the "standard" caching via actions/cache@v3
provide an option to control when caching happens

Thank you, @shogo82148! :bow:
I will try this the next time I'm working with GitHub Actions workflows.


Allow sonobuoy plugins to have custom annotations

Describe the solution you'd like
I would like to be able to specify custom annotations for sonobuoy plugin pods
Anything else you would like to add:
Particularly I am creating a sonobuoy plugin based on powerfulseal, and in that vein I need to add kiam annotations to the powerfulseal pod. Instead of doing a 2-stage launch (launching powerfulseal pod /w annotation from the plugin pod) it would be far easier to specify the annotation into the plugin config yaml.
Environment:

Sonobuoy version: 0.11.6
Kubernetes version: (use kubectl version): 1.10
Kubernetes installer & version: bootkube
Cloud provider or hardware configuration: AWS
OS (e.g. from /etc/os-release): CoreOS

Currently, we leverage annotations on pods in the worker process to allow to report overall status.  It's possible to enable a custom override via the plugin definition, but as of today, they would collide.
Happy to enqueue, but I'm not certain we will have time soon to address.

How would a custom override work in the plugin definition? While I think it's a worthwhile feature for the backlog, any workaround (including supplying my own completely generated pod definition for the worker pod) would be fine by me.

@jeffb4 So is it that you just want to be able to specify an annotation that you want set on the worker at startup?
I think that what @timothysc is saying is that when you specify the yaml for your plugin you can specify annotations as needed just like usual.
Maybe I'm not understanding what your optimal solution looks like? Are you looking for a CLI integration specifically?

That is exactly what I need to do. In my plugin definition, I need to add an annotation that kiam can pick up. The plugin definition YAML doesn't support annotations (or didn't as of December 2018) on plugin pods.

From our conversation in slack things have gotten much more clear. The issue, as you pointed out, s that the values you are placing in the YAML dont survive once the sonobuoy master loads the config because the config type doesnt have that value to unmarshal into. In addition, adding it to the config will only be half the problem because the workers are made from another template which that config is loaded into.
So the fix is 2 parts:

add the fields in the config
add the extra template in the worker/daemonset to use this

The latter point there is what users today have no say over since it is stored/generated from the code after everything is in flight.

#660 did this with imagePullSecrets. This should be even easier to accomplish since (1) it only affects the plugins (2) it can be validated with simple images/registries and (3) doesnt require any manual steps like creating secrets in the namespace

@jeffb4 Would providing the annotations on a global scale satisfy your needs or for you does it need to be per-plugin?
The reason I ask is that if there are kiam permissions that plugins need it seems like the aggregator would need them as well (in order to get all the data queries to work). If I were to integrate it as a per-plugin option you'd have to adjust each plugin and manually modify the main yaml from sonobuoy gen as well.
Alternatively, the option I'm promoting, if I add an option to the config file to track these custom annotations, they can be placed on the aggregator pod and all the plugins with a single config option.  Would that work for your use case?

For my use case I did not need the annotations to be global - the sonobuoy plugin pod needed the annotation (for powerfulseal to do some EC2 scanning) but it wasn't needed in the aggregator, for instance. That said it also would be usable if it was global, if that is a significantly easier change for instance.

@johnSchnake - thanks for all your work getting this in!


Broken with mkosi version 8

mkosi now requires a verb as part of the command invocation. From the docs, it looks like build is the correct verb to make everything behave as it did before.

@stellarhopper  debugged this to Autologin added to the template

We could either remove the autologin option, or add a README note that mkosi 9+ is expected.

I think given that this is targeted in part toward people who have no clue what they're doing on a command line... the former is a better choice.
Option 3 would be to dynamically add to the config if mkosi >= 9


Fixing uninitialized gotData_ in soci::statement #609

This fixes the uninitialized gotData_ in constructors and copy assignment operator of the class
soci::statement.

@AngelinNjakasoa would you be willing to refine your PR as per @vadz comment?
Then it will have a chance to make it into 4.0.0 release - I'm not able myself to work on updating your PR now.

Apparently OP has got lost in action and to move forward I'm going to accept this PR as is.
Next, I will add the missing initialisation to the statement copy ctor.
Rest of the suggestions of improvements will have to wait.

 I completely forgot PR update via GitHub generates those silly Merge branch 'master' into master. Sorry!


TypeScript Error: Slot Component Incompatibility with Next.js 15/React 19

Bug report
Current Behavior
When using the Slot component from @radix-ui/react-slot in a Next.js 15 project (potentially related to React 19 compatibility), TypeScript throws type errors indicating that the Slot component cannot be used as a JSX element. This affects form components and other UI elements that utilize the Slot primitive.

Expected behavior
The Slot component should work correctly as a JSX element without TypeScript errors, maintaining compatibility with Next.js 15 and React 19.
Reproducible example

Create a Next.js 15 project

Install @radix-ui/react-slot

Try to use the Slot component in a form component like so:

import { Slot } from "@radix-ui/react-slot";
...
const FormControl = React.forwardRef<
  React.ElementRef<typeof Slot>,
  React.ComponentPropsWithoutRef<typeof Slot>
>(({ ...props }, ref) => {
  return (
    <Slot
      ref={ref}
      {...props}
    />
  );
});

Suggested solution
Additional context
This issue specifically affects form components that use the Slot primitive for composition. The error suggests there might be an incompatibility between the ReactNode types being used by Radix UI and those provided by React 19.
Your environment
    "next": "15.0.1",
    "react": "19.0.0-rc-69d4b800-20241021",
    "@radix-ui/react-slot": "^1.1.0",
    "react-dom": "19.0.0-rc-69d4b800-20241021",

Software
Name(s)
Version

Radix Package(s)
@radix-ui/react-slot
1.1.0

React
react/react-dom
19.0.0-rc-69d4b800-20241021

Browser

Assistive tech

Node
n/a

npm/yarn
pnpm

Operating System

Same issues here any fix?

Yeh, I couldn't really think of anything other than
const Comp = asChild ? (Slot as any) : 'button';
Shh, don't tell anyone!!

Are y'all using bun? I think this is because bun doesn't support nested resolutions/overrides: https://github.com/oven-sh/bun/issues/6608. Switching to PNPM fixed this for me.

Could this be why my FormContext seems to be leaking to 'nested' forms in my Shadcn form?

This is a type mismatch issue local to your project, not something that could be resolved by radix-ui until they upgrade to React 19.
You can fix it locally by adding either resolutions for yarn or overrides for npm/pnpm.
// yarn
{
  "resolutions": {
    "@types/react": <EMAIL_ADDRESS>    "@types/react-dom": <EMAIL_ADDRESS>  }
}

// npm/pnpm
{
  "overrides": {
    "@types/react": <EMAIL_ADDRESS>    "@types/react-dom": <EMAIL_ADDRESS>  }
}

https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides
https://pnpm.io/package_json#pnpmoverrides
https://yarnpkg.com/configuration/manifest/#resolutions


How can I save model with input/output signatures with TF2?

How can I save model with input/output signatures for using model in TF serving like I used to saved in V1?
builder = tf.saved_model.builder.SavedModelBuilder(export_path)

model_input = tf.saved_model.utils.build_tensor_info(model.input)
model_output = tf.saved_model.utils.build_tensor_info(model.output)

prediction_signature = (
    tf.saved_model.signature_def_utils.build_signature_def(
        inputs={'inputs': model_input},
        outputs={'output': model_output},
        method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME))

with K.get_session() as sess:
    builder.add_meta_graph_and_variables(
        sess=sess, tags=[tf.saved_model.tag_constants.SERVING],
        signature_def_map={
            'predict':
                prediction_signature,
        })

    builder.save()

I see that in TF2 I need use tf.function but I can't understand how create exactly same save signatures that I used in TF1
I can't use way with tf.compat.v1. cause TF serving wont work due to my previous issue
https://github.com/tensorflow/tensorflow/issues/56698
System information
python 3.9
tensorflow-serving-api==2.8.0
tensorflow==2.8.0

Hi @ViktorKhLoopMe !
You have to declare the call and other function of your model under @tf.function with the signature and use concrete function while saving the model.
If you want to use 1.x model weights,  you can transfer the weights to a 2.x model.
Please refer this document for sample usage of signature while saving model .
Thank you!