Fly FLAME failing with timeout

Hi,
I attempted a simple Flame example in an existing app, but I'm running into an issue where the FLAME instance is killed immediately, but the caller sees a timeout.
Versions:
elixir=1.16.2
erlang-otp=<IP_ADDRESS>
{:flame, "~> 0.1.12"}

I tried to follow the doc's and setup:
# application.ex
        {FLAME.Pool,
         name: MyApp.FFMpegRunner,
         min: 0,
         max: 2,
         max_concurrency: 1,
         idle_shutdown_after: 30_000,
         timeout: :timer.minutes(30)},

# runtime.exs
  pool_size =
    if FLAME.Parent.get() do
      1
    else
      String.to_integer(System.get_env("POOL_SIZE") || "10")
    end

  config :loccal, MyApp.Repo,
    url: database_url,
    pool_size: pool_size,
    socket_options: maybe_ipv6

  config :flame, :backend, FLAME.FlyBackend

  config :flame, FLAME.FlyBackend,
    token: System.fetch_env!("FLAME_FLY_API_TOKEN"),
    cpus: 2,
    memory_mb: 8 * 1024,
    boot_timeout: 120_000

Then run a simple example in a remote Fly shell:
iex(myapp@908055ec2195e8)1> FLAME.call(MyApp.FFMpegRunner, fn -> {:ok, "Foo"} end)
** (exit) exited in: FLAME.Pool.call(MyApp.FFMpegRunner, #Function<43.3316493/0 in :erl_eval.expr/6>, [])
    ** (EXIT) time out
    (flame 0.1.12) lib/flame/pool.ex:268: FLAME.Pool.exit!/3
    iex:1: (file)
iex(myapp@908055ec2195e8)1>

I tried setting the timeouts really high, because I see that in the logs below.
It appears the FLAME instance is spawned, and attempts to run, but is then shut down.
One suspicious thing is that the endpoint in the logs in the 9185997ade1258 instance is https://example.com, while my app is the real domain in my shell:
iex(myapp@908055ec2195e8)3> Application.get_env(:loccal, LoccalWeb.Endpoint)[:url]
[host: "myapp.com", port: 443, scheme: "https"]

(I disabled selectively starting applications in the Flame instance, for rule out having made a mistake there)
Any idea of what I could be missing here?
Logs:
# Logging into a remote shell here, and executing the simple FLAME call
2024-04-23T15:00:20Z app[908055ec2195e8] cdg [info]2024/04/23 15:00:20 New SSH Session - XXXXXX
2024-04-23T15:00:37Z app[908055ec2195e8] cdg [info] WARN Reaped child process with pid: 560 and signal: SIGUSR1, core dumped? false
2024-04-23T15:02:22Z runner[9185997ade1258] cdg [info]Pulling container image registry.fly.io/my-app-8571:deployment-01HW5Q7P881CZB6TQ747W188PK
2024-04-23T15:02:23Z runner[9185997ade1258] cdg [info]Successfully prepared image registry.fly.io/my-app-8571:deployment-01HW5Q7P881CZB6TQ747W188PK (1.058413437s)
2024-04-23T15:02:26Z runner[9185997ade1258] cdg [info]Configuring firecracker
2024-04-23T15:02:26Z app[9185997ade1258] cdg [info][    0.230064] PCI: Fatal: No config space access function found
2024-04-23T15:02:27Z app[9185997ade1258] cdg [info] INFO Starting init (commit: 65db7f7)...
2024-04-23T15:02:27Z app[9185997ade1258] cdg [info] INFO Preparing to run: `/app/bin/server` as nobody
2024-04-23T15:02:27Z app[9185997ade1258] cdg [info] INFO [fly api proxy] listening at /.fly/api
2024-04-23T15:02:27Z app[9185997ade1258] cdg [info]2024/04/23 15:02:27 listening on [fdaa:0:31ed:a7b:ae02:ad7e:20b7:2]:22 (DNS: [fdaa::3]:53)
2024-04-23T15:02:27Z runner[9185997ade1258] cdg [info]Machine created and started in 5.019s
2024-04-23T15:02:33Z app[9185997ade1258] cdg [info]15:02:33.201 [info] Running MyAppWeb.Endpoint with cowboy 2.12.0 at :::4000 (http)
2024-04-23T15:02:33Z app[9185997ade1258] cdg [info]15:02:33.204 [info] Access MyAppWeb.Endpoint at https://example.com
2024-04-23T15:02:33Z app[9185997ade1258] cdg [info] WARN Reaped child process with pid: 382 and signal: SIGUSR1, core dumped? false
2024-04-23T15:02:38Z app[9185997ade1258] cdg [info]15:02:38.178 [info] Tzdata has updated the release from 2021e to 2024a
2024-04-23T15:02:53Z app[9185997ade1258] cdg [info] WARN Reaped child process with pid: 384 and signal: SIGUSR1, core dumped? false
2024-04-23T15:02:53Z app[9185997ade1258] cdg [info] WARN Reaped child process with pid: 385 and signal: SIGUSR1, core dumped? false
2024-04-23T15:03:40Z app[9185997ade1258] cdg [info] INFO Main child exited normally with code: 0
2024-04-23T15:03:40Z app[9185997ade1258] cdg [info] INFO Starting clean up.
2024-04-23T15:03:40Z app[9185997ade1258] cdg [info] WARN could not unmount /rootfs: EINVAL: Invalid argument
2024-04-23T15:03:40Z app[9185997ade1258] cdg [info][   73.750104] reboot: Restarting system
2024-04-23T15:03:40Z runner[9185997ade1258] cdg [info]machine restart policy set to 'no', not restarting
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]15:04:21.071 [error] failed to connect to fly machine within 120000ms
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]15:04:21.072 [error] GenServer #PID<0.6714.0> terminating
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]** (stop) time out
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (flame 0.1.12) lib/flame/fly_backend.ex:249: FLAME.FlyBackend.remote_boot/1
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (flame 0.1.12) lib/flame/runner.ex:270: anonymous fn/4 in FLAME.Runner.handle_call/3
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (stdlib <IP_ADDRESS>) gen_server.erl:1149: :gen_server.try_handle_call/4
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (stdlib <IP_ADDRESS>) gen_server.erl:1178: :gen_server.handle_msg/6
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (stdlib <IP_ADDRESS>) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]Last message (from #PID<0.6713.0>): {:remote_boot, nil}
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]15:04:21.073 [error] Task #PID<0.6713.0> started from MyApp.FFMpegRunner terminating
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]** (stop) exited in: GenServer.call(#PID<0.6714.0>, {:remote_boot, nil}, :infinity)
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    ** (EXIT) time out
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (elixir 1.16.2) lib/gen_server.ex:1114: GenServer.call/3
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (flame 0.1.12) lib/flame/pool.ex:565: FLAME.Pool.start_child_runner/2
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (elixir 1.16.2) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    (elixir 1.16.2) lib/task/supervised.ex:36: Task.Supervised.reply/4
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]Function: #Function<1.15317371/0 in FLAME.Pool.async_boot_runner/1>
2024-04-23T15:04:21Z app[908055ec2195e8] cdg [info]    Args: []
2024-04-23T15:04:33Z app[908055ec2195e8] cdg [info]15:04:33.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs
2024-04-23T15:04:33Z app[908055ec2195e8] cdg [info]  Transport: :websocket

Attempted to debug this issue.
PCI: Fatal: No config space access function found
...
WARN could not unmount /rootfs: EINVAL: Invalid argument

PCI Fatal is harmless Linux kernel chatter complaining of no PCI port found.
According to: https://community.fly.io/t/error-after-deploy-warn-could-not-unmount-rootfs-einval-invalid-argument/19624/6 the unmount is also harmless.
I tried checking if my clustering wasn't setup correctly:
{:dns_cluster, "~> 0.1.3"},

but I can see the other node (in a 2 node cluster) when doing list:
iex > Nodes.list()
[...]

This project has been upgraded since 1.12. I noticed the fly.toml tcp checks were quite short, but it had never been an issue bfore:
 [[services.tcp_checks]]
-grace_period = "1s"
-interval = "15s"
+grace_period = "10s"
+interval = "20s"
 restart_limit = 0
-timeout = "2s"
+timeout = "60s"

And now it works! Yay! 🎉


Codegen all functions in a crate with global ASM as unimplemented

Description of changes:
Currently, for crates that contain module-level assembly, codegen emits a warning, and skips the codegen of all GlobalAsm items. This may impact soundness as the assembly that we don't model could be affecting the state in that crate. This PR mitigates the soundness issue by codegening all functions in a crate as unimplemented if it has module-level assembly. This would cause verification to fail if any function in that crate is called, with the following message:
Calling function "foo" defined in a crate with global_asm is not currently supported by Kani

and it would cause all other "SUCCESS" results to be reported as "UNDETERMINED".
The PR also leaves static variables in crates with global ASM undefined (only declared), which would cause a non-det value to be returned for them.
Resolved issues:
Mitigates #316
Call-outs:

Testing:

How is this change tested? One test added

Is this a refactor change? No

Checklist

[X] Each commit message has a non-empty body, explaining why the change was made
[X] Methods or procedures are documented
[X] Regression or unit tests are included, or existing tests cover the modified code
[X] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

Can we implement all the functions using codegen_unimplemented as the only statement with a more friendly message?

Done.

Can you add a quick check to your test please?
I was wondering what will happen if you define a generic function inside crate_with_global_asm but only use it inside the global crate.

Hmmm..  This seems problematic. I added the following function to crate_with_global_asm:
pub fn a_generic_function<T>(x: T) -> T {
    x
}

and added a harness that calls it from the main crate:
#[kani::proof]
fn call_generic_function_in_crate_with_global_asm() {
    let x = "Hello World";
    let y = crate_with_global_asm::a_generic_function(x);
    assert_eq!(y, "Hello World");
}

