Remove unnecessary zero multiplications

This PR removes some segments of code that were multiplying a zero value, all of them related to scaling.

I agree with this, 0 means that the EDSCALE shouldn't matter.

On the other hand having these multiplications there, makes it clear that these value should be scaled if someone ever wants to to increase these.

@RedworkDE Considering that they are surrounded by scaled values, I think that's obvious even without the multiplications. Besides, there are already non-multiplied zero values across the codebase, so having these being the exception is odd.

Yes, it is probably obvious if something should be scaled when you have some experience with the ui code.
I was mostly just pointing out, that while this code does not do anything, there can can still be reasons for its existence.
But yes, if there are similar fragments with the scale missing, they should be unified.

I don't have a strong opinion. At least in editor classes those are definitely there on purpose so that the code is consistent and future changes are safe. And in editor classes it is mostly used consistently, but I do see that the default theme does not use the scale in these cases consistently.
So eh. I don't think this improves things, but I'm also not going to die on this hill.

No strong opinion either, but I think it's easier to keep consistency without the multiplication than with it, so this might be the way to go.

Thanks!

Cherry-picked for 4.0.3. This makes other cherry-picks cleaner and doesn't have any effect on anything.


E-Module Mapping Script

The e-module part got separated from the rest of the CPTO. We have a working mapping script for the simple ontology and metadata to be mapped. So on this branch we will write a mapping script for the e-module. Things to do:

[x] Edit the metadata exctraction script: Hardcode the specimen age to 28 days and add to yaml-file.
[x] Edit the metadata exctraction script:  Extract the experiment duration ("Zeit") and add to yaml-file.
[x] Edit the metadata exctraction script: Make the metadata-dictionary keys match the placeholders.
[x] Map the metadata in the yaml-file to the ontology by replacing placeholders.
[ ] Write a test.

Test

@ThiloMuth  if you accept the invitation to the repo, you can review the merge requests, e.g. this one

No nothing predefined by the Ontology, I will change it.

@mattheokru Is this way of spelling ("Modul") within the e-module ontology on purpose/ predefined by the ontology or something like that? It looks german to me.
Yes this is just individual and you are right this is german way of doing it I would propose to change it to YoungsModulusTestSpecimen_ or EModulusTestSpeciemen

Currently, we store the files locally (as you have mentioned with that path), so I would add for now exactly this path. Ultimately, this would have to go to a file server/mongdb/openBIS with a URI, but please talk to @AidaZt  or @ThiloMuth on how we should then reference these files in our KG.

Andre suggested that we can reference the the link/URL to the file.
Example of an RDF triple:
http://bam.de/material#experiment01 http://bam.de/properties#rawdata http://bam.de/dataserver/rawdata.csv .

But that links is not existing, or how do we intend to store data such that this link is actually a real reference?

But that links is not existing, or how do we intend to store data such that this link is actually a real reference?

Then, we need, at least to talk about a file server, point straight to github raw files, dereferencing URIs providing RDF content, etc.
I suggest we have a short meeting to have an agreement about the best way for us to deal with the raw files.
What about Monday after 3pm?
Best regards,
Andre Valdestilhas

About the Transducer Column: According to the drawio we're expecting an integer: "$$TransducerColumn_Value$$"^^xsd:integer The value gets defined within the metadata extraction script of emodule. We talked about saving a list to that key: [1,2,3], giving this result of the mapped onto: con:Transducer_ a con:MeasuringGauge, owl:NamedIndividual ; ns3:hasPmdUnit ns3:Q56402798 ; mid:has_column_index "[1, 2, 3]"^^xsd:integer . We have a list of integers instead of an integer. Is that still valid?

The data type expected is an xsd:integer, therefore it's supposed to be an integer number. If you still not sure about the data type, then store as an xsd:string.

I thinks so, because we either have string or integer as a type and we can't refer it as xsd:list or something. I think for now leave it as xsd:string.

if you still need to store a kind of list of values in RDF, there is an example here:
https://stackoverflow.com/questions/29669555/dynamic-array-in-rdf-xml

I thinks so, because we either have string or integer as a type and we can't refer it as xsd:list or something? I think for now leave it as xsd:string.

Ok this is also fine for me

That should be done during the extraction of the metadata. In the final setup, we will have the data all stored in the openBIS system (metadata), and then extracting this information together with the link to the raw data file should happen. Afterwards, the mapping script will just take that information in the metadata.json and replace that value in the ttl file obtained from the diagrams.net ttl template.


Feature improvement/timeout warning

Trello card
Context
This PR adds the session timeout. The reason I put into the draft is that is not being approved or signed by anyone in the team.

🚀


Co-op Telewave

Slightly modified implementation of the co-op rules described in https://www.ultraboardgames.com/wavelength/game-rules.php


Some questions about Places2 dataset.

Hello, I wonder when training the Places2 dataset, whether part of the data set is used  or the whole data set? And how long it takes for the training? Thanks.

In the very begining, I just select several scenes from Places2, besides, you can refer to this issue https://github.com/Zhaoyi-Yan/Shift-Net/issues/12 .   For now, I have no much resource to train models on Places2 or ImageNet,  I have to work for new tasks... Wish I have gpus for training models on these datasets someday.

In the very begining, I just select several scenes from Places2, besides, you can refer to this issue Zhaoyi-Yan/Shift-Net#12 . For now, I have no much resource to train models on Places2 or ImageNet, I have to work for new tasks... Wish I have gpus for training models on these datasets someday.

Thx.


Close #120 - Use more derived type-classes and hedgehog-extra-refined4s

Close #120 - Use more derived type-classes and hedgehog-extra-refined4s

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (49ecbc9) 84.21% compared to head (b02132f) 84.21%.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #121   +/-   ##
=======================================
  Coverage   84.21%   84.21%
=======================================
  Files          18       18
  Lines         361      361
  Branches        4        4
=======================================
  Hits          304      304
  Misses         57       57

Files
Coverage Δ

...ed/src/main/scala-2/openai4s/types/chat/Chat.scala
100.00% <100.00%> (ø)

...src/main/scala-2/openai4s/types/chat/Message.scala
100.00% <100.00%> (ø)

...rc/main/scala-2/openai4s/types/chat/Response.scala
100.00% <100.00%> (ø)

...hared/src/main/scala-2/openai4s/types/common.scala
100.00% <100.00%> (ø)

.../scala-2/openai4s/types/completions/Response.scala
100.00% <100.00%> (ø)

...main/scala-2/openai4s/types/completions/Text.scala
100.00% <100.00%> (ø)


cannot import name 'C_Approx'

Description
Earlier a similar issue was raised with a clarification that it would be solved when pyramid has a pip installation. After installing I am facing the same problems.
Steps/Code to Reproduce
from pyramid.arima install auto_arima
File "C:\Users\somasishg\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyramid\arima\approx.py", line 18, in
from pyramid.arima._arima import C_Approx
ImportError: cannot import name 'C_Approx'
I have tried from pyramid.arima import C_Approx but issue remains.

C_approx is compiled C code by the time you install the package. You should
not be able to import that. To test that it built properly, you can run:
from pyramid.arima import auto_arima
That module uses the compiled C but you will not be able to import it
directly.
On Dec 19, 2017 3:02 AM, "SomasishGhosh"<EMAIL_ADDRESS>wrote:

Description
Earlier a similar issue was raised with a clarification that it would be
solved when pyramid has a pip installation. After installing I am facing
the same problems.
Steps/Code to Reproduce
from pyramid.arima install auto_arima
File "C:\Users\somasishg\AppData\Local\Continuum\Anaconda3\lib
site-packages\pyramid\arima\approx.py", line 18, in
from pyramid.arima._arima import C_Approx
ImportError: cannot import name 'C_Approx'
I have tried from pyramid.arima import C_Approx but issue remains.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tgsmith61591/pyramid/issues/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF10ov04U9Pvr9vF-fTihCsFEefSi7Xaks5tB3uxgaJpZM4RGosq
.

