[Help]: File Location and meaning of error

How can we help?
1_ "Z-Wave JS Logging" section shows the log filename but it does not show the folder location.  You must know where the file is being saved.  Please list that location.  A hyperlink would be even better.
2_ "Error listing serial ports" is something I am seeing but since I am supplying the exact [usb] port that zwave JS is using I do not understand why this is listing anything.  I also do not understand why this port is not being used.
A good tutorial would be helpful.
Thanks in advance
Version
March 2023 I think.  Where do I find it?
Node-RED Version
3.0.2
What hardware are you using?
Other Linux
Any code to add?
No response

1_ "Z-Wave JS Logging" section shows the log filename but it does not show the folder location. You must know where the file is being saved. Please list that location. A hyperlink would be even better.

You can't access the log file from the browser, so a hyperlink is pointless.
The default log file is In the Node RED user directory /home/<user>/.node-red/zwave-js.log if using Node RED normally.
The log file name you see, is if you want to change its name and location, its an absolute path.
2_ "Error listing serial ports" is something I am seeing but since I am supplying the exact [usb] port that zwave JS is using I do not understand why this is listing anything. I also do not understand why this port is not being used.
Just because you set a custom port, doesn't mean it should stop listing what pots are found when opening up the configuration.
And if you're  getting that error, then normally its a permissions problem in the OS, Setting a custom port to force it isn't going to solve a permissions issue.
You need to ensure the User that is running Node RED has the correct permission to access, read, and write to serial ports.
sudo usermod -a -G dialout some-user

I am using Node RED inside Home Assistant [HA}.
Thanks for the reply.  I will try to find the log file and see what it says.  I think it is not in the location you posted because HA is running inside Docker.

If your using Home Assistant, your mileage is going to vary.
The serial port package is infamous for being problematic under Alpine that runs Node RED under Home Assistant, you need to rebuild the binary (as the serial port package, uses Native modules)

within the Shell of the Node RED image, run npm rebuild.

Ensure the ports are correctly mapped/setup in your docker file

Sadly I can't help with either, as I do not use Home Assistant.
See here


syntax error in xml report

the content of the violation message should be escaped (or properly wrapped with CDATA), otherwise resulting XML report may be invalid (in example below there is <p>, but no </p>, so xml parsers complain)
<?xml version="1.0" encoding="UTF-8" ?>
<pmd version="@project.version@" timestamp="2019-01-04T11:02:41+01:00">
  <file name="…/Foo.php">
    <violation beginline="14" endline="14" rule="DuplicatedArrayKey" ruleset="Clean Code Rules" externalInfoUrl="http://phpmd.org/rules/cleancode.html#duplicatedarraykey" priority="2">
      Duplicated array key <p>, first declared at line 14.
    </violation>
  </file>
</pmd>

My php code is like
$a = [
  '<p>' => true,
  '<p>' => true,
];

This has been fixed in 2.7.0.


ContactInfo

Complete the story at stories/profile/ContactInfo.stories.tsx. Take a look at the footer component for existing markup for socials (components/Footer/Footer.tsx)

@Rguichette Here is the contact info ticket


Training and environment files

Hi author, thank you for your excellent work. I found the environment.yml and the training code train_zero1to3.py in ReadMe, but they are unavailable now. Will they be available later?

Hi, yes the training script is still tuning. I need some time to verify the script can produce similar training results to the original one. I will update when it's ready!

Thank you for your reply. Looking forward to your results.


[WIP] Almost all weather calculations have been moved clientside. Huge server performance increase

Warning: This is a work in progress. It contains huge server performance optimizations and moves almost all calculations to the clientside. However I removed the entities because I didn't have time to update them to support these changes, so if you want to add these changes you'll have to update the entities or remove them. I plan to update the variable lerping next as it's currently not ideal.

What are your concerns with merging this PR? @Nak2


Exposed versioned schema from admin-api-schema api

Changed the way JSON schemas are exposed and structure of libraries api. The validate method parameters will change next, to support more pleasant use of defined schemas, but that will be a part of Monday improvements.
@kirrg001 let me know if you have anything to add :)

Merge if it works 👍


Add support for persistent delivery mode

Would it be possible to add an option to change the delivery mode of the published messages to persistent? This would make it so that messages can be persisted to disk and won't be lost if rabbitmq is restarted (assuming the queues were defined as durable).
Thanks for the work on this project, it's great as a simple way to get postgresql events into rabbitmq.

This would be good feature, would you like to try a PR, it would not be hard to implement, event if someone does not know rust?
IT's basically adding a new config parameter here https://github.com/subzerocloud/pg-amqp-bridge/blob/master/src/main.rs#L11
then passing that value all the way to this line https://github.com/subzerocloud/pg-amqp-bridge/blob/master/src/lib.rs#L108
where the property delivery_mode is set based on the config

Checking the pg-amqp-bridge source code this morning to see if it was already possible somehow was actually the first time I've ever looked at Rust code at all, so I definitely don't have any experience. I can try a PR if you'd like though, thanks for the info about the places I'll need to look.

Implemented in #8, now there's a DELIVERY_MODE env var. Closing.

Nice, thanks very much for implementing that @antikantian.


Adding GraphQLite bundle tests in Travis.

The idea is to check if the bundle is broken was modifications done to GraphQLite core.
The tests are allowed to fail as breaking changes may happen (we just need to be notified and apply fixes quickly after)

Also, this PR checks for Laravel package and universal service provider package.


Upgrade an existing node version

Is your feature request related to a problem? Please describe.
I'm always frustrated when try to upgrade and existing version. For example i want to update LTS to 16.13.2 from 16.13.1
Describe the solution you'd like
nwm update [current version] [new version]

Please use the reactions to cast a vote in favor of or against this feature suggestion »

How would this be any different from switching to a more recent version?

If I can upgrade a version (even a minor one) I can not install all the global packages again. :)

Upgrading could also break global modules.
There are other enhancement requests open for managing global module upgrades in a manner that won't break. I'm closing this in favor of #721.


Always call Kawasaki and call external networker