and verification succeeded :(
Is this what you were concerned about?

Closing in favor of #1112


Introduce empty polis.config for development

If I strictly follow the current instructions in the README, I get this error:
Error: Cannot find module './polis.config'

By adding this line, we make the out of the box dev experience slightly nicer.

Actually, this doesn't work. It turns out I actually need config in polis.config

I think now you know that docker is the only supported install method, but open to specific suggestions on how you think we could make that most clear to someone like yourself


CUDA out of memory

Hi Xintao,
I currently study GAN to help super-resolution task, e.g. ESRGAN.
When I tried to run your code from DIV2K training set, I keeps getting run time error: CUDA out of memory.
I have two question about this.

How much memory it spends to run ESRGAN?
Tried to allocate 12.00MiB (GPU 0; 3.95 GiB total capacity; 3.46 GiB already allocated; 1.56 MiB
free; 2.38MiB cached)
Where and how can I modify your architecture to have a smaller arch in order to fit my environment?

It consumes about 2~5G GPU memory depending on the input size.
You can modify the architecture in this file https://github.com/xinntao/BasicSR/blob/master/codes/models/modules/architecture.py

It consumes about 2~5G GPU memory depending on the input size.
You can modify the architecture in this file https://github.com/xinntao/BasicSR/blob/master/codes/models/modules/architecture.py

Hi Xintao,
I encounterd the same problem with my 1080Ti which has 11GB memory. I trained the model with 128*128 DIV2K patches and batchsize = 8. But the "CUDA out of memory" still bothers me. Is there anything wrong with my settings?

try reducing batchsize


The movie analysis page is not working

It is showing script execution error. As a result the page is not accessible. I would like to fix this issue.
Please assign me this under GSSoc'24.
Currently it is displaying this:

After fixing the issue:

@sanjay-kv I have made a pull request for this issue. #218


Timestamp docs not updates on doc

I notice that the documentation on the readme regarding timestamps is not updated.
sending a MR to fix this

#101

Hey @agroernesto,
You can use EAS to timestamp any data. Not only attestations.

Got it, but is not clear in the docs, may add the two examples.
Because if you try to use the example of the uid with the method on the readme will fail.
At least for me, I was doing some tinkering with the sdk and got stucked with that for a while.
Just trying to help
Best

Yeah, adding the UID examples, in addition to the existing generic example, is a good idea. If you could update your PR, I'd be more than happy merging it

Glad to do it, let me know if is ok, this way
#102


[Engineering] Remove most relative paths from Windows scripts

Our scripts on Windows have many relative paths. Remove those, and rely on environment variables set by an init script that sets up a "dev shell".
Also provide convenience macros for building, unit testing, and functional testing debug and release bits.

Did you look at or consider replacing the scripts with a .net core app? This might allow us to share more. We would still need to have separate scripts if we wanted to have the shortcuts for building, testing, etc from cmd or bash.

Yes @kewillford I think this is something to investigate, be it dotnet or xplat scripting environment acquired during init. I'm not a fan of having so much of the engineering system logic as platform-specific scripts. We should look at converging as much as possible.

@sanoursa Do you want further changes or is this ready to go in?


change to directory of project path

If I already have a mani.yaml configured for multiple projects, I would like to write a custom task that will change my current CLI (in my case darwin or linux) to the project path.
projects:
  example:
    path: .
    desc: A mani example

  pinto:
    path: frontend/pinto
    url: https://github.com/alajmo/pinto.git
    desc: A vim theme editor
    tags: [frontend, node]

tasks:
  go-here:
    desc: go to project path
    target:
      cwd: true  # what does this do?
    cmd: pushd "$(pwd)"

I would like mani run go-here -p pinto to change the current working directory of my shell to ./frontend/pinto
Testing this I always seem to return to working directory from where I executed mani.
One of the reasons driving this is that many multi-project development teams have repo-specific dependencies such as .npmrc, .python-version, .sdkmanrc which only kick in of the current working directory is that of the project.

You can read the manual here or man mani.
# List of targets [optional]
targets:
  default:
    # Target all projects
    all: false

    # Target current working directory project
    cwd: false

    # Specify projects via project name
    projects: []

    # Specify projects via project path
    paths: []

    # Specify projects via project tags
    tags: []
    ```

`cwd` means to target the project you are standing in.

if you stand in `/pinto` it will target pinto, if you stand in root, it will target `/example`. This is mainly to avoid typing `mani run <task> -p <project>`.

Also note, `pushd` is not available in `sh`, which is the shell selected by default. If you want to change the default shell add `shell: bash` (or zsh, etc.):

shell: bash
projects:
example:
path: .
desc: A mani example
pinto:
path: frontend/pinto
url: https://github.com/alajmo/pinto.git
desc: A vim theme editor
tags: [frontend, node]
tasks:
go-here:
desc: go to project path
target:
cwd: true  # what does this do?
cmd: pushd "$(pwd)"

If you mean you want to change your current shell's directory, that's not really possible it seems.
https://stackoverflow.com/questions/46028707/how-to-change-the-current-directory-in-go


Tech Stack Section Added

Related Issue
Closes: #138
Description of Changes
I have done changes in readme section of the file.
For example:

Added a new function to handle XYZ.
Updated the ABC module to fix the bug.
Refactored code in the DEF class for improved performance.
-->

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[ ] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots

Original
Updated

Please provide any necessary screenshots to illustrate the changes made.

Please add the contributor list and make some techicality. How to setup project in detail? and what is prettier lint test and how to fix it?

I have updated the readme

added  contributor list
badges
How to setup project in detail?(Contributing)
what is prettier lint test and how to fix it?

https://github.com/anmode/grabtern-frontend/assets/105661636/be67cc08-10e7-46b7-bd15-269cf4109752


Add special handling for leafwing_input_manager

Adds special support for leafwing input manager.
User can register their various Actionlike in the protocol; those inputs will get replicated to server.
TODO:

make sure the default behaviour works well for both pre-predicted entity or entity created on server
add extra LeafwingInputX associated types on protocol

Codecov Report
Attention: 475 lines in your changes are missing coverage. Please review.

Comparison is base (45fe169) 61.50% compared to head (78e54fd) 56.22%.
Report is 2 commits behind head on main.

Files
Patch %
Lines

lightyear/src/client/input_leafwing.rs
0.00%
186 Missing :warning:

lightyear/src/inputs/leafwing/input_buffer.rs
0.00%
166 Missing :warning:

lightyear/src/server/input_leafwing.rs
0.00%
42 Missing :warning:

lightyear/src/connection/events.rs
20.00%
24 Missing :warning:

lightyear/src/server/events.rs
0.00%
11 Missing :warning:

lightyear/src/shared/replication/components.rs
50.00%
11 Missing :warning:

lightyear/src/server/connection.rs
9.09%
10 Missing :warning:

lightyear/src/protocol/component.rs
0.00%
6 Missing :warning:

lightyear/src/shared/events.rs
0.00%
5 Missing :warning:

lightyear/src/client/resource.rs
60.00%
4 Missing :warning:

... and 5 more

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #50      +/-   ##
==========================================
- Coverage   61.50%   56.22%   -5.29%
==========================================
  Files         101      122      +21
  Lines        6346     7668    +1322
==========================================
+ Hits         3903     4311     +408
- Misses       2443     3357     +914

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


V 1.5.5 (1) :: Information does not update if Music playback is paused for a prolonged period and then resumed

iTunes Discord RP Version: 1.5.5 (1) (DMG)
Client system: Retina MacBook Pro (15", Dual Graphics, Early-2013)
Client OS: macOS Catalina 10.15.6 build 19G2021
Music App version: <IP_ADDRESS>
Issue: Playback information (song title, album info, pause/play status and playback duration, etc.) does not update if Music app playback is paused for a prolonged period of time (in my experience, more than a few minutes) and then subsequently resumed. Issue also appears if Music is quit and relaunched later without iTunes Discord RP being relaunched as well. In some cases, the song will update after a delay, and in others, it does not update at all and iTDRP is quit and relaunched to mitigate the issue.

I tested it and I couldn't get either issue to happen: quitting and reopening iTunes works fine, and also resuming playback after a long period of time. Maybe it's some Catalina/Music related issue, I don't know.

I tested it and I couldn't get either issue to happen: quitting and reopening iTunes works fine, and also resuming playback after a long period of time. Maybe it's some Catalina/Music related issue, I don't know.

yep, its catilina and big sur

i have a repo that does the same thing, it is a little buggy but it fixes the songs issue tho....


Using with php-buzz-react

Hi, great work!
Is it possible to use this with php-buzz-react browser?
Did you have an approach to do this?
public function call($url, $params, $type) {
            $headers = array(
                'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',
                'X-Requested-With' => 'XMLHttpRequest',
                'Connection' => 'keep-alive',
                'Accept' => '*/*',
                /*'Accept-Encoding' => 'gzip, deflate',*/
                'Accept-Language' => 'de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4',
                'Cookie' => 'sec_session_id=' . $this->session,
                'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8'
            );
            $this->browser->submit($url, $params, $headers)->then(function (\Clue\React\Buzz\Message\Response $result) use($type) {
                $data = $result->getBody();

                //var_dump($result); todo: gunzip or undeflate message depending on whats given?!

                $this->log("Got {$type} data!", Log\Logger::NOTICE);
                $this->analyser->using($data, $type, $this->debug);
            });
        }

Thanks for filing this issue, I've just migrated this over to https://github.com/clue/php-buzz-react/issues/49!
This is certainly possible, but given the other tickets in my backlog expect this to take some time, so PRs are welcome :+1:


Refactor signing type transactions to use new transaction scheme

Update SetRegularKey and SignerListSet transactions to use scheme defined in https://github.com/ripple/explorer/tree/staging/src/containers/shared/components/Transaction.
Also we need to update components to use hooks and tsx.

Completed with #278


E 908 allow projects with no budget to apply for budget

Waiting for grégoire to clarify the form

waiting from product

Waiting from product to have finish fillout form


feat(popover-edit): accessible row hover content

Hover content is now additionally shown when the row as focus.
Further, to maintain sane tab ordering, the first and last rows as well as the rows immediately above and below the currently focused row are kept in the dom but are visually hidden.
The mat-hover-content directive now works properly in non-editable table cells.
Also includes some optimizations to event/observable usage at startup that reduce startup latency by about 40ms with 500 rows and 2 edits per row.
Savings will be higher when there are more edits per row.
Improved how we re-enter the NgZone to trigger far fewer calls to ApplicationRef.tick (performance improvement will vary by app).

I'm open to better ideas for how to track the first/last row (in reality, the first/last row with hover content)

Actually, hold off on reviewing the EditEventDispatcher changes – I have a much better idea for row hover/focus tracking that I’ll try out on Monday.
In the meantime, if you have any comments on the api or the other parts, or have a better way to track the first/last rows, please fire away.

@kseamon can you rebase?
Also FYI I don't get any notification on a PR unless you comment

Rebased

@kseamon looks like unit tests are failing now

Can you re-push to trigger a new run of CI? Looks like theres a failing test but I suspect its a flake

Rebased and everything is passing now.


Introductory landing page, versioning

Adds introductory narrative to landing page.

Adds Releases menu (using temporary links to spec github until post-v1.0.0 introduces historical version of this site)

Adds version number to breadcrumb bar.

Signed-off-by: Terry Cox<EMAIL_ADDRESS>

Cleaned up...

I looked at the proposal a bit together with Mattias L today and here is some feedback:

Is it possible to limit the maximum width of the text on the main page so that it will never contain more than a certain number of words, or have a maximum pixel width?
The releases button disappears when decreasing the width of the page

The new font is definitely an improvement, thank you!
I still feel a bit lost in front of a wall of text though, even more so on a mobile where the text takes more vertical space, e.g.

I think the first scrolling page should not contain extra text so that the scroll arrow is displayed:

I think it would be nice to use some visual tool to diversify more the content, like the three columns with icons, or tiles with a title or else, I'm open to suggestions.
We could break the text with a diagram for instance?
It looks like the colour schema was changed - is the change related to accessibility?
If so, are there other colours that would fit instead of the ones used in the PR?
Until now the look and feel was built around the colour from the project logo,

From what I can see, the reactive defaults in Docsy are set up based around a 1920x1080 baseline display. It steps down as you get to a number of intermediate display sizes for different devices, and this triggers different reactive behaviour, including first miniturising the top menu (which causes the Releases menu to be hidden) and then eventually hiding the whole menu bar in the hamburger menu. The hidden Releases menu is either an intentional feature, or a Docsy bug. We could try reporting as such?
I'm not seeing any obvious way to limit the text width at max resolution. This all appears to get calculated dynamically. We probably wouldn't want to reduce this in any case, since it would give up problems rendering the tables in the specification and make the white paper hard to read.

@afrittoli The importance of the two example images you show above is the difference in visual hinting and how that impacts behaviour. In the original example, it looks to a new reader as if this is an empty landing page and that the first action for the reader should be to click the 'Get Started' button. This jumps you into technical documentation, unprepared. A very observant reader might press the down arrow, or scroll, but having to place arrows on a page to tell people how to read them is a fundamental failure of UI design, which places graphic design sensibilities above usability.
In the revised design, we are informing the reader of a shortcut to jump out of sequence to get straight to the docs, but we are also showing that there is more to consume on this page by hinting that the text continues by scrolling. Note that for most users, scrolling is a one-handed guesture, but button-pressing requires shifting grip or using the other hand.
The visual language that you are hinting at, has a different purpose. When you are looking at marketing pages for mature products, they are using a lot of graphical images to reinforce a brand image to a target market segment, by subliminal association. The customer already knows what the product is, and the intent is to reinforce them feeling good about the product during their visit.
You have a very different issue. You need to attract early adopters who have a very specific problem that could be solved if this product was built. When they hit the site, you have less than 20 seconds to get them to read the first 100 words and hook their attention enough to get them to invest 2-3 minutes to explore further and establsh if this addresses their problem. If you fail to convince them that this solves an immediate problem in their field, they will move on. The only people who will get to the point of reading the spec is that tiny subset who have the problem that CDEvents mitigates.
At this very early start-up stage, it is easy to fall for the vanity approach of trying to replicate a glossy sales brochure, but it's too early for that. Instead, you must apply the Continuous Delivery methodology and create experiments that engage with the early adoptors who have this problem badly enough to be willing to work with you to solve it. Your web page is an elevator pitch, not a sales brochure.

From what I can see, the reactive defaults in Docsy are set up based around a 1920x1080 baseline display. It steps down as you get to a number of intermediate display sizes for different devices, and this triggers different reactive behaviour, including first miniturising the top menu (which causes the Releases menu to be hidden) and then eventually hiding the whole menu bar in the hamburger menu. The hidden Releases menu is either an intentional feature, or a Docsy bug. We could try reporting as such?

Yes, if the disappeared Releases menu seems to be a Docsy bug I believe it should be reported.

I'm not seeing any obvious way to limit the text width at max resolution. This all appears to get calculated dynamically. We probably wouldn't want to reduce this in any case, since it would give up problems rendering the tables in the specification and make the white paper hard to read.
Ok. I hoped it was possible to set different widths (either in words, characters or pixels) for specific paragraphs/sections without affecting the whole site. If that is not possible then so be it.

Yes, if the disappeared Releases menu seems to be a Docsy bug I believe it should be reported.

I have raised an issue on the Docsy repo.

And I then also think that we should not have the Docs or GitHub link buttons provided that early on the page. The documentation link is already in the top menu, to readers looking for that could easily find it without having it where "Read the Docs" is now. And the GitHub link could be moved to the top menu as well I think.

Agreed. I have updated and it looks better without the buttons at the top. The GitHub link is in the Community page, which I have also fixed in this PR. We need to add a contribution-guidelines.md file in the root of the spec repo (Docsy default location).


Phone number exceptions

Fixes #252. Passing invalid input to the constructor should now expect
an IllegalArgumentException.

@colin-mullikin @FridaTveit When I took a look at this, I noticed that this exercise does not implement all the canonical tests.  To be clear, the example would correctly handle the cases presented in the missing tests, but would there be value to including them I wonder?
@colin-mullikin the intention of your PR was not originally to bring the exercise in to compliance with the canonical tests.  On the other hand, it seems like a small leap.  Would you like to build in this functionality, or do you (or any @exercism/java !) feel that additional work should be in a separate PR?  I'm fine either way.  In my professional work I am a fan of keeping the scope of a PR logically contained, but I just thought I'd mention it.
For reference, here are a few of the tests not implemented by this track:
      {
        "description": "invalid with letters",
        "phrase": "123-abc-7890",
        "expected": null
      },
      {
        "description": "invalid with punctuations",
        "phrase": "123-@:!-7890",
        "expected": null
      },
      {
        "description": "invalid with right number of digits but letters mixed in",
        "phrase": "1a2b3c4d5e6f7g8h9i0j",
        "expected": null
      }

Anyway, I'm happy to write this up as a separate issue if it seems to far afield.

@matthewmorgan I noticed this as well. I decided not to implement the extra tests in this PR because our solution would actually fail the last test you listed. Once you strip out all the non-digits (as we do in the example solution), that becomes a perfectly valid number.
If people decide that we should include these tests, I would be more than happy to take a stab at it, in this PR or in a separate one.

@colin-mullikin right you are.
It sounds like it makes sense to have a separate issue to bring this into compliance with the canonical data, which as you pointed out, will mean changing the example solution as well.
I'll write that up.  Thanks for the good work!


Editing an exisiting source produces "name already taken" error

I'm trying to delete an existing source from a collection via the source page, but when I save the changes I get a message saying "Sorry this name is already taken."

ok, the problem here is that there are two worldnews.com sources
id 95973  name 'WorldNews.com' url u'http://wn.com/#spider'
and
id 121510 name 'worldnews.com' . url u'http://worldnews.com/'

we do not do a case-sensitive search
should we add an exact case-insensitive eval in order to avoid this kind of scenario? @rahulbot


Bring back Python shebang example using virtual env

This fix will be release soon https://github.com/stateful/runme/issues/552
Let's restore the example as detailed for repro in the referenced bug ticket.

@joseeantonior let's get this done please once the Gist stuff is completed.


How to get atom mapping

Hi and thank so much for this great work!
Can you explain in more details how to get atom mapping from rxnmapper or indigo??
Best Regards,

It's a shame as at first I could not find rxnmapper, but now it's very easy
!pip  install rxnmapper
Then, follow:
https://github.com/rxn4chemistry/rxnmapper/blob/main/examples/basic_example.ipynb
Close the issue.


Redesign: display more content on screen

Currently there's a lot of empty space in the implemented redesign. In the panel grid view, there are also not many rows of panels visible.
There should be less empty space and more content visible, especially on bigger screens.

There should now be much more content and less empty space in the layout.

I think this looks all good and its nice we have more content on the dashboard.
Will close this issue.


Pretrained models

Hi @Britefury,
Thank you for making the code publicly available.
Can you share the pretrained models for the deeplabv2 architecture (Cutmix, Cutout, VAT and ICT) please?
We are having troubles reproducing the results.
Thanks in advance.

Hi,
I'm afraid I saved the log files, but not the models.
Let me see what I can do about producing these.

Hi @Britefury,
I'm actually training it myself with a different architecture. I made some hyperparameter changes and the results look better now.
So it should be fine in the end.
Thanks.

Hey cool! :)
Which architecture have you gone for?

Hi @Britefury,
A deeplabv3 with resnet-50 backbone. A resnet101 takes too long to train for me. I'm getting around 50-56% mIoU for 1% of the labels on PASCAL. This is only for 2 different splits, still want to do a third one. Seems plausible based on the numbers in the paper with a deeplabv3+ and resnet101 backbone I guess.
Cheers,
Wouter


imxrt/lpi2c multibyte read broken following DMA addition

We are on Nuttx 12.2.1 release, with and without commit afdce6e8c2d9557c9032c91aebc997ba555bb721 back-applied.
The device is a iMXRT 1062, and communicating with an RX8900 RTC using an in-house driver.
Upon upgrading from 10.0 series to 12.2, I have discovered that the lpi2c driver for imxrt has been broken. Plain 12.2.1 I have not yet got any I2C trace, but following very weird issues with it I applied commit afdce which mostly seems to resolve the issues with one exception.
A sequence of write (1 byte) followed by read (7 bytes) fails, with the following I2C trace.
 1. STATUS: 00000001 COUNT:   1 EVENT: START/RESTART  ( 5) PARM: 00000002 TIME: 1
 2. STATUS: 00000000 COUNT:   0 EVENT: SENDBYTE       ( 2) PARM: 00000001 TIME: -5
 3. STATUS: 03000001 COUNT:   1 EVENT: START/RESTART  ( 5) PARM: 00000001 TIME: 1
 4. STATUS: 03000103 COUNT:   1 EVENT: RCVBYTE        ( 3) PARM: 00000007 TIME: 1

After that the _transfer function returns.
My initial analysis is that the check on line 1597  (https://github.com/apache/nuttx/blob/071fb18501a4198b21693bc089142039bb9dc1be/arch/arm/src/imxrt/imxrt_lpi2c.c#L1597) is the issue. When the first rcvbyte isr is received we did just do a start/restart, so EPF is set, however it does not mean the current message is over, only that the last message was over.

@davids5 git blame pointed you, could you please take a look? :-)

@thebolt please consider integrating RX8900 RTC into mainline, it will help more people.

@acassis I will when I can get to it.... It will be a while.

Upstreaming that driver (and other local changes) is on my list, however at the moment a bit constrained by internal budget.
If the issue cannot be resolved timely (and now there will be another release with the issue), maybe you should consider reverting the commits breaking it? It was working before, now it is fully broken.

Yes, normally we revert as last option when nobody is able to fix the issue. I think @davids5 will be find it!

@thebolt maybe it is related with this memory issue reported here: https://github.com/apache/nuttx/issues/10912

It's most certainly not related.
First of all I'm not using DMA for I2C, we are still using interrupt driven transfers (for an RTC its more than enough).
Secondly, I think (but haven't been able to verify) that the problem is a change in logic of stop handling. The logic as it is now will detect a "stop" condition whenever the bit is set, however it does not take into account that a restart also sets the stop bit, meaning that after the first byte after a restart it will just end the transfer.. this was not the case before, then it would only look at the end of transfer condition if the internal message buffers were empty.

@thebolt Can you supply the data and flag setting that are failing along with the defconfig?

Sure. The defconfig is attached, and below is a code excerpt with the setup of the I2C message. It's part of our RTC driver which is not 100% ready to be publicly released, but the relevant part is:
#define CONFIG_RX8900_I2C_FREQUENCY 400000

#define RX8900_I2C_ADDRESS       0x32
#define RX8900_I2C_TRY_COUNT     4

#define RX8900_SEC               0x00

static int rx8900_read_regs(FAR struct rx8900_rtc_lowerhalf_s *priv,
                            uint8_t reg,
                            uint8_t count,
                            uint8_t *values)
{
    struct i2c_msg_s msg[2] = { 0 };
    int try = RX8900_I2C_TRY_COUNT;
    int ret;

    msg[0].frequency = CONFIG_RX8900_I2C_FREQUENCY;
    msg[0].addr = RX8900_I2C_ADDRESS;
    msg[0].flags = I2C_M_NOSTOP;
    msg[0].buffer = ®
    msg[0].length = 1;

    msg[1].frequency = CONFIG_RX8900_I2C_FREQUENCY;
    msg[1].addr = RX8900_I2C_ADDRESS;
    msg[1].flags = I2C_M_READ;
    msg[1].buffer = values;
    msg[1].length = count;

    /*
     * There is a 61µs window during which the RTC does not acknowledge I2C
     * transfers. In that case, ensure that there are multiple attempts.
     */
    do {
        ret = I2C_TRANSFER(priv->i2c, msg, 2);
    } while ((ret == -ENXIO || ret == -EIO) && --try);

    if (ret < 0) {
        rtcerr("ERROR: Failed to read registers: 0x%02x..0x%02x (err %d)\n", reg, reg + count, ret);
        return ret;
    }

    return OK;
}

void cat(void)
{
    ...
    int ret = rx8900_read_regs(priv, RX8900_SEC, 7, date);
    ...
}

defconfig.txt

Sure. The defconfig is attached, and below is a code excerpt with the setup of the I2C message. It's part of our RTC driver which is not 100% ready to be publicly released, but the relevant part is:
#define CONFIG_RX8900_I2C_FREQUENCY 400000

#define RX8900_I2C_ADDRESS       0x32
#define RX8900_I2C_TRY_COUNT     4

#define RX8900_SEC               0x00

static int rx8900_read_regs(FAR struct rx8900_rtc_lowerhalf_s *priv,
                            uint8_t reg,
                            uint8_t count,
                            uint8_t *values)
{
    struct i2c_msg_s msg[2] = { 0 };
    int try = RX8900_I2C_TRY_COUNT;
    int ret;

    msg[0].frequency = CONFIG_RX8900_I2C_FREQUENCY;
    msg[0].addr = RX8900_I2C_ADDRESS;
    msg[0].flags = I2C_M_NOSTOP;
    msg[0].buffer = ®
    msg[0].length = 1;

    msg[1].frequency = CONFIG_RX8900_I2C_FREQUENCY;
    msg[1].addr = RX8900_I2C_ADDRESS;
    msg[1].flags = I2C_M_READ;
    msg[1].buffer = values;
    msg[1].length = count;

    /*
     * There is a 61µs window during which the RTC does not acknowledge I2C
     * transfers. In that case, ensure that there are multiple attempts.
     */
    do {
        ret = I2C_TRANSFER(priv->i2c, msg, 2);
    } while ((ret == -ENXIO || ret == -EIO) && --try);

    if (ret < 0) {
        rtcerr("ERROR: Failed to read registers: 0x%02x..0x%02x (err %d)\n", reg, reg + count, ret);
        return ret;
    }

    return OK;
}

void cat(void)
{
    ...
    int ret = rx8900_read_regs(priv, RX8900_SEC, 7, date);
    ...
}

defconfig.txt

@thebolt I did find an issue with the wait time being 0 with CONFIG_xxxx_LPI2C_DYNTIMEO being used on the s32k1.
but I see you are not using that. But do Check CONFIG_xxx_LPI2CTIMEOTICKS value.
I need to test this on HW I have with the same config.  I will need to cobble something together I am running behind, but looking into it.

@thebolt would you please test this patch
0006-imxrt-lpi2c-end-only-on-stop-with-end-of-packet.patch

Thanks for the fix. I will try to test it over the next few days (working on another product atm and takes a bit to switch over the lab setup); I'll let you know and close this once I verified it.

@thebolt - There was more see https://github.com/apache/nuttx/pull/11033


Run-once Migrations and Idempotence

OpsMan migration behavior is to track what it has and hasn't run. The way tile-gen lays down the migration file, though, forces the script generated from migration to always run (as it just grabs the current timestamp every build).
This is fine for migrations that can a written in a way that the will always work regardless of having been run before. Not all migrations can be done that way, though.
Using getCurrentProductVersion() in an always-run migration looks like a work-able solution to the way we're handling migrations, but, we need some examples.
tldnr: Please document/add migration examples, including more complicated ones that leverage getCurrentProductVersion()

Proposed solution: make the migrations a map, create date-stamped files for each, keep them in your tile.yml between releases and this will let Ops Manager do its tracking and relieve the tile authors from doing this tracking/idempotence.

Would you want date or version as the key in the map?  I love the idea of keeping it all in the tile.yml file.


Exception when handling Message A10A

An exception occurs after sending the passcode message (0x6117):
SRO_TR_Official_GameGami
[Efes (341)] - Status: CROWDED
[Troya (342)] - Status: CROWDED
[Aspendos (343)] - Status: FULL
[Myra (344)] - Status: CROWDED
[Assos (345)] - Status: CROWDED
[Zeugma (346)] - Status: CROWDED
[Pergamon (347)] - Status: 2
[Misis (356)] - Status: FULL
[Patara (357)] - Status: CROWDED
Sending credentials

[2116] [NuN] [Framework] [0116] [0001 bytes]
0000000000   01                                                ................

Passcode request
Entering passcode

[A117] [Ack] [Framework] [0117] [0002 bytes]
0000000000   04 01                                             ................

Passcode entered

Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Length')
   at Silkroad.Security.Blowfish.Decrypt(Span1 input) in C:\Users\burak\RiderProjects\Silkroad.Net\Silkroad\Security\Blowfish.cs:line 272
   at Silkroad.Network.Messaging.Protocol.MessageProtocol.Decode(MessageSize size, Span1 buffer) in C:\Users\burak\RiderProjects\Silkroad.Net\Silkroad\Network\Messaging\Protocol\MessageProtocol.cs:line 60
   at Silkroad.Network.Session.ReceiveAsync() in C:\Users\burak\RiderProjects\Silkroad.Net\Silkroad\Network\Session.cs:line 252
   at Silkroad.Network.Session.RunAsync() in C:\Users\burak\RiderProjects\Silkroad.Net\Silkroad\Network\Session.cs:line 356
   at SimpleClientless.Program.Main(String[] args) in C:\Users\burak\RiderProjects\Silkroad.Net\SimpleClientless\Program.cs:line 36
   at SimpleClientless.Program.<Main>(String[] args)

You can see the timeline of the packets above, it goes as follows:
Send credentials (0x610A) -> Request passcode (0x2116) -> Submit passcode (0x6117) -> Check passcode (0xA117) -> Agent auth (0xA10A) [Exception thrown]
See implementation here: https://github.com/buracc/Silkroad.Net/blob/master/SimpleClientless/Program.cs#L169

Adding a breakpoint in Session.ReceiveAsync when receiving 0xA10A and inspecting the received bytes should help alot.

Managed to get it working by not slicing the buffer when trying to decrypt:
/// <summary>
        ///     Decodes a raw buffer into a ready to use <see cref="Message" />.
        /// </summary>
        /// <param name="size">The 2 bytes masked message size from the raw buffer.</param>
        /// <param name="buffer">The remaining message raw buffer.</param>
        /// <returns>The decoded ready to use <see cref="Message" />.</returns>
        /// <exception cref="InvalidOperationException">The message was interrupted or injected (checksum failed).</exception>
        internal Message Decode(MessageSize size, Span<byte> buffer) {
            if (size.Encrypted && this.Option.HasFlag(MessageProtocolOption.Encryption)) {
                this.Blowfish.Decrypt(buffer);
            }

            var msg = new Message(size, buffer);
            this.Validate(msg);

            return msg;
        }

Located in this class: https://github.com/buracc/Silkroad.Net/blob/master/Silkroad/Network/Messaging/Protocol/MessageProtocol.cs#L60

In fact, It's true that it shouldn't be sliced, since the 'buffer' param contains the encrypted data, so no need to slice, the only 2 bytes that are not encrypted was already extracted into the 'size' param.
This is actually the bug fix, I'm waiting for you to create a pull request if you want, if you don't want, just inform me to push a commit and close this issue.
Well done!

Fixed in e30af49


better sync cluster ingress(es) deletion to kong admin api/proxy

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
When user delete an ingress from the cluster, its route capabilities should be disabled from proxy also.
Proposed Solution
When proxy detecting ingress objects deletion, associated updating should also be synced to kong proxy.
Additional information
No response
Acceptance Criteria
No response

When user delete an ingress from the cluster, its route capabilities should be disabled from proxy also.

If I'm understanding the problem statement here correctly the problem is:

delete an Ingress resource
routing via the proxy does not get removed

However in several of our existing integration tests which are consistently passing, we specifically do teardown tears which check this:
https://github.com/Kong/kubernetes-ingress-controller/blob/main/railgun/test/integration/ingress_test.go#L128
So it seems the problem statement here is contradicted by the tests, is there something more than I'm missing?

This issue was tracking empty KongState object generated by Parse.Build() function, which still should not happen.
Because of the Proxy config "last win" mechanism, one empty KongState could be also used to sync Proxy, which is a valid case.
Still need investigate locate the KongState.

This issue was tracking empty KongState object generated by Parse.Build() function, which still should not happen.

Understood, but for clarity: an empty KongState is valid when the cache is empty (e.g. all relevant cluster components are deleted).

Because of the Proxy config "last win" mechanism, one empty KongState could be also used to sync Proxy, which is a valid case.
Still need investigate locate the empty KongState.

If we've got some place other than the Proxy implementation where we're POSTing new /config updates, this would be a major problem. The implementation of internal/proxy/clientgo_cached_proxy_resolver.go was intended to make these updates synchronous and serial if you find that this is broken or that we're doing asynchronous updates elsewhere then please do mark this issue as severity/high and lets get that fixed. :fearful:

Dont have concrete data for this issue atm. close it atm. will re-open if have new findings.


Remove "Refresh Tree" right-click menu item

Remove "Refresh Tree" right-click menu item -- it seems that the tree refreshes itself well (it didn't always).

Fixed in 2<IP_ADDRESS>


About compute detection metric

Hi.
I want to evaluate with your code "compute_detection_metrics_main.cc", but have a problem.
I tried to test "Fake" ones on Quick Start guid line (below command) and it worked well.

bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main waymo_open_dataset/metrics/tools/fake_predictions.bin  waymo_open_dataset/metrics/tools/fake_ground_truths.bin

Now i want to test detection metrics on my own results tested by waymo open datset validation set (TYPE_2D).
But i confused with results file format.
I found format is following "waymo::open_dataset::Objects proto." , but feel difficulty on making pd_file and gt_file.
SO, may i asking the example of pd_file or gt_file?
for example, like,
"image_name center_x center_y length height score"
Thank you.

The content of the pd/gt file is a serialized string of a "waymo::open_dataset::Objects proto".
steps to create such files:
1.create and populate  waymo::open_dataset::Objects proto
waymo::open_dataset::Objects objects;
...
2. write objects.SerializedString() to a file

I assume this is solved. feel free to re-open if there is still a problem

Hi, Thanks for your answer.
I did build waymo::open_dataset::Objects objects (with include protos/metrics.pb.h )
And after tried to serialize it with function objects.SerializedString(&ofstream) ,but it didn't work.
This is error message.

error: 'class waymo::open_dataset::Objects' has no member named 'SerializedString'
I also tried with SerializeToOstream function, but result was same.
error: 'class waymo::open_dataset::Objects' has no member named 'SerializeToOStream'

I really confused with writing serialized gt/pd file. Please help me.
For clear, I attach part of my codes.
namespace waymo{
namespace open_dataset{
namespace {
void tt(float center_x, float center_y, float width, float length, Label::Type type, float score, std::string name)
{
Objects objects;
Object* obj = objects.add_objects();
Label* label = obj->mutable_object();
label->set_allocated_box(BuildAA2dBox(center_x, center_y, width, length));
label->set_type(type);
obj->set_score(score);
obj->set_context_name(name);
std::fstream output("test_write", std::ios::out | std::ios::trunc | std::ios::binary);
if (!objects.SerializeToOStream(&output))
//if (!objects.SerializedString(&output))
{
std::cout << "Failed to write"<< std::endl;
}
}
} // namespace
} // namespace open_dataset
} // namespace waymo

Use something like:
`
string output;
objects.SerializeToString(&output);
/// Then write output to a file.
`

Thank you.


Add verbose mode for cellery list instances, status commands

Kubectl command exposure was enabled for cellery list instances and cellery status commands.
Logic related to kubectl functions were moved from util package to kubectl package.
Kubectl structs were moved from util package to kubectl package.
Function created to display the kubectl command when--verbose action was given during cellery command execution.

Codecov Report

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

@@          Coverage Diff           @@
##           master    #406   +/-   ##
======================================
  Coverage    82.6%   82.6%
======================================
  Files          29      29
  Lines         776     776
  Branches       54      54
======================================
  Hits          641     641
  Misses         95      95
  Partials       40      40

Continue to review full report at Codecov.

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


Part pricing cache

This PR represents the first steps towards a major overhaul of pricing.
Currently, part pricing is too expensive to calculate "on the fly" and causes issues with viewing prices in a Bill of Materials, for example.
The major goal of this PR is to add a new database model which stores cached pricing information for a Part. This pricing information can be used in API requests for fast lookup against multiple parts.
Individual "quantity pricing" for a single part will still need to be calculated "on the fly" but for a single part should not be too expensive.
TODO

[x] Overhaul part pricing tab
[x] Validate page load times (currently takes ~14s to load "MAST Master Assembly" page with pricing turned on)
[x] Fix template rendering issues which clip price values to 2 decimal places
[x] Fix BOM export issues which clip price values to 2 decimal places
[x] Implement functionality for "caching" min and max part pricing (inc. unit tests)
[x] Add new pricing information to various API endpoints
[x] Display pricing information in Part table
[x] Display pricing information in BOM table
[x] Add background tasks for updating various pricing data
[x] Call background tasks when underlying data changes
[x] Add data migration to perform initial part pricing calculations
[x] Unit testing
[x] Periodically check for any pricing information which is stored in the "wrong" currency
[x] Periodically check for any parts which are missing pricing information
[ ] Schedule update when part is created / edited / deleted
[x] Schedule update when BomItem is is created / edited / deleted
[x] Schedule update when SupplierPriceBreak is is created / edited / deleted
[x] Schedule update when InternalPrice is created / edited / deleted
[x] Schedule update when PurchaseOrderLineItem is created / edited / deleted
[x] Updated documentation - https://github.com/inventree/inventree-docs/issues/388
[x] Remove or refactor has_complete_bom_pricing method
[x] Prevent infinite loops for updates
[x] Handle conversion issues when rates are missing (or other errors)
[x] Include pricing summary information when exporting BOM table
[x] Include pricing summary information when exporting part table
[x] Respect "internal price overrides BOM price" if set

Future Work

[ ] Refactor 'quantity pricing' calculations
[ ] Refactor get_price_info method
[ ] Refactor get_bom_price_range method
[ ] Refactor get_price_range method

Closes https://github.com/inventree/InvenTree/issues/1059
Closes https://github.com/inventree/InvenTree/issues/1656
Closes https://github.com/inventree/InvenTree/issues/2316
Closes https://github.com/inventree/InvenTree/issues/2891
Closes https://github.com/inventree/InvenTree/issues/3321
Closes https://github.com/inventree/InvenTree/issues/3326
Closes https://github.com/inventree/InvenTree/issues/3409
Closes https://github.com/inventree/InvenTree/issues/3460
Closes https://github.com/inventree/InvenTree/issues/3553

References

https://github.com/inventree/InvenTree/issues/3409
https://github.com/inventree/InvenTree/issues/3326
https://github.com/inventree/InvenTree/issues/3321
https://github.com/inventree/InvenTree/issues/1694
https://github.com/inventree/InvenTree/issues/1989
https://github.com/inventree/InvenTree/issues/2042
https://github.com/inventree/InvenTree/issues/2316
https://github.com/inventree/InvenTree/issues/2507
https://github.com/inventree/InvenTree/issues/2891

Seems a bit verbose datastructure wise

Which fields would you cull? How do you see the caching functionality working here?

@matmair this one is actually pretty close to being ready now. There's a lot going on here but I'll try to briefly describe the concept.
Basically, calculating pricing "on the fly" is very expensive. For complex (multi-level) BOMs is quickly becomes prohibitive.
The goal here is to have pricing data available in real time for Bills of Material. To achieve this, pricing data gets "cached" for each part, so it can be retrieved without any need to calculate on the fly.
Now, displaying a BOM with pricing data is possible without major delay. As an example, a part with a complex multi-level BOM took upwards of 20 seconds to load the BOM table with pricing enabled. With price caching, this is now ~200ms.
Pricing data can come from a variety of sources:

Internal pricing
Purchase price history
Supplier pricing data
BOM pricing data

Different parts will have different pricing based on the above. Note that if enabled and available, "internal pricing" can override other pricing sources.
Pricing cache data gets updated in multiple ways:

Manually, user interaction on the "pricing" tab
Automatically, when underlying data changes (e.g. supplier part pricing is updated, causes price cache to be recalculated)
Periodically, e.g. if pricing is out of date for a certain part it is recalculated

This PR also significantly overhauls the pricing tab. There's a lot of new information here, a brief example screenshot is below. A "summary" section at the top is provided, with links to detail views of each pricing data.

Note that this pricing tab now makes exclusive use of the API, so the page does not take ages to load due to template rendering.
Part pricing data can now also be exported in BOM files - which is very useful.
The one thing I have not yet changed is the "part quantity pricing calculation". This still requires on-the-fly calculations to determine quantity pricing (e.g. for complex BOMs) so the caching does not solve it yet. Perhaps a future update can improve that.
Let me know what you think. I am hoping it is polished enough to make it into 0.9.0, I certainly need this for my work.

@SchrodingersGat that is a huge one. I think we will need several blog entries to go into depth on all the cool stuff between 0.8.x and 0.9.x
I would like to take some time reviewing this - is it ok if I take a few days to test it out and get some real world performance data?

Absolutely take your time, we want to get this right. I only have a few little window dressing changes to make now. And docs.

Not really sure if it solves https://github.com/inventree/InvenTree/issues/3553 fully

Not really sure if it solves https://github.com/inventree/InvenTree/issues/3553 fully

@matmair it extends all pricing fields to use 6 decimal places, is this not fixing that?

@SchrodingersGat i think the idea was originally to make a toggle as we also had an FR to reduce the number of shown decimal places.


fix: make signin page protected

Summary
Make signin route protected

Description
Currently when the /signin route is accessed the user is shown the signin form, when the user is already authenticated.
This PR changes this behavior to redirect the user to the /dashboard page.

How to Test the Changes

Login the user
Try to access signin page

Screenshots or Recordings (Optional)
Before
https://github.com/TeamShiksha/logoexecutive/assets/26207583/7ff1e465-2b9b-4051-9657-033dbe074d92
After
https://github.com/TeamShiksha/logoexecutive/assets/26207583/2db42cbe-61a0-49b9-be1c-ac0fefba7196
Checklist

[x] I have tested the changes locally and they work as expected.
[x] I have added/updated tests that cover the changes.
[x] I have updated the documentation to reflect the changes.
[x]  This pull request follows the project's coding guidelines.

This has been resolved and added to the dev branch.


Update NIH award Format in the award number normalizer

normalizeAwardNumber() does not capture award numbers that have the format [A-Z][0-9][A-Z], most activity codes are 1 letter followed by 2 numbers or two letters followed by 1 number; however there are cases of letter, number, letter e.g. P2C HD042854
Note: P2C activity codes make up a very small portion of award numbers. Only 2 were found in 1 year's worth of data from PMC
ref: https://www.era.nih.gov/files/Deciphering-NIH-Application.pdf
https://grants.nih.gov/grants/funding/ac_search_results.htm
To test: mvn verify

@markpatton definitely something to look into. I agree it's complicated. Back in aug/sept I ran tests on 4-5k nih award numbers and 4-5k non-award numbers. The tests were successful. This particular case occurred because the activity code is not very common (2 within ~9.5k records).
Since non-nih award numbers are all over the place, my initial idea was to try and capture as exactly as possible so as to not perform modifications to non-nih award numbers.
The normalization probably wouldn't affect non-nih award numbers since they are only removing leading/trailing whitespace, making all characters uppercase. The only thing that could potentially cause a problem is the removal of leading a zeros. Loosening the regex could then match with a non-nih grant and remove a leading zero, and there 1,401 grants in pass_grants (STAGE) with at least 1 leading zero. More testing on this would need to be performed - I can create a ticket to look into investigate this?

@tsande16 Things look good now. It was just sort of a comment about watching that regex grow in size, when we get more types of awards numbers to deal with, we may want to revisit.

@markpatton that makes sense. It could definitely grow unwieldy.


Learn to use Travis CI

We need to know how to use TCI so we can run test on our code

I'll learn how to use Travis CI


Setting dark theme doesn't override previous theme

If I change 1 color of the theme, the theme keeps as it was.
But If I try to update the palette type, it doesn't work. It just work creating a new theme. But in that case I loose all my previous modifications.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

If override a color, the paleete type stays like it was.
If I override the palette type. It doesn't work.
If a create a new theme with the new palette type, it works, but loosing the previous changes.
Expected Behavior 🤔

Changing the palette type, I should still see my primary colors.
Steps to Reproduce 🕹

Live example
Steps:

Click in the Change theme button. You will see how the theme toggle. And the primary color is blue
Click on Change to random color. you will see how the primary color changes. And the theme is the same.
Click in the Change theme button. You will see how the theme toggle. And the primary color is blue again

Context 🔦

What I'm trying to do is change the theme between dark and light, without affecting the rest of the theme.
Your Environment 🌎

Tech
Version

Material-UI
v4.11.0

React
16.12

@ratonjuancarlos Check your change theme function, you are providing a dark primary colour so it's not calculated from the new main colour. The dark primary colour is used for the button hover hence the hover colour is always the same.


Add CommonJS and ES6 builds to dist (in addition to UMD)

Also Included

Updated Babel versions and tidied up a few other things.
Removed dist artifacts from Git (and similarly removed source files from NPM) via updated ignore files.

Help Wanted
Circle CI is currently failing with a cryptic error (see build 98 for a failure with the --verbose flag enabled):
{ [Error: EISDIR: illegal operation on a directory, read] errno: -21, code: 'EISDIR', syscall: 'read' }

I am not able to reproduce this locally, even after wiping out node_modules and re-installing.

Going to merge this PR for now since it fixes the embarrassing duplicate-inline-Redux issue. Would like some assistance troubleshooting the Circle CI issue though.


Handle deployment to older camunda versions that don't expose their version.

This PR adds a try catch around version retrieval and only send it in the event when we have a version.
This fixes a regression in 4.8.0 that broke deployment to some older camunda versions (7.8, but newer might also be impacted).
See #2340 for more info.
@barmac

@michaelarnauts Do you plan to follow up on your PR to incorporate the review feedback we provided?

@michaelarnauts Do you plan to follow up on your PR to incorporate the review feedback we provided?

Sure, I'll try to look into it this week.

I've modified the getVersion function now to return null. The exception we got wasn't a 404, but a syntax error since it was trying to parse an empty string as json.
I've added a test and ran it with npm run app:test, but I'm not sure if the test are actually ran locally. I assume I still have to remove the version:  from the getVersionSpy's.

I'm not sure what the correct behaviour will be. Should the getVersion return null, or should it return { version: null }? There seems to be a test that expect it to be undefined (should return undefined if version cannot be parsed), but that's not how the code behaves, since there is no check if version is actually undefined.

This is the cleanest I have it now. All tests pass.
I don't know how to properly throw an ConnectionError in the mocked getVersion however, so the test isn't really testing that ConnectionError.

Merged via https://github.com/camunda/camunda-modeler/commit/a89ef727fcba8c21c522ca3d37523ff64d0d31a7

Thank you for your contribution! 🎉

Very nice contribution indeed :clap:


WIP: fix(tls): Use the system CA certificates to verify https servers by default

TODO

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

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


[BUG] Several cpp files don't compile and are not part of the build

Describe the bug
Some source files are not built and contain non-compiling code.
See:

test/doc/coretest/doc/core/saturated/minus.cpp/saturated/minus.cpp
https://github.com/jfalcou/eve/blob/main/test/unit/module/complex/signnz.cpp#L23

Fixed in #1505  pending CI cycling


No module named telegram or flask

Hi, i cant seem to get rid of the errors 'No module named telegram' and 'No module named flask' even though i believe they were both successfully installed. Any help would be appreciated. Thanks

I'm closing this issue now. Please open a new one if the you encounter any other problems.


Add PerDistrict, render admin home page schools differently in New Bedford

Who is this PR for?
New Bedford districtwide admin
What problem does this PR fix?
We're only importing data for pilot schools, but the districtwide admin pages shows all schools and there are a lot, with the two pilot schools buried way below the fold.
What does this PR do?
Adds a PerDistrict class Rails code like this and tags LoadDistrictConfig as deprecated.  We'll need to distinguish between what the purpose of these two classes are, and my intent here is to tag PerDistrict as "the place to put Ruby code that branches on ENV['DISTRICT_KEY']" rather than "the class that reads yml config."  I think we can revise LoadDistrictConfig to just do that, and have PerDistrict be the Ruby-facing API for "I need to do something different based on the district."
Screenshot (if adding a client-side feature)
None.  We don't have a good way to work with Rails code that works for features across districts right now, either in development mode or in RSpec tests, and we need to work on this.  I'll deploy and verify manually for now.

selfie


Help  Usage

Hi I am very new to this topic and deep learning.
Is there any more information that explain how to use this code and how to run a few example (training & testing) using VAE?

Hi, I just updated the implementation to be much cleaner. I hope it is easier to understand now.


Using "Unmarshal" to unmarshal a "null" value into an interface type defers from encoding/json behavior

"encoding/json" unmarshals a "null" value even for interface types, go-json does not behave the same way. This is a bug in our code but since go-json aims to have the same behavior as encoding/json, it seems worthy of implementing. Especially since "null" could be a fast-path in go-json's code?
package main

import (
	"encoding/json"
	"fmt"
	"os"

	gojson "github.com/goccy/go-json"
)

type SomeInterface interface {
	DoesNotMatter()
}

type SomeStruct struct {
	SomeField map[string]SomeInterface
}

func main() {
	original := []byte(`{"False":null,"True":null}`)

	validEncodingJSON := json.Valid(original)
	validGoJSON := gojson.Valid(original)

	fmt.Printf("%v vs %v\n", validEncodingJSON, validGoJSON)
	if validEncodingJSON != validGoJSON {
		os.Exit(1)
	}

	var result1 map[string]SomeInterface
	if err := json.Unmarshal(original, &result1); err != nil {
		panic(err)
	}
	fmt.Printf("%#v\n", result1)

	var result2 map[string]SomeInterface
	if err := gojson.Unmarshal(original, &result2); err != nil {
		panic(err)
	}
	fmt.Printf("%#v\n", result2)
}

Produces (with https://github.com/goccy/go-json/pull/198 and https://github.com/goccy/go-json/pull/200) the following output:
true vs true
map[string]main.SomeInterface{"False":main.SomeInterface(nil), "True":main.SomeInterface(nil)}
panic: json: cannot unmarshal main.SomeInterface into Go value of type main.SomeInterface

goroutine 1 [running]:
main.main()
        /home/zimmski/symflower/tt.go:38 +0x377
exit status 2

Fixed all cases of this on our side now so further reproducers with our code base are not blocked by this issue.


Consider splitting the crate in two

Proposal
Split chumsky into two crates - something like chumsky and chumsky-core, where most things are actually defined in core, but chumsky is actually a thin wrapper that renders away the more complicated parts (and thus is closer in API to the 0.9 version, though this is more an anticipated side effect than a main goal)
Motivation
Currently, the 1.0 zero-copy update promises to bring a lot of utility to the crate, but has one major downside - many users while migrating claim it to be significantly harder to use, in part due to there being so many bells, whistles, and knobs that they don't care to use. This strategy, borrowed from the regex/regex-automata crates, is to provide users with two options: new users are directed to the first crate, which covers 90% or more of most people's use-cases, by providing a more limited but thus easier to understand API. Users for whom the first crate is too limited may choose to drop down to the second crate, which exposes a much more detailed API, at the cost of complexity. This also allows breaking versions to occur asynchronously - chumsky may have an incredibly stable 'limited' API that is guaranteed to rarely, if ever, break, while chumsky-bikeshed could add new features and alter behavior more freely.

Backstory
While working on improving the regex parser, I swapped from regex to regex-automata. This was inspired by a Rust blog post about the topic, but basically, regex-automata is a low-level crate that exposes multiple different regex engines and many options, but at the cost of lower stability and slightly decreased usability, while regex wraps it and exposes only the most common API.
This made me wonder whether chumsky could benefit from something similar, leading to this issue.

I don't disagree with this assessment and it's something I've considered. I am a bit worried about the fact that this adds yet another extremely large item on to the list of things to do, along with the changes mentioned in #425.


Error while running script

Hi, how can i use step function correctly? when i wrote:
`import gym
import numpy as np
from surrol.const import ROOT_DIR_PATH
import surrol.gym
env = gym.make("NeedlePick-v0")
env.reset()
while True:
obs = env.step(np.random.randn(5))
env.render()`
it gave me an error:
Traceback (most recent call last):   File "dato1.py", line 12, in <module>     obs = env.step(np.random.randn(5))   File "/home/dato/src/my_projects/robotics/venv/lib/python3.8/site-packages/gym/wrappers/time_limit.py", line 50, in step     observation, reward, terminated, truncated, info = self.env.step(action) ValueError: not enough values to unpack (expected 5, got 4) Destroy EGL OpenGL window.
how can i fix this?

Hi. This issue may relate to the gym version. Is your gym version ==  0.15.6?


Unable to connect to server

Everything was all right about two days ago, but since 6.23, a lot of players cannot connect to server with these notifications. The cause is not clear yet. I tried to run the software on another server, but nothing changed.

Some people receive this notification when they cannot connet
But there are still a lot of people can connect to the server

Some people can solve this problem by restarting loader.exe


[Feature Request] Add Cloud Shell managed identity source to MSI Integration

Add Cloud Shell managed identity source.

[x] Add code for Cloud Shell source
[ ] Add unit tests
[x] Add error handling
[ ] Manual testing

For more details see: #615

Released as part of 1.14.2-beta


Throw exception if mapped is false and type null

If type is null and mapped is false, the FormBuilder will try to guess the field type that not exist and throw a no Field exists exception instead of complain for a wrong parameters combinaison.

This is a read only repository.
Pull Request should be send to https://github.com/symfony/symfony.
After the merge in the main repository, a sub-tree of split is done and this repository is updated.

Thanks for this PR. Yet I invite you to submit it on the main symfony/symfony repository: this is where merges happen. Note that you should add test cases while doing so. Cheers.


[Feature Request]: Allow deletion of Pipeline Server from the Data Science Project view

Feature description
In a Data Science Project you can Create a pipeline server but, once is created, you cannot delete it or view the server configuration (you have to go to the Data Science Pipelines section to do it). It would be nice to be able to manage the server from the Data Science Poject page, same as you can do it for models.
Also, once the server is started, there is no visual representation of the server being running and consuming cluster resources. It would be nice to inform users about it until a more sophisticated solution is developed (more info at RHODS-8639)
Describe alternatives you've considered
No response
Anything else?
No response

There are a couple reasons:

Space, I don't want to add too many things to the already busy Projects page
The feedback was this action wouldn't be accessed very much (by the DS), so I prioritized the uploading of a pipeline on that page and pushed the server interaction to the Pipelines page.

I think we're again seeing a contrast between what an ML Ops Eng and a data scientist want to see. Being able to interact with and see if the server is running feels like something ML Ops wants to see, but not necessarily a data scientist. We will test with actual users soon, so I am hoping that will give us more insight into whether my assumption is correct, and allow us to make more informed decisions about which user we should be prioritizing.

Hi guys, is this issue still relevant? At least in the upcoming {{RHOAI 2.5}}, I can click on the "three dot" button next to the "Import pipeline" button to view the pipeline server configuration and also to "Delete pipeline server" options, see:


Remove kserve flag and update manifests

Description

Remove the need to have a kserve-enabled flag. This was needed as previously modelmesh and kserve could not co-exist. But now that they can we do not need this anymore
Update the odh-model-controller manifests in-repo (in config/) such that they match the manifests from odh-manifests for odh-model-controller

How Has This Been Tested?

Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

@VedantMahabaleshwarkar this PR looks a little bit old, do we still need it?

closing, if it still needed, feel free to reopen.


Multiple misleading instructions on this page of vsphere-om-deploy for PKS 1.1

I am referring to URL: https://docs.pivotal.io/runtimes/pks/1-1/vsphere-om-deploy.html
Please find below list of issues that need to be addressed on this page.

This page does not tell which type of folder needs to be created in the datacenter at step# 5. There are 4 different types of folders that can be created at this step. But, the instruction does not reflect that.

There is no file menu as described at step# 7 to select .ova file to upload

There is no license agreement step as mentioned at step# 10 in the actual flow

Almost all steps are different from actual flow on vSphere. So, not listing everything here. But this is completely off the actual experience and not very helpful. Please correct this page.

WIP https://github.com/pivotal-cf/docs-pks/pull/480

Done, see https://github.com/pivotal-cf/docs-pks/pull/480


Phase restoration algorithm

Hi @mazzzystar ,
Thank you for great work
I am interested in your phase restoration algorithm
def spectrum2wav(spectrum, sr, outfile):
    # Return the all-zero vector with the same shape of `a_content`
    a = np.exp(spectrum) - 1
    p = 2 * np.pi * np.random.random_sample(spectrum.shape) - np.pi
    for i in range(50):
        S = a * np.exp(1j * p)
        x = librosa.istft(S)
        p = np.angle(librosa.stft(x, N_FFT))
    librosa.output.write_wav(outfile, x, sr)

Here we just make initial random assumption on the phase and after several iterative forward and backward transformations for some reason our phase assumption improves.
So my question is why should it converge? Do you probably know any relevant literature about this? I am relatively new to audio processing and can't understand why should this algorithm work well.

This is called Griffin-Lim algorithm. The idea inside it is to use spectrogram to gradually reconstruct phase:

we have only the spectrogram S, we randomly generate it's phase P, so we got the magnitude M.
Pass M to the ISTFT to get the raw wav, and we got a new phase P'.
Replace P with P' and combine it with S to get a new  magnitude M', this time we think it's much closer to the real magnitude.
repeat 2) 3) for iter=50 times.

Thank you for help!


change deployment list titles

Description
Describe the changes introduced by this PR and what does it affect
the new titles
Clusters,
CapRover machines,
Discourse machines,
Funkwhale machines,
Mastodon machines,
Mattermost machines,
Owncloud machines,
Peertube machines,
Subsquid machines,
Taiga machines,
Wordpress machines,
Gateway names,
TFhubValidator machines,
Casperlabs machines,
Presearch machines,
QSFS virtual machines,
Micro Virtual machines,
Node Pilot machines,
Full virtual machines,
Algorand machines,
Umbrel machines,

Some of them are not used, but we should have them to avoid any error while accessing the deplomentTitle with the project name

Changes
List of changes this PR includes
Related Issues
List of related issues
Checklist

[ ] Tests included
[x] Build pass
[ ] Documentation
[x] Code format and docstrings
[x] Screenshots/Video attached (needed for UI changes)

Virtual Machines
Kubernetes, and caprover use Cluster suffix
Everything else can be X instances


Decoding of 4-byte UTF-8 characters is not supported in JsonParser

Decoding of 4-byte UTF-8 characters, including Emoji, is not supported.  Such characters resolve to the replacement character "�" (U+FFFD).

What? Smilies are broken in spray-json? This must be the saddest bug report ever. ☹
Thanks for taking care of it ☻☺☻

Yes, surrogate pairs are currently not supported.
It shouldn't be hard however, to get this done.

@sirthias When would we expect that this feature will be released?
In product perspective, I recognize that current spray-json version is 1.3.2 but other spray components' are all 1.3.3.  And the previous release of spray-json happened at the this May. Therefore I'm expecting spray-json 1.3.3 will be released soon.  Am I right?  Moreover, we're using spray-json in our next generation production system and we need this feature.
I hope this feature will be shipped soon.  I'm looking forward to hearing your response.

@sirthias sorry for bothering you.  I'm really appreciated if you would reply about when next release happens.  Thanks,

@everpeace The fix for this issue is already in the master branch, however, there are currently no plans for an immediate release. You should be able to use a local snapshot if you really depend on this feature.

@sirthias Thank you for response!  I see I have to use snapshot version.  I hope next release will happen soon anyway.


OLS-397: Add emptyDir volume to ols deployment

Description
Add emptyDir volume to ols deployment
Type of change

[x] New feature

/lgtm

/approve


FancyZones doesn't maintain windows position on graphics driver reset

Microsoft PowerToys version
0.56.2
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Position some windows and then reset graphics driver with Win + Ctrl + Shift + B.
✔ Expected Behavior
Positioned windows remain where they were.
❌ Actual Behavior
Positioned windows shift slightly.
Other Software
No response

Hi friends! This bug is relatively old. In an effort to clear out any stale bugs, could you please let us know if this bug is still showing up on any of the latest builds, 0.74 or up!
/needinfo

Just tried it on 0.74.1 and the bug is still present.

Thanks for following up. Keeping this bug open as it is still occurring.


Explain Exception Filters

Your documentation about try catch needs to be updated with Exception Filters.

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

ID: acadfa1a-becb-3492-8ca0-7cd581c4cd84
Version Independent ID: 1432132f-4db6-84b7-0ba7-fe7f44e6f45c
Content: Handling and throwing exceptions in .NET
Content Source: docs/standard/exceptions/index.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

Thanks for the suggestion. We'll add that the next time we update the article.

There is an article in the See also section about user-filtered exception handlers, but it's currently VB only.
I think that article should be updated to be C# too, and avoid having duplicated content in 2 different places.

@Youssef1313 Thanks for the suggestion.  I self-assigned this issue, but you're welcome to it if you want to take it.


feat(instruction): add reschedule method for failed instructions

:tada: This PR is included in version 7.0.0-alpha.14 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add #text method for select lists

If I want to access the text of a selected option in a select list that doesn't use the multiple attribute, I have to do this:
some_select_list(name: 'list').selected_options.first.text
While its not the most egregious thing ever, its just inconvenient if the majority of your select lists don't use the multiple attribute. This PR allows the following:
some_select_list(name: 'list').selected_option.text
UPDATE:
After some discussion with @titusfortner and other folks on Slack, selected_option was a bit dangerous when used with select lists that use the multiple attribute. Following the same pattern as the value method, I opted for a text method instead.
If you need to output the text of everything inside a select_list, I would just map/collect them.
select_list.options.map(&:text)
Let me know your suggestions.

@titusfortner There wasn't anything special about element.text that warranted a different approach from element.value. I wanted there to be so it wasn't such a blatant dup of value. lol. Thanks for review!

merged with 7c530eb29d21c8de02e28a9f51a1896cbbee60aa


how can i verify my elixir server is running

Go to localhost:4001/web/auth/github

Go to localhost:4001/auth/github/web, if it redirects you, meaning it works

but how can i get git client secret...

Go to: https://github.com/settings/apps
Create an app, this will give you the credentials.

Go to: https://github.com/settings/apps
Create an app, this will give you the credentials.

yup what to put in callback url

http://localhost:4001/auth/github/callback

http://localhost:4001/auth/github/callback

thanks that works


WIPP: Rspack hmr

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


chore(permission): Add minimal permission for litmus-admin rbac

Signed-off-by: Udit Gaurav<EMAIL_ADDRESS>
Proposed changes
Summarize your changes here to communicate with the maintainers and make sure to put the link of that issue
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

A pipeline run with the changes: https://gitlab.mayadata.io/litmuschaos/litmus-e2e/pipelines/12828


repo name should be more descriptive

I think the name should be ios-ui-kit

Ah, awesome idea.

Question: what would happen if we did end up renaming the repo? Anything bad? That's the only thing that's hesitating me from renaming. @brentcas @RamonGilabert

All the websites that point to this repository would not redirect I believe. We could create a repository named UI and then that to say something in the README, but not sure if that's optimal or it's what we want.

Looks like when changing the name, previous URLs remain functional. I've never done this, but FYI.
https://help.github.com/articles/renaming-a-repository/

Hmm, I'll experiment with a dummy repo. Will report back in a few days!

@CameronBanga is right. The old repo URL will redirect to the new one.
I also agree that a more descriptive name would be great. Especially when people fork the repo.
I personally named my fork sketch-apple-ios10


  Try `npm install @types/execa` if it exists or add a new declaration (.d.ts) file containing `declare module 'execa';`

1 import * as execa from 'execa';
                         ~~~~~~~

system-test/install.ts:2:21 - error TS2307: Cannot find module 'mv'.

2 import * as mv from 'mv';
                      ~~~~

system-test/install.ts:3:19 - error TS7016: Could not find a declaration file for module 'ncp'. '/tmpfs/src/git/autosynth/working_repo/node_modules/ncp/lib/ncp.js' implicitly has an 'any' type.
  Try `npm install @types/ncp` if it exists or add a new declaration (.d.ts) file containing `declare module 'ncp';`

3 import {ncp} from 'ncp';
                    ~~~~~

system-test/install.ts:4:22 - error TS7016: Could not find a declaration file for module 'tmp'. '/tmpfs/src/git/autosynth/working_repo/node_modules/tmp/lib/tmp.js' implicitly has an 'any' type.
  Try `npm install @types/tmp` if it exists or add a new declaration (.d.ts) file containing `declare module 'tmp';`

4 import * as tmp from 'tmp';
                       ~~~~~

Found 8 errors.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>compile: `tsc -p . && cp -r protos build/`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>compile script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>prepare script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kbuilder/.npm/_logs/2019-11-12T12_11_43_671Z-debug.log
npm WARN npm npm does not support Node.js v12.13.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11.
npm WARN npm You can find the latest version at https://nodejs.org/

><EMAIL_ADDRESS>fix /tmpfs/src/git/autosynth/working_repo
> gts fix && eslint samples system-test --fix

/tmpfs/src/git/autosynth/working_repo/system-test/system.js
  19:36  error  "../" is not found  node/no-missing-require

✖ 1 problem (1 error, 0 warnings)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>fix: `gts fix && eslint samples system-test --fix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>fix script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kbuilder/.npm/_logs/2019-11-12T12_11_50_770Z-debug.log
synthtool > No replacements made in src/index.js for pattern \/\*\*
 \* @namespace google
 \*/, maybe replacement is not longer needed?
synthtool > No replacements made in src/index.js for pattern namespace google.cloud.cloudbuild, maybe replacement is not longer needed?
synthtool > Cleaned up 2 temporary directories.
synthtool > Wrote metadata to synth.metadata.

@alexander-fenster looks like there are some dependencies missing for the pack/install system tests.


wpewebkit: Do not pin to gcc-only compiler

There were issues with clang-6 but now a days we are using clang-10 in
meta-clang and that can happily compile wpewebkit ( infact faster )
Signed-off-by: Khem Raj<EMAIL_ADDRESS>

This change LGTM.

any concern @clopez ?

I have it working with clang10, compiles fast, is smaller in size and works equal or better :)