I tried running:
from pyramid.arima import auto_arima
Unfortunately, it is giving the error :
ImportError: cannot import name 'C_Approx'

Please include pyramid version as well as pip output. I recommend trying a
fresh install from a new conda environment or virtualenv so you are certain
pyramid is not already in your path somewhere.
On Dec 19, 2017 5:54 AM, "SomasishGhosh"<EMAIL_ADDRESS>wrote:
I tried running:
from pyramid.arima import auto_arima
Unfortunately, it is giving the error :
ImportError: cannot import name 'C_Approx'
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tgsmith61591/pyramid/issues/21#issuecomment-352728469,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF10ok8SgGG_zQRQlMF6a9KEMokgpO7Fks5tB6PygaJpZM4RGosq
.

(also platform info—the issues template includes a snippet you should run)
On Dec 19, 2017 5:58 AM<EMAIL_ADDRESS>wrote:

Please include pyramid version as well as pip output. I recommend trying a
fresh install from a new conda environment or virtualenv so you are certain
pyramid is not already in your path somewhere.
On Dec 19, 2017 5:54 AM, "SomasishGhosh"<EMAIL_ADDRESS>wrote:
I tried running:
from pyramid.arima import auto_arima
Unfortunately, it is giving the error :
ImportError: cannot import name 'C_Approx'
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tgsmith61591/pyramid/issues/21#issuecomment-352728469,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF10ok8SgGG_zQRQlMF6a9KEMokgpO7Fks5tB6PygaJpZM4RGosq
.

There was a problem with numpy version. Upgrading numpy solved the issue.


A section for live events and webinars

Hey Vivek !
I would like to contribute to your project by adding the section for live events and webinars.
Solution : Adding a section where user can find the live events and webinars.
Tech to be used:
-HTML : For structuring and adding content
-CSS : For designing and responsiveness
-JavaScript : For hiding and displaying the content when user click on the question
Please assign me this issue under the labels of Gssoc-extd, hacktoberfest, hacktoberfest-accepted and relevant level.

Thank you for assigning me the issue !
I will submit the work very soon !

@kaushalendra0812 you can continue, some random guy don't know has created PR, he didn't look proper,
You can continue with the work.

you can assign this task to me...

3 weeks are pass away
@PREM-A261 Can you please assign me this one

@kaushalendra0812 this project is going to be inactive from october 25th including me also.
And the page was also updated, please check this.

Hi @kaushalendra0812 ,
It’s been over 3 weeks without any updates. I will be closing this issue by the end of the day. If you have any progress to share, please do so before then.
if this task is delaying from your side, then you can close this issue also. No problem.
i am asking this because i am going to be active for today only.
Thank you!

as there is no response from your side, i am closing this issue.
this project is gonna be inactive from 25th october including me also.


fix(youtube): profile card

🔧 What does this fix? 🔧
Profile cards are not themed.

before
after

🗒 Checklist 🗒

[x] I have read and followed Catppuccin's contributing guidelines.
[x] I have updated the version appropriately in the ==UserStyle== header of the catppuccin.user.css file.

@isabelroses
thank you!


Prevent allow/reject reviews on merged/closed PRs

Resolves #30675.

Manually tested both approve and reject reviews on open, merged, and closed PRs and they appear to produce valid results.
Currently making this a draft PR so that I can:

Find good places to write tests
Catch the error object I created in the API (if we have associated API)

Already looking quite good :)

Already looking quite good :)

Thanks for the review @silverwind! Just having trouble setting up a proper test for these changes since I need to use a git.Repository object in SubmitReview()  where the code expects an actual git repository to exist. I'll look to see if I can write an integration test for both closed and merged PRs 👍

But they should still be allowed to add comment without approve/reject. So I think the template should not be changed too much. Just disable that two buttons.

But they should still be allowed to add comment without approve/reject. So I think the template should not be changed too much. Just disable that two buttons.

Thanks for the review! The user should be able to create a review comment with my changes. Here is an example with a closed PR:

This appears to be in-line with GitHub (though you only see a "submit review" button rather than a "comment" button). If you wish, I can go ahead and change it to just conditionally add the disabled attribute to the buttons.

But they should still be allowed to add comment without approve/reject. So I think the template should not be changed too much. Just disable that two buttons.

Thanks for the review! The user should be able to create a review comment with my changes. Here is an example with a closed PR:
This appears to be in-line with GitHub (though you only see a "Submit Review" button rather than a "Comment" button). If you wish, I can go ahead and change it to just conditionally add the disabled attribute to the buttons.

I think the current design is OK for me.

Recent change adds integration tests and has the web handler just return the HTTP status rather than changing the response body.
Please take a careful eye on the test code as I could be misusing the testing API or there could be an opportunity to improve the test performance that I haven't seen.

Hmm, going to take a look at the second test again as I'm not sure if its valid

Yikes not sure why I decided to move the IsClosed check to the top as this has users unable to comment on the close/merged PR. Will make the necessary change now

Just to make sure, I manually tested both the API and web route with closed/merged PRs and everything appears fine from what I can see.


Install pre-built cargo-about

Use the GitHub releases API to resolve the most recent cargo-about
release and install the pre-built binary. A Rust toolchain is no longer
required on the build host.

This change will shave 6 minutes off of CI.


Buildkite CLI can not download Buildkite artifact

Is your feature request related to a problem? Please describe.
The Buildkite CLI is failing to download artifacts. Official docs describe the command:
Downloading a specific file into a specific directory (note the trailing slash):
buildkite-agent artifact download build.zip tmp/

Describe the solution you'd like
According to the docs to download the artifact myapp into go/myapp/myapp I would expect the following command to work (the destination is the directory with a trailing slash go/myapp/):
$ mkdir go/myapp
$ buildkite-agent artifact download myapp go/myapp/
2023-06-12 09:00:52 INFO   Searching for artifacts: "myapp"
2023-06-12 09:00:52 INFO   Found 1 artifacts. Starting to download to: /workdir/go/myapp
2023-06-12 09:00:52 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 1/5 Retrying in 5s
2023-06-12 09:00:57 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 2/5 Retrying in 5s
2023-06-12 09:01:02 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 3/5 Retrying in 5s
2023-06-12 09:01:08 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 4/5 Retrying in 5s
2023-06-12 09:01:13 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 5/5
2023-06-12 09:01:13 ERROR  Failed to download artifact: Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)
2023-06-12 09:01:13 FATAL  Failed to download artifacts: There were errors with downloading some of the artifacts

It is attempting to download the artifact to go/myapp instead of go/myapp/myapp. Of course the destination is a directory, this is why I explicitly indicated this with the trailing slash.
Describe alternatives you've considered
I would expect that by not specifying the trailing slash, I can indicate the destination file go/myapp/myapp explicitly:
buildkite-agent artifact download myapp go/myapp/myapp
2023-06-12 08:51:29 FATAL  Failed to download artifacts: Could not find information about destination: /workdir/go/myapp/myapp stat /workdir/go/myapp/myapp: no such file or directory

Of course the destination file does not exist yet, because I have not downloaded it yet.
Additional context
/

Official docs mention that recreating all files matching the uploaded file paths can be accomplished with:
Downloading all the files uploaded to log (including all subdirectories) into a local log directory (note that local directories will be created to match the uploaded file paths):
buildkite-agent artifact download "log/*" .

