Review 2019-04 i2cner report

2019-04-i2cner-report.pdf
(source:https://github.com/arfc/i2cner/tree/master/doc/2019-04-report)
Thank you @katyhuff for reviewing this.

Feedback from @katyhuff :

[ ] Fix logo on cover page.
[ ] Fix plot axes to make sure years are not float.
[ ] Fix plot axes to make sure they start at the origin.
[ ] Merge 2018-09 and 2019-04 report.
[ ] Make sure acronyms are well-defined, use the  acros  package.
[ ] Cite documents instead of including hyperlinks to them.
[ ] Include more plots from 2018-10 - 2019 -04.
[ ] Ensure model readme files are .md
[ ] Ensure model readme files are up to date.

Also add:

[ ] Data tables

Report updated:
2019-05-i2cner-report.pdf
Reassigned @katyhuff
Separate issue created for readmes.

At first glance:

[ ] Please reduce the quantity of text couched in bulleted lists. Nearly every section is made entirely of bulleted lists. A report should read like a narrative. So, rather than putting all paragraphs in enumerated or bulleted lists, please just allow them to be paragraphs. See the \paragraph{} command for the formatting you might like.
[ ] please add [hidelinks] to the \usepackage{hyperref} command.
[ ] When citing more than one reference, don't use multiple \cite{} commands. Use one cite command, and separate the keys with commas \cite{lastname_title_YYYY,doe_stuff_2019,chaube_i2cner_2019} . This will result in [1,2,3] rather than [1][2][3]
[ ] I usually see LCOE written in all caps, not with the little "o" for the of (LCoE). Same with DOE, DOT, MOAB...
[ ] You say ". LCoE for fossil fuels has been held constant throughout the simulation " and you explain how wind and solar is handled wrt LCOE. I assume nuclear LCOE is also held constant?
[ ] In section 3.1, please describe the fundamentals first "100 years of
[ ] Anywhere you say "capacity" make sure you indicate whether this is generation capacity (CF*C) or installed capacity (C).
 "The project was significantly delayed due to the quality of the documenta- tion and customer support provided by the VEDA developers. " Perhaps instead, say: "The project has been delayed in part due to limited documentation and customer support available to VEDA users."

Incorporating more i2cner technology and Cost Analysis are included as an afterthought in "desired goals." However, these two items are the whole point of the project. I'd say it's somewhat more important than the following "critical goals" which I think are very much second order impacts and will take much more time than they are worth.

Replace LCoE in all models with a detailed cost structure
Incorporation of Japan-specific costs for wind
Revise CCS costs
Revise nuclear costs

Please change "Critical Goals" to "Next Steps" and change "Desired Goals" to "Potential Improvements"

Same comment as above wrt Sensitivity analysis. This is a primary goal, not a tertiary goal.

2019-05-i2cner-report.pdf

@achubbz did you see my comment about hidelinks?

Ah, it's not \usepackage{hyperref}[hidelinks]
It's\usepackage[hidelinks]{hyperref}

Fixed it. Sorry.
2019-05-i2cner-report.pdf

[ ] In Section 3.1, please include a few sentences to introduce and explain the tables, rather than just two untitled tables.
[ ] TIMES is a VEDA generator. The report says the opposite. (https://iea-etsap.org/index.php/etsap-tools)
[ ] Does this sentence "We found the format of the developer-prescribed model files restrictive and unsuitable for our purposes. Therefore, we took the time to develop our own model files, which we have progressively refined since then." Mean that you didn't use TIMES?
No section should begin with a bare bullet. All bulleted / enumerated lists must be introduced with an explanation/introduction.
The tables have no titles/captions. Please add titles/captions for all tables. That is, each table should look like so:

A handful of the following things from the writing checklist should be handled (some more important than others).

[ ] All figures and tables should be referenced (and discussed!) in the text.
[ ] Page 4. Do not use the word "where" unless referring to a location (try "such that" or "in which").
[ ] get rid of extraneous adverbs (very, really, quite, basically, generally)
[ ] turn negatives to positives (not taken into account -> neglected)
[ ] bottom of page 11: No need for this to be a bulleted list. Please consider making this a paragraph. Also, "At the very least" indicates there is some vast terrain of other options that we're ignoring. That's really not the case. So, please delete "At the very least,"
[ ] avoid turning verbs into nouns ("arrived at estimates of" -> "estimated"; "provides a description of" -> "describes")
[ ] don't bury the verb (keep the predicate close to the subject at the beginning of the sentence)
[ ] data is plural (the data are critical) [ see page 1 "data seems/seem", Page 12 The data for retrofitting in Japan is/are not easily available.]

2019-05-i2cner-report.pdf
From https://iea-etsap.org/index.php/etsap-tools/data-handling-shells/veda :
"Data and assumptions are fed into VEDA_FE that provides input to the TIMES code"
Also, note the diagram: VEDA-FE (input data)----> TIMES (equations) ----> GAMS (solution of equations)
It is not possible to use VEDA and not use TIMES.
Changed "We found the format of the developer-prescribed model files restrictive and unsuitable for our purposes. Therefore, we took the time to develop our own model files, which we have progressively refined since then." to "Using the simplest VEDA input files from the VEDA tutorial [2] as a starting
point, we developed our own model files, which we have been progressively
refining since then"
I appreciate the note about "not burying the verb". I want to better my writing skills. I made a few changes to that effect. But I can't guarantee that I've sanitized the document of all such occurrences because it's a long standing habit and sometimes I don't even realize this is a problem. So if you see such an occurrence, I apologize.

ok!


fixed typo

'insertGraoph' => 'insertGraph

Coverage remained the same at 95.782% when pulling 97c594eade63e2e9a58f8a134423023d332e8046 on newhouse:typo into 43ce694e2a3fc88d30005dc1affb8c80c849470c on Vincit:master.


Memory Leak in Navigation

Description of problem:
My team and I are working on an app and we noticed that after a number of navigations the app would ANR and crash under certain conditions. We suspected a memory leak- here is an example of the memory profile during a few repetitions of an action containing a navigation:

Note that more memory is freed after each GC.
Here is that same action repeated, but without the navigation:

Note that we're able to perform many more actions before the OS decides to GC, indicated by the fineness of the increases in allocated memory- and also that after the GC the memory drops to its starting point whereas the first example this was not the case.
Isolating the issue:
I've created a simple app here: testapp.zip
It consists of 2 pages with a large button that navigates between them. Because the components are so small compared to a production app, this did take some time, however the problem is still visible in the memory profile- memory is unbounded and increasing:

What I have tried:

Experimented with clearHistory option with navigationExtras
Periodically calling the V8 GC explicitly
Used the vanilla angular router outlet instead of NS's page router outlet
Created a custom reuse strategy (page router outlet does not play nicely at all)
Used the vanilla locationstrategy (NSLocationStrategy still spun up however)
Refactored to have specific navigation be a child route of another component (This mitigated the issue heavily- enough so that an ANR might never occur under normal use)

This of course comes at the cost of defeating all of the features NS put in the page router, so implementing this fullscale seems impractical

Conclusion:
Should components revisited via forward navigation be reinstantiated? This seems like it could be the culprit, however I cannot verify. I'm curious as to whether there are some best practices that I missed, because this seems like such a general issue I'm surprised nobody else has encountered it- everything navigation related that we use is right out of the box. Similar issues posted here are either too old to be relevant (and were already marked as resolved) or related to something else entirely (images in particular).
Thanks for reading

@JimGreenberg I'm subscribed to this, this has been a teething problem. 👍

I ended up switching to angular router outlet instead of page router n create my own stack of navigation ((

Hey @JimGreenberg
Thanks for the detailed explanation and the sample project!
Some clarifications:
Indeed when navigating forward(deeper) in the application with page-router-outlet - all the previous pages are kept in the nav-stack (that is the native behavior and also that is the reason for the custom router reuse strategy). This means that they are not subject to GC, as a reference to them is still kept in the backstack. Making navigation with clearHistory should clear all references and ultimately let GC collect the previous pages - you will loose the history though.
Also using the stock <router-outlet> will create and destroy the components on each navigation, but as you said you will loose the native-ness of the page navigation.
So, here some suggestions on the particular problem:

It is a good idea to avoid having a really deeps navigation stack. So if the user will come back to a particular page many times (ex. master -> detail -> master -> detail ....) you might consider doing back() navigation instead of forward or for clearing the history whenever the user arrives to the home screen.
Images - they are usually eating a lot of memory. You can check on the images optimizations article in the docs for ideas of limiting their impact.

I think there is a room for improvement in the framework for supporting such scenarios. So any ideas and suggestions are welcome.
One thing that we can probably investigate further is, wether there is a way to release large images (bitmaps) of elements that are currently in the navigation stack but now showing.

Hi @vakrilov, thanks for the response
I had thought that using the clearHistory parameter on ExtendedNavigationExtras would at least prevent memory from growing- this wasn't the case.
Pictured are 4 similar trials of the test app- 2 with clearHistory and 2 each using routerLink and a regular navigate(). There aren't any major differences- all 4 follow the same pattern so I didn't feel the need to distinguish them.

As we would expect, the tests done with clearHistory logged that the component was being destroyed (and likewise, that without clearHistory the components are not destroyed)- but again, no drop in memory.
Using back() did work- we returned to the previous component and no memory increase was seen. But manually calling back() in order to keep the app from running out of memory seems hacky- and also for our app in particular we want to prevent the user from going back to certain pages.
The suggestion I would make is to have a configurable stack limit for the navigation- so developers could limit the navigation stack to a finite number of navigations- but this might be a much larger refactor than expected.

For sure the clearHistory parameter should do a proper cleanup and prevent memory leaks. So this one definitely sounds like a bug and we will investigate it.
About your other suggestion (limiting the nav stack) - indeed it might be more challenging thing to implement as you will have to clear only portions of the navigation stack. It is a good suggestion for a feature though, so it will be a good idea to open a separate issue about it.

The abnormal memory behaviour is probably related to these open issues - Issue1/Issue2 in Angular repository.
Even after explicit ComponentRef.destroy() in our custom reuse strategy the memory for that component is not released.
OnDestroy is properly called, but I suspect that any injected dependencies are still there and running, even though the component is gone.

Just to add my 2ct. I recently had the pleasure to investigate a memory leak on an N-Angular app. The problem was only observable on iOS. Android released the memory just fine.
It turned out the app had a lot of rxjs subscribe() calls but it never unsubscribed because the assumption was that would not be required because the component got destroyed which would clean up the subscriptions. Not on iOS it didn’t.
So we added unsubscribe() calls in ondestroy and the problem was solved.

Hey @EddyVerbruggen,
Most of the comments, from the Angular issues I've mentioned above, are indeed pointing to rxjs subscriptions. Can you elaborate more on the unsubscribe() inside onDestroy that you have done? There are some subscriptions you've made before that and you manually unsubscribe from them?
In the tests I've made there weren't any explicit subscriptions but I guess there could be some behind the scenes done by Angular)

Yeah in my case those were manual subscribes. Nothing automatic / behind the scene framework stuff that causes trouble afaik. So manually unsubscribe (in ondestroy) anything you’ve subscribed to previously - if using router back() navigation destroy should run and you get rid of the subscriptions.

Hi @JimGreenberg, has there been any new progress on this issue?
I countered exactly same problem as you shown above. It seems normally happened to most SPA, it doesn't require page refresh but it heaps up the memory storage. So we've done some research, This link helps me a bit, but our memory leak is still a big problem that even slows the app. Just wonder how far you've got this solved. Thanks.

Hi @lankaixi , unfortunately no- we haven't made any progress specifically on this issue. We did as much as to identify and isolate the problem, and after exhausting the things in our control (like making sure all our rxjs subscriptions were properly disposed etc) we just left it in the back of our minds. As it turned out- none of our beta testers mentioned anything nor did we encounter it in our internal testing through normal use. While I'm keen on a solution, the "problem" wasn't really pressing- so we discontinued efforts towards it. Sorry I couldn't be more help


[FEATURE] - Table of Contents for README

Idea Contribution

[X] I have read all the feature request issues.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Explain feature request
Adding a Table of Contents to the README file addresses the potential issue of users finding it challenging to navigate through different sections of the document, especially as it grows longer. Without a Table of Contents, users may have difficulty quickly locating specific information, leading to frustration and reduced usability of the document.
Explain your solution
The solution involves adding a Table of Contents section to the README file, listing the main sections and subsections of the document with hyperlinks for easy navigation. This Table of Contents will provide users with a clear overview of the document's structure and enable them to jump directly to the desired section by clicking on the corresponding link. By implementing this solution, users will experience improved readability and usability of the README file, enhancing their overall experience with the project documentation.

Any alternative approaches/features
No response
Additional Context
No response

Assigned to you @SkSadaf, thanks for the idea


cloudflare_zone_settings_override custom default settings request

Current Terraform and Cloudflare provider version
Terraform v1.1.2
Description
Background:

Currently cloudflare_zone_settings_override has a set of default arguments that have been pre-configured by the Terraform cloudflare team.
This is useful if you want to use the default resource configuration, but it makes it hard to enforce a custom baseline for all instances of the cloudflare_zone_settings_override.

Request:

Create a cloudflare_zone_settings_override_document data source that allows you to define a baseline of settings for cloudflare_zone_settings_override.

This data source should output a standard JSON that defines the cloudflare_zone_settings_override settings.
Additionally it should perform logical checks to ensure that the settings are valid. Some settings in
cloudflare_zone_settings_override require a setting to be set before being able to be set.

Update cloudflare_zone_settings_override to add the following optional argument default_settings_document.

This argument should be able to receive the JSON generated by the cloudflare_zone_settings_override_document
data source.
Optionally the user could pass in a JSON object to this argument and bypass the
cloudflare_zone_settings_override_document.
If a setting is defined within cloudflare_zone_settings_override settings argument, it should overwrite the
default_settings_document/cloudflare_zone_settings_override_document setting.
If no setting is configured in either the settings argument or in the default_settings_document it should use the
default setting.

This feature request is loosely based on how the hashicorp/aws provider handles IAM policies. They have an iam_policy resource that takes in a JSON policy configuration and an iam_policy_document data source that can generate that JSON policy configuration.
Work around:

Currently there's a workaround that enables this feature but it introduces more complexity. You can add a for_each argument to cloudflare_zone_settings_override and allow you to pass in an object to configure the custom settings.

For example you could do the following:
locals {
  cloudflare_zone_settings_override_document = {
    "<zone id>" = {
       waf = "on"
    }
    "abc-123-xyz-456" = {
      ssl = "full"
    }
  }
}

resource "cloudflare_zone_settings_override" "this" {
  for_each = local.cloudflare_zone_settings_override_document
  zone_id  = each.key
  settings {
    waf = try(each.value.waf, "on")
    ssl = try(each.value.ssl, "full")
  }
}

Use cases
This resource would allow custom zone configuration baselines to be made and allow enterprises to enforce baselines across Cloudflare zone settings.
Potential Terraform configuration
data "cloudflare_zone_settings_override_document" "prod" {
  waf = "on"
  ssl = "full"
}

data "cloudflare_zone_settings_override_document" "dev" {
  waf = "off"
  ssl = "off"
}

resource "cloudflare_zone_settings_override" "web_app_prod_zone" {
  zone_id  = "abc-123-web-app-prod"
  settings_document = data.cloudflare_zone_settings_override_document.prod
}

resource "cloudflare_zone_settings_override" "web_app_stage_zone" {
  zone_id  = "abc-123-web-app-stage"
  settings {
    ssl = "flexible"
  }
  settings_document = data.cloudflare_zone_settings_override_document.dev
}

resource "cloudflare_zone_settings_override" "web_app_dev_zone" {
  zone_id  = "abc-123-web-app-dev"
  settings_document = data.cloudflare_zone_settings_override_document.dev
}

resource "cloudflare_zone_settings_override" "web_app_adhoc_zone" {
  zone_id  = "abc-123-web-app-adhoc"
  settings {
    waf = "on"
  }
  settings_document = jsonencode({
    ssl  = "strict"
  })
}

References
No response

thanks for this but we won't be taking this on. instead, we have some plans to improve the zone settings situation but it will be more moving to dedicated endpoints and reworking the resource itself.

How does cloudflare_zone_settings_override handle existing zone settings?

the intention is in the resource name; override. however, this is commonly misunderstood (and somewhat against Terraform norms) as it is only meant to be used where you want a different value to the default. unlike other resources where you define the explicit end goal and manage the full lifecycle.

Would the resource set all the zone settings to the default settings or would it get the settings from the existing zone?

never tried to be honest but my guess would be nothing as you're not passing in an options and it would just send a payload of the defaults. if it is important for you to know, sign up a free test zone and give it a whirl.

The other option I see is using cf-terraforming to generate the cloudflare_zone_settings_override resource and using it.

as mentioned above, don't do this. the resource is only intended for overriding defaults and the generated output will include all the settings.

... as it is only meant to be used where you want a different value to the default. unlike other resources where you define the explicit end goal and manage the full lifecycle.

@jacobbednarz Are the defaults in this provider meant to match the defaults from Cloudflare? ssl doesn't default to Off in CF, yet that is the default per the docs for the provider.

they matched the defaults at one point; definitely doesn't mean it's correct now.


[IL] Get Legal Entity by ID

Implement the subj. service according to the spec
Basic logic

Transferred to ehealth.api


How to serialize to a Vec buffer?

An exercise from pingcap requires to serialize to a Vec<u8>  buffer using ron. But, it seems that the String is the only output option.
Any one can help me figure this out?

The point of RON is to be human readable and modify-able. Working with Vec<u8> is not that.
One option would be to use String::as_bytes. Another - to use a different serialization format that is better suited for raw bytes, like bincode.

@ChenZhongPu String is just a Vec<u8> internally, so you can just use https://doc.rust-lang.org/std/string/struct.String.html#method.into_bytes to consume the bytes.

I see.  But I still do not know why this exercise (pingcap) requires me to serialize it to a String and convert it Vec, and then convert it back.

Do the same as above, except this time, instead of serializing to a File, serialize to a Vec<u8> buffer, and after that try using RON instead of JSON as the format. Are there any differences in serialization to a Vec instead of a File? What about in using the RON crate vs the JSON crate?

Convert the Vec<u8> to String with str::from_utf8, unwrapping the result, then print that serialized string representation to see what Move looks like serialized to RON.

Hmm, I don't know either.

I see. But I still do not know why this exercise (pingcap) requires me to serialize it to a String and convert it Vec, and then convert it back.

Yeah, this just looks stupid... lol

Can you use ser::to_writer and pass a Vec<u8> as a writer

Can you use ser::to_writer and pass a Vec<u8> as a writer

Vec<u8> does implement Write trait, but also to_writer seems to consume the vector, what if I want to check the content of this Vector, I probably should pass &mut [u8] instead right?
let a = Move::Right;
let mut v: Vec<u8> = vec![0; 10];
let slice = v.as_mut_slice();
ron::ser::to_writer(slice, &a).unwrap();
println!("v = {:?}", v);

From which I got v = [82, 105, 103, 104, 116, 0, 0, 0, 0, 0]


cannot load such file -- jekyll-paginate

I try to run pixyll but apparently some dependencies are missing for me...
^^/d/pixyll >>> bundle install                                                                                Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.9.0
Using thread_safe 0.3.5
Using addressable 2.4.0
Using coffee-script-source 1.10.0
Using execjs 2.7.0
Using colorator 0.1
Using ffi 1.9.10
Using multipart-post 2.0.0
Using gemoji 2.1.0
Using net-dns 0.8.0
Using public_suffix 1.5.3
Using sass 3.4.22
Using rb-fsevent 0.9.7
Using kramdown 1.10.0
Using liquid 3.0.6
Using mercenary 0.3.6
Using rouge 1.10.1
Using safe_yaml 1.0.4
Using jekyll-feed 0.5.1
Using mini_portile2 2.0.0
**Using jekyll-paginate 1.1.0**
Using jekyll-sitemap 0.10.0
Using terminal-table 1.5.2
Using bundler 1.12.4
Using tzinfo 1.2.2
Using coffee-script 2.4.1
Using ethon 0.9.0
Using rb-inotify 0.9.7
Using faraday 0.9.2
Using jekyll-sass-converter 1.3.0
Using nokogiri <IP_ADDRESS>
Using activesupport 4.2.6
Using jekyll-coffeescript 1.0.1
Using typhoeus 0.8.0
Using listen 3.0.6
Using sawyer 0.7.0
Using html-pipeline 2.4.1
Using jekyll-watch 1.4.0
Using octokit 4.3.0
Using jekyll 3.1.5
Using github-pages-health-check 1.1.0
Using jekyll-gist 1.4.0
Using jekyll-github-metadata 1.11.1
Using jekyll-mentions 1.1.2
Using jekyll-redirect-from 0.10.0
Using jekyll-seo-tag 1.4.0
Using jemoji 0.6.2
Using github-pages 79
Bundle complete! 1 Gemfile dependency, 50 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

Everything looks OK, but when I try to run jekyll serve it fails with a dependency error. Though I can see that jekyll-paginate was installed.
^^/d/pixyll >>> jekyll serve --watch                                                                                Configuration file: /Users/kirill/develop/pixyll/_config.yml
Dependency Error: Yikes! It looks like you don't have jekyll-paginate or one of
its dependencies installed. In order to use Jekyll as currently configured, you'll
need to install this gem. The full error message from Ruby is: 'cannot load such
file -- jekyll-paginate' If you run into trouble, you can find helpful resources
at http://jekyllrb.com/help/!
jekyll 3.1.6 | Error:  jekyll-paginate

Ruby and jekyll versions
jekyll 3.1.6
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

Happened the same to me too. I was able to do it anyway with bundle exec jekyll serve.

@manuel-uberti Thank you! It seems to work for me if I run it as bundle exec ....

Was just about to create an issue for this, thanks @manuel-uberti. Does anyone know why this doesn't work the regular way though?

The bundle exec command ensures that jekyll is executed in the context of the bundle by using the Gemfile.lock. For some reason, it looks like your global install of Jekyll didn't come with jekyll-paginate, so bundler can't find it without running the jekyll version installed by Pixyll's Gemfile.
[source]
Going to go ahead and close this now since bundle exec fixes the issue. Thanks all!


⚠ ClamAV has degraded performance

In 3a2f815, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 108 ms

Resolved: ClamAV performance has improved in 2524597.


fix: LEAP-246: Replace overlaping MIG hotkeys

We had the same hotkeys:

for the going to next/prev pages in multi-item mode in object tags.
for duplicating selected regions

Sometimes it provided unexpected results. So we had to change the hotkeys for going through pages.
PR fulfills these requirements

[ ] Tests for the changes have been added/updated
[ ] Docs have been added/updated
[ ] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance

What feature flags were used to cover this change?
fflag_fix_leap_246_multi_object_hotkeys_160124_short
This change affects (describe how if yes)

[ ] Performance
[ ] Security
[ ] UX

Does this PR introduce a breaking change?

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[x] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?

[ ] e2e (codecept)
[ ] integration (cypress)
[ ] unit (jest)

Which logical domain(s) does this change affect?
Hotkeys

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

Comparison is base (a3e4f43) 68.69% compared to head (892731b) 68.70%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1666   +/-   ##
=======================================
  Coverage   68.69%   68.70%
=======================================
  Files         443      443
  Lines       28721    28729    +8
  Branches     7636     7636
=======================================
+ Hits        19729    19737    +8
  Misses       7748     7748
  Partials     1244     1244

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


Mobile Footer

Summary
dependent on desktop footer changes - https://github.com/toriis-portal/toriis/pull/239
Create additional components and section for mobile view of footer.
Closes #236
Changes

Add component for mobile view footer header
Create separate mobile and desktop view divs
Fix links to SECS and Hack pages

Screenshots

This is just a general thing but I'm getting hydration errors!

Ah it's fixed up on re-clone!!


Tabbing ?)

Tabbing works fine although the cell with the cursor in it could be more visible (highlighted in a brighter color?)
Give an example
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

see #1277

duplicate of #1277


Message size limit (somewhere between 60kB and 70kB)

In order to rule out the possibility that this issue had anything to do with message content, I generated a file that was 75k of the letter h.   I then sent a message containing that payload from the server to the client.
The server acted as if nothing was wrong, but nothing happened at the client, so I sent it again.
This time, the client received the message.  Then I sent it again.
This time, the client closed the connection:
Closed Connection with code: 26728 Reason: hhhhhhü⌂ ☺%╘ ☺%╘hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

I find that I get this behavior with 70000 h's, but 60000 h's works just fine.
I'm building a cross-platform app and I noticed this behavior while using Visual Studio 2015 on Windows Server 2012.  I haven't tested it out on gcc yet, but I will do so next time I'm in Linux mode.
Here's a gist containing the code I'm using.

Thank you, but I'm unable to reproduce this problem in OS X and Linux using the following changes:
diff --git a/ws_examples.cpp b/ws_examples.cpp
index a4d1c75..e64fdb9 100644
--- a/ws_examples.cpp
+++ b/ws_examples.cpp
@@ -30,7 +30,9 @@ int main() {
         cout << "Server: Sending message \"" << message_str <<  "\" to " << (size_t)connection.get() << endl;

         auto send_stream=make_shared<WsServer::SendStream>();
-        *send_stream << message_str;
+        for(size_t c=0;c<70000;++c)
+            *send_stream << "h";
+        *send_stream << "\nend";
         //server.send is an asynchronous function
         server.send(connection, send_stream, [](const boost::system::error_code& ec){
             if(ec) {
@@ -126,7 +128,7 @@ int main() {
         auto message_str=message->string();

         cout << "Client: Message received: \"" << message_str << "\"" << endl;
-
+        cout << "Client: Message received size: " << message_str.size() << endl;
         cout << "Client: Sending close connection" << endl;
         client.send_close(1000);
     };

Using a web browser did also work (Firefox and Chrome).
Have not tested or looked at your gist though, but take care of potential memory leaks as they can affect streams resulting in strange behaviour. Other than that, I suggest you try on Linux and see if the reported problem occurs there as well.

Run into same issue. When trying to send message >=65536 bytes, server sent it without any issue but client in the browser closed with 1006 error. With messages <=65535 bytes, all working fine.
I have tried it in Opera 39.0.2256.71 and Chrome 53.0.2785.101 m (64-bit)
Server was built with Visual Studio 2015 (v14.0.25425.01 Update3) in Debug x86 mode using boost_1_61_0 from here https://sourceforge.net/projects/boost/files/boost-binaries/
Connection was made with this URL "wss://localhost:8899/ss_control"
OS is Windows 10 x64 with latest updates

I think this is related: https://svn.boost.org/trac/boost/ticket/12383

I made the changes in eidheim's comment, and can confirm that the problem starts at 65536 bytes.  The output of ws_examples.cpp is below

65535 bytes
65536 bytes

for (size_t c = 0; c<65531; ++c)
for (size_t c = 0; c<65532; ++c)

Server: Opened connection 16629184  Client: Opened connection  Client: Sending message: "Hello"  Server: Message received: "Hello" from 16629184  Server: Sending message "Hello" to 16629184  Client: Message received size: 65535  Client: Sending close connection  Server: Closed connection 16629184 with status code 1000  Client: Closed connection with status code 1000
Server: Opened connection 19643840  Client: Opened connection  Client: Sending message: "Hello"  Server: Message received: "Hello" from 19643840  Server: Sending message "Hello" to 19643840

I'll take a look at the boost issue and see if I can get my head around what's going on, but honestly I'm a bit pessimistic because I've never worked with asio directly before (only through eidheim's library--thanks by the way).
I'm at a point in my project where I need to decide whether to implement some kind of framing as a workaround (yuck) or try to contribute to fixing the source bug.  If there's anything I can do to help with the latter, please let me know.

Going to try other versions of boost library, but I'm a little limited by my VS2015 for now and can check only 1.59.0 and 1.62.0_b1. I will update about results here.

I can say that the problem exists in boost 1.60.0

Same as in 1.59 and 1.62. I have checked both.

The boost issue appears to have been created following this stackoverflow post:
http://stackoverflow.com/questions/38833771/boostasio-fails-to-read-more-than-65536-bytes-from-file
Several people in that thread believe the issue comes from the fact that OP is treating the argument to async_read like it's a stream, which it isn't.  In the case of Simple-WebSocket-Server it looks like we're giving async_read an ip::tcp::socket.
I don't doubt that we're up against the same sort of thing, but if the stakoverflow folks are to be believed, the issue won't be resolved by a code change to boost, it will be resolved by a documentation change.  If these are indeed the same issue, then it may be up to us to learn to use boost differently rather than up to boost to isolate and fix the problem.

I already found the issue, going to create pull request soon.

Ok, this is my first pull request, so I'm sorry if I did something wrong.
fixed bug with closing connection on client, when messages larger than 65535 bytes

This issue should be fixed in PR #43. Closing this issue as the PR is merged.


ML result data

How can I get the data of training you have done.

hi,
You can get it in data folder. Otherwise you can get it from https://www.kaggle.com/borismarjanovic/price-volume-data-for-all-us-stocks-etfs
Wish you a happy new year!!
Thanks and Regards,
Sachin


Initial WEMO Maker support added

Awesome, I was just about to start this today. Thanks! Will test shortly.

It's incomplete...but it allows switch activation. I believe it should be treated as a new class of device since combines a switch and a sensor.

On Jan 26, 2015, at 9:23 AM, Ian McCracken<EMAIL_ADDRESS>wrote:
Awesome, I was just about to start this today. Thanks! Will test shortly.
—
Reply to this email directly or view it on GitHub.

Yeah, I need to remove the switch/sensor distinction in the code and instead have them as aspects of a device.

Sorry for the delay. $DAYJOB intervened in a big way. Thanks a lot! It'll be in the 0.7.4 release.

No worries…
I am working on CLI maker functions, should have something soon.

On Jan 31, 2015, at 10:10 AM, Ian McCracken<EMAIL_ADDRESS>wrote:
Sorry for the delay. $DAYJOB intervened in a big way. Thanks a lot! It'll be in the 0.7.4 release.
—
Reply to this email directly or view it on GitHub https://github.com/iancmcc/ouimeaux/pull/66#issuecomment-72323705.


Map types merge instead of update

I'm working on the integration tests for rethinkdb_ecto and this test is failing:
  @tag :map_type
  test "map type on update" do
    post = TestRepo.insert!(%Post{meta: %{"world" => "hello"}})
    assert TestRepo.get!(Post, post.id).meta == %{"world" => "hello"}

    post = TestRepo.update!(Ecto.Changeset.change post, meta: %{hello: "world"})
    assert TestRepo.get!(Post, post.id).meta == %{"hello" => "world"}

    query = from(p in Post, where: p.id == ^post.id)
    TestRepo.update_all(query, set: [meta: %{world: "hello"}])
    assert TestRepo.get!(Post, post.id).meta == %{"world" => "hello"}
  end

The middle assertion is failing, because it looks like a merge is happening instead of an update. It seems that Ecto believes this should be a merge. Is this specified differently in rethinkdb-elixir  or is this just not tested or underspecified?
  1) test map type on update (Ecto.Integration.TypeTest)
     deps/ecto/integration_test/cases/type.exs:163
     Assertion with == failed
     code: TestRepo.get!(Post, post.id()).meta() == %{"hello" => "world"}
     lhs:  %{"hello" => "world", "world" => "hello"}
     rhs:  %{"hello" => "world"}
     stacktrace:
       deps/ecto/integration_test/cases/type.exs:170: (test)

I think this is a bug for the rethinkdb_ecto project.

As near as I can tell the update query is passed correctly directly to the
connection, which seems to be a rethinkdb connection. Are you saying
rethinkdb_ecto should try to emulate the correct behavior?
On Sunday, October 30, 2016, Peter Hamilton<EMAIL_ADDRESS>wrote:

I think this is a bug for the rethinkdb_ecto project.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hamiltop/rethinkdb-elixir/issues/115#issuecomment-257192008,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAveeLyLEcjSM9Ru3Z7O8rYc5uFX-nnks5q5TdcgaJpZM4Kkjn4
.

I'm saying that as it stands there are two possibilities:

There's a bug in the implementation of ReQL update. (It should mirror the ruby spec: https://www.rethinkdb.com/api/ruby/#update)
There's a bug in how RethinkDB.Ecto is using ReQL.

I know of no such bug in ReQL update. If you can find such a bug, I'd be happy to help you fix it. So that leaves the second case. Perhaps RethinkDB.Ecto.update should use replace instead. https://hexdocs.pm/rethinkdb/RethinkDB.Query.html#replace/2

I'm having a hard time parsing what the intended behavior is supposed to be. Replace seems to be for whole documents (this is grafting a change onto a nested value... which has a lot of variants that could be acceptable with regard to replace, merge, etc).
Indeed, if I use replace() here, nothing happens. There is no change in the document.
I'm wondering if the test is even correct (though this is in Ecto...) https://hexdocs.pm/ecto/Ecto.Changeset.html#change/2
When a changeset is passed as the first argument, the changes passed as the second argument are merged over the changes already in the changeset if they differ from the values in the struct. If changes is an empty map, this function is a no-op.

That seems to indicate that a merge is the expected behavior. I'm not sure where to go with this... I can't tell where the issue is. :(
Though I do notice that mongodb_ecto does incorporate this test, so they at least accept the Ecto acceptance test.

Looking at mongodb_ecto, it seems to do about the same amount of work as rethinkdb_ecto is in the update method -- mostly just passing this down to the driver. I wonder if this is related to how rethinkdb handles nested docs (https://www.rethinkdb.com/api/ruby/update/)

Example: Replace all of Bob’s IM records. Normally, update will merge nested documents together; to replace the entire "im" document, use the literal command.
r.table('users').get(10001).update(
    {:contact => {:im => r.literal({:aim => "themoosemeister"})}}
).run(conn)

If this is the case, how and at what level do you think this should be handled?

I think you have the correct information. This is one of the reasons I'm not terribly fond of Ecto for RethinkDB. It just provides a layer for impedence mismatch. ReQL already has semantics for querying and updating and Ecto in this case is causing confusion around update semantics.

Indeed. Closing.


error "The following pattern is redundant. Remove it."

Description
I modified code from http://elm-lang.org/examples/case as below and click the compile. It generated error
Detected errors in 1 module.
==================================== ERRORS ====================================

-- REDUNDANT PATTERN -----------------------------------------------------------

The following pattern is redundant. Remove it.

23|     two -> "two"
        ^^^
Any value with this shape will be handled by a previous pattern.

Source code

import Html exposing (text)
import String

one = "1"
two = "2"
primitiveCount number =
  case number of
    one -> "one"
    two -> "two"
    _ -> "many"

main =
  text (String.join ", " primitiveNumbers)

primitiveNumbers =
  [ primitiveCount "1"
  , primitiveCount "2"
  , primitiveCount "3"
  ]

Browser

Mac Google chrome Version 54.0.2840.98 (64-bit)

Everything on the left-hand side of a pattern match is a new variable. If you want to check equality, you're probably better off using If-then-else expressions.
There's a discussion of this here: https://groups.google.com/forum/#!topic/elm-discuss/H87Ck1XMZR0

@JoeyEremondi thanks.


implement  the functionality of Admin page "is approved"

"Is approved" means that the Company's code (EDRPO) was verified with the specific algorithm AND the User is active (verification of email)

no requirements provided from client side


[FEI-2995] Logging enhancements and fixes

Summary:
Two main changes here.

JSDOM console logging is now passed through to the render-gateway logging at the silly level. This avoids logging things we don't need in production, but supports them being available for devs as needed.
Fixes an issue where we started seeing some double logging  and low level logging in production. Turns out that logging-winston has a fix for a bug we were working around, and this fix meant that our workaround started behaving like the original bug. So, we remove the workaround and now all is well.

Issue: FEI-2995
Test plan:
yarn test
After deployment (staging or otherwise) we should no longer see any TRACE messages for downloading files, and we shouldn't see any JSDOM console warn/info/debug/log output (though these are relatively uncommon now).

Can the changes to the lw.express.makeMiddleware call be tested locally before deploying?

It's really hard to test the Google middleware locally.


Component update (DSC and MDB) to new versions

Updated component versions:

DSC  version 7.1.0 --> 8.0.2
MDB version 5.0.0 -->  5.0.3

Introduced a PostgreSQL database for each connector. Detailed at the docker-compose.yml file.

Modified the documentation accordingly to apply the changes. Files modified:

README.md
InstallationGuide.md

@ssteinbuss, @mokamhuber if you know of anyone else who can review this pull request please assign them to it.

This pull request will require a new release version of the IDS-testbed.


Cherry-pick fix from master onto v2.7.1

We are using registry:2.7.1(latest) that has an issue fixed in master commit branch.
How do you suggest to pick this fix onto registry:v2.7.1?

Cherry pick the fix and build the image privately.
Build a new image from master but we fear this could include any issues from other commits.

Please suggest.
Any idea when is the new latest image from master going to be available?

Closing this as it is very old. If the required fix isn’t available in the current latest release (v2.8.2) please feel free to open a new issue.


Path does not exist

Hi, I am new to start fmriprep and also first time using docker. Anyone could tell me what is the problem. I think the path is right...
C:\Users\99488>docker run poldracklab/fmriprep E:\OPT\research\fMRI\2475376 E:\OPT\research\fMRI\output {participant} --participant-label 2475376 --fs-license-file E:\OPT\research\fMRI\license.txt
You are using fMRIPrep-20.1.1, and a newer version of fMRIPrep is available: 20.1.2.
Please check out our documentation about how and when to upgrade:
https://fmriprep.readthedocs.io/en/latest/faq.html#upgrading
usage: fmriprep [-h] [--version] [--skip_bids_validation]
[--participant-label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]]
[-t TASK_ID] [--echo-idx ECHO_IDX] [--bids-filter-file FILE]
[--anat-derivatives PATH] [--nprocs NPROCS]
[--omp-nthreads OMP_NTHREADS] [--mem MEMORY_GB] [--low-mem]
[--use-plugin FILE] [--anat-only] [--boilerplate_only]
[--md-only-boilerplate] [--error-on-aroma-warnings] [-v]
[--ignore {fieldmaps,slicetiming,sbref} [{fieldmaps,slicetiming,sbref} ...]]
[--longitudinal]
[--output-spaces [OUTPUT_SPACES [OUTPUT_SPACES ...]]]
[--bold2t1w-init {register,header}] [--bold2t1w-dof {6,9,12}]
[--force-bbr] [--force-no-bbr] [--medial-surface-nan]
[--dummy-scans DUMMY_SCANS] [--random-seed RANDOM_SEED]
[--use-aroma]
[--aroma-melodic-dimensionality AROMA_MELODIC_DIM]
[--return-all-components]
[--fd-spike-threshold REGRESSORS_FD_TH]
[--dvars-spike-threshold REGRESSORS_DVARS_TH]
[--skull-strip-template SKULL_STRIP_TEMPLATE]
[--skull-strip-fixed-seed]
[--skull-strip-t1w {auto,skip,force}] [--fmap-bspline]
[--fmap-no-demean] [--use-syn-sdc] [--force-syn]
[--fs-license-file FILE] [--fs-subjects-dir PATH]
[--no-submm-recon] [--cifti-output [{91k,170k}] |
--fs-no-reconall] [-w WORK_DIR] [--clean-workdir]
[--resource-monitor] [--reports-only] [--run-uuid RUN_UUID]
[--write-graph] [--stop-on-first-crash] [--notrack] [--sloppy]
bids_dir output_dir {participant}
fmriprep: error: Path does not exist: <E:\OPT\research\fMRI\2475376>.

Sorry, I try either -v or -w, the license.txt path could not be recognized

Is the fmriprep-docker command not working for you? It was written to help avoid spending a lot of time debugging docker invocations. I see there was something that got at least to the validation stage above...

validation stage error is that after I remove the line --fs-license-file E:\OPT\research\fMRI\license.txt, it would report such error~
If I direclty run fmriprep-docker(F-D) in cmd, theywill say that F-D is not recognized as command as following:
C:\Users\99488>fmriprep-docker -w E:\OPT\research\fMRI\2475376 -w E:\OPT\research\fMRI\output participant --participnat-label 2475376 --fs-license-file E:\OPT\research\fMRI\license.txt
'fmriprep-docker' is not recognized as an internal or external command,
operable program or batch file.
Should I add some file paths into enviroment variables? I do not know whether it work for docker

If I run it by docker run poldracklab/fmriprep instead of run --rm -it, it will report other error...
C:\Users\99488>docker run poldracklab/fmriprep -w E:\OPT\research\fMRI\2475376 -w E:\OPT\research\fMRI\output participant --participnat-label 2475376 --fs-license-file E:\OPT\research\fMRI\license.txt
You are using fMRIPrep-20.1.1, and a newer version of fMRIPrep is available: 20.1.2.
Please check out our documentation about how and when to upgrade:
https://fmriprep.readthedocs.io/en/latest/faq.html#upgrading
usage: fmriprep [-h] [--version] [--skip_bids_validation]
[--participant-label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]]
[-t TASK_ID] [--echo-idx ECHO_IDX] [--bids-filter-file FILE]
[--anat-derivatives PATH] [--nprocs NPROCS]
[--omp-nthreads OMP_NTHREADS] [--mem MEMORY_GB] [--low-mem]
[--use-plugin FILE] [--anat-only] [--boilerplate_only]
[--md-only-boilerplate] [--error-on-aroma-warnings] [-v]
[--ignore {fieldmaps,slicetiming,sbref} [{fieldmaps,slicetiming,sbref} ...]]
[--longitudinal]
[--output-spaces [OUTPUT_SPACES [OUTPUT_SPACES ...]]]
[--bold2t1w-init {register,header}] [--bold2t1w-dof {6,9,12}]
[--force-bbr] [--force-no-bbr] [--medial-surface-nan]
[--dummy-scans DUMMY_SCANS] [--random-seed RANDOM_SEED]
[--use-aroma]
[--aroma-melodic-dimensionality AROMA_MELODIC_DIM]
[--return-all-components]
[--fd-spike-threshold REGRESSORS_FD_TH]
[--dvars-spike-threshold REGRESSORS_DVARS_TH]
[--skull-strip-template SKULL_STRIP_TEMPLATE]
[--skull-strip-fixed-seed]
[--skull-strip-t1w {auto,skip,force}] [--fmap-bspline]
[--fmap-no-demean] [--use-syn-sdc] [--force-syn]
[--fs-license-file FILE] [--fs-subjects-dir PATH]
[--no-submm-recon] [--cifti-output [{91k,170k}] |
--fs-no-reconall] [-w WORK_DIR] [--clean-workdir]
[--resource-monitor] [--reports-only] [--run-uuid RUN_UUID]
[--write-graph] [--stop-on-first-crash] [--notrack] [--sloppy]
bids_dir output_dir {participant}
fmriprep: error: Path does not exist: .

Sorry, I miss the next word on last commnet.
fmriprep: error: Path does not exist: .

Sorry, the text miss the next word on last commnet. I show it in this figure

.

Do you have Python installed? If so, python -m pip install fmriprep-docker.
The issue is that you need to mount any paths, and all Docker options go before the image.
docker run -v E:\OPT\research\fMRI\2475376:/data -v E:\OPT\research\fMRI\output:/out -v E:\OPT\research\fMRI\license.txt:/opt/freesurfer/license.txt poldracklab/fmriprep:latest /data /out participant --participant-label 2475376

omg, it is fixed~ Thx very much. Like u

Sorry to take your time again... Here is a new problem..

And the data structure is shown as following:

These data are dowloaded from http://fcon_1000.projects.nitrc.org/indi/pro/eNKI_RS_TRT/NKI_Rockland_nifti_dl.html shown in the tutorials. Is it completed? Or lack the labels info

That's not a BIDS dataset, so fMRIPrep won't know what to do with it. You will either need to reorganize it into BIDS or find someone who has already done that. I might check on Neurostars.

Get~Thanks for your patient explanation~

Do you have Python installed? If so, python -m pip install fmriprep-docker.
The issue is that you need to mount any paths, and all Docker options go before the image.
docker run -v E:\OPT\research\fMRI\2475376:/data -v E:\OPT\research\fMRI\output:/out -v E:\OPT\research\fMRI\license.txt:/opt/freesurfer/license.txt poldracklab/fmriprep:latest /data /out participant --participant-label 2475376

I have the same question but I don't know why. Can you help me?
docker run -v /home/gzy/tvb-collab-master/input:/data -v /home/gzy/tvb-collab-master/output:/out -v /data/freesurfer/license.txt:/opt/freesurfer/license.txt  nipreps/fmriprep:latest /data /out participant --participant-label CON03
there's an error ERROR: a valid license file is required for FreeSurfer to run. fMRIPrep looked for an existing license file at several paths, in this order: 1) command line argument --fs-license-file; 2) $FS_LICENSE environment variable; and 3) the $FREESURFER_HOME/license.txt path. Get it (for free) by registering at https://surfer.nmr.mgh.harvard.edu/registration.html
Thanks for your reply


import/path: Slow compilation in a sandboxed environment in the absence of a shared build cache location

Go version
go version go1.21.4 linux/amd64
What operating system and processor architecture are you using (go env)?
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/var/tmp/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/root/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/root/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/lib/go-1.21'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/lib/go-1.21/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21.4'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3811157868=/tmp/go-build -gno-record-gcc-switches'

What did you do?
I'm working on a service that runs user-submitted code which consists of a solution and tests. The service runs in a Docker container based on Ubuntu 20.04. The code is compiled and executed in a sandboxed environment, the sandboxing is performed using https://github.com/ioi/isolate. I've noticed that compilation is significantly slower when there is no shared build cache directory. As a workaround, I've changed the cache location to /var/tmp/go-build, and I run go build std during the image build to populate the cache. The cache directory is accessible as read-only to the sandboxes.
What did you expect to see?
I expected compilation time not to be dependent on a shared cache directory because the user-submitted code only references the standard library. I use other compilers for C and C# in sandboxed environment and their performance is acceptable.
What did you see instead?
Compilation is very slow, it can take up to 20s for small files depending on the host VM in the absence of a shared build cache.

you can precompile the standard library and package that if you wish (the go distribution used to do that).
I don't think there's anything concrete to do here.

you can precompile the standard library and package that if you wish (the go distribution used to do that).
I don't think there's anything concrete to do here.

@seankhliao Thanks for the quick reply! Is there some documentation on how to do that? I've found some answers online but they seem to be outdated and didn't work for me.


:horse_racing: Login page: Indicating the user if it is already logged in

In case a user is already logged in and tries to access the login page, instead of seeing the login form - it will get a message indicating that it is already logged in.

Create a test for a user trying this.

+1. please modify login tests have some idea
https://github.com/redhat-beyond/beyond-tutorial/blob/main/msgboard/tests.py#L59

@Yarboa @kasemAlem Rebased to new form design

@Yarboa @kasemAlem Rebased to new form design

@amittcohen
Is there a test some where? to check logout?

@Yarboa @kasemAlem Rebased to new form design

@amittcohen Is there a test some where? to check logout?

There is a test here
https://github.com/redhat-beyond/JobSeeker/blob/main/login/tests.py#L26


fix op.config by add required moniker_ranges

This is a dependency to make moniker_range in docfx.json work: https://github.com/MicrosoftDocs/oufr-dev-docs/blob/live/office-ui-fabric-react/docfx.json#L62

Docs Build status updates of commit d88164e:
:warning: Validation status: warnings

File
Status
Preview URL
Details

office-ui-fabric-react/api/resources/resourcesPage.md
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

office-ui-fabric-react/api/resources/resourcesPage.md

Line 37: [Warning] Link 'https://docs.microsoft.com/en-us/office/dev/add-ins/design/add-in-design' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 67: [Warning] Link 'https://docs.microsoft.com/en-us/javascript/api/office-ui-fabric-react?branch=live&view=office-ui-fabric-react-latest' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 88: [Warning] Link 'http://dev.office.com/docs/add-ins/overview/office-add-ins' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.
Line 89: [Warning] Link 'http://dev.office.com/docs/add-ins/design/add-in-design' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.
Line 7: [Suggestion] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 02/03/2020.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@Vitalius1 you may have more context than me here

@superyyrrzz sorry for the delayed response. We kinda have put this repo into an automatic update state and don't pay much attention to it. Honestly I have no idea why this setting was not set from the very beginning and also have no idea what it breaks currently but you being a member of one of the DOCS team I believe we just should go with the fix and tell you a big THANK YOU!!!.

Docs Build status updates of commit d88164e:
:warning: Validation status: warnings

File
Status
Preview URL
Details

office-ui-fabric-react/api/resources/resourcesPage.md
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

office-ui-fabric-react/api/resources/resourcesPage.md

Line 37: [Warning] Link 'https://docs.microsoft.com/en-us/office/dev/add-ins/design/add-in-design' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 67: [Warning] Link 'https://docs.microsoft.com/en-us/javascript/api/office-ui-fabric-react?branch=live&view=office-ui-fabric-react-latest' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 88: [Warning] Link 'http://dev.office.com/docs/add-ins/overview/office-add-ins' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.
Line 89: [Warning] Link 'http://dev.office.com/docs/add-ins/design/add-in-design' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.
Line 7: [Suggestion] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 02/03/2020.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to use Mask-RCNN Classified nuclei

Mask-RCNN is ofen used in detection and segmentation，but it is rarely used for classification.please tell me how to modify the model so that Mask-RCNN can be used for classification tasks?Thanks

Hi. I am not sure why you are asking about Mask-RCNN, as this is the HoVer-Net repo, but I can answer your question anyway.
In fact Mask-RCNN is purposely built for multi-class segmentation. Have a look at the original paper here and you will see that. The method will produce a set of predicted bounding boxes and then for each box, it will predict the class and produce the segmentation mask. Class prediction is done using a series of fully connected layers and so can easily be adapted to produce as many classes as desired.

I am trying to reproduce the results of Mask-RCNN in the paper. I think I know what to do. Thank you for your answer

Please also take a look at issue #40


installing required tools: maven, git, Intellij, DBeaver

Once all the software is installed:

Can you access Git Bash? It will be helpful if you want to get familiar with Git command lines.
Check you can use maven commands. Run mvn -v in git bash.
If you have your docker running and postgress container running, then use DBeaver to connect to your database.

tools are installed.
have access to Git Bash, confirmed maven version.
postgres container is running and used DBeaver to connect to it.


Impact panel missing "People in poverty" indicator

In #88 we added the impact panel to area page. We couldn't add "People in poverty" indicador because it is not available in the source data. A screen capture of the current implementation is available here.
Here is a sample of the data we currently have:
ID,iso3,country,admin,admin_name,latitude,longitude,livestock_sum,travel_mean,num_f_childbearing,num_elderly,num_under5,totalpop,pct_f_childbearing,pct_elderly,pct_under5,gdppc,hdi,num_rural,pct_rural,aggdp_2010
GBR.1.1_1,GBR,United Kingdom,admin2,Barnsley,53.526238401104465,-1.5335604398156573,0.05224617345755694,2.997076023391813,42904.46138381958,46796.556091308594,11325.894975662231,193412.86735534668,22.182837145469545,24.195161744503736,5.855812558144747,31657.900390625,0.8838732242584229,0,0,19035970
GBR.1.2_1,GBR,United Kingdom,admin2,Bath and North East Somerset,51.35527113461159,-2.4699585008328206,0.2365318889124472,4.931506849315069,49238.47532272339,53937.854862213135,13054.261791706083,222928.26042175293,22.08713925707321,24.19516249764356,5.855812882139314,35399.29296875,0.9229310154914856,3038.181686401367,1.3628517446166313,27229260
GBR.1.3_1,GBR,United Kingdom,admin2,Bedfordshire,52.19593243320624,-0.4891568367051916,0.10827950389955827,7.939226519337017,43769.20471191406,47383.43443870544,11467.933940887451,195838.46855163577,22.34964613215082,24.19516185412372,5.855812714274652,35687.0859375,0.9251638650894164,23032.5496673584,11.760993556424548,35500110
GBR.1.4_1,GBR,United Kingdom,admin2,Birmingham,52.48450048193129,-1.8642054210596777,0.02705473440406327,0.11614173228346455,248915.27709960935,270078.955078125,65365.618896484375,1116251.8432617188,22.299204126935372,24.195163189065543,5.855812851827794,32896.2578125,0.8798869252204895,0,0,4801497
GBR.1.5_1,GBR,United Kingdom,admin2,Blackburn with Darwen,53.695140449491944,-2.469855830543155,0.07229777191152773,2.349809885931559,19258.19396972656,20926.806640625,5064.7918701171875,86491.69921875,22.265944759646597,24.19516188218026,5.855812657013012,32952.99609375,0.8896194100379944,0,0,2056490
GBR.1.6_1,GBR,United Kingdom,admin2,Blackpool,53.82125866974812,-3.031353855787851,0.12850436270086207,0.05084745762711865,68997.56774902344,74975.81481933594,18145.955657958984,308976.123046875,22.331035508059554,24.265892807503867,5.872931370559675,32952.99609375,0.8896194100379944,0,0,1633403
GBR.1.7_1,GBR,United Kingdom,admin2,Bolton,53.57859181539692,-2.4770282211175636,0.04295182112073559,0.7546468401486989,75332.0327758789,82212.26043701172,19897.350311279297,339788.0187988281,22.17030283827615,24.195161656269455,5.85581280399988,32952.99609375,0.8864206671714783,0,0,7018630
GBR.1.8_1,GBR,United Kingdom,admin2,Bournemouth,50.747160578573414,-1.865146250663999,0.03284587945167459,0.41,162608.56475830078,178010.83374023438,43082.91473388672,711801.98974609375,22.844634758088375,25.00847655732635,6.052654439650384,41382.9375,0.9175650676091512,83065.264892578125,11.669715186130382,11038051

@faustoperez @wrynearson Do you have ideas on how we should proceed with the available data?

@vgeorge to confirm, the "People in poverty" data should fill the headline number on the right in the figma designs?

@cameronkruse can you confirm that the final data will have "People in poverty" included? Is there an alternative we could use in the meantime/if not?

@wrynearson yes, the indicator 'People in Poverty' would be the headline number on the right side. One thing is unclear to me, should the headline indicator (population and people in poverty) be an aggregation of all areas or just the producing area?


formatting state not being updated as soon as change triggered

Overview
The formatting state is not being updated as soon as the button is clicked or a keyboard shortcut is used.
For e.g., When I press Ctrl+B or click the B (for bold) on the Rich Text Editor, it doesn't show it is turned on. The button is highlighted, suggesting turned on, only when I input the next letter from my keyboard.
Steps to reproduce

Run npm run storybook:start or navigate to https://typist.doist.dev/
Navigate to Rich-text-> Default from the left menu.
Click on B or Ctrl+B/Cmd+B to toggle bold.
Observation: The icon is not yet highlighted suggesting to the user that it didn't turn on. On all other major platforms the button turns on the moment the change is triggered.
However, the next letter has the updated formatting (in bold) as per expectations.

Questions

Is this a design choice by the team? Because this behaviour is different from other major WYSIWYG editors like MS Word, Google Docs, LibreOffice Writer or even web-based editors (eg Froala https://froala.com/wysiwyg-editor/demo/).

If this is something the team is looking forward to, I can help contribute to a fix.
Thanks!

Thank you for reporting this issue @ayushanand18, but please note that this is not a production a issue, it's only affecting the Storybook editors which are only used for documentation and demonstration purposes.
The way the toolbar detects if a formatting option - like bold - is toggled is exactly how the official Tiptap examples do it (ref), and given that the default examples do not exhibit this issue, I'm wondering if the issue on our examples is because we are using Storybook.

Is this a design choice by the team?

It's not, it's very likely a bug on our Storybook demos.

If this is something the team is looking forward to, I can help contribute to a fix.

If you have a fix in mind, by all means, open a PR and we'll take a look. But it's important to note that for this particular issue/fix, production code (i.e. src/) should not be altered (unless it turns out to be a production issue).

Thanks a ton @rfgamaral for the information! I'll try to ready a fix at earliest.


mouse cursor white traces

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
No
System Info and Version
 System/Version info
Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5  (flake.lock: update).
Date: 2024-06-25
Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5

flags: (if any)

System Information:
System name: Linux
Node name: nixos
Release: 6.6.50
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Sep  8 05:54:49 UTC 2024

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])

os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.4798.f4c846aee8e1"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_END="2024-12-31"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"

plugins:

======Config-Start======

Config File: /home/ghost/.config/hypr/hyprland.conf: Read Succeeded
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/

# Please note not all available settings / options are set here.
# For a full list, see the wiki

# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf

################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,1600x900@59,auto,auto

###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = foot
$fileManager = thunar
$menu = rofi -show drun

#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

# exec-once = $terminal
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox
exec-once = nm-applet -d & waybar & wpaperd -d

#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,12
env = HYPRCURSOR_SIZE,12

#####################
### LOOK AND FEEL ###
#####################
cursor {
    no_hardware_cursors = true
}
# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general {
    gaps_in = 5
    gaps_out = 10

    border_size = 2

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    layout = dwindle
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 10

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 1.0

    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = true
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = true

    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
    new_status = master
}

# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}

#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us,ara
    kb_variant =
    kb_model =
    kb_options =grp:toggle
    kb_rules =

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = false
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = false
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = epic-mouse-v1
    sensitivity = -0.5
}

###################
### KEYBINDINGS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, space, togglefloating

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-

# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v1
# windowrule = float, ^(kitty)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

#env = LIBVA_DRIVER_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = XDG_SESSION_TYPE,wayland
#env = GBM_BACKEND,nvidia-drm
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = NVD_BACKEND,direct

Description
when i move around the mouse it keeps white traces behind it and it does that over wallpaper wayland apps and xwayland apps ,if i screenshot or screenrecord it wont capture the traces
How to reproduce
no idea
Crash reports, logs, images, videos
here what happenes i took this with phone to show them

very old hyprland version


Remove nested require in csrf to accomodate npmv3

Fixes https://github.com/balderdashy/sails/issues/3176

Thanks for the PR @calling.  We ended up just making connect a direct dependency of Sails!


Update Grafana to 6.2.5

Hi, @andyone.
Please, upgrade Grafana to 6.2.5 (current latest version). This version includes important bugfix with PostgreSQL migration which fixes upgrade process.

Looks good, merged. Thanks!


Tests are brittle to current date

🤔 What's the problem you've observed?
Test data for comparison with actual output contains "today's date" for the "1.0.0" release.
See https://github.com/cucumber/polyglot-release/runs/5878121439?check_suite_focus=true
✨ Do you have a proposal for making it better?
Options I can see:

normalise the output before comparison, doing some kind of date substitution
allow a --release-date=<date> option that we can use to inject the date in tests (we can pass this to changelog; it supports it.

This text was originally generated from a template, then edited by hand. You can modify the template here.

Lol, gotta sed those out then or normalize them.


Best way to flexible configure an Ansible operator

Hi everybody,
I am looking for best-practice advise to create a flexible ansible operator. I am working on an operator that can create certain resources in K8s via Crs - bit surprise ;) In the playbooks I am using some variables that I don't want the users to re-specify everytime in the CR, i.e. a cloud project or a certain command. Currently I am using the defaults/main.yml for general best practice variables and vars/main.yml for special variables (overwriting those in defaults/main.yml) based on my use case.
However, since I am planning to share the operator later with other people, I feel like it would be bad practice to hardcode my requirements in the playbooks themselves (using vars/main.yml).
Hence, I thought about using a configmap instead of vars/main.yml. I am not sure though, how to best integrate it into my operator. Should I use the operator.yml and create environment variables from the configmap, or should I create an entry in the watches.yml and let it watch for changes in configmaps? For the latter, I would receive any change on any configmap though, so that seems sub-optimal.
Any advice is appreciated,
stiller-leser

/cc @fabianvf
/triage support

@stiller-leser ideally the configuration you'd like to expose to the user is done via a CR, and any variables specified in the CR are passed as extra_vars (which I believe have top precedence), so  you could continue the pattern you have (with defaults/ and vars/)  and anything the user chooses to set would clobber what you have in defaults/vars.
If that doesn't work for your use case, you could also have the user just specify a configmap in the CR, and manually inject an ownerReference into it when you run the main reconciliation (this should cause the operator to begin watching that specific configmap, as long as the operator is configured to watch dependent resources).
I think those are your two best options if you are trying to use variables that can be set before the initial run. If the intention is instead to allow users to modify the variables after the CR has already been created, you could also have your operator create a configmap if it doesn't already exist, which will cause the operator to set up a dependent watch. You could then report the configmap to the user via the CR status, and they could then edit it to their heart's content (just remember to skip modifying that resource on subsequent reconciliations, to avoid clobbering the user's changes)

Closing because I believe the question has been answered, feel free to reopen (or ask on #kubernetes-operators in the kubernetes slack) if you have additional questions.

Just as reference if somebody stumbles over this issue. This is what I ended up doing:
- name: 'Reading defaults from configmap'
  community.kubernetes.k8s_info:
    api_version: v1
    kind: ConfigMap
    namespace: '{{ meta.namespace }}'
    name: 'my-cr-defaults'
  register: cm

- name: 'Setting cm config'
  set_fact:
    cm_config: "{{ cm.resources[0].data.config | from_yaml }}"
  when: cm.resources[0].data.config is defined

- name: 'Overwrite defaults'
  set_fact: "{{ item.key }}={{ item.value }}"
  with_dict: "{{ cm_config }}"
  when: "cm_config is defined and {{ item.key }} is undefined"

This is run before any of the variables are accessed and the check for {{ item.key }} is undefined when setting the variable makes sure that the defaults are overwritable by a configuration in the CR during runtime. The drawback here is that the configmap needs to be deployed together with the operator and isn't automatically removed when the operator is removed, which is fine in our case.


Support SDK dependency injection for v2 apps

Summary
SDK 47 ships with the new dependency-injection framework used in app_v2.
As wasmd has a dependency to the ibc (core and other) keepers, we can not update our module to be used with the dependency-injection framework.
There is no workaround AFAIK
Proposal
Please make the modules compatible to work with app v1 + v2.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

Thank you, @alpe, for opening this issue. How pressing is your need to have ibc-go compatible with app v2? Having also app v1 is blocking any urges development on your side?

The v1 app is working with our sdk v47 integration. But as v2 had become the "preferred" setup (in build tags) we were eager to provide a fully compatible module with our official release.
This is not possible due to our dependency on ibc-go in the wasmd module. We set the new goal for v2 support in the v0.41 release.
Therefore it is not super urgent but blocking the integration work on our side.

Thanks for the information, @alpe. What is your timeline for v0.41?
And If I understand correctly, then you would like to have this available in the v7 release line, right?

v7.x would be nice to have a small change set only.
We don't have a strict release schedule for v0.41 but target middle of April. As the work on our side had started already, it would be great to not have this pending for too long.
In https://github.com/CosmWasm/wasmd/pull/1287 we have a mixed v2 with v1 legacy module setup in /app. That could be some template for your test setup before adding full v2 support to the module.

### Tasks
- [ ] Add a draft title or issue reference here

[ ] Add buf pulsar generation (in progress, branch here -previous PR).
[ ] Add depinject support to code module (in progress, branch here - previous PR)
[ ] Add depinject support to transfer module.
[ ] Add depinject support to 29-fee module.
[ ] Add depinject support to 27-interchain-accounts module.
[ ] Add depinject support to 06-solomachine module.
[ ] Add depinject support to 07-tendermint module.
[ ] Add depinject support to 08-wasm module.

All the branches to add support to a module will need to branch off carlos/add-buf-gen-pulsar.
Do we need also to add support in the mock module?


Feature Request

Consider an integration option that auto-generates the javascript based virtual stylesheets of the form used in PowerCSS https://github.com/mmikowski/powercss.
This would allow for CSS to be compiled in Real-Time.

@nueverest could you please be more specific? I watched the video and it does not say how styles are created, and the example page does not explain much either. All these do is showing style sheets swapping—which is not new. It is not clear how the styling itself (the rules) is created.
Also, compiling CSS in real-time requires JS on the client (extra asset) and some unnecessary computation that can only hurt performance. Lastly, I don't think it is a good idea to rely 100% on JS for styling... Or am I missing something here?

In PowerCSS the CSS is generated from a javascript file that contains a virtual stylesheet definition.  https://github.com/mmikowski/powercss#3-add-virtual-stylesheets. If it was combined with the Atomizer no CSS file would be necessary (unless you want to have some non-atomic class selector definitions).  A single web page normally does not require that much CSS class selector compilation (generally we would be talking about milliseconds on the client).
Each HTML file has a JS file with a virtual stylesheet used to auto-generate CSS.  It is a novel concept, and I can understand the difficulty in immediately seeing the benefit.
The great benefit is flexibility.  The style on the page could morph as the user interacted with it.  In-browser HTML/CSS editors could become more powerful. There would also no longer be a need to download a CSS resources reducing the performance hit of the HTTP Request/Response cycle.

There would also no longer be a need to download a CSS resources reducing the performance hit of the HTTP Request/Response cycle.

What about the JS needed to build those styles sheets on the fly? What about the JSON files that contain the styles? I'm sorry but I have a hard time seeing the gain here. I looked at the example page to see if it does make more sense in term of assets to download but I see that page loads more than 110Kb of JS (80Kb+ if we ignore JQuery). That's a lot of JS. Is there other pages we could check that demonstrate all the gain you're talking about? I'm sorry but I'm still not seeing the benefits...
For example, Atomizer writes only the styles needed for the page which would correspond more or less to the JSON file needed by PowerCSS to make things work, so why would we want to add JavaScript on the client to write that same style sheet on the fly? And failing to style the document if there was no script support...

You make some good points about the JS asset downloads and the no script support case in particular.


Performence doesn't change

the val acc doesn't change for several epoch when I train the model. What's wrong with it?
 It seems that the training loss does not change after all these iterations. Manually dropping your learning rate might help, but i'm not sure. Such situations didn't occur in my machine.


Documentation on dependents

We should add documentation on dependents validation.

It is not clear how the dependents work so we need to describe it in the README.md file.

Feel free to take this task :)

Ok, I'll give it a go.