Siamese network example

I have followed all the steps of the Siamese network example but the loss function keeps oscillating:

It is worth mentioning that I am running DIGITS on Windows, however I've never had any problem.
I think that the issue is in the dataset creation with the create_db.py script. I first ran the scrip on Windows and it took more than 6 hours to finish. The train_mean.png image looks like this, which makes me think that something is wrong (a 3 x 28 pixels image with black pixels in the first column and white the rest):

I've also run create_db.py on a Ubuntu virtual machine and, although it just takes 15 min to finish, the result is still the same (the same mean image and the training behaves in the same way).
I've also tried to run the example using plain Caffe (without DIGITS) with no success.

Hi @danst18 there is indeed an issue in the creation of the mean .png files since the channel transpose is done twice. If you comment out these lines it should work better, although I don't think that is the root cause for your issue since these mean images are not used during training (we're only using train_mean.binaryproto - did you provide this file when you created the dataset?)
I just tried running this tutorial on the tip of the master branch and the loss function is similar to that of the tutorial (the validation loss goes down to 0.05:

Besides, when I perform inference on the generated test images the result looks good (images of the same class produce similar vectors and images from different classes produce different vectors).
Perhaps you could try reducing your learning rate and let training run for a little while longer?
You can also check that the mean is correctly subtracted by enabling vizualisations during inference. Your data layer should look like this (the distribution of values should be mostly symmetric around zero):

Can this issue be closed now that #519 is merged, or is this a separate issue?

@lukeyeager @gheinrich I am going to install Linux on a new partition and follow the siamese tutorial to see if it's a platform specific issue.

@gheinrich  I have now tested this on Linux and works fine. I guess that the problem was the Windows port of Caffe that I am using.
@lukeyeager you can close the issue.

Glad you were able to work around it!


My tinymce editor display is showing selected text on my blog post page

I have a problem with my tinymce editor, it show selected text on my show blog post page.
please i need your help, i don't know what to do i just have to get this job done

What is that? Learn how to post issues.

@elviscoly please post some screenshots here.


Chrome->Firefox push notifications not working

Go to https://docs.beyondco.de/laravel-websockets/ in Chrome and Firefox
Click the bell icon in Chrome. Notice that the Bell icon moves in Firefox.
Wait a few seconds and click on the bell icon in Chrome again. Notice that the Bell icon does NOT move in Firefox the 2nd time (or beyond).
Also note that this works fine 100% of the time from Firefox -> Chrome, but Chrome -> Firefox does not, and the push notification is only sent the first time.

does work for me.

The docs website is outdated.


Button to only show entries with missing translations

It would be nice if the Editor has a button to only show entries where translation are missing.
With big files this could be useful instead of going through everything to find missing translations.

This would be great to have. Especially if you could add the ability to export only visible items to a new json file.
That way you could easily just export all the new/missing stuff and send it out to translators.


Url include misbehaving in django 2.0

When running the app on Django 2 it throws the error below
File "/usr/src/app/config/urls.py", line 21, in <module>
    url(r'^mpesa/', include('mpesa_api.core.urls', 'mpesa')),
  File "/usr/local/lib/python3.6/site-packages/django/urls/conf.py", line 39, in include
    'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

url(r'^mpesa/', include('mpesa_api.core.urls', 'mpesa'))
URL patterns in > django 2.0 moved from regular expressions. Rewriting the URL patterns will probably work?
pathl('mpesa/', include('mpesa_api.core.urls', 'mpesa'))
https://docs.djangoproject.com/en/2.0/topics/http/urls/#example

Thanks for this @otuoma. 👍


Only open previous results when necessary (uses lots of memory)

The listPreviousResults function loads a lot into memory if you're passing around big config files (which happens quickly when using file://). It's called in a bunch of places where all that's actually needed are the filenames.
This PR introduces a new listPreviousResultFilenames method and calls that wherever possible, which turns out to be everywhere except the /results view.
Removes a ~30 second pause for me (and then eventually OOM errors) after promptfoo finished an eval. All of that waiting turned out to be my laptop struggling with the call to cleanupOldResults, which was loading all of those results into memory. (For me that was 60 ~200kb files * 70 results, which adds up!)

Excellent change, thank you!
I've been slowly working on a branch that moves results to sqlite, because managing separate files has been getting messier with all the ways evals/prompts/datasets are getting accessed.