Unfortunately, moving to the destination directory and downloading to . also does not work:
+ cd go/myapp
+ buildkite-agent artifact download myapp .
2023-06-12 09:59:40 INFO   Searching for artifacts: "myapp"
2023-06-12 09:59:41 INFO   Found 1 artifacts. Starting to download to: /workdir/go/myapp
2023-06-12 09:59:41 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 1/5 Retrying in 5s
2023-06-12 09:59:46 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 2/5 Retrying in 5s
2023-06-12 09:59:51 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 3/5 Retrying in 5s
2023-06-12 09:59:56 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 4/5 Retrying in 5s
2023-06-12 10:00:01 WARN   Error trying to download https://mybucket/myapp (Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)) Attempt 5/5
2023-06-12 10:00:01 ERROR  Failed to download artifact: Failed to create file /workdir/go/myapp (*fs.PathError: open /workdir/go/myapp: is a directory)
2023-06-12 10:00:01 FATAL  Failed to download artifacts: There were errors with downloading some of the artifacts

Hi @gw0. Sorry that you are experiencing this. We are intending to overhaul how artifacts upload and download works. But in the meantime, can you contact<EMAIL_ADDRESS>and provide a build where this is happening so that we can debug it more thoroughly.

It turned out this are the consequences of some ill-designed logic in the Buildkite CLI. Docs describe it as: "If the last path component of  matches the first path component of your , the last component of  is dropped from the final path."

Gee, that's quite unexpected behaviour, but someone somewhere may be relying on it. It's quirks like this that have motivated our intention to replace the artifact upload/download subcommands with something that does not carry this baggage. However, that's going to take some time to develop.
If you're still blocked, let us know, and we can see what we can do in the interim.


cmd/gorename: renaming clobbers files that import "C"

If a renaming edits a file that imports "C", that file gets completely overwritten by the result of cgo preprocessing (and renaming) applied to that file, potentially destroying source code:
$ cat test.go
package test

/* #include <stdio.h> */
import "C"

func f() { C.puts(nil) }
$ cat test2.go
package test

func _() { f() }
$ gorename -from test::f -to g
Renamed 2 occurrences in 2 files in 1 package.
$ cat test.go
// Created by cgo - DO NOT EDIT

//line /usr/local/google/home/adonovan/go/src/test/test.go:1
package test

//line /usr/local/google/home/adonovan/go/src/test/test.go:7

//line /usr/local/google/home/adonovan/go/src/test/test.go:6
func g() { _Cfunc_puts(nil) }
$ cat test2.go
package test

func _() { g() }

FYI, my test case was to rename p to q here:
package main

/*
#include <stdio.h>
void put(int* x) {
  printf("%p\n", x);
}
*/
import "C"

var p *C.int

func main() {
	C.put(p)
}


Themes don't work for me