This allows us to use the kawasaki networker for NetIn and NetOut and the various container properties used by Info while still building out the overlay connectivity story.
Side note: It looks like the kawaski networker fails during destroy. Before we reversed the iteration order of the post-stop hooks, the external networker hooks wouldn't run on the down path...
[#112361505]
Signed-off-by: David Bellotti<EMAIL_ADDRESS>

Hi there!
We use Pivotal Tracker to provide visibility into what our team is working on. A story for this issue has been automatically created.
The current status is as follows:

[ ] #117398493 Always call Kawasaki and call external networker

This comment, as well as the labels on the issue, will be automatically updated as the status in Tracker changes.

Merged, thanks for your work!


Duplicated output on non-plain-text mimeTypes

This cell should really only display the tabular renderer; even with interactive=true.
https://github.com/stateful/blog-examples/blob/main/gcp-bigquery/README.md
https://github.com/stateful/vscode-runme/assets/250527/b7c4223e-b155-4845-b273-45c270ca44cd

@mxsdev once there's a good stop gap, let's please tackle this one. I've been running up against the issue more often lately.


add initializer to controller on deploy

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 50.638%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2856

Relevant Lines:
5640

💛  - Coveralls


Quickstart Errors

It is entirely possible I'm doing this wrong, so please point me in the right direction. I just wanted to get started using the Quick Start code in the readme so I did the following:
cargo new sqlx_test && cd sqlx_test/

In Cargo.toml first I tried
sqlx = "0.3"

but got tons of errors so I switched to
sqlx = { version = "0.3", default-features = false, features = [ "runtime-async-std", "postgres" ] }

Errors:
   Compiling sqlx_test v0.1.0 (/var/www/portal/rust_api/sqlx_test)
error[E0433]: failed to resolve: use of undeclared type or module `async_std`
 --> src/main.rs:7:3
  |
7 | #[async_std::main]
  |   ^^^^^^^^^ use of undeclared type or module `async_std`

error[E0433]: failed to resolve: use of undeclared type or module `PgPoolOptions`
  --> src/main.rs:10:16
   |
10 |     let pool = PgPoolOptions::new()
   |                ^^^^^^^^^^^^^ use of undeclared type or module `PgPoolOptions`

warning: unused import: `sqlx::postgres::PgPool`
 --> src/main.rs:3:5
  |
3 | use sqlx::postgres::PgPool;
  |     ^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

error[E0277]: `?` couldn't convert the error to `sqlx_core::error::Error`
  --> src/main.rs:12:43
   |
12 |         .connect(&env::var("DATABASE_URL")?).await?;
   |                                           ^ the trait `std::convert::From<std::env::VarError>` is not implemented for `sqlx_core::error::Error`
   |
   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
   = help: the following implementations were found:
             <sqlx_core::error::Error as std::convert::From<sqlx_core::error::ProtocolError<'_>>>
             <sqlx_core::error::Error as std::convert::From<sqlx_core::error::TlsError<'_>>>
             <sqlx_core::error::Error as std::convert::From<sqlx_core::error::UnexpectedNullError>>
             <sqlx_core::error::Error as std::convert::From<sqlx_core::postgres::error::PgError>>
           and 3 others
   = note: required by `std::convert::From::from`

error[E0599]: no method named `fetch_one` found for struct `sqlx_core::query_as::QueryAs<'_, sqlx_core::postgres::database::Postgres, _>` in the current scope
  --> src/main.rs:17:10
   |
17 |         .fetch_one(&pool).await?;
   |          ^^^^^^^^^ method not found in `sqlx_core::query_as::QueryAs<'_, sqlx_core::postgres::database::Postgres, _>`
   |
   = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
   |
1  | use sqlx_core::postgres::PgQueryAs;
   |

error[E0277]: `main` has invalid return type `impl std::future::Future`
 --> src/main.rs:8:20
  |
8 | async fn main() -> Result<(), sqlx::Error> {
  |                    ^^^^^^^^^^^^^^^^^^^^^^^ `main` can only return types that implement `std::process::Termination`
  |
  = help: consider using `()`, or a `Result`

error[E0698]: type inside `async fn` body must be known in this context
  --> src/main.rs:11:26
   |
11 |         .max_connections(5)
   |                          ^ cannot infer type for type `{integer}`
   |
note: the type is part of the `async fn` body because of this `await`
  --> src/main.rs:10:16
   |
10 |       let pool = PgPoolOptions::new()
   |  ________________^
11 | |         .max_connections(5)
12 | |         .connect(&env::var("DATABASE_URL")?).await?;
   | |__________________________________________________^

error: aborting due to 6 previous errors

I'm sure I'm missing something obvious, but I imagine I'm not the only one who is trying to code in the readme in an attempt to create a hello world type project.

I was running into the same issue, and it looks like it has to do with changes between the latest Cargo version and the as-of-yet unreleased 0.4.0.
Release 0.3.5 dates back to May whereas PgPoolOptions was added only two weeks ago.
While acknowledging the fact that the project has yet to reach 1.0 status, I am wondering whether it could prove useful to provide a similar level of expository content found in the project's README in the project's crates.io documentation. In my case, at least, this is why I ended up visiting the repo trying to run the quick start examples using the latest published version 😅


Synchronous UCS Map

ROSS currently considers no gyroscopic effects for the plot_ucs() method, as it calls run_modal(speed=0).
The UCS Map should considers synchronous eigenvalues. That is to say that each plotted natural frequency considers the gyroscopic effects of the rotor at for speed = frequency.
This can be achieved by iterating eigenvalues, however this strategy would be very time consuming.
XLTRC2 uses a transformation of the M matrix that constrains the rotor speed to the eigenvalue frequency, simplifying this calculation.
I extracted the paragraph below from XLTRC2 Help File:

An undamped critical speed analysis is a special type of eigenvalue calculation. All bearings are reduced to simple undamped axisymmetric springs such that Kxx=Kyy and Kxy=Kyx=0 (see Brg's Worksheet). Also, the rotor transverse inertia, It, is replaced with the transverse minus the polar inertia (It-Ip). This last modification, in effect, constrains the rotor rotational speed to equal the eigenvalue frequency. This means that computed eigenvalues are automatically synchronous (i.e., whirl frequency = rotor speed). Recall that eigenvalue frequencies normally vary with rotor speed because of gyroscopics. At particular values of rotor speed where the frequency of a forward whirling eigenvalue matches exactly the speed, the eigenvalue is termed a synchronous critical speed. This special command computes such eigenvalues directly, without the need to iterate the rotor speed.

Would it be possible to implement this transformation on ROSS?

I will start to implement this.
Some other points that I have noticed that maybe we will need to change:

The undamped critical speed analysis is not a run_ method, and I think this goes against our design. Maybe we should change this?;
Should we change the name ucs to undamped_critical_speed_analysis? It has the con of being a long name, but is more helpful for those that are not used to use the name ucs. What do you guys think?;
Another point is that the user does not have an option of choosing how many modes he can evaluate when calling the function. This goes back to a design that we used in the beginning of the project where some of this arguments would be defined as rotor attributes. Take for example a case where the user wants to determine the natural frequencies:

rotor.n_eigen = 8    # define number of modes
rotor.speed = 1000   # define the speed and run eig()
rotor.wn             # get the frequencies

Now we have something like:
rotor.n_eigen = 8
modal = rotor.run_modal(speed=1000)
modal.wn

I think we should evaluate if this makes more sense:
modal = rotor.run_modal(speed=1000, n_eigen=8)

I think this has the advantage of being more explicit (just like when we changed the speed to be an argument of run_modal()).
What do you guys think?
@atbrandao , @rodrigomoliveira1

It makes sense. I'd feel more confortable passing the n_eigen argument to the .run_modal() method than setting it as rotor attribute.

Going through it point by point:

From the user perspective I don't know if running the UCS as a ´run_´ method would be the best option, because it is not actually an analysis, like the other ´run_´ methods, it is actully just a plot. Maybe we could change it to ´.plot_ucs()´, or ´.plot_ucs_map()´. The only relevant result coming from the UCS is the plot, and if I want any other undamped analysis for my model, like undamped mode shapes, I would use ´.run_modal()´.

I agree that using something more descriptive like ´.undamped_critical_speeds_map()´ would be a good idea for user friendliness. However, being the lazy user I am, I would like to still have a compact ´plot_ucs()´ option. Maybe a new method could be created only calling the other one?

I fully agree that ´.n_eigen´ should be an argument for the applicable methods and not a ´Rotor´ attribute.

Going through it point by point:

From the user perspective I don't know if running the UCS as a ´run_´ method would be the best option, because it is not actually an analysis, like the other ´run_´ methods, it is actully just a plot. Maybe we could change it to ´.plot_ucs()´, or ´.plot_ucs_map()´. The only relevant result coming from the UCS is the plot, and if I want any other undamped analysis for my model, like undamped mode shapes, I would use ´.run_modal()´.

That is a good point. The problem is that we have added the Campbell diagram as a run_ method, so I am worried that we are not being consistent. But I think we can leave as it is now and see if other users will have trouble with this.

I agree that using something more descriptive like ´.undamped_critical_speeds_map()´ would be a good idea for user friendliness. However, being the lazy user I am, I would like to still have a compact ´plot_ucs()´ option. Maybe a new method could be created only calling the other one?

Yes, typing this would not be nice. I was not thinking about that because I am always relying on some autocomplete tool, but it is a good point. Having two methods I don’t think it is a good idea since it could bring some confusion.

I fully agree that ´.n_eigen´ should be an argument for the applicable methods and not a ´Rotor´ attribute.

I think this point is the one where we all agree, so I am going to start by implementing this and the required issue feature.

I have implemented the synchronous calculation following this procedure:

Run modal analysis with speed=0;
Get frequency of first forward mode;
Run modal analysis with speed=<frequency from step 2>.

I have compared this method with the speed=0.
These are the natural frequencies for 20 points in the first forward mode:

speed=0
speed=first forw.

89.61923495560965
89.61946776560761

120.8965544124148
120.8974158658818

162.5924636808063
162.5960376028161

217.4255339621071
217.4409598699732

287.6459641822536
287.7123155000834

372.9354036898083
373.2068156469886

466.2582836676713
467.2244997732644

551.4079067107739
554.0120171948969

613.1241511391027
618.0232877804480

650.4695078673341
657.3825131548623

671.2485702990565
679.5056521508502

682.5360011963281
691.5888533048600

688.6492347723974
698.1515285102745

691.9661291495472
701.7175103146761

693.7694751245434
703.6577888407243

694.7513306253416
704.7146391141554

695.2863823982286
705.2906880198269

695.5781004710195
705.6047966404822

695.7371945881359
705.7761132397700

695.8239733024785
705.8695621453434

As expected, a have a larger difference in higher frequencies because of the gyroscopic effect.
The time to run the speed=0 method:
10.3 s ± 1.03 s per loop (mean ± std. dev. of 7 runs, 1 loop each)
The time to run synchronous=True method:
42.7 s ± 3.24 s per loop (mean ± std. dev. of 7 runs, 1 loop each)
Regarding this method:

Also, the rotor transverse inertia, It, is replaced with the transverse minus the polar inertia (It-Ip). This last modification, in effect, constrains the rotor rotational speed to equal the eigenvalue frequency.

For the disks it is easy to do this, but I could not figure it out how to change the mass matrice for the shaft elements considering this.

We have merged the code mentioned in the comment above here #579.
Still investigating the It-Ip method.

Hi there!
I have marked this issue as stale because it has not had activity for 45 days.
Consider the following options:

If the issue refers to a large task, break it in smaller issues that can be solved in
less than 45 days;
Label the issue as wontfix or wontfix for now and close it.

Thank you @fernandarossi.
Just to explain a little bit more about this issue here and why it is still open.
The results for the undamped critical speed analysis can be visualized in the following plot:

This plot is built following these steps:

Define a stiffness range in which the analysis will be carried out (in this plot 10^6 to 10^11) and divide this range in points (e.g. 100 stiffness values);
Go through each stiffness value replacing the bearings in the model with a bearing with fixed stiffness equal to the value from the range;
Calculate the eigenvalues with speed=0 for that model;
Iterate with a new speed until the speed is equal to the first natural frequency (synchronous case).
This iteration to get the first natural frequency to be equal to the speed can consume some time. The idea presented by Brandão would decrease this time since the natural frequency would automatically be equal to the speed according to this explanation:

Also, the rotor transverse inertia, It, is replaced with the transverse minus the polar inertia (It-Ip). This last modification, in effect, constrains the rotor rotational speed to equal the eigenvalue frequency. This means that computed eigenvalues are automatically synchronous (i.e., whirl frequency = rotor speed).

This part has been not yet implemented and is the reason why this issue is still open.

PR #931 has been implemented to solve this.
I've just solved a conflict there and tests are now running. We need to check if everything will pass and verify with @fernandarossi if we are ready to merge the PR.

After the commit 8b76b9b3de1039b345a3e951be03030e73da280f, all the tests related to the ucs map are running.

We noticed that there is a difference between the plots in PR #931 , could you check?
We can redo the "1.7 Running and plotting UCS Map" tutorial.

We did the tutorial with the fix and these were the results:

@raphaeltimbo @fernandarossi I think we can finish this issue.


docs: re-order upgrade advice to avoid issues with pre-upgraded Nodes

There is a chance that if a Node in the system already supports v1.3 ahead of a system upgrade from v1.2 it may start registering at v1.3 once the new Registration APIs become available. If the downgrade supporting clients are upgraded first this should be less of an issue as these Nodes will always remain visible.

LGTM.


drop maquette

let users decide which lib to use

Maquettejs is ~3kb, not heavy for a virtual dom library. It helps to keep the code light and clean, removing the dependency will add a lot of code to handle events and binding.

totally understand this! sorry for beeing not so concrete, i should rewrite the topic as it is a bit offensive and wrong.
so what about requiring h as opt-in:
const DatePicker = require('dpicker')
const datePicker = new DPicker({ h: require('my-own-dom-lib') })

this way you could still fallback to maquettejs if h isNil. what do you think about this approach?

Interesting, but what other libraries are compatible with this VNode scheme? I'm also using the maquettejs projector here, here and on setters here. What would be the alternative for those?

Virtual dom libraries that could replace maquettejs:
http://mithril.js.org/
reactDOM
Maybe others? I need to test those but it might get complicated to handle each use case (like react.render / react createlement or m.mount for mithril instead of the maquettejs projector.

https://github.com/soyuka/dpicker#custom-hyperscript-library


Calliope Mini Set Pull not working !!!

Problem:
define (in robot configuration) sensor digital 'S' pin 'whatever'
use (in NEPOprog) *2 -- action -- pin -- set pull 'up' on Pin 'none'   -> no Pin selectable!!!!
if i define an output (action: actuator digital) then I can select  'Pin'  but pull(up/down) is for inputs!!
all works fine in old robertalab! (in example 2.7.1)  -> generated c++ code
int main()
{
_uBit.init();
_uBit.io.P0.setPull(PullDown);
while ( true ) {
    _uBit.io.P12.setDigitalValue(_uBit.io.P0.getDigitalValue());
    _uBit.sleep(_ITERATION_SLEEP_TIMEOUT);
}
release_fiber();

}

The solution could be:

Extend the configuration of sensor and actor pins with a dropdown for pullup, pulldown, none. We believe this is a good solution because pullup and pulldown should be defined in the setup once.
Mark the pullup, pulldown statement as deprecated, because it doesn't make sence to change this at runtime.

The solution could be:

Extend the configuration of sensor and actor pins with a dropdown for pullup, pulldown, none. We believe this is a good solution because pullup and pulldown should be defined in the setup once.
Mark the pullup, pulldown statement as deprecated, because it doesn't make sence to change this at runtime.

Tested okay on develop.
Following program was used to test on Calliope mini:

Robot configuration:

Pin P1 was set to pull up.
Button was connected to pin P1 and ground (-).
Program was uploaded to Calliope mini.

When the button is pressed, the Calliope shows a heart on it's display, showing that P1 is correctly pulled up to Vcc (+), and that pressing the button grounds it.
Similar test was conducted for pull down, instead checking for digital value on pin P1 = 1 and connecting the button to pin P1 and Vcc (+).


Incompatible with GoLand latest version 2022.2

@will7200

Thank you for opening this issue and bringing it to my attention. Please excuse my delayed response, had some life events happen recently.
Everything looks good and just waiting for jetbrains to approve it.

Jet brains approved


Ignore venv and gitmodules

.virtualenv should be ignored since it might still exist from openslides
3.
.gitmodules should be ignored because individual repositories and forks
are declared here. Normal commits should not alter the .gitmodules

The .gitmodules is required by git to manage submodules. Please do not ignore it.

Or dou you want to have a default but ignore changing it?

you are supposed to add the path to your own fork into the .gitmodules file.
https://stackoverflow.com/questions/11637175/swap-git-submodule-with-own-fork
You may overwrite it, but should not do it during your regular workflow, thus it belongs into the gitignore.

You can do the following:
cd the-submodule
git remote rename origin upstream
git remote add origin <your-fork>

This is the preferred way to add you fork since .gitmodules is a global configuration needed to link the submodule to the originating repo.

Also it is not a good idea to ignore this file and not deleting it. It would be consistant to delete it too, but then you cannot clone this repo anymore because this file is missing.

edited and adjusted my workflow accordingly


enable folder deletion

Coverage decreased (-23.0%) to 77.0% when pulling ffdf3a56833c61d3f313d8488038477d99e3a4f7 on trash-directories into f57a20359b1bce43fd23badab0cd92c791d7019c on master.

Coverage decreased (-18.0%) to 82.0% when pulling e8c4bb6f253b12e606480d8048fa979a5962c23c on trash-directories into f57a20359b1bce43fd23badab0cd92c791d7019c on master.

Coverage decreased (-15.0%) to 85.0% when pulling c50fe0d8ed8c3d79d26f664c30612cd7487506dc on trash-directories into f57a20359b1bce43fd23badab0cd92c791d7019c on master.

Coverage decreased (-15.0%) to 85.0% when pulling cb689648eb589b5c25f593a529406123dc79cfd8 on trash-directories into f57a20359b1bce43fd23badab0cd92c791d7019c on master.


Add GitHub workflows

Closes #27
You can see this in action here: https://github.com/ethanfrey/demo2/actions
(Note: After running generate and before pushing, I ran cargo check as I documented in README.md)

Can we tell Github to not run this in this repository? This should only be run when a project was created from here.

Can we tell Github to not run this in this repository? This should only be run when a project was created from here.

Good point. I found the item in settings. Will try a simple push to trigger it

Looks like the settings change worked.


[Enhancement]:  update to 1.0.1 as default version

Is there an existing issue for the enhancement?

[X] I have checked the existing issues.

Enhancement Description
update to 1.0.1 as default version
Enhancement Implementation
No response
Additional information
No response

done


Add test for get_validator_changes

Add test for get_validator_changes that will actually simulate the changes in the validator sets between eras

Sidecar based. Check with Jakub.

Triage update: A method to get the validator changes details is available in the sidecar. Potential action is to review the casper-tests and find out the existing coverage of tests and any news ones required.


fix(options): whisper use custom configuration

At the moment, the baseurl configuration for Whisper isn't functioning properly.
Additionally, there's an unnecessary '/' in the default base URL. Often, it gets appended with another "/", resulting in paths like http://api.openai.com/v1//chat/completions

Looks great. Thank you for catching this!

:tada: This PR is included in version 1.13.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Right click menu items missing when only single game game is selected

Right click menu items missing when only single game game is selected
Single game (missing);

Multiple games (menu items show):

Do you have any other extensions that might be impacting this, or is there anything in the log indicating an error? It works on my end:

There were no errors but I just uninstalled and reinstalled the extension and for some reason it shows now

This makes me think that this is possibly an issue in Playnite itself rather than the extension. I'll be checking and let you know if I find anything

This has also been happening to me, but the reinstall did not fix it

Thanks for the extra info. Apparently, member dictionaries default to null rather than empty, so when you open the context menu and it tries to check the multi-backup info, it could still be null. This would happen with older Ludusavi versions (since they don't support multi-backup) or potentially if you opened the context menu really fast (before it finished retrieving the multi-backup info). This should be fixed in 0.10.2 shortly.

That's correct, you need to initialize the dictionaries. I wonder why I missed any error in the logs, sorry about that and thanks for the fix 👍


get_config() missing

In order to save and read a network to/from a json file a proper get_config() methode has to be provided. For the SpatialPyramidPooling layer the following would work:
class SpatialPyramidPooling(Layer):
  ...
  def get_config(self):
        config = {'pool_list': self.pool_list}
        base_config = super(SpatialPyramidPooling, self).get_config()
        return dict(list(base_config.items()) + list(config.items()))

Thanks for reporting this and suggesting the fix. I've added get_config for both RoiPooling and SpatialPyramidPooling. It appears to work fine.
json_model_def = model.to_json()
model_new = keras.models.model_from_json(json_model_def,custom_objects={"RoiPooling":RoiPooling})
model_new.summary()
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input_1 (InputLayer)             (None, 3, None, None) 0
____________________________________________________________________________________________________
input_2 (InputLayer)             (None, 2, 4)          0
____________________________________________________________________________________________________
roipooling_1 (RoiPooling)        (None, 2, 63)         0           input_1[0][0]
                                                                   input_2[0][0]
====================================================================================================

I'm closing the issue for now, go ahead and reopen if you experience other issues with serialising to JSON.


Correctness issue with MHFromPrior sampler

Hi @sunxd3 -- I was testing the MHFromPrior within Gibbs sampler on one of Pigeons' recurring toy examples, and I found that it doesn't target the correct posterior. The posterior is described in depth here. In particular, E[p] ≈ [0.7, 0.7], but the Gibbs sampler produces E[p] ≈ [0.5, 0.5], indicating that it is just sampling from the prior.
The issue, I think, is here
https://github.com/TuringLang/JuliaBUGS.jl/blob/bac21713cbf90f2fa2f3556a15d7e23dc91e6eaa/src/gibbs.jl#L67
You are assuming that logp_proposed is the correct logpdf of the proposal. But the issue is that evaluate!!(model, rng) resamples every ~ statement---even the ones that correspond to observations. So logp_proposed is computed under a random n_heads sampled from the likelihood, and is therefore unrelated to the actual observed n_heads. Which implies that the sampler ends up targeting the prior instead of the posterior.
Reproducer
using JuliaBUGS
using Random
using Distributions
using AbstractMCMC
using MCMCChains

# unidentifiable coin-toss model
unid_model_def = @bugs begin
    for i in 1:2
        p[i] ~ dunif(0,1)
    end
    p_prod = p[1]*p[2]
    n_heads ~ dbin(p_prod, n_flips)
end
unid_target_model = compile(unid_model_def, (; n_heads=50000, n_flips=100000))
n_samples = 2000
rng = MersenneTwister(123)
samples_and_stats = AbstractMCMC.sample(
    rng,
    AbstractMCMC.LogDensityModel(unid_target_model),
    JuliaBUGS.Gibbs(unid_target_model, JuliaBUGS.MHFromPrior()),
    n_samples;
    discard_initial=n_samples÷2
)

Result
Chains MCMC chain (2000×2×1 Array{Real, 3}):

Iterations        = 1001:1:3000
Number of chains  = 1
Samples per chain = 2000
parameters        = p[2], p[1]
internals         =

Summary Statistics
  parameters      mean       std      mcse    ess_bulk    ess_tail      rhat   ess_per_sec
      Symbol   Float64   Float64   Float64        Real     Float64   Float64       Missing

        p[2]    0.5068    0.2884    0.0066   1948.4995   1923.9786    0.9999       missing
        p[1]    0.5124    0.2906    0.0066   1972.0720   1962.4925    0.9997       missing

The issue persists if we sample in constrained space
unid_target_model_constrained = JuliaBUGS.settrans(unid_target_model)
samples_and_stats = AbstractMCMC.sample(
    rng,
    AbstractMCMC.LogDensityModel(unid_target_model_constrained),
    JuliaBUGS.Gibbs(unid_target_model_constrained, JuliaBUGS.MHFromPrior()),
    n_samples;
    discard_initial=n_samples÷2
)

Results
Chains MCMC chain (2000×2×1 Array{Real, 3}):

Iterations        = 1001:1:3000
Number of chains  = 1
Samples per chain = 2000
parameters        = p[2], p[1]
internals         =

Summary Statistics
  parameters      mean       std      mcse    ess_bulk    ess_tail      rhat   ess_per_sec
      Symbol   Float64   Float64   Float64        Real     Float64   Float64       Missing

        p[2]    0.4926    0.2869    0.0063   2076.9384   2001.8582    0.9995       missing
        p[1]    0.4980    0.2871    0.0067   1856.3094   2002.1115    1.0001       missing

No problem!
I wonder if, instead of the Gibbs sampler, the problem lies instead in the fact that evaluate!! resamples every tilde statement, including observations. Is that intended? Seems like it could lead to other issues, not just with this sampler.
OTOH, that feature enables some relevant algorithms. For example, the MCMC invariance statistical test we use in Pigeons.

I think so (regarding issue lies in evaluate!!). It was meant to just sample from prior, but I was careless when I used it for Gibbs.
I think adding an option to not sample the conditioned variables is good. Actually not sample is probably the correct default implementation -- sampling from prior can be just first decondition on all variables and then run this evaluate function (one that does not sample from conditioned variables).

That sounds reasonable! The situations where you actually want full resampling are pretty rare.


✅ Tests - Smoke and Integration Testing

Cc: @wicksipedia @matt-goldman @GordonBeeming @lukecookssw @AntPolkanov @zacharykeeping

Hi @tkapa
Describe the Bug

Lots of little issues have popped up with the API Client that could have been mitigated with proper test implementations.
Expected Behavior

Our CI/CD Pipelines should run Integration tests to ensure that our Endpoints are being hit properly.
Tasks

[ ] Spec out requirements for Integration testing
[ ] Add Issues to the backlog for future implementation

Thanks!

@tkapa can we please add this to the top of the backlog as p1 for the next sprint? And include tests that ensure our role filters work as expected (on the API). E.g., a token issued to a non-admin should not be able to add a reward.


Builds golang compiler by version instead of variant

Issue #, if available:
Description of changes:
A small change to the ordering of golang builds. Instead of building all versions of go per compiler variant (base/yum/gcc) it now will build all the golang 1.15 versions then the 1.16 and so on.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Revise glomerular and peritubular capillary endothelial cell classification and defs

glomerular endothelial cell and subsclasses

[ ] Link glomerular endothelial cell to GO term glomerular endothelium fenestra (GO:0036053)
[ ] Add a textual defs for glomerular capillary endothelial cell term

peritubular capillary endothelial cell

[ ] Add SubclassOf fenestrated endothelial cells
[ ] Add a textual definition

Should be able to infer classification under fenestrated epithelial cell


Update go and golangci-lint

Now that a new version of Go has been released, this bumps the versions used in this repo and drops support for Go v1.20.
This also updates golangci-lint to the latest, which called for some config changes to eliminate warnings.

golangci-lint added integer overflow detection in v1.60.2. But, the areas here that it flagged seem safe.  The // #gosec:115 ignores make me slightly queasy, but it felt overkill to check whether the int value was in the min/max int32 range.

@jhump ping on this one too when you get a chance.


Compile app/frames under GCC 5.4 or GCC 4.8

As described in #1283

BTW I'm wondering if we have a chance to compile app/frames with GCC 5.4 or GCC 4.8? I think it is quite a common setting in the user's environment.
I'm thinking we will drop the dependency of folly on the next release, and there should be no blocking issues.

Fixes in libgrape-lite.


Use case: jwt auth

Hey!
I'm creating a couple of new sites and all of them need an auth system. I've used jwt token based auth before with ui-router and it all worked fine, but I decided I wanted to give a shot to the new router. My first thought was why not try with angular 2.0, but since there's no example and it's still in the early alpha stage I dropped the idea and stayed with 1.4.x.
Then I realized there isn't any example with an auth system either. I already read #33 and #170, but I still don't quite understand what would be the best practice to create a jwt token based auth system with the new router. It would be nice to have something like this, but it might be a long shot:
$router.config([
	{ path: '/'			, redirectTo: 'index' 	, auth: false },
	{ path: '/profile'	, component: 'profile' 	, auth: true },
	{ path: '/login'	, component: 'login' 	, auth: false },
	...
]);

And then redirect the user wherever if auth fails.
Could someone please explain how I could implement this step by step?
Thanks!

I'm guessing you'd want to do something with the canActivate lifecycle event to check for your auth situation

Yeah I saw that in the documentation, I was just hoping in something with a little bit more details. Anyways, I just noticed the latest versions don't really work (path undefined), so I'm kinda stuck.


Local network monitiring possibility

Hi!
Can I get params of local network PC (remote Windows computer) with your library ?
I know it is possible with wmic. I try to make custom app for local network monitoring and I'm interested to use your library.
It is new experience for me.
Thank you in advance!

Maybe add parametrs to wmic command solve my problem
wmic /NODE:"servername" /USER:"yourdomain\administrator" /PASSWORD:”password”

@valkondratiev I thought about it but I guess this is out of scope of this library. Here I want to just provide functionality to get all data of a local machine and the challenge here is to provide this across several platforms. Closing it for now.

@valkondratiev I thought about it but I guess this is out of scope of this library. Here I want to just provide functionality to get all data of a local machine and the challenge here is to provide this across several platforms. Closing it for now.


[Project Submission] DAOInsure

Hey @mishmosh this is the dev grants submission I was talking about earlier. Is this the wrong repo, should this be moved?


Revert Netstandard to see if build works

don't merge

@matthid I think I reverted to something that already built. I don't really understand that error. Is that a mono issue?

I would say nunit bug, because appveyor fails as well. Can you try to revert that update as well.

Now it fails for different reasons. So looks like nunit is really broken

yep, looks like either paket bug or not updated unit tests to me...


Release Google.Cloud.AppEngine.V1 version 1.0.0

Changes in this release:
No API changes from 1.0.0-beta01.

(Will wait for the PubSub release to complete before merging.)

Created release for Google.Cloud.AppEngine.V1-1.0.0


Add a changelog

How about adding a CHANGELOG file for contributors/ translators?
It can be hard updating and maintaining a translation, especially if you have fallen behind several releases. The CHANGELOG could point to added/modified/deleted sections and give an overall sense of how much work an update could be. Good for personal estimations!

Is this something you would be interested in tackling, Moritz? Feel free to decline, I won’t take it personally. :D

Will do it! :wrench:

Done in #291.


Full Screen notification does not show

Hello,
I am trying to show a full screen notification for a VOIP call the app receives. Here is my code.
await notifee.createChannel({
    id: 'channel',
    name: 'Incoming Call',
    importance: AndroidImportance.HIGH,
  });

notifee.displayNotification({
    title: 'Full-screen',
    body: 'notification',
    android: {
      channelId: 'channel',
      // Recommended to set a category
      category: AndroidCategory.CALL,
      // Recommended to set importance to high
      importance: AndroidImportance.HIGH,
      visibility: AndroidVisibility.PUBLIC,
      fullScreenAction: {
        id: 'default',
        // mainComponent: 'full-screen-main-component'
      },
            actions: [
        {
          title: 'Accept',
          pressAction: {
            id: 'accept',
            launchActivity: 'default',
          },
        },
        {
          title: 'Decline',
          pressAction: {
            id: 'decline',
            launchActivity: 'default',
          },
        },
      ],
    },
  })

I also have the following flags set for the manifest file for the MainActivity.
android:showWhenLocked="true"
android:turnScreenOn="true"
Is there any step that I am missing?

Hi, please style your code snippets correctly so they're more readable. But, there are a couple of threads about this... have you searched through the issues?
when you are testing this is your phone locked, otherwise, it will show as a normal push.
Maybe there's something we can add to the docs to make full-screen notifications easier to integrate and use.

thank you for sharing that.

The following code is what worked. I am not sure what property makes it work. But posting for reference.
await notifee.displayNotification({
    title: 'Incoming Call',
    body: notification.data.userName + ' is Calling...',
    android: {
      sound: 'ringtone',
      vibrationPattern: [
        1000, 500, 1000, 1000, 500, 1000, 1000, 500, 1000, 1000, 500, 1000,
        1000, 500, 1000, 1000, 500, 1000,
      ],
      channelId: 'incoming-call',
      smallIcon: 'ic_launcher_round',
      category: AndroidCategory.CALL,
      importance: AndroidImportance.HIGH,
      fullScreenAction: {
        id: 'default',
      },
      actions: [
        {
          title: 'Accept',
          pressAction: {
            id: 'accept',
            launchActivity: 'default',
          },
        },
        {
          title: 'Decline',
          pressAction: {
            id: 'decline',
            launchActivity: 'default',
          },
        },
      ],
      lightUpScreen: true,
      colorized: true,
    },
  });

Thank you!

Hi, @gghangura. I'm also developing a sip calling application and the notifications work perfectly on several android devices, but on the Samsung I have this same problem. Currently, do you know exactly what might have caused this problem in your application?


Change "export = " to "export default" and require "import" or "require('spawn-async').default"

We currently use the special export = syntax which assigns to module.exports but this prevents us from exporting other values, namely other type definitions. Moving to export default addresses this but on the importing side this means that require('spawn-async') will no longer work and needs to be require('spawn-async').default. For callers already using import spawnAsync from '@expo/spawn-async' there is no change for them.

The extra exported values are TS type definitions (export interface SpawnPromise {...}) and there’s nothing to assign at runtime since they are compiled away. On the consuming side you’d write:
import spawnAsync, { SpawnPromise } from '@expo/spawn-async'


Translate to other languages

I will be happy to help to translate PayForMe to Russian and German.

Thanks! I will look in localization as fast as possible, so you can get started working on :-)

Maybe use Transifex: https://www.transifex.com

Thanks, I had a look into transifex and I didn't like it that much from first sight to be honest, but didn't look deep in int.
BUT:
I hab a look on how localization can be done in SwiftUI, and it is basically very easy. I added 3 files:
Strings/de.lproj/Localizable.strings
Strings/en.lproj/Localizable.strings
Strings/ru.lproj/Localizable.strings

Now, everything that needs to be done, is write the translation into each of the files in a manner of
"Enter project name" = "Bitte Projektname eingeben"; into the respective file, and everywhere the left text occurs in a view, it will be switched out by the right one. Can you work with that? My time is a bit short right now unfortunately, but would be great to have that!

OK! Added PR for Russian.

Wow, that was fast! Are you on matrix btw? then I would be happy to get in contact with you: @max.tharr:matrix.mayflower.de

Never tried it actually, but will look into it in the following days, as I've heard about it a lot. Speaking of federated services, I use Nextcloud Talk.


Release Notes?

Hi, just wondering if there are any release notes or changelog for the recent release? I can't find a CHANGELOG.md and the Releases tab has nothing listed for 0.7.x

I've added some release notes. Thanks 🙂

Excellent, thanks so much!


WIP: Make components pure to test re-rendering

Closing, redoing in a new PR based on current master.


Social media buttons in the PDP

[ ] facebook
[ ] pinterest
[ ] Google+

@trangng Is this a MVP feature?

@schleichardt no


Add kubebuilder singular tag to kubeapiserver

Adds a kubebuilder tag which will include the singular name when generating CRDs

this isn't needed anymore because we forked the CRD generation tool and only use it to generate validation now


format: 'L LT'

i can't use this. i always get an error that it's an invalid format

please post a jsfiddle of your issue

Since I was about to do this anyway, I made a JSFiddle to try and re-create this: http://jsfiddle.net/usLa8tcb/
It seems to work fine. Could you give any more information about what you were trying to do? Does your code look different to what I've got here?

Sorry for replying late. It's all working now, i forgot to call the css.
Thanks dude!
On Tue, Sep 15, 2015 at 6:45 PM, Ben Jenkinson<EMAIL_ADDRESS>wrote:

Since I was about to do this anyway, I made a JSFiddle to try and
re-create this: http://jsfiddle.net/usLa8tcb/
http://jsfiddle.net/usLa8tcb/
It seems to work fine. Could you give any more information about what you
were trying to do? Does your code look different to what I've got here?
—
Reply to this email directly or view it on GitHub
https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1317#issuecomment-140350561
.


Play store still not working

I've tried plenty of pre-built WSA files and this guide, but all have the same issue. When I try to log into the play store, it just doesn't do anything.

Same here.

same here.

Got it working using https://github.com/LSPosed/MagiskOnWSALocal instead, it does the same things but you can choose if you want to root it or not.

Got it working using https://github.com/LSPosed/MagiskOnWSALocal instead, it does the same things but you can choose if you want to root it or not. Just build it using ubuntu and follow the instructions on the repository

Works, thanks bro!


Speech docs point to unreleased library's generated documentation!

https://googlecloudplatform.github.io/google-cloud-ruby/#/ --> [Read the Docs]
https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/v0.37.0/google/cloud --> [Speech]
https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/v0.37.0/google/cloud/speech

The documentation MUST to be updated to point to the released Speech client library. This is very broken, please prioritize.

@blowmage @quartzmo @geigerj /cc @lukesneeringer

[offline chat]
Thanks so so much @blowmage and @quartzmo for looking into this so quickly, late in the day! Your dedication to quality knows no bounds!


OSS-Fuzz: ASSERT: memcmp(optimized_binary_with_nop.data(), original_binary, original_binary_size)

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39696
@s-perron for info.

The problem with this on is that the input spir-v is in big endian, but the output spir-v is in little endian.  This is why there is an assert that the contents of the spir-v changed, even if the optimizer did nothing.

I don't believe this will affect anybody because everybody uses little endian anyway.


pdfTeX error: pdflatex (file fcr14): Font fcr14 at 600 not found

The following code:
\documentclass{article}
\usepackage[T4]{fontenc}
\begin{document}
\Large
\G{A} \G{B} \G{C} \G{D} \G{E} \G{F} \G{G} \G{H} \G{I} \G{J} \G{K} \G{L} \G{M}

\G{N} \G{O} \G{P} \G{Q} \G{R} \G{S} \G{T} \G{U} \G{V} \G{W} \G{X} \G{Y} \G{Z}

\G{\OE} \G{\AE} \G{\O}

\G{a} \G{b} \G{c} \G{d} \G{e} \G{f} \G{g} \G{h} \G{\i} \G{\j} \G{k} \G{l} \G{m}
\G{n} \G{o} \G{p} \G{q} \G{r} \G{s} \G{t} \G{u} \G{v} \G{w} \G{x} \G{y} \G{z}

\G{\oe} \G{\ae} \G{\o}
\end{document}

doesn't compile via latexcgi because of:
pdfTeX error: pdflatex (file fcr14): Font fcr14 at 600 not found
 ==> Fatal error occurred, no output PDF file produced!

Is it hopeless?

not sure why it didn't build, I'll check later but it's there now
https://davidcarlisle.github.io/latexcgi/run?
\documentclass{article}
\usepackage[T4]{fontenc}
\begin{document}
\Large
\G{A} \G{B} \G{C} \G{D} \G{E} \G{F} \G{G} \G{H} \G{I} \G{J} \G{K} \G{L} \G{M}

\G{N} \G{O} \G{P} \G{Q} \G{R} \G{S} \G{T} \G{U} \G{V} \G{W} \G{X} \G{Y} \G{Z}

\G{\OE} \G{\AE} \G{\O}

\G{a} \G{b} \G{c} \G{d} \G{e} \G{f} \G{g} \G{h} \G{\i} \G{\j} \G{k} \G{l} \G{m}
\G{n} \G{o} \G{p} \G{q} \G{r} \G{s} \G{t} \G{u} \G{v} \G{w} \G{x} \G{y} \G{z}

\G{\oe} \G{\ae} \G{\o}
\end{document}
(I just ran the file on the server and the fonts built)

Indeed, looks okay now: thanks! (I'm not sure whether I should close this issue or not.)

leave open and I'll look later why it failed: I think the security blocking of some directories is over-eager

OK the issue was that
TEXMFVAR had the default value under the home directory but the server runs in an account without a home directory but it does own the texlive installation so I have set (in texlive/2024/texmf.cnf)
% dont use home var
TEXMFVAR = $TEXMFROOT/texmf-var
so TEXMFVAR is the same as TEXMFSYSVAR and the files do now get rebuilt (after I deleted them) in
/usr/local/texlive/2024/texmf-var/fonts/pk/ljfour/jknappen/fc/


Unable to build due to missing dependencies

When I run "godep go test -bench" I get a series of errors complaining about not finding packages. For example:
cannot find package "github.com/Shopify/sarama" in any of: 	/usr/local/go/src/github.com/Shopify/sarama (from $GOROOT)
This is after I have run "make updatedeps".  There are not many, but enough that building fails. In addition, running "go get github.com/rakutentech/kafka-firehose-nozzle" works, but when I try and push to Cloud Foundry, I get the following error:
**ERROR** To use go native vendoring set the $GOPACKAGENAME           environment variable to your app's package name
The go buildpack version we are using is 1.8.28
I also want to use a custom .toml file but do not know where it goes. Does it need to be in the cloned source before building, or is there a way to pass the file location to the go get command?
Thanks in advance for your help.

Thanks for the response @giner.. I am assuming that these are entries for a manifest file? Is there a way in include the .toml file in the snippet above? Can you please provide a sample cf push command to get the snippet and .toml to deploy? Many thanks in advance.

CF Version: 6.41.0+dd4c76cdd.2018-11-28
Go Version: go1.10.3 linux/amd64
RHEL 7
I think I have progressed further after reinstalling go and setting the env variables correctly. However, now when I try and do a push from the root of the project (bin and src visible) I get other errors. I have posted a ticket with go-buildpack here: https://github.com/cloudfoundry/go-buildpack/issues/57
For your information, when I try and do a cf push I get the following now:
-----> Go Buildpack version 1.8.30 **ERROR** Cloud Foundry does not support the GB package manager. We currently only support the Godep, Glide and dep package managers for go apps. For support please file an issue: https://github.com/cloudfoundry/go-buildpack/issues **ERROR** Unable to select Go vendor tool: gb unsupported
I am thinking this is not your guys issue. If I try and rename the src folder, I get a different error similar to the one I got before:
         **WARNING** Installing package '.' (default)    -----> Running: go install -tags cloudfoundry -buildmode pie .    can't load package: package kafka-firehose-nozzle: no Go files in /tmp/gobuildpack.gopath121497756/.go/src/kafka-firehose-nozzle           **ERROR** Unable to compile application: exit status 1    Failed to compile droplet: Failed to run finalize script: exit status 12
Please confirm if anyone is able to push this nozzle to cloud foundry, or has a way of getting around this.  Your help would be greatly appreciated.

@webbbret, I have just tried to push with the latest buildpack and it worked for me. There is no need in building it before pushing.
git clone https://github.com/rakutentech/kafka-firehose-nozzle
cd kafka-firehose-nozzle
# Add config.toml and manifest.yml
cf push

@giner Perfect! The app deploys now. However, I think something may be wrong with my config.toml file, as I cannot seem to get the app started. The error I am getting is:
2018-12-21T12:53:33.690-08:00 [CELL/2] [ERR] Timed out after 1m0s: health check never passed. 2018-12-21T12:53:33.690-08:00 [HEALTH/2] [ERR] Failed to make TCP connection to port 8080: connection refused
Is there anything in the .toml file here that would make this happen? I have removed the user and pwd for display purposes, but there are present when I push the app.
`subscription_id = "kafka-firehose-nozzle"
doppler_address = "wss://doppler.system.cloud.dev.enforma.io:443"
uaa_address = "https://uaa.system.cloud.dev.enforma.io"
username = "blahblah"
password = "lalalal"
token for subscribing data from firehose
token = "np9q8b4qp3;vqo...." get it from the uaa address
[kafka]
brokers = ["kafka-single-node.enforma.io:9092"]
retry_max = 10
retry_backoff_ms = 500
compression = "none" # or "snappy", "gzip"
[kafka.topic]
log_message = "pcf_metrics"
log_message_fmt = "log-%s"
value_metric = "metric"`

For others sake... Turns out that the following was needed in my manifest.yml. This enabled the application to start. If this is not the correct setting, please indicate what it should be:
health-check-type: none

@giner Can you elaborate more on the following:
[kafka.topic] log_message = "log" log_message_fmt = "log-%s" value_metric = "metric"
My understanding is that for each event type, you would need to have an entry? For example:
	  HttpStartStop 	  LogMessage 	  ValueMetric 	  CounterEvent 	  Error 	  ContainerMetric
These are the event types I believe are available. If I wanted to send lets say ValueMetric to kafka, I would need to add the following to the config.toml?
value_metric = "value" value_metric_fmt = value-%s"
or is it:
`value-metric = "value"
value-metric-fmt = value-%s"
Like the readme points out? Thanks in advance.

Here is a working example we use:
subscription_id = "kfn-201612"

[cf]
doppler_address= "wss://doppler.domain.com"
uaa_address ="https://uaa.domain.com"
username = "kafka-nozzle"
idle_timeout = 15 # seconds

[kafka]
brokers = ["<IP_ADDRESS>:9092","<IP_ADDRESS>:9092"]
retry_max = 3
retry_backoff_ms = 100
compression = "gzip"

[kafka.topic]
log_message = "cf-app-log"
value_metric = "cf-metrics"
container_metric = "cf-app-metrics-containermetrics"
http_start_stop = "cf-app-metrics-httpstartstop"

@giner The application deploys without error, however, I am not seeing the topics using Kafdrop and do not see any messages. My toml looks very similar with exception to the subscription _id. Can you please share what and how this value is found/determined? I am assuming the app should be creating the topics within kafka.topic when the app launches? Many thanks in advance.

Any errors in logs? Which version of Kafka are you using? It was tested with Kafka 0.8.x.

I found the following in the logs:
2018-12-27T08:31:01.991-08:00 [APP/PROC/WEB/1] [OUT] 2018/12/27 16:31:01 [ERROR] Failed to construct kafka producer: kafka: client has run out of available brokers to talk to (Is your cluster reachable?) 2018-12-27T08:31:02.001-08:00 [APP/PROC/WEB/1] [OUT] Exit status 2 2018-12-27T08:31:02.004-08:00 [CELL/SSHD/1] [OUT] Exit status 0 2018-12-27T08:31:06.393-08:00 [API/1] [OUT] Process has crashed with type: "web" 2018-12-27T08:31:06.399-08:00 [CELL/0] [OUT] Cell 63eee8ae-6215-48de-93eb-e70d6f43b622 destroying container for instance 777c6afe-122a-4c3b-7b9d-d3ba 2018-12-27T08:31:06.399-08:00 [CELL/0] [OUT] Cell 63eee8ae-6215-48de-93eb-e70d6f43b622 stopping instance 777c6afe-122a-4c3b-7b9d-d3ba 2018-12-27T08:31:06.415-08:00 [API/1] [OUT] App instance exited with guid 5b208896-c5a7-4b54-96e7-7d88ca4d7104 payload: {"instance"=>"777c6afe-122a-4c3b-7b9d-d3ba", "index"=>0, "cell_id"=>"63eee8ae-6215-48de-93eb-e70d6f43b622", "reason"=>"CRASHED", "exit_description"=>"APP/PROC/WEB: Exited with status 2", "crash_count"=>1, "crash_timestamp"=>1545928266362105623, "version"=>"9bf5bc38-9b6f-4762-aaae-d95cb66c6b87"} 2018-12-27T08:31:06.459-08:00 [CELL/0] [OUT] Cell f25a268e-fe93-421f-bb69-31f971c4afc8 creating container for instance e02f935d-86fc-42f6-4d3f-6054 2018-12-27T08:31:06.556-08:00 [PROXY/0] [OUT] Exit status 137 2018-12-27T08:31:06.613-08:00 [API/1] [OUT] Process has crashed with type: "web"
Looks like the nozzle may be having trouble communicating with the broker. Not sure if this is a certificate issue, TSL issue or what. Will look into the version of kafka as well.

@giner I am still having issues getting the nozzle to create topics in kafdrop using the broker I configured in my .toml file. Is there a way to have the nozzle logs be more verbose or able to pinpoint where the communication with the broker is breaking down? I am able to communicate with the broker using the same credentials, etc. using CF commands from the command prompt and creating messages on the topic. As a side note, I am using password in my .toml and not UAA_PASSWORD in my manifest. Not sure if this makes a difference? Any help would be greatly appreciated.

Closing this one. Continue in #24.


docs: updated readme file with setup guide

Fixes #41
Describe the changes you have made in this PR -
Additions:

Link to contribution guidelines
Steps to setup local development environment

Screenshots of the changes (If any) -
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

I have updated the readme file with setup instructions, please let me know if there are any changes required , thanks


Supported Laravel 8.x

Add support Laravel 8.x
Fix for Details class when inheriting Laravel Collection

Finish support Laravel 8.x


Change 'id' in oauth_clients to 'client_id'

The present convention for tables in laravel is to use the 'id' attribute as an incrementing unsigned integer. Currently, for the oauth_clients table the 'id' attribute referrers to a 40 character string that is referenced by other parts of the oauth2 spec. The change that I would like to propose is that an 'id' column is available by default to be an unsigned incrementing integer, while the value presently in the 'id' column is put into a new 'client_id' column.

I don't want to start creating a solution to this without verifying whether or not this kind of change is needed/wanted, so I'm looking for an opinion here. Personally, I have a use case that can be benefited from this change, but if nobody else would then I can just make a work around for myself.


AssertionError

Hi
I have an error message, when I use a certain combination of parameters:
2020-04-17 22:46:48.907 | DEBUG    | __main__:update_model:49 - prior = (3.0, 3.0, 4.0), successes = 1, total = 10, tnow = 0.1
.../venv/lib/python3.7/site-packages/scipy/special/_logsumexp.py:120: RuntimeWarning: invalid value encountered in log
  out = np.log(s)
Traceback (most recent call last):
...
  File "../spaced_repetition/processor.py", line 50, in update_model
    new_model = ebisu.updateRecall(prior=model, successes=result, total=10, tnow=time_passed)
  File ".../venv/lib/python3.7/site-packages/ebisu/ebisu.py", line 119, in updateRecall
    assert m2 > 0, message
AssertionError: {'prior': (3.0, 3.0, 4.0), 'successes': 1, 'total': 10, 'tnow': 0.1, 'rebalance': True, 'tback': 4.0}

It looks like it fails when the difference between successes and total is > 7: it crashed with successes=0 and total=8 and successes=1 and total=10
it all happens at tnow=0.1
If I increase tnow, the limit goes up: at tnow=0.2 it crashes at successes = 0, and total=11
at tnow = 10.2, at successes = 0, and total=64, but runs ok if successes = 2, and total=64

Yes, this is too much of a surprise for the algorithm to handle 😢. I noted this in the docstring for updateRecall:
  N.B. This function is tested for numerical stability for small `total < 5`. It
  may be unstable for much larger `total`.

  N.B.2. This function may throw an assertion error upon numerical instability.
  This can happen if the algorithm is *extremely* surprised by a result; for
  example, if `successes=0` and `total=5` (complete failure) when `tnow` is very
  small compared to the halflife encoded in `prior`. Calling functions are asked
  to call this inside a try-except block and to handle any possible
  `AssertionError`s in a manner consistent with user expectations, for example,
  by faking a more reasonable `tnow`. Please open an issue if you encounter such
  exceptions for cases that you think are reasonable.

Are you using such large totals to try and approximate a fractional recall strength? Unfortunately that's probably not going to be possible due to these numerical issues. I recommend using total<=3, even if your quiz really does have more trials than this.
This is unfortunately the best I could do with 64-bit floating point math (though likely there are improvements I don't know about). While I could use arbitrary-precision numbers via the very nice mpmath library, I hesitate to do this because most other languages do not support arbitrary-precision arithmetic or special functions.

I'll close this, feel free to reopen if you have further questions or if I'm not being clear!

I noticed in your stacktrace that tnow=0.1 and tback=4.0 (the last element of the model) and thought to experiment with explicitly setting the tback=tnow: this argument tells the update function what time horizon you want the updated model to be for.
So:
In [13]: ebisu.updateRecall((3.0, 3.0, 4.0), 1, 10, .1, rebalance=False, tback=.1)
Out[13]: (1.9194897423560657, 0.43238986987746275, 0.1)

In [14]: ebisu.updateRecall((3.0, 3.0, 4.0), 1, 10, .1, rebalance=True, tback=.1)
Out[14]: (0.8319919171517688, 0.6407240193877811, 0.833209151552077)

This seems to work because setting tback=tnow lets the algorithm work with smaller arguments to the betaln function, preventing overflow. In the first example above, I set rebalance=False, which will ask the updater to return the updated model at a new time of tback, just to confirm that it wouldn't throw an exception. The second example, with the rebalance=True, allows it to move the updated model time to something closer to the model halflife.
But note that in both updated models, the first or the first two parameters of the model (alpha and beta) have gone < 1, which lead to improper Beta distributions (where the probability distribution becomes U-shaped (bimodal) instead of upside-down-U shaped (unimodal)). Trying to use these models will probably result in future incorrect behavior 😔. For example, the two models disagree in half-life:
In [15]: ebisu.modelToPercentileDecay(ebisu.updateRecall((3.0, 3.0, 4.0), 1, 10, .1, rebalance=False, tback=.1))
Out[15]: 0.6584816172123262

In [16]: ebisu.modelToPercentileDecay(ebisu.updateRecall((3.0, 3.0, 4.0), 1, 10, .1, rebalance=True, tback=.1))
Out[16]: 1.1267087826740922

In contrast, using more reasonable total=3 gives models that are truly equivalent after rebalancing: I see the same halflives here:
In [19]: ebisu.modelToPercentileDecay(ebisu.updateRecall((3.0, 3.0, 4.0), 1, 3, .1, rebalance=False, tback=.1))
Out[19]: 2.2700374362921734

In [20]: ebisu.modelToPercentileDecay(ebisu.updateRecall((3.0, 3.0, 4.0), 1, 3, .1, rebalance=True, tback=.1))
Out[20]: 2.269294323549595

So in this situation, even using arbitrary-precision arithmetic won't help—the algorithm is so surprised by the student failing nine times out of ten, only 0.1 time units after the last review, when it's model expected a half-life of 4 time units, that it goes into an incorrect part of the parameter space 😤. There's unfortunately no fix for this—at best I may be able to detect when this happens and throw a ValueError (instead of AssertionError on numerical overflow/underflow) but you'd have to handle that.
Before Ebisu 2.0, total=1, i.e., Ebisu only dealt with binary quizzes ("Bernoulli experiments" is the statistical term). It was relatively straightforward to extend it to total>1 ("binomial experiments"), so I added it. The quiz model for binomial quizzes is that you have quizzed the user total times in a single quiz session, without giving them feedback, so their performance on each quiz is statistically independent of the others. Is this the case you are using? Or are you trying to use success and total to approximate a 'quiz strength'?
I ask because we don't have a lot of practical experience with this Ebisu 2.0 binomial quiz style (total>1) and your feedback would be most helpful.
Again, please feel free to follow up with questions, I'm not sure how familiar you are with Ebisu or the underlying statistics so the above explanation might have been too opaque, I'm happy to elaborate.

Thank you for the elaborate answer! Really appreciate your work and attitude.


When does onPatches call the listener with multiple patches?

Currently, some of my code would work differently depending on whether the onPatches listener is called with a single patch or multiple patches. All simple value replacements or array actions seem to only lead to one patch. I thought that grouping changes inside an action would lead to single onPatches listener call with a group of multiple patches, but it seems that even then the onPatches listener is just called multiple times with one patch each.
Is there any case that actually leads to multiple patches?
edit: Ah, a little dive in the code later - array.splice(), I guess? Is that the only case?

Yes, that's currently the only case. If you want to "group patches" in a single action one trick you can use is to store patches in a buffer and then "flush the buffer" once onSnapshot is called (which is called after an action is finished).

Ah, that's a neat trick. Thanks!
I'm actually glad that onPatches is mostly called with single patches. I'm augmenting the paths with $modelId information (for model instances in arrays) there because our app is online collaborative with undo/redo for actions each local user did - so raw indizes might not always point at the right element anymore. And that's much easier with non-grouped patches because you can be sure that the state is still "right after the patch".


Error while runing manage.py

Hi!
I have an error while running manage.py in "example" folder. I use python3.6 on MacOS Sierra.
Here is command:
(mytest) ➜  /Users/andrey/sites/shop/django-shop/example git:(master) ✗ python3 manage.py
Here is error:
File "/Users/andrey/.envs/mytest/lib/python3.6/enum.py", line 439, in _get_mixins_     raise TypeError("new enumerations must be created as " TypeError: new enumerations must be created as "ClassName([mixin_type,] enum_type)"'
Maybe someone know what is it?
Thanks!

I never tested with Python-3.6. Only up to 3.5. In case there is an easy fix, please send a pull request.

The fix for this specific issue is:
`
diff --git a/shop/models/related.py b/shop/models/related.py
index 603ff32..8b1c4be 100644
--- a/shop/models/related.py
+++ b/shop/models/related.py
@@ -2,7 +2,7 @@
from future import unicode_literals
import enum
-from six import with_metaclass, string_types
+from six import add_metaclass, with_metaclass, string_types
from django.db import models
from django.utils.six import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy
@@ -21,9 +21,9 @@ class ChoiceEnumMeta(enum.EnumMeta):
pass  # let the super method complain
return super(ChoiceEnumMeta, cls).call(value, *args, **kwargs)

@python_2_unicode_compatible
-class ChoiceEnum(with_metaclass(ChoiceEnumMeta, enum.Enum)):
+@add_metaclass(ChoiceEnumMeta)
+class ChoiceEnum(enum.Enum):
"""
Utility class to handle choices in Django model fields
"""
`
The downside is that there are further errors after this - I am still looking at these.

The docs now state that you have to pip install enum34 if running on Python2.


FancyZones not saving screen layouts after screen setup change

Microsoft PowerToys version
0.45.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
I have a 4 screen setup and my PC/Windows is disconnecting the 2nd Screen software-sided(?) when i turn it off. Probably because it's the only screen connected via DisplayPort, the others are connected via HDMI or DVI. Never bothered to search the reason why this happens via DP.
Sometimes i turn the 2nd screen on again (PC left on while away and after coming back from work for example) and the saved layouts for the individual screens are gone. I just tried to reproduce it by simply turning the 2nd screen off and on again but this time it kept the layouts, so it must be something else triggering it to delete the saved layouts while i'm not at home?
PowerToysReport_2021-09-24-22-22-39.zip
✔ Expected Behavior
FancyZones keeping my layouts saved, no matter if a screen is disconnected for a while
❌ Actual Behavior
Deleting the layouts after a while, while one of the 4 screens is disconnected?
Other Software
No response

I've notice that the FancyZones log files is empty. It seems the logging is not working.
cc: @SeraphimaZ

That's weird, i didn't check the files beforehand but yes, i just used the right click on tray icon menu "Report bug" option to create the zip file

Hi @buson94 , If you navigate into "%LOCALAPPDATA%\Microsoft\PowerToys\FancyZones\Logs\v0.45.0" in Explorer, do the files contain any contents?

Meanwhile updated to 0.47 but even there all the logs are empty.


Improve logging story in backend cache

Related to #154

Codecov Report

Merging #155 into master will decrease coverage by 0.24%.
The diff coverage is 52.17%.

@@            Coverage Diff             @@
##           master     #155      +/-   ##
==========================================
- Coverage   83.07%   82.82%   -0.25%
==========================================
  Files          12       12
  Lines        1211     1223      +12
==========================================
+ Hits         1006     1013       +7
- Misses        171      176       +5
  Partials       34       34

Impacted Files
Coverage Δ

pkg/threescale/authorizer/authorizer.go
73.37% <38.46%> (-1.33%)
:arrow_down:

pkg/threescale/backend/backend.go
79.89% <70.00%> (-0.06%)
:arrow_down:

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 21bf742...41af4d5. Read the comment docs.


weechat: seperate weechat-unwrapped from wrapper

Motivation for this change
If I have a patch I want to apply to weechat, I can't do that with overrideAttrs like I can with almost every other package, because that only applies to the wrapper derivation. For other wrapped packages, one can usually call the wrapper with any version of the derivation, but the weechat derivation didn't expose a wrapper creation function.
Taking inspiration from other packages, particularly Firefox, I extracted the wrapper into its own function, made the default weechat derivation use that, and added weechat-unwrapped.
Now I can add my custom patch like this:
(wrapWeechat
  (weechat-unwrapped.overrideAttrs (oldAttrs: {
    patches = [
      (fetchpatch {
        url = "https://github.com/weechat/weechat/commit/55767f5f116db3cb56cf85f52aa80feff45b6abf.patch?full_index=1";
        sha256 = "1pkcdsby57diqds1y5hhl0fr4i8j0zax32jb0gqd36siki3lza3d";
      })
    ];
  }))
  { configure =
    { availablePlugins, ... }:
    {
      plugins = with availablePlugins; [
        (python.withPackages (packages: with packages; [ potr websocket_client ]))
      ];
    };
  })

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

There is a small backward incompatibility here: previously, it was possible to get an unwrapped weechat like this:
weechat.override { configure = null; }

This didn't seem too important to keep around since it was also possible to get an unwrapped weechat in a much more obvious way:
weechat.unwrapped

I could probably make it so that the first way still worked, if that behavior turns out to really have been important.

cc @lheckemann

Not tested or read this in detail but :+1:  on the concept!

Sorry for the late response! It looks like there is a merge conflict.
One opinion I have on wrappers is that we should avoid them unless absolutely necessary. Packages in all-packages.nix should just be plain packages - no configuration should be required. Your PR probably improves the wrapper situation but I am wondering if there is a better way to do it.
Could we just set WEECHAT_EXTRA_LIBDIR to $HOME/.nix-profile/lib/weechat (and maybe add some more search paths if it's allowed)? That would mean you could just install each plugin like you would through nix-env. That seems easier than just wrapping to me.
I'm not a maintainer of weechat or anything, just interested in improving some of our wrapper situations.

@matthewbauer I'm not sure I like the idea of not using a wrapper. It's a lot more versatile than using .nix-profile, allowing:

testing different plugin sets with nix-shell or nix run without having to mutate your profile
installing it in the system profile without having to extend the patch to support multiple search paths (though that is admittedly a limitation which would be nice to remove)
creating a systemd user service which runs it in tmux without installing it in the profile
using profiles other than ~/.nix-profile

Conceptually, it makes the dependencies between weechat and its plugins explicit, and minimising implicit dependencies is one of the things I like so much about nix.

I suppose it's all okay if there's documentation (which looks well written for weechat!) My main beef with wrappers is that you almost always have to end up digging into the source to figure out how to configure them.
So the original reason for this was to avoid large closures, correct? I assume most distros would just ship with every possible language weechat supports but that could be huge.

So the original reason for this was to avoid large closures, correct?

Yes.

I assume most distros would just ship with every possible language weechat supports but that could be huge.

Most distros would build separate binary plugin packages from a single source package and install them into a single shared namespace like /usr/lib/weechat. But we can't do that in nix :D

I've taken the liberty of merging current master in here. If someone could do a sanity check on this and merge (or if you don't have commit access just let me know) that would be great :)

Oh no, I think I did it wrong :|

Force-pushed my second attempt. Sorry about the chaos!
@kenogo I think you're on the wrong PR?

@lheckemann Excuse me? I don't see any interaction of myself here

Oops, never mind, sorry. The comment seems to have appeared as a result of the github mess with the merge.

Yes, that was the situation before the wrapper. The wrapper allows both using the binary cache and having a smaller closure.

Are the plugins compiled against the weechat source code? If not you might also want to adopt the approach we took in the terraform package.

Not sure if they are actually, but they're part of the weechat source distribution so IMHO it makes sense not to split them into separate derivations.

The wrapper allows both using the binary cache and having a smaller closure.

How? Surely when using the wrapper, the wrapped weechat pulled from the binary cache has Ruby, Lua, etc in its closure even though they aren’t used?

See also #25274 for the original introduction of the wrapper approach.

Oh, my apologies. I didn’t notice the multiple outputs.

Cool! Thanks for the explanations @lheckemann. I'm happy with this again. Anything else needing to be done before merging?

Since weechat.override {configure = …;} still works the same, bar the null value which wasn't documented, I don't see any documentation changes necessary. Thanks for the PR and sorry it took so long to go through :)


allowed elements for slots

How would a developer provide this information?

Is there a way to fully require this at runtime? The listing would be more of a suggestion, right? However, I do like the idea of riffing on the attribute syntax:
* @attr {Boolean} disabled - This jsdoc tag documents an attribute.

Here you apply a type to the attribute, it would be interesting to be able to add a element type and/or tag name in a form like:
* @slot {Button | my-button} submit - the custom button used for the "submit" action interface.

Fits in with the feeling behind this tweet:  https://twitter.com/UXtechnologist/status/1408438674702929922

Question to my colleagues who work on #designsystems: How are you dealing with the fact that web components can accept any other components as children?
Our design tools don't seem to encourage defining components that are containers for a multitude of things. Lost potential?
-https://twitter.com/UXtechnologist

How would a developer provide this information?

@thepassle for our purposes we would use a custom JSDocs Tags with Stencil.
/**
 * @slot tabs - Tab bodies
 * @slotChildren tabs: tab-items
 */

Is there a way to fully require this at runtime? The listing would be more of a suggestion, right? In this way maybe expectedChildren might be more correct? Accepting selector strings, or base classes would be very interesting.

This is a suggestion in the same way that only putting a td in  tr is a suggestion. Obviously you can structure it differently, but it won't do what you want.
The HTML spec is litered with these kinds of things:

dl, dd, and dt
details and summary
table etc.

Here you apply a type to the attribute, it would be interesting to be able to add a element type and/or tag name

@Westbrook this seems a little bit overly complex having both the selector and type information

I think these types of discussions should be had on an issue, and not in a PR. If someone wants to open an issue for this. (the HTML spec has the concept of "content models" btw: https://html.spec.whatwg.org/multipage/dom.html#content-models)

There is an issue: #46

There is an issue: #46

Thanks. I didn't notice that linked.


3.2.0

Closes #
📑 Description

Added support for async and done code refactoring.

Added async
✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information

many commits

But you have not updated the documentation as required?! Unacceptable!

Hello, @SomeHybrid your code on the async support looks great, @1nter-p well there isn't any documentation, the documentation like thing is the Readme's Usage section

If there isn't anything else to add I will pr this in.

If there isn't anything else to add I will pr this in.

Updated readme for async usage

Ok, now I will PR it

this literally doesn't work


Add logo and links to docs

Linked the image and repo name to the docs for more doc site visibility.  Also used the logo as the favicon and sidebar logo.  Here is the new README rendered:

Current coverage is 92.66% (diff: 100%)

No coverage report found for master at 5f37327.

Powered by Codecov. Last update 5f37327...d2ffb74


Does this gem support images?

I hate how there is no proper tutorial on how to use this with Rails for image uploading. So bummed.

You can use https://trix-editor.org/js/attachments.js as an example to follow.

@properstack Thanks for opening up this issue, but I think that's more a question for the Trix team. This gem is meant to be a Rails wrapper around the assets.


Add automatically generated document icon

Hey @wojtekmach can you please test this? It works sometimes on my Mac, and sometimes not … did not yet find a pattern how to get it working like 100% of the time.
For more context, please see #924

Thank you for the PR. I have trouble testing this locally, I wasn't able to find a reliable way of purging icon cache yet.

This is being tracked in an issue, closing for now.


Support setting arbitrary contexts in the scope and event

This is a followup of #839, with all the work done there plus some changes of mine. I squashed all commits, rebased and fixed all the changes I requested on the previous PR. I want to thanks @williamdes for the work, and I want to apologize for how I haven't paid enough attention to his work before now leaving a PR standing open for months without a good reason: this is my personal fail and I will try to work on getting more active as a maintainer of this project for the new year

:tada:


[Site] Change color and style of menu items

Current State of the GetNighthawk.dev site
The current implementation of the following sections should be corrected to follow the design specification:

the FAQs section of getnighthawk.dev

The sidebar of Getnighthawk Docs

Desired State of the GetNighthawk.dev site
The design should be similar to this for the FAQs section:

Similar design should also be implemented for the Docs side-navbar.
For convenience, you can check out the Figma design.

Contributor Resources

See the Contributing to getnighthawk.dev Website
See the Project Site section of GetNighthawk project doc

Can i work on this @JubayerJoy

Figma file not visible

Need permission for the Figma files

@JubayerJoy Are the colors are correct?

Hi @NikhilSharma03, it looks correct to me but will be sure after you open a PR.
Thank you 🎈

Thank you @JubayerJoy for assigning the issue. Yes, Definetly 👍

@soham4abc, Figma has changed its policy for teams for which the permission is limited.
If you need the design files, kindly reach out on slack.
Thank you!

@soham4abc, Figma has changed its policy for teams for which the permission is limited.
If you need the design files, kindly reach out on slack.
Thank you!

I am on slack!! I requested for permission in the general chat!


Scanner revert the scanner change by apache#35604

Proposed changes
Fix:http://<IP_ADDRESS>:8111/buildConfiguration/Doris_DorisPerformance_Performance/439819?buildTab=log&linesState=37791&logView=flowAware&focusLine=39230

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run performance


Added the store

redux-store:

To manage the state components centrally
Added the state to the LocalMonitoring Component.

@athiruma have you tested the pr somewhere (minikube/openshift)? I can see some errors while running on minikube

lgtm!

@athiruma Please make sure that all your commits are GPG signed. Also it would be good to not use force push as that maintains change history and is easier to review incremental changes


Normalize line endings for release signing

Motivation
Cross-platform support

Codecov Report

Merging #2364 into master will decrease coverage by 2.2%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2364      +/-   ##
==========================================
- Coverage   79.54%   77.33%   -2.21%
==========================================
  Files         204       20     -184
  Lines       13775      600   -13175
  Branches     1460       65    -1395
==========================================
- Hits        10957      464   -10493
+ Misses       2428      110    -2318
+ Partials      390       26     -364


Possibly CRD regression 1.7 to master

@costinm reports that the patch.value is pruned in Envoyfilter after upgrading from 1.7 to master
cc @jasonwzm

@costinm How did you do the upgrade? Using istioctl upgrade?

Possibly related to https://github.com/istio/istio/issues/28020

@costinm Can you provide more details on the upgrade. I tried to reproduce by in-place upgrade from 1.7.3 to master and I could not reproduce missing patch value. Also I don't believe k8s prunes fields after stored.

closing this as I could not reproduce. Feel free to reopen if needed.


When auth fails we clear the token from local storage

This prevents some looping if we have a bad token -> snowflake login -> back here

Nice! :octocat:
Would this have prevent that epic redirect loop we ran into yesterday?

yes that is exactly what led me to this.
I think the reason we are hitting it is because we made the root application route use this authenticated mixin so when oauthd goes back to us in the /auth route it hits this before it updates the token itself.  I think this line works but we may also need to figure out how to ensure the "auth" route does not inherit from application


[Feature Request] Allow setting our own Cache Manager

I'd love to be able to set up my own Cache Manager for cases I need to customize it.
As the Cache Manager has already a signature settled, it would be good if we could pass our own implementation during Wllama initialization.
So we'd could add a cacheManager in WllamaConfig:
https://github.com/ngxson/wllama/blob/667dd9192540ae15a806ef8b17d3fc1728018e4d/src/wllama.ts#L14
cacheManager: {
    /**
     * Convert a given URL into file name in cache.
     *
     * Format of the file name: `${hashSHA1(fullURL)}_${fileName}`
     */
    getNameFromURL(url: string): Promise<string>;
    /**
     * Write a new file to cache. This will overwrite existing file.
     *
     * @param name The file name returned by `getNameFromURL()` or `list()`
     */
    write(name: string, stream: ReadableStream, metadata: CacheEntryMetadata): Promise<void>;
    /**
     * Open a file in cache for reading
     *
     * @param name The file name returned by `getNameFromURL()` or `list()`
     * @returns ReadableStream, or null if file does not exist
     */
    open(name: string): Promise<ReadableStream | null>;
    /**
     * Get the size of a file in stored cache
     *
     * NOTE: in case the download is stopped mid-way (i.e. user close browser tab), the file maybe corrupted, size maybe different from `metadata.originalSize`
     *
     * @param name The file name returned by `getNameFromURL()` or `list()`
     * @returns number of bytes, or -1 if file does not exist
     */
    getSize(name: string): Promise<number>;
    /**
     * Get metadata of a cached file
     */
    getMetadata(name: string): Promise<CacheEntryMetadata | null>;
    /**
     * List all files currently in cache
     */
    list(): Promise<CacheEntry[]>;
    /**
     * Clear all files currently in cache
     */
    clear(): Promise<void>;
    /**
     * Delete a single file in cache
     *
     * @param nameOrURL Can be either an URL or a name returned by `getNameFromURL()` or `list()`
     */
    delete(nameOrURL: string): Promise<void>;
    /**
     * Delete multiple files in cache.
     *
     * @param predicate A predicate like `array.filter(item => boolean)`
     */
    deleteMany(predicate: (e: CacheEntry) => boolean): Promise<void>;
    /**
     * Internally used
     */
    _writeMetadata(name: string, metadata: CacheEntryMetadata): Promise<void>;
};

I see we can overwrite the cacheManager from Wllama instance:
https://github.com/ngxson/wllama/blob/667dd9192540ae15a806ef8b17d3fc1728018e4d/src/wllama.ts#L156-L157
But as the cacheManager is not being passed down to MultiDownloads->GGUFRemoteBlob, it ends up that the overwritten cacheManager is never used.

Reasoning:
iPads now access the websites by default in Desktop Mode. This means the user agent doesn't show them anymore as mobile devices but as Mac machines instead. This has broken this check: (So models are not able to be loaded from the cache on iPads anymore)
https://github.com/ngxson/wllama/blob/667dd9192540ae15a806ef8b17d3fc1728018e4d/src/cache-manager.ts#L347-L355
If we could overwrite the cacheManager, a hotfix could be done without having to wait for a new release of Wllama.

Yes thanks for the suggestion. I also thought about separating completely 3 interfaces:

Wllama ==> the main inference runtime
ModelManager ==> manage cache
ModelDownloader ==> downloading model from internet

This may introduce some breaking changes so I may need to release as a major (2.0) version


Allow to use variables as column names

Hello,
I have a table with number of columns of similar meaning (for example, count of errors by types, where each column represent certain error type).
Example:
┌───────date─┬────────────datetime─┬────metric1─┬────metric2─┬────metric3─┐
│ 2018-03-06 │ 2018-03-06 10:20:11 │<PHONE_NUMBER> │<PHONE_NUMBER> │<PHONE_NUMBER> │
│ 2018-03-06 │ 2018-03-06 10:20:12 │  273977558 │  273977558 │  273977558 │
│ 2018-03-06 │ 2018-03-06 10:20:13 │<PHONE_NUMBER> │<PHONE_NUMBER> │<PHONE_NUMBER> │
└────────────┴─────────────────────┴────────────┴────────────┴────────────┘

I want to place graphs based on data from all of these columns on single dashboard without hard-coding column names. As a result, if any column is added or removed, dashboard is rebuild automatically.
By default, datasource (or grafana itself, I don't remember exactly whose behavior it is) adds quotes to variable value if 'Multi-value' or 'Include All option' is used, so you cannot do something like SELECT $metric FROM table_name since SELECT 'metric1' FROM table_name will actually be executed.
For datasource v0.1 I hackishly implemented my own function $getColumnNameFromString, which simply removed all quotes from given variable, and used it like this:
select $timeSeries, $getColumnNameFromString($metric) from stats_table where $timeFilter for graphs repeated by $metric.
I would greatly appreciate if you could provide similar functionality (hopefully, in more convenient way than I have described).

Hi @Akint
Indeed, plugin add quotes to variables with multi-value or include-all options.
Are you trying to build a panel with multiple columns or dashboard?
If second, you might try to use repeated panels/rows (http://docs.grafana.org/reference/templating/#repeating-panels)

I tried to use repeated panels and rows and it did't work out of the box since it tried to select string instead of column:
SELECT     (intDiv(toUInt32(datetime), 1) * 1) * 1000 as t,     'metric1' FROM default.stats WHERE date BETWEEN toDate(1520396817) AND toDate(1520396831) AND datetime BETWEEN toDateTime(1520396817) AND toDateTime(1520396831) GROUP BY t ORDER BY t

That's why I had to write the function I mentioned before.
Or have I got your suggestiong wrong?

No, you are totally right. It seems like adding a new macros like unescape is the best solution, because we can't change variables create form(add some new checkbox etc). If you have time and desire, I'll be glad to accept a pr. Otherwise you will have to wait till the end of week for this macros

@hagen1778, sorry, I am not skilled enough to implement it right, so I'll wait.

Hi @Akint
Plz check branch https://github.com/Vertamedia/clickhouse-grafana/tree/unescape for new macros unescape. Documentation and richeditor autocompletion updated with info about new macros.
How to test it:

download source code from branch
put it into Grafana's plugin directory
restart Grafana
test it

Do not forget to remove application cache for Grafana in your browser or simply use browser's incognito mode

@hagen1778, it works like a charm, thank you! I have even managed to create a graph contained of all metrics:
SELECT
    t,
    arrayMap(lambda((x, y), (x, y)), [$metric], metric)
FROM
(
    SELECT
        $timeSeries as t,
        sumForEach([$unescape($metric)]) as metric
    FROM $table
    WHERE $timeFilter
    GROUP BY t
)
ORDER BY t

By the way, the plugin breaks -> operator (lambda function): from query x, y -> (x,y) it generates query x, y - >(x, y). So I had to use uglier version lambda((x, y), (x, y)). Should I submit another issue here? Or should it go to tabix issue tracker instead?

x, y - >(x, y)

yes, submit the issue plz

I haven't found docs for unescape

I meant the autocompletion help - when you typing the name of the func/macros richeditor should give some additional info about it.

Hi @Akint
Lambda issue was solved at https://github.com/Vertamedia/clickhouse-grafana/releases/tag/1.4.1


Create Development Setup/Build Documentation

Add info on how to build Umbriel using Node/Grunt (not that it's complicated or unusual) to README.md or wherever appropriate.

Added build process in commit 3f8066aadd3a7fb66f9b080596eb5b15840e047c.


Fix deleting template from UI

It failed because zoneid was zero. Added a check for it and only send it when it makes sense.
With zoneid:

Without:

Both result in:

Hey @remibergsma  just noticed that you had a PR open for this. I fixed it as well with #1505 so we might be able to close this one


Feature_request: color customization

Would be nice to be able to assign text/icon color for specific tiles/entities. For example my Sonos media_players use albumpictures as background and when its a light background the controls are hard to see.

You can adjust any  colours in the css file as desired however for background of media player I would suggest to simply make the opacity 50% or so:
bgSuffix<EMAIL_ADDRESS>bgOpacity: 0.5

Dont seem to get it working.
{
position: [7, 1],
width: 2,
title: 'Sonos One - Köket',
id: 'media_player.kitchen',
type: TYPES.MEDIA_PLAYER,
showSource: true,
state<EMAIL_ADDRESS>bgSuffix<EMAIL_ADDRESS>bgOpacity: 0.5
},

It should work. You might want to clear browser's cache and close the window.


Add stub and opaque guide sections

Closes #63.
Closes #64.

Coverage remained the same at 100.0% when pulling 761c079c64e8a04b940e087b9fa0fc56917c7634 on 63-64-guide-sections into 393c9cd386ac5c9500d600c109d55799d1e0e5f2 on master.


removed AVX2 from VS config and reset PlatformToolset values back

For the reason of removing AVX2 refer to https://github.com/microsoft/LightGBM/pull/2699#issuecomment-581091428.
Reset PlatformToolset values back to allow compilation with old versions of MSBuild.
Current behavior after #2699 at Appveyor (image: Visual Studio 2015):
INFO:LightGBM:Starting to compile the library.
INFO:LightGBM:Starting to compile with MSBuild from existing solution file.
WARNING:LightGBM:Compilation with MSBuild from existing solution file failed.
INFO:LightGBM:Starting to compile with Visual Studio 16 2019.
INFO:LightGBM:Starting to compile with Visual Studio 15 2017.
INFO:LightGBM:Starting to compile with Visual Studio 14 2015.
running build
running build_py
creating build

Newer versions should automatically update that values, or we have guide how to change them manually: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#with-gui.

sorry, I forgot to update it in my PR