Somehow I get no colors.
I am using rxvt-unicode on Debian and the solarized color scheme is working fine (so it shouldn't be because I have no support for the colors).

I tried all themes with let g:airline_theme='...'
None worked :(

I was running into the same issue using tmux. I was able to resolve it by setting set -g default-terminal 'screen-256color' in my tmux config.

@bling Thanks. So what is the different between termguicolors and t_Co=256?

t_Co=256 tells Vim that your terminal is capable of using 256 colors (whether that is correct or not). termguicolors is a relative recent addition in Vim 8 and tells Vim that your terminal is capable of handling rgb colors (e.g. 16 Million colors, whether that is correct or not)


Update sanctuary-scripts for esm support in tests

Motivation
sanctuary-scripts will soon support .mjs files when running tests, so we don't need custom testing logic anymore.
Changes

sanctuary-scripts updated to the appropriate draft version
Custom test script now dispatches back to sanctuary-test
Added opening-delimiter to .config

Pull Request Test Coverage Report for Build 183

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 100.0%

Totals

Change from base Build 173:
0.0%

Covered Lines:
87

Relevant Lines:
87

💛  - Coveralls

Pull Request Test Coverage Report for Build 183

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 100.0%

Totals

Change from base Build 173:
0.0%

Covered Lines:
87

Relevant Lines:
87

💛  - Coveralls

Pull Request Test Coverage Report for Build 183

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 100.0%

Totals

Change from base Build 173:
0.0%

Covered Lines:
87

Relevant Lines:
87

💛  - Coveralls

Pull Request Test Coverage Report for Build 183

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 100.0%

Totals

Change from base Build 173:
0.0%

Covered Lines:
87

Relevant Lines:
87

💛  - Coveralls


Feature: Generators for React/Redux files

Are there any plans to implement generators for React components, stores, routes, actions, and Redux reducers, etc?
> rails g react_on_rails:react_component BlogPost foo bar
> rails g react_on_rails:react_action BlogPost updateContent updateTitle

Similar to how rails generators work for controllers, models, mails, etc.
> rails g model blog_post title:string content:text
> rails g controller blog_posts new create edit update destroy

We certainly could @aaronvb. Give it a try if you like!
However, even more important would be to move over the latest in the https://github.com/shakacode/react-webpack-rails-tutorial/ over to the generators. Specifically, the switch to CSS modules.

@aaronvb, @jbhatab You guys are thinking of the same thing. Pair up!

@jbhatab I'm down to pair up or talk about this. Lmk when there's good time to talk about this over Slack.

@jbhatab posted this to a merged PR
@justin808 @samnang @robwise @alexfedoseev  As you would normally expect from me, I have to disagree with the 'rails way' here :P. I think for rails it may make sense, but for gems it doesn't.
Popular gems
https://github.com/plataformatec/simple_form. Simple form doesn't automatically include bootstrap and then allow you not include it.
https://github.com/plataformatec/devise Devise doesn't automatically setup users for you when you install it and then allow you remove it after.
https://github.com/thoughtbot/paperclip#installation Paperclip simply shows you instructions how to set things up and has their installer as a second class citizen.
http://activeadmin.info/docs/documentation.html Active admin follows the devise pattern of having two separate installers.
The most popular gems I know have generic installers that are simple and then sometimes have options that are second class citizens. And sometimes they even use the readme as the core of things.
Similar gems
Now more relevant to what our gem is, here are some good counterparts.
EMBER
https://github.com/emberjs/ember-rails. This is a very similar to gem to what this gem is. They install ember within your rails app. They have one generic installer and 4 options.
--ember-path or -d   # custom ember path
--skip-git or -g     # skip git keeps
--javascript-engine  # engine for javascript (js, coffee or em)
--app-name or -n     # custom ember app name
These are very non intrusive options imo compared to what we are doing. Like for us the equivilents would be choosing the custom folder name, skipping git, coffee or es6, and a custom app name. I like those options and they actually stack very well.
BACKBONE
https://github.com/codebrew/backbone-rails This one take an interesting approach I really like. They actually have one default generator and then they have secondary generators for models. Now I could see us having the default generator and then having a secondary generator for redux 'apps' and they can run it repeatedly. That's interesting actually.
https://github.com/meleyal/backbone-on-rails Now this one is closer to us in terms of options but they are secondary to the other backbone one, which I imagine played a part in this. Simialrly to ember js though, there options are much more stackable and are much more 'option' like. They are things like names of the folder, app name, coffee vs es6. I'm fine with as many options as we want for this but hello worlds, bootstrap, and to some extent hot reload doesnt fit in this paradigm. This one does do the same thing as the other backbone gem where they have a repeatable second generator.
POLYMER
https://github.com/alchapone/polymer-rails Polymer follows the same pattern of a simple single generator and then a secondary repeatable generator.
After looking at these I'm actually in support of doing a single simple generator for just the bare minimum files and then having a secondary generator to generate bundles. Then we have a redux or default option for that. Then with that generator we can add more options like flux or alt. I think this approach is the most fitting.
Would love to hear all of your thoughts on this.

@jbhatab I'd like you to take a first crack at how you'd change the generators such that there's 2 generator commands:

react_on_rails:install [options]: All the setup, non-bundle options. We can change the defaults to do the simple setup by default. However, since we're setting up the client dir and I consider JS linting 100% essential, we leave that as the default. So basically, we're just changing the default for boopstrap to be off.
react_on_rails:bundle bundle_name [options]: This would take basically the hello world bundle and make it possible to run this multiple times to create N bundles. I suggest we default to Redux/No-Redux based on the client/package.json, and that the user can override this, and thus specify either --no-redux or --with-redux to force this.

Some needed options for 1) are:

--webpack-dev-server to create the setup for the webpack hot reloading dev server. This should be optional given Rails can hot reload now (see https://github.com/shakacode/react-webpack-rails-tutorial/)
Need to figure out if we still need the simple static assets generator. Basically this says just allow Rails to handle Sass. Since this is somewhat simpler, you could say we should keep this option, and we have the current code for this. On the other hand, the new mechanism allows both CSS modules and hot reloading.

@aaronvb @jbhatab Ball is in your court now. Let me know what you think.

I agree with @jbhatab on making the generators more simple and and adding a secondary generator for the bundles.
I think when we first started the generators, we wanted to show people how react_on_rails worked by generating the hello_world bundles for them. It allowed someone to start a project right away with the way we used react_on_rails. Looking forward I don't think there's anything wrong with that approach for people starting with a blank rails app, but for an existing project, I think it could cause more harm(or confusion) than good.
I'm a fan of how devise handles the generators. They provide a base generator install to setup the initializer, and basic structure to integrate devise in a new or existing app, and another generator to create the devise models.

The generator will install an initializer which describes ALL of Devise's configuration options. It is imperative that you take a look at it. When you are done, you are ready to add Devise to any of your models using the generator

@justin808 I think that's a great approach, let's do it.
@jbhatab We could also add to that with simple generators that can create components, etc. ie: rails generate react_on_rails:component component_name [options] if you wanted to skip installing the bundle. This would follow the devise and backbone way.

@aaronvb and @jbhatab big, big thanks for taking the lead on this!!!! The community will surely value this! I'm going to be focused on pushing the envelope for features to the core. Maybe there's some way we can get some community fundraising to help pay for your time?

@justin808 @aaronvb I still want to address some points before we start coding. I think that just attacking it could lead to some wasted efforts.
Here are my thoughts on what we could do. Would love input and feedback on this.

We should remove the concept of hot reloading completely from the generator. It's a preference.

We should remove bootstrap completely. It's a preference.

We should remove linters completely. It's a preference.

We should remove Heroku completely. It's a preference.

We should remove npm-shrinkwrap. This is a production issue and shouldn't be addressed in the gem.

@jbhatab, I'm not following you on removing what's working. What's the issue with npm-shrinkwrap?

@justin808 I main issues are maintenance, simplicity, and scope in relation to the generators. It has already been complicated to maintain the single installer and adding a component generator compounds that much more. To be able to adapt and keep all of our documentation consistant with ease it would help to remove a lot of these concepts. We can write blogs on a lot of these concepts that show you how to launch react_on_rails with bootstrap, heroku, linters, etc but I think they should be removed from the installer.

Hi @jbhatab. Thanks for the help. Here’s some examples that show the differences between generator runs: https://github.com/shakacode/react_on_rails-generator-results (sorry about some diff noise)
I’m all in favor of the change to make a new bundle generator.
How about if we just do that, as that will be useful to both existing and new installs.
We can discuss removing things later. So long as you can generate the full basic install, and then run the bundle generator, we’re OK.
Maybe create a fresh PR, pushing an empty branch, and we can put down the changes to the README first and agree on that for the new generator.
Please consider creating a simple repo that shows exactly what you want to generate from a given set of options to the bundle generator. That's the best to show this.

Getting webpack and rails to work nicely together is the main goal of people coming to this repo. Watching Blaine try and teach this stuff to people when he screencasts, I'm noticing that it's really difficult for developers to understand what is going on with the amount of stuff we generate that is tangential to just getting started. Also, there's an appreciable maintenance cost to all of it—a cost which is getting increasingly difficult to pay given how busy we are with internal projects.
This is why when I originally made the generators I purposely wrote the code in a way that would make it trivial to remove bootstrap and the linters, with the hopes that one day we would.
One thing missing from Blaine's list is removing the express server code. On an internal project, we tried doing the development on the express server first and then porting it over to the rails server, and it didn't work very well at all. Any changes to the Rails application layout must be duplicated to the express server's jade file to ensure styles will work correctly in both environments. There is a huge amount of code to add in order to get the express server to work, including an entirely fake API that can easily get out of sync with the Rails API (assuming it was ever in sync in the first place).

Thanks for creating this awesome project.

Getting webpack and rails to work nicely together is the main goal of people coming to this repo.

I agree with @jbhatab and @robwise on the removals. I've pulled out everything except bootstrap and hot reloading to make it easier to understand how everything works.
Speaking of screencasts, how about a paid screencast series? It could fund some of the work and would probably bring more contributors because the learning curve would be reduced.
Side note: I wonder if it would be helpful to add a second bundle to the tutorial code mostly to show how bundles could interact and how react-router would be configured.

@jbhatab and I discussed this. He's going to create some sample PRs for his upcoming tutorial in terms of what he'd like the generators to do. This will give us a possible idea of how this should work. Here's a simple example: https://github.com/shakacode/react_on_rails-generator-results/pull/227/files. This repo clearly shows what the different options do: https://github.com/shakacode/react_on_rails-generator-results

@jbhatab also asked me to chime in on this with some of the things I discussed on Slack.
It seems like this discussion is going in the right direction, but I'll try to summarize:

This stack is very complex and hard to learn and debug, even for experienced web devs.  It's a brave new world, turtles all the way down, but such high stacks of turtles! ;)
So, the generators should definitely support a "bare bones" mode with all "bells and whistles" turned off.  This will allow people to easily compare and contrast on their own what exact bits of code are involved in support any given "bell" or "whistle", e.g. hot reloading, or server-side-rendering.
Each "bell" and "whistle" should ideally be independently configurable/enable-able, per the above point.  E.g. I can generate with hot reloading but not server side rendering, or vice versa.  AND they should all work independently.  This in particular is very difficult to ensure in generators, I think, but still very valuable.
Any "official" or "promoted" tutorials or blog posts (e.g. ones mentioned in the repo, on Shakacode blogs, or that you refer newbies to in slack or github issues) should be consistent with what the latest versions of the generators generate.  Again, this is a very high-maintenance bar to achieve, but it's extremely confusing for newbies to webkit (and I'm talking about my personal experience) to stare for hours at the "example app" and the "generated app", where the webpack configs, structure, and naming conventions are very different, and try to grok exactly which one is the more "canonical" or "preferred" approach.

Sorry this is very hand-wavy and idealistic for someone who doesn't intend to pitch in and make it better, but HTH anyway :)
-- Chad

@thewoolleyman Did you find the https://github.com/shakacode/react_on_rails-generator-results repo helpful?

I skimmed them, that looks good and a lot like what I suggested!
However, it's still only certain combinations.  E.g., skip bootstrap but with server side rendering is not shown.  And I know it was discussed above, but it would be great to see examples without the added complexity of hot reloading.
I also notice some "spurious" changes in the comparison branches - e.g. bumping the rails version when it's unrelated to the generator option.
Seems like this should be automate-able?  Just have a script that runs through the generator with everything turned off, then commits that to a clean repo on master branch.  Then, iterate for each individual option enabled, and commit the changes to a branch, then resetting back to master and repeat.  Then, when done, force push all the branches up to an existing or new repo.
And, perhaps one more set of iterations that progressively adds each option in on top of the previous, to catch incompatibilities (at least when options are added in that specific order).
That would also be a great integration test of the generator to ensure it doesn't rot.
And also, a lot of work to implement and maintain.  Again, I'm full of suggestions but not time to implement them.
-- Chad

Chad, we have automated this: https://github.com/shakacode/react-on-rails-generator-results-automation. You've always had the commit bit here. :smile_cat:
And regarding tests, we have an amazing system that actually runs the generators and runs specs the generated apps.
What's frustrating about this is that @robwise and I did a huge amount of work to get this all going, and we're more than happy to guide somebody to help us, but nobody is volunteering the time to get this done. @yorzi had also helped in the past and did an incredible job. And of course @aaronvb did the initial implementation.
So what we have is extremely solid, but it mainly needs the update of the new recommended way of handling CSS using CSS modules, which also includes hot reloading Rails in dev mode.
Any ideas on how we can fund the development of this? I'm happy to donate ShakaCode's time in doing the code reviews, etc. Plus, this is a great way for new people to get involved in open source.

Wow, you already have it automated.  I had assume it wasn't since some of the branches had pending pull requests (?)  We should put a link to that automation repo in the results repo readme (I would but I'm not positive if the generation of the readme itself is automated?)
Yes, the new CSS approach seems to be the crux of a lot of my confusion as well, at least when I was trying to get Jasmine or Karma working.
Also, I think that the "basic" version basis for comparison should be considered to be the absolute minimum "everything turned off", even things that are on by default like bootstrap.  That is the least amount of confusion (I opened an issue for this
As for helping paint the fence, I must continue to be selfishly focused on my current hack project, because that's all I have time for on the side (and not enough of that).  But hopefully later this year I may have it to the point I want, and then I will try to consider helping move react_on_rails forward.  I think it's very solid and has tons of potential.  Once I can focus on it and dig in to finally grok the details (and looking at these generator diffs is a great approach), I can be of more use besides pedantic pontificating.

Sorry for the slow responses. Similar to @thewoolleyman, the time I'm volunteering is also between my side project and day-to-day work. A complete rewrite of the generators might be more than my bandwidth can allow, but I want to see this through and will volunteer as much help as I can.
Also, I have some other features I want to see in react_on_rails (like react-stdio as an alternative to therubyracer/execjs) that I want to prioritize as well.

@aaronvb I agree with you that the react-stdio is much more important.

@jbhatab I think we could accomplish your goals with the following as an interim step:

Make bootstrap an option rather than the default
Make the hot reload server optional since we're not rails hot loading. I prefer not to remove it since it is really good for certain uses cases of prototyping.
Make the hello_world string a parameter so you can call it "todos" or "blogs" etc.

With just those small changes you'll be able to create a simple Rails app, and you can rely on the asset pipeline for assets (css, css images, etc.).
Let me know what you think of that.
I will later change the bootstrap option to bootstrap-loader and use the new Rails hot reloading.

@justin808 I think making things optional is great. The only remaining issue would be multi options support. If we add the component generator and it needs to support server rendering, client rendering, bootstrap, hot reloading, and linting as options then it will have to have a ton of options that will be hard to maintain.
Also, what do you think about moving things like the hot reloader and bootstrap setup to a blog or wiki? That way it doesn't need to be so precise and people can adapt it to their needs.

Having worked intensely on this:

Also, what do you think about moving things like the hot reloader and bootstrap setup to a blog or wiki? That way it doesn't need to be so precise and people can adapt it to their needs.

I don't see any need to throw it away. It needs to be updated to the latest. On the to-do list.

@justin808 I respect and appreciate the previous work but I want to make sure that looking forward we can make the most pragmatic decisions to make the gem the best experience for the people using it.
I don't think we need to throw it away but it is very difficult and time consuming to keep them in. If you keep things like the hot loader and bootstrap in the default generator as options then you need to have those corresponding options on the component generator. It also makes maintaining the giant blogs, tutorials, and examples quite difficult. If we just had modular blogs, we may not even need to update them all as we transition through various versions of the gem. The core of them would still be the same and people would figure out how to apply them to their projects as needed. It also opens up flexibility for us to have other small blogs like integration of foundation 6 or material into react_on_rails without having to change the core of the gem.

I made some example generators for the installer and component generator.
https://github.com/jbhatab/react_on_rails-generators.
They are in the pull requests if anyone wants to look it over.

I agree with @jbhatab. If the default generator includes bootstrap as options, then people will look forward to adding other libraries as options like Materialize, Foundation, etc. I think it's expensive to keep the hot reloader in the default generator. it'd be worth lowering the high maintenance bar with reducing several options.

@seoyoochan Let me know if you want an invite to our slack room. We're looking for more code contributors!

@justin808 sure. invite me with<EMAIL_ADDRESS>

Curious on something with this. Love the idea of generators for react & redux files, but im wondering if the install generator this has now should keep the hello world components. It's great to have examples, but can be a lot to cleanup/rename as well.

@agmcleod we are slowly building towards this. Right now we are stripping the main installer down of options so the component generator will be more manageable. We'll be removing the hello world component in the installer generator when we add this in.

@agmcleod yeah, ideally, the hello world examples should be easily named by the name argument that user passed in when he activated the install generator.

Awesome, love to hear it. Very cool project so far, as i'm digging through it. Hats off to you all :)

@seoyoochan @agmcleod feel free to message me on the shakacode slack. My username is blaine.

Love where this project is heading.
Agree with one of the earlier comments about the difficulty of bringing this in to an existing project, particularly the introduction of all the HelloWorld items. I appreciate why it is done but not great for existing projects IMO.
Also fond of the idea of including generators for creating components & redux actions.
Keep up the good work!!

Hi @patrickgordon, we've got a plan for breaking up the current generator into something more suited to both existing and new projects. Personally, I've been focused on the core functionality. @jbhatab is helping with the generator work.
For anybody interested in helping, we're always super happy to have more join the party!

Cool @justin808
I'd offer to help but I'm a bit of a hobbyist programmer and would probably hinder more than help :smile:

Hi, I was looking for generators to generate bundles. Seems I was a bit late to the game with the idea to make some generators. I totally feel like the approach mentioned by @justin808 in issuecomment-186682640 seems like a good idea, but wouldn't it be good to put the generators in a separate gem?
A lot of people (purists? :smile:) don't like to use generators, but if you want to build - say - a quick MVP, you could optionally install the react_on_rails_generators gem. That way it's not in the way of future development of this awesome! project, and we could slowly develop on it (happy to help where I can) and even have it hook into the default rails scaffold generators if that's what people want.
We could use the Comments example here as a starting point: https://github.com/shakacode/react-webpack-rails-tutorial for --with-redux maybe?
I know I'm repeating stuff that was already mentioned here, but for the sake of clarity I hope.
Either way, great stuff here, thank you. And happy to help develop some basic generator gem to start with.

@foxycoder Interesting to move it to a separate gem... Is this a common practice? I'd be interested in some other examples if you know of any.

@foxycoder @patrickgordon Stay tuned. @jbhatab and I are actively working on this.

@jbhatab is actively working on this. Should we leave this open for now?

To improve the React experience for many people it could be nice to have a
basic CRUD app that people can extend in their apps. That could be great to
familiarize Rails developers with things like Redux, while seamlessly
integrating with the "Rails way" of building RESTful apps.
Again, happy to help with this. :)
On Friday, 6 May 2016, Justin Gordon<EMAIL_ADDRESS>wrote:

@jbhatab https://github.com/jbhatab is actively working on this. Should
we leave this open for now?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/shakacode/react_on_rails/issues/245#issuecomment-217383350

--
--
Wouter de Vos
<EMAIL_ADDRESS>Skype: wrdevos
Phone: +31681910218
Weesperstraat 61
1018 VN Amsterdam
Development Bootcamp https://www.developmentbootcamp.nl/
twitter https://twitter.com/devbootcamps • facebook
https://www.facebook.com/developmentbootcamp • tickets
https://www.developmentbootcamp.nl/tickets
Codaisseur http://www.codaisseur.com
twitter https://twitter.com/codaisseur • facebook
https://www.facebook.com/codaisseur

@jbhatab @foxycoder @patrickgordon Let's get the next stage of the generator going.
Should we close this issue, as it's a lot of scrolling at this point. I'm thinking a new issue where we build off of what's in V6 would be better.

@jbhatab Any update?

@jbhatab @foxycoder @patrickgordon, please see #584 where we're updating the redux example.

@Luke-Popwell

not sure if this is the right way to add to this, but i put this gem together yesterday to be able to add component and container generators to the react_on_rails gem. It's the first gem I've tried to build, but any feedback would be appreciated. https://rubygems.org/gems/redux-gem and heres the github link https://github.com/Luke-Popwell/redux-rails-gem

https://github.com/shakacode/react_on_rails/issues/681
Let's make this a PR!


If port is already taken, choose a new one in func host start

So that customers don't have to manage multiple ports on func host start, suggest automatically choosing a new open port (e.g. 7071+x)

I don't know of any http server that does this, mainly for the reason that you have to know the port it's running on to interact with it. If you know that this will always be on 7071, then you don't need to worry about it. If the CLI changes the default port without explicit action, then you'd need to check which port it picked everytime. There is already a -p\--port arg to change the port.

removing milestone to triage again.

@ahmelsayed Good point, but we do print out the port once we've chosen it. I guess I was thinking of web project setup in VS where it picks a port (I think randomly).
Maybe a better option is to allow customers to specify a port in appsettings.json.

If the port is specified in appsettings but also command line, command line takes precedence.
Use a setting at the top level, peer to "IsEncrypted"

"LocalHttpPort": 7071,


Password should be invisible in logs

Currently, the logs are showing plain-text passwords.
Example:
"pass": {                                                                                ││     "secret": "This1sSuchAS3curePassw0rd"                                                                                ││   }
Passwords and similar keys should be masked in logs.

A fix is pushed into master (see previous commit). Will be included in the next release v0.10.5 (or higher).


remove normalizing of splits

Could not find any benefit of normalization, but splits got resized to bigger than they should.
Fixes #2362
Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
I'm testing this on my machine for now, but I can't see any regressions with this and I have a pretty big split setup with like 3 columns and each having 3-4 rows

Without this fix
Before reopening chatterino

After reopening it once

After reopening it twice

With this fix
Before reopening chatterino

After reopening it once

After reopening it twice

There was a single change in the "width flex" here once after fixing but I can't reproduce it so that might've been me fatfingering the split size
TL;DR: Looks good to me!

I recommend this fix instead: https://github.com/Chatterino/chatterino2/pull/2554

I recommend this fix instead: #2554

I will try it out in the same way I tried this build

What do I need to do to get this merged? This PR seems to have less regressions than fourtf's and personally less code is more IMO.

What do I need to do to get this merged? This PR seems to have less regressions than fourtf's and personally less code is more IMO.

fourtf's PR #2554 has been updated and fixes all issues now, so I'll go ahead and close this issue.
Thanks for bringing the issue to our attention!


ARC-403: Update Installation instructions and add info about GitHub Actions for Jira

@atrigueiro You should really add a better description of your PR in the first comment of what you've changed.  Also, there's conflict with the merge I did yesterday that clarified Github Cloud vs Github Enterprise Server.


Implement sponsors list item click

Idea Description
Handle the click listener on the sponsors list screen.
(Clicking an item will crash the app for now)
Reference images and links
https://github.com/DroidKaigi/conference-app-2023/blob/4f4e26c3f072d7203a9b6b717c95c3ce0145a047/app-android/src/main/java/io/github/droidkaigi/confsched2023/KaigiApp.kt#L121-L128

Sounds valid! Thank you for finding it!

✋🏻

Thanks! Assigned you!

@akari317017  I hope all is going well. Would you have some time to update me on how this issue is progressing?

@takahirom
Sorry, I did not submit a pull request.
I submitted this. https://github.com/DroidKaigi/conference-app-2023/pull/1000


add NOT(key LIKE val OR key1 LIKE val1 ...) opertion,opator ~!

在511添加了 NOT(key LIKE val OR key1 LIKE val1 ...) 操作，并且修改了正则匹配
操作符为：~!

This is really ridiculous pull request that changed all indention and code style for the whole project. No one will accept for this.

It is embarrassing, may lead to the layout of the code, I was using PHPStorm directly generated, but I think you can add about NOT LIKE operation, if disturbed please ignore, sorry

We have supported compound negative LIKE operation already. I don't think need this change.
https://medoo.in/api/where


Best Practices around Redis Cluster Configuration

Hi @mrniko
We are using AWS Elasticache redis server in cluster mode with 3 shards and each shard having 1 primary and 1 replica (6 nodes in total).
As part of redisson client configuration, we have defined the nodesList containing the 3 master servers' endpoint.
Can you please suggest for the best practices around this. Should we include all the nodes as part of configuration(i.e both primary and replica nodes). I am asking this because we faced an issue when the elasticache cluster went to failover and it could not come out of failover as the redisson client was making a lot of connections and was not allowing primary to step down.
We are suspecting that since elasticache cluster went to failover and primary was stepping down (or getting decomissioned), redisson client kept on creating TCP connections with primary only and that caused a further delay in completing the failover.
Please suggest if we should go ahead to define all the nodes as part of redisson client configuration

Even a single cluster node is enough to specify in configuration.
Can you share logs with trace logging level for org.redisson package to get more info about the issue?

Thanks @mrniko for the response. I do not have the trace logs when the issue occured. The issue occured when AWS Elasticache cluster went in to failover and it remained in the failover state for a long time. Will collect the trace logs if we can reproduce the issue again. However if we specify just one or two nodes and if those nodes are down (while the cluster is still up), does that affect the client connectivity?

However if we specify just one or two nodes and if those nodes are down (while the cluster is still up), does that affect the client connectivity?

No


SSO Ticketing System

User Story

As a new organizational user in progress
I want a ticketing system (e.g. ServiceNow) that is readily available and simple
So that onboarding to SSO is simple and quick.

Acceptance Criteria or Constraints

I'll see this or
The solution will conform to this or
Non-functional requirements

Acceptance Tests
Scenario 1: xxxxxx

GIVEN ...
WHEN ...
THEN ...

Scenario 2: xxxxxx

GIVEN ...
WHEN ...
THEN ...

Dependencies?
Team or ideally a ticket
Risks

Description
Impact
Strategy
Contingency Plan

If this does or doesn't occur by...
Then this will happen, costing $?
Mitigate, Transfer, Accept, Avoid
We will do this, if it occurs

Process Guidance
User Story
A short introductory section with the following structure:
As a: the person or role who will benefit from the feature;
I want: the feature;
so that: the benefit or value of the feature.
Acceptance Tests or also called Behaviour Driven Development Acceptance criteria
A description of each specific scenario of the narrative with the following structure:
Given: the initial context at the beginning of the scenario, in one or more clauses;
When: the event that triggers the scenario;
Then: the expected outcome, in one or more clauses.

@ConradBoydElliottGustafson I read this and I cant' make sense of how Service Now ties in, help?

This was a placeholder for an issue reporting system to replace GitHub. Closing is fine.


Wire.requestFrom() should not be followed by Wire.endTransmission().

Hi, I noticed that all the Wire.requestFrom() are followed by a Wire.endTransmission(), but the Wire.endTransmission() should only be used when writing data.
Explanation: Common-mistakes#2
See also my alternative explanation of the functions of the Wire library.

I think I put those in while exploring a troubleshooting rabbit hole.
Good to know that the Wire.requestFrom manages all of that handshaking.


docs: change logLevel to loglevel for Logging exporter

logLevel only worked due to a bug in the upstream that was "fixed" in v0.71.0, breaking many configurations.

Shouldn't it be verbosity: detailed?

https://github.com/open-telemetry/opentelemetry-collector/tree/v0.72.0/exporter/loggingexporter#getting-started

I wanted to do this separately, but I can change it right into verbosity.


Update howto-use-iot-pnp-bridge.md

Fix sample build paths for Linux and Windows

@abhijitnathwani : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

Thanks for the contribution!


added optimal install instructions for install from conda

Before you start, read CONTRIBUTING.md and the guide for diagnostic developers.
Please discuss your idea with the development team before getting started, to avoid disappointment later. The way to do this is to open a new issue on GitHub. If you are planning to modify an existing functionality, please discuss it with the original author(s) by tagging them in the issue.

Tasks

[ ] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[x] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[ ] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[x] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[x] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[ ] Please use yamllint to check that your YAML files do not contain mistakes
[ ] (Only if really necessary) Add any additional dependencies needed for the diagnostic script to setup.py, esmvaltool/install/R/r_requirements.txt or esmvaltool/install/Julia/julia_requirements.txt (depending on the language of your script) and also to package/meta.yaml for conda dependencies (includes Python and others, but not R/Julia)
[ ] If new dependencies are introduced, check that the license is compatible with Apache2.0

New recipe/diagnostic

[ ] Add documentation for the recipe to the doc/sphinx/source/recipes folder and add a new entry to index.rst
[ ] Add provenance information

Modified recipe/diagnostic

[ ] Update documentation for the recipe to the doc/sphinx/source/recipes folder
[ ] Update provenance information if needed
[ ] Assign the author(s) of the affected recipe(s) as reviewer(s)

New data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Add the new dataset to the table in the documentation
[ ] Tag @mattiarighi in this pull request, so that the new dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

Modified data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Tag @mattiarighi in this pull request, so that the updated dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

If you need help with any of the tasks above, please do not hesitate to ask by commenting in the issue or pull request.

A lot of the discussion that led to this PR is here https://github.com/ESMValGroup/ESMValCore/issues/660
@mattiarighi @bouweandela @jvegasbsc @schlunma need you guys to test the installation from conda (not from source) following these steps pls, can you pls use \time when running conda install, it'd be great to get a feel of how it performs on various platforms :beer:

@valeriupredoi I think this can be closed, because I added very similar instructions for installing julia in #1971 on your request. What do you think?

yep we can bin it :wastebasket:


how can I improve the stream_capacity?

I want to send 1MB in a request but the capacity is 13411 bytes.
this is my code in examples.(I use h3 examples)
println!("sending HTTP request {:?}", req);
let stream_id = h3_conn.send_request(&mut conn, &req, false).unwrap();
println!("---- stream_id {}", stream_id);
println!("---- stream_capacity {:?}", conn.stream_capacity(stream_id));
let mut body_written = 0;
let msg = vec![0; 1024100];
loop {
let written = match h3_conn.send_body(&mut conn, stream_id, &msg, false) {
Ok(v) => v,
Err(quiche::h3::Error::Done) => {
println!("send_body() Done");
0
},
Err(e) => {
println!("{} send_body() failed: {:?}", conn.trace_id(), e);
return;
},
};
println!("---- send_body {}", written);
body_written += written;
// if written>=(10241024) {
break;
// }
}
println!("---- total send_body {}", body_written);
req_sent = true;
this is log.
sending HTTP request [":method: POST", ":scheme: https", ":authority: <IP_ADDRESS>", ":path: /upload", "user-agent: quiche"]
---- stream_id 0
---- stream_capacity Ok(13411)
---- send_body 13406
---- total send_body 13406

Send capacity is controlled by several factors such as congestion window, connection and stream-level flow control. It's not clear from your example what the peer has configured as it's flow control, but most likely you are bounded by the congestion widow size.
The implementation should send QUIC packets once no more stream data can be sent, and then after processing response packets will renew the flow control window. Then you can send again. Over time on a fast link the window will continue to grow.


Set the same size, use different ttf file, the text size of the display difference

In order to show Simplified Chinese, I tried several different ttf files. I found that set the same size, use different ttf file, the text size of the display difference. Should we need to read out some parameters from ttf file and set to fontstash?

华文黑体.ttf is bigger than UILabel, use the same fontsize.
诺基亚致美粗黑.ttf is same size with UILabel font size, , use the same fontsize.
PingFang Regular.ttf is smaller than UILabel, use the same fontsize.

Can you send a screenshot? Can you see the same difference in a text editor? I'm not sure about chinese characters, but western fonts can have different x-height and k-height. Which makes the fonts look different visually even if the size is the same.

1.use PingFang Regular.ttf

2.华文黑体.ttf

the PingFang Regular.ttf you can achieve use the following link.
https://github.com/ctrngk/backup/blob/master/PingFang%20Regular.ttf


Cannot install: uninitialized constant Homebrew::YAML

Odd error. I tried removing the Dracula tap/cask and reinstalling.
$ brew tap dracula/install
==> Tapping dracula/install
Cloning into '/opt/homebrew/Library/Taps/dracula/homebrew-install'...
remote: Enumerating objects: 114, done.
remote: Counting objects: 100% (46/46), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 114 (delta 21), reused 34 (delta 17), pack-reused 68
Receiving objects: 100% (114/114), 21.55 KiB | 1.96 MiB/s, done.
Resolving deltas: 100% (43/43), done.
Tapped 1 command, 13 casks and 1 formula (32 files, 52.0KB).

$ brew install --cask dracula-macos-color-picker
==> Downloading https://github.com/dracula/macos-color-picker/archive/refs/heads/main.zip
==> Downloading from https://codeload.github.com/dracula/macos-color-picker/zip/refs/heads/main
#-=#=-  #     #
Warning: No checksum defined for cask 'dracula-macos-color-picker', skipping verification.
==> Installing Cask dracula-macos-color-picker
/opt/homebrew/Library/Taps/dracula/homebrew-install/cmd/dracula-yaml-json.rb:51:in `dracula_yaml_json': uninitialized constant Homebrew::YAML (NameError)
	from ./generate.command:6:in `<main>'
==> Purging files for version latest of Cask dracula-macos-color-picker
Error: It seems the Generic Artifact source '/opt/homebrew/Caskroom/dracula-macos-color-picker/latest/macos-color-picker-main/Dracula.clr' is not there.

~ % brew tap dracula/install
==> Tapping dracula/install
Cloning into '/opt/homebrew/Library/Taps/dracula/homebrew-install'...
remote: Enumerating objects: 142, done.
remote: Counting objects: 100% (74/74), done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 142 (delta 33), reused 50 (delta 23), pack-reused 68
Receiving objects: 100% (142/142), 28.37 KiB | 2.18 MiB/s, done.
Resolving deltas: 100% (55/55), done.
Tapped 1 command, 15 casks and 1 formula (34 files, 61.8KB).
~ % brew install --cask dracula-macos-color-picker
==> Downloading https://github.com/dracula/macos-color-picker/archive/refs/heads/main.zip
Warning: No checksum defined for cask 'dracula-macos-color-picker', skipping verification.
==> Installing Cask dracula-macos-color-picker
/opt/homebrew/Library/Taps/dracula/homebrew-install/cmd/dracula-yaml-json.rb:5:in require': cannot load such file -- active_support/all (LoadError) 	from /opt/homebrew/Library/Taps/dracula/homebrew-install/cmd/dracula-yaml-json.rb:5:in <top (required)>'
from ./generate.command:4:in require' 	from ./generate.command:4:in '
==> Purging files for version latest of Cask dracula-macos-color-picker
Error: It seems the Generic Artifact source '/opt/homebrew/Caskroom/dracula-macos-color-picker/latest/macos-color-picker-main/Dracula.clr' is not there.


REQUEST: implement undocumented ev2lin function

Hi Andrew,
This is a routine documented in other implementations but not exposed in cspice:
https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/ev2lin.html
My request is naive, so I am unaware of the difficulty of implementation or whether it is even possible...

hmm not sure, it looks like that function has been translated to c in cspice but is just not exposed in the cspice api. I could take a look at this in a day or two once I resolve why the travis builds are failing. If I can use it directly than I don't think it would be too hard, but I will need some sort of test case and test data to validate it.

I don't think this being properly compiled into the shared lib of spice, as I get a segfault the moment I try to access the function. I will probably close this as a won't fix in a few days. The issue being that this routine is not properly integrated into the shared library which would mean the naif would need to provide this function as an officially supported function in the cspice api. That being said there are probably a few other things that one could try including using cffi but that would possibly require a major rework of spiceypy which I haven't had time to look into. Alternatively I could write the equivalent _c.c wrapper file the naif provides for all the other supported functions and inject that into the build step, but I would have to investigate that further to determine how feasible it is.

Understood completely, Andrew. I wonder why the routine isn't properly integrated into the cspice library the same way it is in fortran?
It's not a big deal for me to create a python wrapper around the mkspk command line tool and read from a temp file, since initialization performance isn't a concern.

On Jan 15, 2017, at 3:16 PM, Andrew Annex<EMAIL_ADDRESS>wrote:
I don't think this being properly compiled into the shared lib of spice, as I get a segfault the moment I try to access the function. I will probably close this as a won't fix in a few days. The issue being that this routine is not properly integrated into the shared library which would mean the naif would need to provide this function as an officially supported function in the cspice api. That being said there are probably a few other things that one could try including using cffi but that would possibly require a major rework of spiceypy which I haven't had time to look into. Alternatively I could write the equivalent _c.c wrapper file the naif provides for all the other supported functions and inject that into the build step, but I would have to investigate that further to determine how feasible it is.
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

so I got a bit curious about my last proposed solution, and to my surprise I wrote a c file wrapper relatively quickly that might have worked (I used it without a segfault occuring, a low bar for sure). I could use a test case for the function to validate that I am not getting garbage out of my wrapper function, is that something you can help with @parkerjon? See my other unit tests for a general idea, ideally I just need an ET, geophs array, elems array and the expected output state. I will also contact the naif to check if the reason was a failed f2c translation of the original function.

so a thought that occured to me is that the segmentation faults I was seeing earlier may be from not defining the arg types ahead of time, so I might even be able to wrap this function without the _c.c wrapper file I wrote. I will experiment with this more soon

Andrew,
Thanks for being curious about this. :)
I'll create some test data when I get a chance this week.

so I emailed last week and am still waiting for a complete response, just fyi.

Strange, sorry Andrew, I thought I replied.  Thank you again for looking
into this!
I will create the test you suggested as soon as I can.  Hopefully I can
start on it today and then finish it by Tuesday or Wednesday.  I'll pass
along any questions if I have them.
Jon
On Mon, Jan 23, 2017 at 1:04 AM, Andrew Annex<EMAIL_ADDRESS>wrote:

so I emailed last week and am still waiting for a complete response, just
fyi.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AndrewAnnex/SpiceyPy/issues/178#issuecomment-274407354,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADLi8mmrEN902DeTCuRcoESlXJNj8aZWks5rVELrgaJpZM4LeoSo
.

Hi Andrew,
Please take a look at the attached test file.   I have taken today's ISS
data from
https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/orbit/ISS/SVPOST.html
and generated some test data by creating a SPK using mkspk.  Hopefully all
the information you need is contained within the attached file.  The values
I generated with SpiceyPy mostly agree with the numbers that you can see on
that page, but not 100% exactly.  Unfortunately am not knowledgeable enough
about it to explain the discrepancy.
-Jon
On Mon, Jan 23, 2017 at 10:05 AM, jon parker<EMAIL_ADDRESS>wrote:

Strange, sorry Andrew, I thought I replied.  Thank you again for looking
into this!
I will create the test you suggested as soon as I can.  Hopefully I can
start on it today and then finish it by Tuesday or Wednesday.  I'll pass
along any questions if I have them.
Jon
On Mon, Jan 23, 2017 at 1:04 AM, Andrew Annex<EMAIL_ADDRESS>wrote:

so I emailed last week and am still waiting for a complete response, just
fyi.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AndrewAnnex/SpiceyPy/issues/178#issuecomment-274407354,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADLi8mmrEN902DeTCuRcoESlXJNj8aZWks5rVELrgaJpZM4LeoSo
.

Attachment didn't come through before, here it is.
test_tle2lin.zip

So I got a response from the NAIF, and it sounds like you may be able to generate a SPK kernel directly from the TLE using mkspk. This sounds like something you may have done already or may be close to doing which, as I understand it, would bypass the need for ev2lin directly. But I can envision reasons that make exposing ev2lin preferable to using mkspk.
I would recommend that you contact Ed Wright via email at the NAIF who I have been in contact with about your situation, you can find his contact info here: https://naif.jpl.nasa.gov/naif/contactinfo.html.

Andrew,
You are correct, I did end up generating a SPK from the TLE, and actually
created the test data that way.  As a result I do not have a pressing need
for the routine to be translated, but agree that having it as part of the
toolset would be useful.  Since you expressed interest in developing this
anyways I hope the test function is useful for you.
Originally we (our production team at AMNH) were interested in getting
information about the trajectory of the AQUA and TERRA spacecraft for
somewhat crude map processing purposes and the command line route to
converting TLE elements to SPK files works well enough for that case.
I will contact Ed Wright if I have any questions about it.  Thank you for
passing his information on to me.
-Jon
On Mon, Jan 23, 2017 at 1:06 PM, Andrew Annex<EMAIL_ADDRESS>wrote:

So I got a response from the NAIF, and it sounds like you may be able to
generate a SPK kernel directly from the TLE using mkspk. This sounds like
something you may have done already or may be close to doing which, as I
understand it, would bypass the need for ev2lin directly. But I can
envision reasons that make exposing ev2lin preferable to using mkspk.
I would recommend that you contact Ed Wright via email at the NAIF who I
have been in contact with about your situation, you can find his contact
info here: https://naif.jpl.nasa.gov/naif/contactinfo.html.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AndrewAnnex/SpiceyPy/issues/178#issuecomment-274568077,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADLi8kPi6EcKUcXMQO99vdlNg7lHKCqJks5rVOwXgaJpZM4LeoSo
.

I am closing this issue for now as it sounds like you were able to work around the problem. I may post my wrapper functions as a gist if that would be helpful. Alternatively I may revisit this if and when I get around to work on a refactoring of spiceypy that I started experimenting with that uses cffi.

got a new inquiry about this issue, reopening

I think this was do-able now and I was just being silly two years ago... need a good unit test example for this function though

Here's some data generated from a C++ call to ev2lin, for 3 spacecraft (Lightsail 2, TDRS 6, Iridium 97) at epoch and at some steps from epoch.  I'm using (alas) CSPICE0065, the version currently used by GMAT.  The file includes the input TLE along with the ev2lin inputs.  Let me know if I missed anything you need.
ev2linUnitTestData_11-14-2019.txt

The data posted 11/14 used the leap second kernel naif0009.tls.  I've updated the data to naif0012.tls; the new test data is attached.
ev2linUnitTestData_11-17-2019.txt

As of November 2021, the NAIF has deprecated the ev2lin routine in favor of evsgp4. IMO, attempting to call spiceypy.ev2lin() should at least raise a DeprecationWarning, if its continued existence/inclusion in SpiceyPy is even warranted at all. The note on the FORTRAN documentation page for EV2LIN is pretty explicit:

Deprecated: This routine has been superseded by the SPICELIB routine EVSGP4. ALL TLE evaluations should use that routine. NAIF supports EV2LIN only for backward compatibility.

The fact that there isn't even an equivalent CSPICE documentation page for this function seems like another pretty compelling argument in favor of dropping support for it.


Restore Windows console encoding as part of VirtualTerminal.DangerousRestoreSettings

https://github.com/alexrp/system-terminal/blob/f559b4da9c07e82b54073ce53eda83a1704eaecd/src/core/Terminals/Windows/WindowsVirtualTerminal.cs#L63-L66
We should restore these values to whatever they were.

There's a broader issue here, come to think of it. Child processes could change the console encoding out from under us too. Perhaps on Windows we should just consider console encoding to be part of the console 'mode', i.e. we set it in SetRawMode and restore it in DangerousRestoreSettings.