Templates not rendering because of navbar_title

I've been trying to follow the code, but a bit lost. I'm sure I'm setting the navbar_title in the configuration but the 'head' template fails to render all the time because of missing navbar_title in the context

Hi Andres
I couldn't reproduce the issue and it works in the tests and in the example. Can you share what you did and where it's failing for you?

sure, so here's my config function:
`fn create_actix_admin_builder() -> ActixAdminBuilder {
let configuration = ActixAdminConfiguration {
enable_auth: false,
user_is_logged_in: None,
login_link: None,
logout_link: None,
file_upload_directory: "./file_uploads",
navbar_title: "OpenSun"
};
let mut admin_builder = ActixAdminBuilder::new(configuration);

let unit_view_model = ActixAdminViewModel::from(entities::unit::Entity);
admin_builder.add_entity::<entities::unit::Entity>(&unit_view_model);

let user_view_model = ActixAdminViewModel::from(entities::auth_user::Entity);
admin_builder.add_entity::<entities::auth_user::Entity>(&user_view_model);

admin_builder

}`
And this is my "main":
`env_logger::init_from_env(env_logger::Env::new().default_filter_or("debug"));
let server = HttpServer::new(move || {
    let actix_admin_builder = create_actix_admin_builder();

    App::new()
        .app_data(Data::new(conn.clone()))
        .app_data(Data::new(redis_pool.clone()))
        .app_data(Data::new(actix_admin_builder.get_actix_admin()))
        .service(actix_admin_builder.get_scope())
        .service(get_asset_availability)
        .service(create_reservation)
        .wrap(Logger::default())
})
.bind(("<IP_ADDRESS>", 8080))?
.run();`

Let me know if you think it could have something to do with the Sea ORM entities too.

thanks for the code example! Looks good to me...
I have published 0.5.0, can you try whether this fixes the issue for you?
actix-admin = "0.5.0"

I took your code example it works for me in the example below. Do you spot any differences (besides no redis pool) ?
https://github.com/mgugger/actix-admin-example

Awesome, it works now well thanks. Not sure what it was, but pulled the latest changes and now works fine. I'll be closing the issue.


SD-Card (GPIO_NUM_4) interferes with DAC Output

Hi there
When starting the implementation of the SD-Card with SD.begin(GPIO_NUM_4, SPI, 25000000), the DAC Output of G25 and G26
aren't giving any signals out.
I tested it with an Oscilloscope which is able to detect Frequency's.
The DAC Output normally works when the SD-Card isn't implemented, so it seems that GPIO_NUM_4 interferes with DAC in some way.
Is there a way to set the GPIO_NUM_4 back to it's origin settings after the Data has been downloaded and loaded from the SD-Card, or is there another solution to it?
The settings of Speaker_Class Config is:
struct speaker_config_t
  {
    /// i2s_data_out (for spk)
    int pin_data_out = I2S_PIN_NO_CHANGE;

    /// i2s_bck
    int pin_bck = I2S_PIN_NO_CHANGE;

    /// i2s_ws (lrck)
    int pin_ws = I2S_PIN_NO_CHANGE;

    /// output sampling rate (Hz)
    uint32_t sample_rate = 254000;

    /// use stereo output
    bool stereo = false;

    /// use single gpio buzzer, ( need only pin_data_out )
    bool buzzer = false;

    /// use DAC speaker, ( need only pin_data_out ) ( only GPIO_NUM_25 or GPIO_NUM_26 )
    bool use_dac = true;

    /// Zero level reference value when using DAC ( 0=Dynamic change )
    uint8_t dac_zero_level = 0;

    /// multiplier for output value
    uint8_t magnification = 128;

    /// for I2S dma_buf_len
    size_t dma_buf_len = 128;

    /// for I2S dma_buf_count
    size_t dma_buf_count = 8;

    /// background task priority
    UBaseType_t task_priority = 2;

    /// background task pinned core
    BaseType_t task_pinned_core = -1;

    /// I2S port
    i2s_port_t i2s_port = i2s_port_t::I2S_NUM_0;
  };

Please set this up.
config.pin_data_out = 25;

and, perhaps magnification = 128 is too big...

@FateEscape
... I have a few concerns that I would like to confirm.
Are you using Core2?
And do you want to use a DAC to output to external speakers instead of the built-in speakers?

@lovyan03
Sorry for taking a bit long to respond back, i was testing and trying to find where the issue was.

and, perhaps magnification = 128 is too big...

With that i wanted to see how the magnification influences the sin_waves when using the Oscilloscope

@FateEscape ... I have a few concerns that I would like to confirm. Are you using Core2? And do you want to use a DAC to output to external speakers instead of the built-in speakers?

I use the Core2 and use DAC to detect Sin-Waves in a Oscilloscope, that might count as an external speaker
It actually works now!
After testing and searching for the issue i found out that a code i used to play a mp3 file was interfering with DAC and probably also the build-in speakers.
The issue was:
file = new AudioFileSourceSD("/sounds/DE/success.mp3");
    id3 = new AudioFileSourceID3(file);
    out = new AudioOutputI2S(0, 0); // Output to builtInDAC
    out->SetPinout(12, 0, 2);
    out->SetOutputModeMono(true);
    out->SetGain((float)OUTPUT_GAIN / 100.0);
    mp3 = new AudioGeneratorMP3();
    mp3->begin(id3, out);

Deleting that solved it. Question now would be how to play mp3 files and still use DAC afterwards, but since that isn't mandatory in my case it's fine how it is now.
Setting the Data pin to 25 manually wasn't actually mandatory, so that issue went on my side, sorry for that.
https://user-images.githubusercontent.com/69121451/187642439-3099af76-1dd7-4c3e-881d-4b5eaa71e5e6.mp4
The Data from the SD-Card is loaded and the Sin-Waves are created and outputted perfectly, the quality of the waves are awesome!
Code to create those waves:
M5.Speaker.setVolume(100);
M5.Speaker.tone(1000, 0, 0, false, sin_wav, sizeof(sin_wav));
M5.Speaker.tone(1001, 0, 1, false, sin_wav, sizeof(sin_wav));
M5.Speaker.tone(1002, 0, 2, false, sin_wav, sizeof(sin_wav));

What would be the limit of the sample_rate? It's currently on 254'000.

@FateEscape
I do not know what the performance limits of the ESP32's DAC are, but it can operate up to at least 1 MHz.
BTW, Perhaps you are editing the contents of the library directly?
Instead of rewriting the library, you can do the configuration on the user code side.
Try the following
#include <M5Unified.h>

// pseudo sin wave data
static constexpr uint8_t sin_wav[] = { 177, 245, 245, 177, 79, 11, 11, 79 };

void setup(void)
{
  M5.begin();

  { /// I2S custom setting
    auto spk_cfg = M5.Speaker.config();

//  spk_cfg.sample_rate =  22050;
    spk_cfg.sample_rate = 1000000;

    spk_cfg.dac_zero_level = 128;
    spk_cfg.pin_data_out = 25;
    spk_cfg.use_dac = true;
    spk_cfg.i2s_port = I2S_NUM_0;

    // if you set `stereo = 1`, you can stereo output with GPIO25 and GPIO26.
    spk_cfg.stereo = 1;

    M5.Speaker.config(spk_cfg);
  }
  M5.Speaker.setVolume(64);
}

void loop(void)
{
  M5.Speaker.tone(1000, 0, 0, false, sin_wav, sizeof(sin_wav));
  M5.Speaker.tone(1001, 0, 1, false, sin_wav, sizeof(sin_wav));
  M5.Speaker.tone(1002, 0, 2, false, sin_wav, sizeof(sin_wav));
}

@FateEscape I do not know what the performance limits of the ESP32's DAC are, but it can operate up to at least 1 MHz.
BTW, Perhaps you are editing the contents of the library directly? Instead of rewriting the library, you can do the configuration on the user code side.

Yes, i tried editing the config directly and also by user code.
Putting the Sample-Rate up to 1Mhz made the quality of the Sine waves even better.
Of course i'ts not directly comparable with a Waveform Signal Generator, but for getting those things running on a device like the M5 Core2 is truly amazing.
Your work on the Library is very much appreciated, thanks for your help!


recent-posts ID should be CLASS

Prerequisites:

Hugo Static Site Generator v0.32.1 linux/amd64 BuildDate: 2018-01-02T23:03:31+01:00
Using Hugo-Imperfect-Future ref: 3b30bf0b62ea4341d0f72504d9ecb6a6eeda22fb

Expected Behaviour
Output HTML is valid. Elements with an ID should only appear once. For elements that appear more than once should use CLASS.
Current Behavior
recent-posts section appears in the HTML code twice, with an ID rather than class. This causes HTML validation to fail. The section appears twice on all rendered pages.

Recent Posts

Home

  <time class="published" datetime=
  '2017-11-12'>
  November 12, 2017</time>

Possible Solution

With CSS updated to match.
Steps to Reproduce or Template with Error (for bugs)

Goto: https://themes.gohugo.io/theme/future-imperfect/
View source
Search "recent-posts"

Context
Attempting to use Hugo with CI. For the testing stage trying to use HTML proofer. So far this theme as a few failures, this being one of them. I really like the theme, so would like to try and get them resolved. I am happy to submit a PR if it helps?
Your Environment
https://gitlab.com/rlees85-hugo/bitservices/

Closed by #105.


How to run the sample program

After compilation, there is no website running

If you run the "app" then it compiles your static content into a website and that's it. You'll have a folder of HTML files that you can open.
But Saga also ships with a development server, see https://loopwerk.github.io/Saga/documentation/saga/gettingstarted/#Development-server.

Closing this, but please let me know if this didn't answer your question.


Add Phaser.GameObjects.Components.Transform#copyPosition

This PR

Adds a new feature

For me this gives shorter code and fewer mistakes.

👍


implement some runtime flags

Signed-off-by: fahed dorgaa<EMAIL_ADDRESS>

[x]   nerdctl run --sysctl

[x]   nerdctl run --cpuset-cpus

[x]   nerdctl run --cpu-shares

Thanks, could you also update README to add the new flags?
Would be great if we can had integration tests as well

Done. Can you review plz ?


StandardScaler params not being moved properly with Spark/MLeap Runtime

When storing an MLeap StandardScalerModel, we accidentally try to store the mean as the stddev.
https://github.com/combust/mleap/blob/master/mleap-runtime/src/main/scala/ml/combust/mleap/bundle/ops/feature/StandardScalerOp.scala#L23
When loading the Spark StandardScalerModel, we may be relying on default values for withMean and withStd:
https://github.com/combust/mleap/blob/master/mleap-spark/src/main/scala/org/apache/spark/ml/bundle/ops/feature/StandardScalerOp.scala#L51-L53
It may be better to do something like this:
model.copy(ParamMap.empty).
      setInputCol(node.shape.standardInput.name).
      setOutputCol(node.shape.standardOutput.name)

This issue has been fixed for a while, closing.


Fix #2: Package SDK and upload to PyPI via Github Actions

This action builds a new package and uploads it to PyPI when a new release is published (https://github.com/community-phone-company/shipbob-sdk-python/releases)
Requires an actions secret named TOKEN_PYPI with a PyPI token to authenticate when uploading packages.

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


Add Resource Prioritization article for Loading Performance section.

New article for the Loading Performance section, dealing with <link rel="preload">, <link rel="preconnect"> and <link rel="prefetch">.
This content has been reviewed for accuracy, but not for wording/grammar.
Let me know if you find anything odd! Thanks!

Whoops!
There were 3 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/performance/resource-prioritization/index.md#L71 - '

Reviewed the Google doc draft. LGTM.

Whoops!
There were 3 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/performance/resource-prioritization.md#L71 - '

The bot issues should be safe to ignore. The script one is because I talk about <script> tags, and the other two are about long links that I can't break into multiple lines.

Any chance I could get a tech writer review? Thanks!

Thanks so much for the thorough review, @Meggin! I think I addressed everything.

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/performance/resource-prioritization.md#L70 - '

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/performance/resource-prioritization.md#L70 - '


[RFC] Deprecation

Currently, when we want to deprecate a feature, we add LOG(WARNING) or warning at python side. However, they do slowly creep back into the master's CI.
For example, I once removed all deprecation warning at build_module.py:186, but it got reintroduced to the CI.

I proposed that we add a deprecate(msg, version, ci_count) to battle this.
msg is the warning messaged print.
version is the version number that this feature will go completely unsupported. If the current version is greater or equal then version, it will be an error rather than a warning.
ci_count is the number of time this function could be called. after it got exceed it will fail the ci. this will stop pr that add more deprecated used to pass the ci.

It is a bit harder to build into the CI infra, but would be great if we could work to fix deprecation warnings as much as we can

Close this RFC for now as it has been inactive


[bug] [UI|Session][Init|Destroy]Listener not called

Version 1.1.27
The SessionInitListeners are not called when a new session is created.
#42 should fix this
Also [ ] SessionDestroyListener, UIInitListener and UIDestroyListener should be invoked.

[x] SessionInitListener
[x] SessionDestroyListener
[x] UIInitListener
[x] UIDestroyListener

Excellent, thank you for letting me know.
I'll also add tests for this.

In fact, none of the uiInitListeners nor sessionDestroyListeners are invoked. I'll add tests for that too.

I have actually revisited the MockVaadin.tearDown() and noticed that the session/ui/service was not closed properly. Karibu-Testing will now try to close all of those objects properly like Vaadin would, but that could bring incompatibilities.
Could you please try to build the newest Karibu-Testing 1.1.x from sources and try it out with your project, to see whether there are any issues?

yes, works for me. thanks!

Do we see a release soon?

Not sure... but since this functionality could potentially be breaking, maybe we should release and gather feedback on the feature.

actually found something:
I used
 new VaadinServletService{
...
}

at some point, had to replace this with MockService now... this is rather unfortunate...

Actually I've dropped the custom listeners from MockService and I'm looking up listeners from VaadinService's private fields :) So you can revert the code back to VaadinServletService

Then we need to fix https://github.com/mvysny/karibu-testing/blob/master/karibu-testing-v10/src/main/kotlin/com/github/mvysny/kaributesting/v10/MockVaadin.kt#L261 as well ;)

Oh damn :-D

Fixed in 7c28d4f517617e11786418960cfb650f7e2b5e11

Okay, I've released 1.1.29; it will take a bit of time until in appears in Maven Central though.


Get a pointer to the native object in a C++ Node.js module

If an object form the nodobjc bridge was passed to a node.js C++ addon, how would it extract the raw pointer to the native object from a nodobjc wrapper?
console.log-ing gives us the pointer:
<NSView: 0x7fc338dcfee0>

The question is how to do it from a C++ node.js addon.
E.g.
var view = $.NSView('alloc')('init');
require("some-native-addon").create(view); // how would some-native-addon extract the raw pointer?

The instance of NSView seems to have a pointer property, which is a Buffer, for which there's information on how to get the raw address in C++ for. But sources that mention .pointer also say "TODO get rid of this" so there's still no stable way to do this.

I honestly don't remember why that TODO is there...


ruby - generate map

-Closes https://github.com/appwrite/appwrite/issues/4134

@Meldiron please add review

Thank you so much for the PR 🤩. We're adding the hacktoberfest-accepted label to ensure this PR counts towards your Hacktoberfest contributions count. With that said, please stay active on this PR to address any comments once you receive a review. Happy Hacktoberfest! 🎃

@Shivansh-yadav13 have you had a chance to address my comments? Also, it looks like there's a merge conflict now.

Hey there 👋
We are temporarily closing your PR as there has been no activity on it. Feel free to re-open it when you're ready to start working on it again 😇


Minimize and uglify javascripts in dashboard

Use sbt-uglify to minimize and uglify javascripts in dashboard.

Can the js file in webjar be compressed by sbt-uglify?
If not, I think we may not want to resolve this jira, since most of the network is caused by library js in web jars.

The idea is to uglify and minimize js/css code partials of the angular application as majorly two files. The benefit is to reduce the number of HTTP requests of loading the dashboard. There are dozen of plugins at https://github.com/sbt/sbt-web. sbt-uglify is one of them.

Using scalajs #952 and dashing will reduce the number of css and js. So I close this issue.


Question about the conversion into byte

Dear authors,
I really liked your work and was trying to understand the implementation. I have a quick question:
why do we convert the image into byte string using .tobytes()( in https://github.com/google-deepmind/language_modeling_is_compression/blob/a93a5d1679055c7f1101fa1b2db5bbe20d6169bb/data_loaders.py#L112)
and convert it back to integer before encoding  (in https://github.com/google-deepmind/language_modeling_is_compression/blob/a93a5d1679055c7f1101fa1b2db5bbe20d6169bb/compressors/language_model.py#L86? )

We convert bytes to integers as this is what we must pass the transformer model. Each integer is converted into an embedding, which is then passed to attention+MLP blocks. This is standard transformer decoder-only training.
Can you be more specific if I misunderstood your question?

Yeah, makes sense! Thanks for the prompt reply!


chore: bdd-spring-1585995800 to 0.0.1

chore: Promote bdd-spring-1585995800 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


unselect tiles when document header is clicked

This PR unselects tiles when the document header is clicked.  If a teacher user is adding comments, this effectively selects the document for commenting.  This change applies to all document types (original request was for learning log).  Changes include:

unselect tiles when document header is clicked

PT Story:
https://www.pivotaltracker.com/story/show/179660736
Deployed branch for testing:
https://collaborative-learning.concord.org/branch/document-selection-via-header/?appMode=demo&demoName=CLUE&fakeClass=1&fakeUser=teacher:2&unit=sas&problem=0.1&chat

👍 Looks good!
I would be remiss in not pointing out, however, that your efficiency is slipping. This took an entire 37 characters to fix by my count, well above your recent average. 😉

This streak of one-liners might be over, sadly.  I'm going to check with Michael and see if he thinks this behavior should be limited to clicks on the reference doc header or if it should also include clicks on the primary doc title bar as well.


Disable VSync, enable Adaptive VSync

What config to change
As said by the title, disable VSync and and enable Adaptive VSync (Extras tab)
Why should it be changed
People are constantly reporting that they are getting no FPS improvements while using FO and most of the times it's because of that. Some examples are:

https://discord.com/channels/859124104644788234/859124571005648946/1004097034887901194
https://discord.com/channels/859124104644788234/859124571005648946/1002938224987078697
https://discord.com/channels/859124104644788234/893444857929023558/1003833242522234922

(from the Discord server: https://discord.gg/yxaXtaQqdB)
Doing this will improve frame rates while having stability
Category
Vanilla option
Additional details
Enabling Adaptive VSync is a solution to potential drawbacks of disabling VSync itself. See:
https://www.intel.com/content/www/us/en/developer/articles/technical/enabling-intel-adaptive-sync-with-11th-generation-intel-processor-graphics-and-microsoft.html

I get the idea, but what to do for people who don't have Adaptive Vsync?

I get the idea, but what to do for people who don't have Adaptive Vsync?

Which people dont' have Adaptive VSync?

I don't, for example.

I don't, for example.

I mean, is it something with the hardware?

Yes, it is available only when supported by the hardware.

It is a hardware thing, more specifically if your monitor supports it

What config to change
As said by the title, disable VSync and and enable Adaptive VSync (Extras tab)
Why should it be changed
People are constantly reporting that they are getting no FPS improvements while using FO and most of the times it's because of that. Some examples are:

https://discord.com/channels/859124104644788234/859124571005648946/1004097034887901194
https://discord.com/channels/859124104644788234/859124571005648946/1002938224987078697
https://discord.com/channels/859124104644788234/893444857929023558/1003833242522234922

(from the Discord server: https://discord.gg/yxaXtaQqdB)
Doing this will improve frame rates while having stability
Category
Vanilla option
Additional details
Enabling Adaptive VSync is a solution to potential drawbacks of disabling VSync itself. See:
https://www.intel.com/content/www/us/en/developer/articles/technical/enabling-intel-adaptive-sync-with-11th-generation-intel-processor-graphics-and-microsoft.html

I say no to this but inform people that if they can do it they should do it

We should do multiple really simple polls to get some ideas of numbers
1st : Do you have access to adaptive sync ?
If it's greyed out under the extra tab, the response is not.
2nd : If you don't have access to A-sync, do you have tearing with Vsync disabled ?

Can't you turn on both? A-sync will override vsync? Internally it's the same glfw property

Can't you turn on both? A-sync will override vsync? Internally it's the same glfw property

Are you sure it will Override ? Maybe we should ask @FlashyReese to be sure

Adaptive Sync needs V-Sync on to work

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

ok so it's confirmed either A-sync or Vsync need to be enabled, not both at same time.
Could you make it so that A-sync override Vsync ? I actually don't know if this is in your power or if it's a thing just that you couldn't even control.

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

ok so it's confirmed either A-sync or Vsync need to be enabled, not both at same time. Could you make it so that A-sync override Vsync ? I actually don't know if this is in your power or if it's a thing just that you couldn't even control.

I'm so sorry, my brain is on autopilot and just typing out random stuff. It needs Vsync to work if not it just fallbacks to whatever state vsync is in. Adaptive Sync should not be enabled by default. Not all machines support it. I need to add another layer of checks to prevent it from being enabled via config.

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

ok so it's confirmed either A-sync or Vsync need to be enabled, not both at same time. Could you make it so that A-sync override Vsync ? I actually don't know if this is in your power or if it's a thing just that you couldn't even control.

I'm so sorry, my brain is on autopilot and just typing out random stuff. It needs Vsync to work if not it just fallbacks to whatever state vsync is in. Adaptive Sync should not be enabled by default. Not all machines support it. I need to add another layer of checks to prevent it from being enabled via config.

Well if it's enabled via config but not available it'll simply disable itself right ?

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

ok so it's confirmed either A-sync or Vsync need to be enabled, not both at same time. Could you make it so that A-sync override Vsync ? I actually don't know if this is in your power or if it's a thing just that you couldn't even control.

I'm so sorry, my brain is on autopilot and just typing out random stuff. It needs Vsync to work if not it just fallbacks to whatever state vsync is in. Adaptive Sync should not be enabled by default. Not all machines support it. I need to add another layer of checks to prevent it from being enabled via config.

Well if it's enabled via config but not available it'll simply disable itself right ?

Nope, this check is only done via the GUI. The feature was directly picked from https://github.com/CaffeineMC/sodium-fabric/pull/1194.

OK i ran Quick Tests on my High-end PC which has a 240Hz panel which support A-sync
Type of sync : MAX / Avg / min
A-sync : 210 / 205 / 200
Vsync : 220 / 200 / 170
No sync : 240 / 237 / 233

Adaptive Sync needs V-Sync on to work

Could add that smth like "Require Vsync enabled to work !" in Adaptive sync tooltip ?

Sorry, my bad. It overrides.

ok so it's confirmed either A-sync or Vsync need to be enabled, not both at same time. Could you make it so that A-sync override Vsync ? I actually don't know if this is in your power or if it's a thing just that you couldn't even control.

I'm so sorry, my brain is on autopilot and just typing out random stuff. It needs Vsync to work if not it just fallbacks to whatever state vsync is in. Adaptive Sync should not be enabled by default. Not all machines support it. I need to add another layer of checks to prevent it from being enabled via config.

Well if it's enabled via config but not available it'll simply disable itself right ?

Nope, this check is only done via the GUI. The feature was directly picked from CaffeineMC/sodium-fabric#1194.

Should i make an issue in sodium-extra to add the requirement to A-sync tooltip ?

Should i make an issue in sodium-extra to add the requirement to A-sync tooltip ?
Should i also make another issue to add this behavior of disabling A-sync tautomatically if it's unsupported ?
If this behavior is added it would mean that FO can just enable A-sync and Vsync and people who can't use A-sync fall back to Vsync.

That won't be necessary, I've already pushed a fix for machines that don't support it and has it enabled via config. This will be available in the next release. I might replace that VSync control to cycle between None, VSync and Adaptive Sync.

Should i make an issue in sodium-extra to add the requirement to A-sync tooltip ?
Should i also make another issue to add this behavior of disabling A-sync tautomatically if it's unsupported ?
If this behavior is added it would mean that FO can just enable A-sync and Vsync and people who can't use A-sync fall back to Vsync.

That won't be necessary, I've already pushed a fix for machines that don't support it and has it enabled via config. This will be available in the next release. I might replace that VSync control to cycle between None, VSync and Adaptive Sync.

That would fix both problems at the same time
If you don't have A-sync but is on it on the config could it go back to Vsync automatically ?

Note that the VESA Adaptive Sync standard for variable refresh rate displays (or proprietary technologies G-SYNC/FreeSync) is not the same as the "Adaptive VSync" (NVIDIA's term, AMD seems to call it Enhanced Sync) controlled by WGL_EXT_swap_control_tear that Sodium Extra enables. It appears to be fairly widely supported in terms of GPU vendors, and doesn't require explicit monitor support, but is not as effective as Adaptive Sync technologies. I believe that users with variable refresh rate displays just need to disable VSync for Adaptive Sync to work, though this may depend on GPU drivers.

Note that the VESA Adaptive Sync standard for variable refresh rate displays (or proprietary technologies G-SYNC/FreeSync) is not the same as the "Adaptive VSync" (NVIDIA's term, AMD seems to call it Enhanced Sync) controlled by WGL_EXT_swap_control_tear that Sodium Extra enables. It appears to be fairly widely supported in terms of GPU vendors, and doesn't require explicit monitor support, but is not as effective as Adaptive Sync technologies. I believe that users with variable refresh rate displays just need to disable VSync for Adaptive Sync to work, though this may depend on GPU drivers.

Require to disable Vsync for which Adaptive Sync to work ? That one from sodium extra ? Or the other ? Because from what i tested A-sync from SE do need Vsync enabled.

Require to disable Vsync for which Adaptive Sync to work ? That one from sodium extra ? Or the other ? Because from what i tested the A-sync from SE do need Vsync enabled.

It doesn't need "vsync" to work. It can be written to work without vsync being enabled. It's just been picked and has never been modified from the original PR.

Require to disable Vsync for which Adaptive Sync to work ? That one from sodium extra ? Or the other ? Because from what i tested the A-sync from SE do need Vsync enabled.

It doesn't need "vsync" to work. It can be written to work without vsync being enabled. It's just been picked and has never been modified from the original PR.

Yeah i didn't meant like the technology need the other technology, i mean that here you need both options to be enabled. If you only have A-sync it doesn't do anything.

@RaptaG should change name to simply "Enable Adaptive Sync"
Because Vsync needs to be enabled in options.
This might get a bit obsolete once next version of sodium extra is released due to that

@RaptaG should change name to simply "Enable Adaptive Sync"

👍

So the idea is to wait for the next Sodium Extra, which will add additional checks for the feature, and still enable Adaptive Vsync by default in FO?

Note that the VESA Adaptive Sync standard for variable refresh rate displays (or proprietary technologies G-SYNC/FreeSync) is not the same as the "Adaptive VSync" (NVIDIA's term, AMD seems to call it Enhanced Sync) controlled by WGL_EXT_swap_control_tear that Sodium Extra enables. It appears to be fairly widely supported in terms of GPU vendors, and doesn't require explicit monitor support, but is not as effective as Adaptive Sync technologies. I believe that users with variable refresh rate displays just need to disable VSync for Adaptive Sync to work, though this may depend on GPU drivers.

Alright, so if my machine claims on a sticker that it has "Adaptive Sync", how would I make sure it also has NVIDIA's standard, considering it has a recent NVIDIA card?

@RaptaG should change name to simply "Enable Adaptive Sync" Because Vsync needs to be enabled in options. This might get a bit obsolete once next version of sodium extra is released due to that :  And when that is released we can just enable A-sync and it'll fall back to Vsync for users that can't have A-sync.

Amazing! Gotta love those QoL revisions

So the idea is to wait for the next Sodium Extra, which will add additional checks for the feature, and still enable Adaptive Vsync by default in FO?

Yes

Note that the VESA Adaptive Sync standard for variable refresh rate displays (or proprietary technologies G-SYNC/FreeSync) is not the same as the "Adaptive VSync" (NVIDIA's term, AMD seems to call it Enhanced Sync) controlled by WGL_EXT_swap_control_tear that Sodium Extra enables. It appears to be fairly widely supported in terms of GPU vendors, and doesn't require explicit monitor support, but is not as effective as Adaptive Sync technologies. I believe that users with variable refresh rate displays just need to disable VSync for Adaptive Sync to work, though this may depend on GPU drivers.

Alright, so if my machine claims on a sticker that it has "Adaptive Sync", how would I make sure it also has NVIDIA's standard, considering it has a recent NVIDIA card?

From what i read on internet G-sync is supported on all NVIDIA GPU at starting from series 10.
And for the Adaptive Sync that we can enable in sodium extra just check in it if currently you can enable it.
After researching more it seems like Adaptive VSync is a quite old technology.
NVIDIA decided to remove some pages about it but webarchive helped me.
https://web.archive.org/web/20210917033925/https://www.nvidia.com/en-us/geforce/technologies/adaptive-vsync/supported-gpus/
From what i can see Adaptive VSync compatible card listed here are only Pre-series 10 so i think NVIDIA just replaced it with G-sync but all new cards are just compatible with Adaptive VSync too.

Adaptive VSync (not Adaptive Sync / G-SYNC / FreeSync) is usually implemented in the driver, and has very wide support across vendors. That list was likely not kept up to date; all 10-series cards support it.

Adaptive VSync (not Adaptive Sync / G-SYNC / FreeSync) is usually implemented in the driver, and has very wide support across vendors. That list was likely not kept up to date; all 10-series cards support it.

Not only the 10-series: the oldest card to support it there is the 710 (the 705 being left out), so it's pretty much all of the 7-series.

If I'm correct, it's just VSYNC that disables itself when fps over monitor refresh rate?

If I'm correct, it's just VSYNC that disables itself when fps under monitor refresh rate?

I think so, yes.

The update with change of Adaptive Sync's placement on Sodium Extra has been released.

The update with change of Adaptive Sync's placement on Sodium Extra has been released.

Amazing! As an extra, I didn't notice much difference (on the previous release so far) in frame responsiveness using the adaptive sync checkmark while running Linux. I am using X11, and will do further tests on Linux and Windows with the new release soon.

Added in 3.13.0 and 4.2.0, but reverted in 3.13.1 and 4.2.1 because of issues with some graphics drivers.
Source (via)


Uncaught TypeError: Invalid Point: (NaN, 0)

[Enter steps to reproduce below:]

Not sure how to reproduce. Just made split panes and eventually it happened.

Atom Version: 1.8.0
System: Mac OS X 10.10.2
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Invalid Point: (NaN, 0)
At /opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/point.js:63

TypeError: Invalid Point: (NaN, 0)
    at Function.module.exports.Point.assertValid (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/point.js:63:15)
    at TextBuffer.module.exports.TextBuffer.clipPosition (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1061:13)
    at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:796:27)
    at DisplayBuffer.module.exports.DisplayBuffer.screenRangeForBufferRange (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:758:20)
    at TextEditor.module.exports.TextEditor.screenRangeForBufferRange (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1371:33)
    at TextEditorComponent.module.exports.TextEditorComponent.onGutterClick (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:801:40)
    at TextEditorComponent.onGutterClick (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:3:61)
    at TextEditorComponent.module.exports.TextEditorComponent.onLineNumberGutterMouseDown (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:793:21)
    at LineNumberGutterComponent.<anonymous> (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:3:61)
    at HTMLDivElement.<anonymous> (/opt/homebrew-cask/Caskroom/atom/1.6.1/Atom.app/Contents/Resources/app.asar/src/line-number-gutter-component.js:3:61)

Commands
     -1:00.4.0 symbols-list:toggle (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25.5.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25.4.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25.3.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25.2.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25.1.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:25 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.8.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.8.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.7.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.6.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.5.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.5.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:24.4.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  7x -0:24.1.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  7x -0:23 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)

Config
{
  "core": {
    "allowPendingPaneItems": false,
    "disabledPackages": [
      "vim-mode-plus-move-to-symbols",
      "vim-mode-plus-move-selected-text",
      "vim-mode-plus-project-find-from-search",
      "todo-show",
      "language-yaml",
      "language-toml",
      "language-xml",
      "language-c",
      "language-clojure",
      "language-csharp",
      "language-go",
      "language-java",
      "language-make",
      "language-objective-c",
      "language-perl",
      "language-php",
      "language-python",
      "language-ruby",
      "language-ruby-on-rails",
      "language-sql",
      "welcome",
      "archive-view",
      "vim-mode-plus-ex-mode",
      "vim-mode-plus",
      "pigments",
      "minimap-pigments",
      "language-javascript-jsx",
      "language-jsx",
      "language-babel",
      "term3",
      "floobits"
    ],
    "ignoredNames": [
      ".git",
      ".hg",
      ".svn",
      ".DS_Store",
      "._*",
      "Thumbs.db",
      "node_modules"
    ],
    "packagesWithKeymapsDisabled": []
  },
  "editor": {
    "invisibles": {},
    "scrollPastEnd": true,
    "showIndentGuide": true,
    "tabLength": 4
  }
}

Installed Packages
# User
auto-detect-indentation, v1.1.0
autoclose-html, v0.23.0
bottom-dock, v0.4.4
clipboard-plus, v0.5.1
ex-mode-sort, v1.0.0
file-icons, v1.7.14
glsl-preview, v0.8.0
highlight-selected, v0.11.2
language-glsl, v2.0.1
language-viml, v1.0.0
linter, v1.11.8
linter-coffeelint, v1.1.2
linter-eslint, v7.2.2
linter-jsonlint, v1.2.5
minimap, v4.24.4
minimap-bookmarks, v0.3.1
minimap-codeglance, v0.4.5
minimap-cursorline, v0.2.0
minimap-find-and-replace, v4.5.1
minimap-git-diff, v4.3.1
minimap-highlight-selected, v4.4.0
minimap-linter, v1.1.1
minimap-split-diff, v0.3.1
nerd-treeview, v0.4.2
persistent-undo, v1.2.0
project-plus, v0.9.0
quick-highlight, v0.5.0
react, v0.15.0
relative-numbers, v0.5.1
remember-file-positions, v0.2.2
symbols-list, v2.3.0
terminal-plus, v0.14.5
todo-manager, v0.2.9
tool-bar, v0.4.0
tool-bar-main, v0.0.9
tree-view-open-files, v0.3.0
vim-mode, v0.65.1
vim-mode-clipboard-plus, v0.2.0
vim-mode-visual-block, v0.2.15
vim-surround, v0.8.1

# Dev
No dev packages

Screenshot shows pane on top left does not show any text content, and cannot scroll to it:

The problem persists until I close the affected tabs (in this case, both tabs in the top left pane) and re-open the files.

How did you split panes? Is this only happening in one project? Or all projects?

I'm not sure how it was caused. I'll try to pay attention next time it happens, if it happens.

I'm encountering this with some regularity, and I think it usually involves split panes, which I split by dragging a tab and invoking the animated pane split overlay.
It also seems to happen when coming back to a previously inactive tab.
@trusktr Are you using https://github.com/t9md/atom-narrow by any chance?

I could 100% reproduce and fixed in following commit.
Why I share this is this issue is NOT directly related to atom-narrow package, so likely to happen in other package which is calling editorElement.setScrollTop.
https://github.com/t9md/atom-narrow/commit/1009bc74e1d1a2be914dfff60513994093a6b646
As I wrote in comment in above commit.
When trying to restore saved scrollTop, immediately setting scrollTop after changing active-pane-item cause editor blank.
Detailed condition is described t9md/atom-narrow#95.
Here is explanatory code to describe how I work-around this.
  editorElement = editor
  # Save scrollTop to restore afterward
  savedScrollTop = editorElement.getScrollTop()

  # Do something which change active pane item to different item from original editor
  pane.activateItem(differentEditor)
  # (snip) do something
  pane.activateItem(editor)

  # immediate calling editorElement.scrollTop after changing activeItem cause editor content blank.
  # See detailed condition this happens in atom-narrow#95.
  # In this state, component.getScrollTop() returns `undefined`, in this case delaying setScrollTop.
  unless editorElement.component.getScrollTop()?
    disposable = editorElement.onDidChangeScrollTop ->
      disposable.dispose()
      editorElement.setScrollTop(savedScrollTop)
  else
    editorElement.setScrollTop(savedScrollTop)

/cc @nathansobo thought you might be interested in the above :point_up:

I'll put minimum repro code here later within hour.

Here is GIF when I repro using command in following gist.
What I did in GIF is

open init.coffee
invoke user:repro, (pane split-righted and right-pane is activated)
close right pane, (active pane is now left pane, active editor is init.coffee )
split-right blank out init.coffee at left-pane, clicking it throw error.

https://gist.github.com/t9md/557babb6f17de583ec8c5e8f0cabd1cb

Confirmed on version 1.17.0 dev.

Hi, I had the same issue when trying to change the Line Height to 0.8 in the Editor Settings.

I think label more-information-needed and needs-reproduction is incorrect since it's reproducable now.

Is this still a problem on 1.19? I was deliberately delaying dealing with it in anticipation of all the code changing. If it's still a problem we should investigate.

@nathansobo
I checked.
Your anticipation was right.
I can not reproduce issue with v1.19, FIXED in v1.19-beta.
I can reproduce with v1.18(current stable), it need slight modification of reproduce code I pasted above.
I think we can close this issue.
Here is latest reproduce code, just for reference.

Can reproduce v1.18-stable
Can NOT reproduce v1.19-beta

(function makeEditorGetBlankAfterSplitPane() {
  const pane = atom.workspace.getActivePane()
  const editor = atom.workspace.getActiveTextEditor()
  const editorElement = editor.element
  const scrollTop = editorElement.getScrollTop()

  atom.workspace.open("/tmp/file1", {split: 'right'}).then((file1) => {
    file1.onDidDestroy(() => {
      pane.activate()
      pane.activateItem(editor)
      editorElement.setScrollTop(scrollTop)
    })
    atom.workspace.open("/tmp/file2", {pane, activatePane: false})
  })
})()
// 1. Run code above(paste dev-console), result in left-pane(file2), right-pane(file1, active)
// 2. cmd-w to close file1, automatically close file2
// 3. So you are now at original editor before you run code.
// 4. cmd-k right to split right,
// 5. see left pane(original editor) get blanked clicking pane throw error.

Thanks very much for checking @t9md. I'm going to close this as fixed in 1.19 which is currently on beta.


Error when trying to send GNT token: Invalid status 6a80

Hi,
I cannot send my GNT token from my Ledger Nano S, when I try I get this error "Invalid status 6a80". Let know if you need any more info.
Thanks!

Turn contract data on on your ledger device.

Sweet!! thanks a lot tayvano!!

No problem!

It fixed my problem, but what exactly did it do? What does that setting change?


dayToday class moves to selected day

Issue
The dayToday class seems to move to the selected day. I would expect that dayToday class would remain on the date for today's Date. I can replicate the issue for this example: http://whatsock.com/Templates/Datepickers/Basic/index.htm.
Steps to reproduce

Launch the datePicker and inspect the class for today's date. This should have the dayToday.
Select another date other than today
Relaunch the datePicker and dayToday class is not on today's date.

Thanks, I just pushed a fix for this issue. The core is the same, but the Datepicker module includes logic to only set the today class and aria-current on the cell matching today's date. To load the new code, you may need to clear your browser file cache to make sure everything loads correctly when testing. I'll close this issue as fixed for now, but please reopen if you notice any other issues relating to this.

I've tested this and it works as expected. Thanks @accdc for the quick fix!


ID-270-Config-builder-for-the-SAA-web-service

Purpose
Fetch KBV questions from Experian client, not mock.
Fixes ID-270 #minor
Approach
Create and execute properly formatted SAA request to fetch initial KBV questions.
Checklist

[x] I have performed a self-review of my own code
[x] I have added relevant logging with appropriate levels to my code
[x] I have updated documentation where relevant
[x] I have added tests to prove my work
[x] I have run an accessibility tool against the changes and applied fixes

N/A

[ ] The team have tested these changes

Demo case on a pop-up env


Changed perspective matrix to be in units of measure.

In my opinion, the perspective matrix (and therefore localTransform) should be in units of measure rather than PDF pt units. This simplifies a lot of operations as you don't have to take into account the ptDensity.
I also changed what was formerly layoutWidth/layoutHeight to layoutWidthPt/layoutHeightPt. This is the layout size in PDF units. Now, layoutWidth/layoutHeight is in units of measure, which also simplifies some operations (such as the recenter button).

I disagree on this one! To me, this is adding complexity rather than simplifying things. As a simple measure, this PR is doubling lines of code rather than removing any. I like that you're trying to clean up the code though!

As a simple measure, this PR is doubling lines of code rather than removing any

Would you like me to do it in less lines? 13 of the "added lines" are either comments, empty, reformatting, or the lines needed for the added feature of resetting the transform on unitOfMeasure change. I could also get rid of the idea of keeping layoutWidthPt and layoutWidth as separate items and make the code less readable , but save a few lines.
If we want to actually consider code complexity rather than something arbitrary like number of lines, you will see that this is change makes it so you only need to deal with the conversion from PDF units to real units in essentially one place, rather than having to do every single place you want to deal in real units. Right now, that doesn't result in a huge amount of complexity savings, but it makes adding features such as the delta position popup slightly less annoying.
Consider the change to the MeasureCanvas component as an example:
This
   let d = Math.sqrt(sqrdist(line[0], line[1])) / CSS_PIXELS_PER_INCH;
    if (unitOfMeasure == CM) {
      d *= 2.54;
    }

Becomes this:
   let d = Math.sqrt(sqrdist(line[0], line[1]))

Which one is more complicated?


⚠ Bofrost.at has degraded performance

In 2e52339, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1258 ms

Resolved: Bofrost.at performance has improved in 6c85aa5.


use spottoken renewer from the datamechanics jupyter_server fork v2.5.0

Use spot token renewer using request from context var
Jira Ticket
BGD-4169
Checklist:

[x] I have filled relevant self assessment (NodeJS, Frontend, Backend)
[x] I have run ESlint on my changes and fixed all warnings and errors (NodeJS & Frontend Services)
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have validated all the requirements in the Jira task were answered
[x] I have all neccessary approvals for the design/mini design of this task
[ ] I have approved the API changes and granular permission patterns (documentation subtask) (For public services only)

use protected branch instead of main

it looks ok to me, but I'm struggling to remember how the version number here correlates to images built in bigdata-infrastructure @sigmarkarl @arnarpall

its doesn't correlate. isn't it just the image tag that counts

Yeah when I set the appVersion I tied it to the jupyter stacks base notebook tag, but actually forgot to change it when I had to move to 3.6.x of jupyter.


Update maintainers

Move Jonathan to Emeritus status
Add Jagpreet and Aditya to maintainers

@suvajit-sarkar the samples repo also needs an update

@suvajit-sarkar the samples repo also needs an update

Yep, have updated that


RTK Query questions and concepts refactor

Currently having issues with quiz attempts It seems that was just because I didn't have the symbolic logic checker running.
Also, rate limiting questions doesn't seem to work as it used to Another non-issue that turned out to be fine after more manual testing.
I need to write tests to replace those for the old question reducer. There seems to be some quite major performance issues locally, but that might be because immutability and serializability middleware take a while to process large actions (like those produced by querying documents).

Closing since I'll probably do this better now and there are wayyyyy to many merge conflicts


Typo: counties instead of countries

The Microsoft 365 Multi-Geo Capabilities add-on provides customers with the ability to expand their Microsoft 365 presence to multiple geographic regions or counties within a single existing Microsoft 365 Tenant.

Counties should probably be countries in this paragraph.

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

ID: 32b41c7e-29cd-eb5b-36b2-738b3babd08f
Version Independent ID: 22eda3f7-1c04-b3b0-95fd-3474b3f991b2
Content: Microsoft 365 Multi-Geo - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/microsoft-365-multi-geo.md
Service: microsoft-365-enterprise
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@msbemba Thank you very much for the contribution and updating the documentation with PR. @TBSJordanNash Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Add component whitelist

Needs to be minted

contract/valory/connext_propagate_job/0.1.0
contract/valory/curve_pool/0.1.0
contract/valory/deposit_manager_job/0.1.0
contract/valory/keep3r_my_job/0.1.0
contract/valory/keep3r_test_job/0.1.0
contract/valory/phuture_harvesting_job/0.1.0
contract/valory/yearn_factory_harvest_job/0.1.0
service/valory/keep3r_bot_goerli/0.1.0

service/valory/keep3r_bot_goerli/0.1.0 should be excluded

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

Project coverage is 76.43%. Comparing base (c5af1c4) to head (652e391).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #212      +/-   ##
==========================================
- Coverage   76.43%   76.43%   -0.01%
==========================================
  Files         194      194
  Lines       16778    16778
==========================================
- Hits        12825    12824       -1
- Misses       3953     3954       +1

Flag
Coverage Δ

unittests
76.43% <ø> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


What is the right way to create a module and add new route?

Hi everone,
I just know the basic of React Redux, and i need your help :)
I found MERN and I using it to make an small app to learn. I clone mern-start and use mern-cli to create a Test module. I just simple render a Hello World text.
class Test extends Component {
  render() {
    return (

Hello World

    );
  }
}

then i go to /client/route.js and add a new route under post route.
<Route
      path="/test"
      getComponent={(nextState, cb) => {
        require.ensure([], require => {
          cb(null, require('./modules/Test/Test').default);
        });
      }}
    />

restart from console and i got this error
C:\Users\kieus\Desktop\MERN\client\modules\Auth\Auth.js:17
var _Auth = content.locals;
            ^

ReferenceError: content is not defined
    at Object.<anonymous> (Auth.js:6:1)
    at Module._compile (module.js:541:32)
    at loader (C:\Users\kieus\Desktop\MERN\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (C:\Users\kieus\Desktop\MERN\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (routes.js:21:3)
    at Module._compile (module.js:541:32)
    at loader (C:\Users\kieus\Desktop\MERN\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (C:\Users\kieus\Desktop\MERN\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
 [nodemon] app crashed - waiting for file changes before starting...

am i missing something? What i have to do to make it right :(
Also css background not working in development mode right?
Is there any tutorial about MERN for beginer like: create basic module, jwt authentication?
I know too many questions. Please help me Thanks.

@kieusonlam Did you find a fix for this? I'm seeing the same thing after running mern init & merng module Editor using the latest mern-cli.

Removing the usused style imports fixed this for me. import styles from './Editor.css';

Thanks @Morganjackson error gone away. :+1:

wish I had found this issue before spending half a day debugging. I wonder what's ACTUALLY going on here. an empty styles import should not cause a cryptic "segmentation fault"-like error message like this.

Downgrading to Webpack ^1.13.3 solved it. Strange bug, though.


Create asdf-users and asdf-developers google groups

Using the following text for the announcement:
Because there are users of ASDF (Advanced Scientific Data Format: https://asdf.readthedocs.io/en/latest/) outside of STScI and that we have encountered issues that would benefit from feedback from such users, we are creating two new mailing lists for ASDF. One will be user-focused (asdf-users) and one more developer-focused (asdf-developers). These will permit general discussions, but also allow us to make announcements and raise issues that the user and developer communities should be aware of.
To avoid spammers, we require requests for group membership.
https://groups.google.com/forum/#!forum/asdf-users
https://groups.google.com/forum/#!forum/asdf-developers

Not that familiar with Google Groups, but it would it be possible to give read-only access to people without group membership?
In the current situation, people who have a question that unbeknownst already has been answered before, first have to wait for membership acceptance, to find out that the answer already existed.
Read-only should prevent the spammer problem.

@NumesSanguis The list should be visible now.


YouTube Music Feature request

Would you consider adding support for the YouTube Music plugin? https://github.com/OzymandiasTheGreat/mopidy-ytmusic
Thanks

I will see what I can do.
Don't expect anything tomorrow ;)

I've checked, and it turns up normal once installed server-side.
Things that don't work at first glance:

playing playlists

Things which appear to work out-of-the-box:

playing albums
playing individual tracks

Should you come over other things, could you please complete?


Got 500 when trying to get currency stats and balance by HTTP request

TESTNET: JUNGLE testnet
OS: Ubuntu 16.04
EOS Version: DAWN 4.2
PROBLEM:
If I executed ./cleos.sh get currency stats eosio.token EOS in my node, the response is:
{
  "EOS": {
    "supply": "3001047375.5766 EOS",
    "max_supply": "10000000000.0000 EOS",
    "issuer": "eosio"
  }
}

But by http request
 curl 'http://my_node:8888/v1/chain/get_currency_stats' -d '{"contract":"eosio.token","symbol":"EOS"}'
the response is:
{"code":500,"message":"Internal Service Error","error":{"code":3060002,"name":"account_query_exception","what":"Account Query Exception","details":[{"message":"Fail to retrieve account for ","file":"chain_plugin.cpp","line_number":558,"method":"get_abi"}]}}

Same issue for get currency balance,

please use "code" instead of "contract"

/v1/chain/get_currency_balance
{"code":"eosio.token", "account": "exchange", "symbol":"EOS"}

are there plans to refactor chain to use "contract" instead of "code" for parity with cleos or vice versa?


Add Statistics page

Added Statistics, About and Contact pages and linked to from menu
Changed Features in menu to Statistics

Thank you! I just have a few change requests!

I think the cleanest thing is to open a new PR with the statistics page as part of the main page


False positive on not-pipelined block in ThreadNet

Reproducible in branch temp-pipeline-rollback-error with
cabal run ouroboros-consensus-cardano-test:test:test -- -p "Cardano ThreadNet.simple convergence" --quickcheck-replay=805127

The leader schedule is:
(79,[c1]),(80,[c1]),(81,[]),(82,[]),(83,[]),(84,[]),(85,[]),(86,[]),(87,[]),(88,[c0])

The flow of the test is as follows:
Slot 79
Node-1 forges block ca3385, with slotNo 79 and blockNum 80
Node-1 announces ca3385 via Pipelining
Node-1 sends the block to Node-0 via chainsync
Node-0 receives ca3385 and selects it
Node-0 requests new header to Node-1
Node-1 requests new header to Node-0

Slot 80
Node-1 forges block ea1ea5, with slotNo 80 and blockNum 81
Node-1 announces ea1ea5 via Pipelining
Node-1 sends ea1ea5 to Node-0 via chainsync     <-----  Message delayed for 8 slots

Slot 81
Slot 82
Slot 83
Slot 84
Slot 85
Slot 86
Slot 87

Slot 88
Node-0 receives the `MsgRollForward` message with ea1ea5
Node-0 selects ea1ea5
Node-0 forges block d92d9, with slotNo 88 and blockNum 81
Node-0 selects d92d9, therefore rolling back
Node-0 doesn't announce d92d9 via Pipelining due to roll back

The test fails because it expected that Node-0 pipelines d92d9, however as it was rolling back it should not pipeline it (see isPipelineable) and the test error is a false positive.
Even further, this happened because VRF(ea1ea5) < VRF(d92d9), but if it was the other way around, the same error would be thrown because the block was forged but not pipelined as it wouldn't be adopted because it would lose the VRF against the current selection.
There is probably no harmful error on the real code, just the test not being accurate enough.

I think this can only (or at least, only has at least a non-neglegible chance to) occur in tests that use a non-trivial CalcMessageDelay, which was introduced for the Cardano TwoEras test in #2342.

A condensed overview of the underlying problem: In #3709, I added a test that ensures that whenever (subject to a few extra conditions) a node forges a block in the ThreadNet test, it will set this block as its tentative header. However, this might not be the case: Suppose that a node is a leader for the current slot, with current selection A. Hence, it starts to forge a block B on top of A. Now, in the meantime, a block C extending A with a better tiebreaker than B arrives and is selected before we submit B to the ChainDB.
Now, there are two cases:

B is worse than C. Then the ChainDB won't even consider adopting B, so it is in particular also not set as the tentative header.

B is better than C (this is the case in the example above). In that case, we will switch to B, which involves rolling back by one block, which means that B is not subject for pipelining (see here).
When designing Diffusion Pipelining, we also considered supporting pipelining for such cases (changing the condition from getRollback == 0 to e.g. getRollback <= 1), but decided to adopt a conservative stance, as cases (such as this one) are very rare, and hence not obviously worth the necessary additional safety considerations.

Hence, the test yields a false positive in both cases; we have to exclude these forging events from the check (just as we already do for e.g. multi-leader slots).


Fix errors when building with Java 11; test compiling on Circle

Upgrade various plugins whose old versions don't work on JDK11.
Upgrade com.spotify:foss-root pom from 5 to 9.
Fix various checkstyle and Javadoc errors resulting from upgrades of
above.

Add the Dockerfile for the image in which we compile helios on Java 11.
Circle CI 2.0 doesn't provide Java 11 with its machine executor. So we must
use the Docker executor with a custom environment in the form of a
container pre-installed with Java 11 and other build tools.

run tests on Circle CI on Java 11

cc @spotify/docker-admins

yea


README: add note for start/finish options for counter_culture_fix_counts

I was lucky to spot this in my specs. :sweat_smile:

I didn't realize that's how this works, but looking at the code it appears you are right. That's pretty confusing! Thanks for the contribution.


Fix broken documentation links

Also

reorganised the intro to AtomicPtr for less repetition, and to separate the usage guidance,
some formatting.

Codecov Report

Merging #29 (88a087d) into main (55f1078) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #29   +/-   ##
=======================================
  Coverage   84.04%   84.04%
=======================================
  Files           8        8
  Lines         821      821
=======================================
  Hits          690      690
  Misses        131      131

Impacted Files
Coverage Δ

src/domain.rs
85.60% <ø> (ø)

src/hazard.rs
73.43% <ø> (ø)

src/lib.rs
33.73% <ø> (ø)

src/pointer.rs
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


Create no-op StatsContextFactory implementation for Stats.getStatsContextFactory()

In https://github.com/songy23/instrumentation-java/blob/master/core/src/main/java/com/google/instrumentation/stats/Stats.java:
If Provider.newInstance() returns a null StatsManager, we need to return a no-op StatsContextFactory, instead of just returning null.

There is more discussion of this change in #41.

No matter which way we go, the stats and tracing API should be consistent in this aspect. At this moment stats returns null, while tracing returns no-op, which is kind of bizarre. @bogdandrutu @dinooliva
If we go with no-op, we should probably still provide a way to tell if it's no-op, so that the user can do certain optimizations like not sending the headers.

Mentioned elsewhere but i prefer null unless we expect users to routinely
use static factories like this as opposed to dependency injection. If we do
noop it should be very clear that the whole thing is noop as opposed to an
unsampled span for example.

#485 added a no-op TagsComponent and TagContext.  We still need a way to distinguish between the two subclasses, though.

I opened a new issue for adding a check for no-op implementations: #585


virt-launcher: adjust overhead calculation for processes

What this PR does / why we need it:
This PR effectively addresses a TODO in the memory overhead calculation for virt-launcher.
It replaces an arbitrary overhead value with the observed memory usage of each process running inside virt-launcher.
A test also ensures we catch any future growth.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm
@vladikr do you mind having a look too?
/cc @vladikr

This PR was created during the CI outage, the labels are not populated and the tests never started. Trying a close-and-reopen to see if it helps.

@vladikr do you mind having a look too?
/cc @vladikr

Looking :)

/hold
The flake-checker already caught virt-launcher using more RAM than usual.
That lane is a good benchmark for this PR and must pass before we merge.

/retest

/hold cancel

/retest

/retest
/test pull-kubevirt-e2e-kind-1.23-vgpu

/retest

In general, everything here looks good to me.
However, I'd make this test OOM friendly, by running the VMI with a guaranteed QOS. I'd also run stress. Even with 25% of the total guest memory, it will be efficient.
If you think running stress is not a good option, then perhaps we can allocate a vfio device, this will lock all the guest memory.

In general, everything here looks good to me. However, I'd make this test OOM friendly, by running the VMI with a guaranteed QOS. I'd also run stress. Even with 25% of the total guest memory, it will be efficient. If you think running stress is not a good option, then perhaps we can allocate a vfio device, this will lock all the guest memory.

Thanks for the review! The topic of stressing the guest was discussed above, and I think we came to an agreement for doing it as a follow-up effort.
The point here was more to account for the various processes running in virt-launcher rather than tackling guest memory usage, which is already handled separately in the code.
I am planning on testing that code on large nodes in the near future, fixing it if necessary and adding a functional test with a stressed guest.

In general, everything here looks good to me. However, I'd make this test OOM friendly, by running the VMI with a guaranteed QOS. I'd also run stress. Even with 25% of the total guest memory, it will be efficient. If you think running stress is not a good option, then perhaps we can allocate a vfio device, this will lock all the guest memory.

Thanks for the review! The topic of stressing the guest was discussed above, and I think we came to an agreement for doing it as a follow-up effort. The point here was more to account for the various processes running in virt-launcher rather than tackling guest memory usage, which is already handled separately in the code. I am planning on testing that code on large nodes in the near future, fixing it if necessary and adding a functional test with a stressed guest.

Alright, I'm fine with this as long as we have a plan for a follow-up.
/approve

/retest

/retest

/retest

/hold
Needs to be adjusted for https://github.com/kubevirt/kubevirt/pull/7451

/unhold

/hold
Tests  Suite: [sig-compute]Configurations VirtualMachineInstance definition
[Serial][rfe_id:2065][crit:medium][vendor:cnv-qe@redhat.com][level:component]with  3 CPU cores [test_id:1659]should report 3 cpu cores under guest OS expand_less | 16s
-- | --
{
Failure tests/vmi_configuration_test.go:241
Expected     <int64>: 339 to equal
    <int64>: 303
tests/vmi_configuration_test.go:279}

/lgtm
/retest

@jean-edouard tests/vmi_configuration_test.go:2949:11: undefined: libnet

/retest

/retest

/approve
/lgtm


issue with containers in firefox

when switching groups, the tabs with special/customized containers(like work or personal) will became "no container"/normal container in firefox

Duplicate of #52


DEP remove appveyor

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin rerender

@conda-forge-admin relint

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

in the setup cmake is called via a python subprocess. But somehow cmake fails:
%SRC_DIR%\CMakeFiles\3.16.4\VCTargetsPath.vcxproj(15,2): error MSB4019: The imported project "D:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

@beckermr any idea what is going on here?

No sorry.

@conda-forge-admin rerender


1.0.0-preveiw2-final IE 9 long polling/connection issue

dotnet SDK:
2.1.300-preview2-008533
Versions of Server-Side NuGet Packages:
Microsoft.AspNetCore 2.1.0-preview2-final
Microsoft.AspNetCore.All 2.1.0-preview2-final
Microsoft.AspNetCore.SignalR 1.0.0-preview2-final
Versions of Client-Side NuGet/NPM Packages:
@aspnet/signalr signalr.js
Are you using the C# client or the JavaScript client: javascript client
The Server you are using (Kestrel/HttpSysServer/IIS/IIS Express/Azure Web App/etc.): Kestrel (IIS Express)
The Operating System on the Server (Windows/Linux/macOS): Windows 10
The Operating System on the Client (Windows/Linux/macOS): Windows 7
The Browser on the client, if using the JavaScript client (IE/Chrome/Edge/Firefox/etc.): IE 9

Issue summary:
An IE 9 client is unable to connect to the SignalR hub using the long polling transport type.
The sequence of events:
The IE 9 client successfully POST to /negotiate.
The IE 9 client attempts to connect to the SignalR hub, but the request does not make its way to the OnConnectedAsync method. My Connection hub does not appear to be constructed either.
The transport being attempted by the IE 9 client is Long Polling. I do not believe this is a transport type issue, as I am able to successfully connect IE 10+, Chrome, and Firefox clients (what I tested) to the hub using a forced Long Polling transport type.
I've been using BrowserStack to test IE 9, and I've tried it both by running it locally and also putting a tunneling agent (ngrok) infront of the app running on IIS Express, but I don't think this approach is creating issues because again - both work on IE 10+/other browsers.
Furthermore, I have noticed that the requests coming into the application are a bit different:
*both IE 9 and Chrome are being forced to use Long Polling:
IE 9:
Request starting HTTP/1.1 POST http://localhost:57641/chat/negotiate? 0
Request starting HTTP/1.1 GET http://localhost:57641/chat?id=2pbfc18OdAzlfuEdmz3Xaw&_=1524059965519
Chrome:
Request starting HTTP/1.1 POST http://localhost:57641/chat/negotiate? text/plain;charset=UTF-8 0
Request starting HTTP/1.1 POST http://localhost:57641/chat?id=lE3caCVhiujIRX5vmUDDAQ text/plain;charset=UTF-8 32
Request starting HTTP/1.1 GET http://localhost:57641/chat?id=lE3caCVhiujIRX5vmUDDAQ&_=1524059981615
It may also be important to mention that I was able to connect the IE 9 client using long polling using the 1.0.0-preview1-final version. But I cannot confirm exactly which version of the client side javascript I was using.

Unfortunately we don't support IE 9, we require IE 11 (which is supported on all Windows versions currently supported by Microsoft).
I'm closing this as the issue only appears to occur in an unsupported browser and we have no plans to officially support IE 9.
Having said that, I'm happy to give you a bit of best-effort support to see if we can figure out what's wrong. What Hub Protocol are you using? One thing I notice from Can I Use is that XHR Level 2 was added in IE 10, and we require that for the MessagePack protocol.
Are there any other errors in the console on IE 9? Can you collect the client side logs referenced here? https://github.com/aspnet/SignalR/blob/dev/.github/ISSUE_TEMPLATE.md

@mattchidley we'll be sure to explicitly state our browser support matrix when we have more docs.

Filed: https://github.com/aspnet/Docs/issues/6015


Add retries to getServer()

Some backstory
I was attempting to use postgres_exporter with the official Docker
container (https://hub.docker.com/_/postgres) In a Kubernetes
StatefulSet, with a side-car configuration, but found that I wasn't able
to connect even with sharing the Postgres Unix listening socket, between
both containers. After copying the container over to an Alpine base I
quickly found out that the postgres_exporter was actually starting
before the main Postres container had dropped the unix socket onto the
file system, a quick work around is to write a bash for loop checking
for the existence of a unix socket, however this would require
maintaining a container, besides other users may find retries useful on
startup.
Implementation
All changes are made to the getServer function and variables are
local, I was unsure if it was worth adding command line switches but
this would allow for a more sophisticated backOff loop in the future.
Hope this help, and let me know if you would like me to changes
anything.

I went for a run and realized I introduced a bug. I'm going to move the error count evaluation to the top of the loop

Squashed

Squashed, and passing tests and linter!

Feels like it should be a configurable, but it solves a problem.

Perhaps it should be however some sort of error backoff would be appropriate as well.


#5126 Issue solved

Corrected the flow diagram

I signed it!

Name of the above file is a bit different from the original file. I'm adding the file again with the correct name.

Deleted the specific file.

Thanks for the fast turn around! Sorry to ask one more, the file went from 14K to 935K! Any way to get it back closer to its original size?

No problem :) I will make the file size smaller.
Happy to contribute!

Wait. Can we hold off on merging. I'd like to get @igrigorik and @addyosmani to chime in.
The async attribute still blocks onload, but not the creation of the CSSOM or DOM construction. I'd just like either Addy or Ilya to validate the intent of the original image vs this.

No problem at all :)

Is there a summary for what the intent is here? <script async> executes as soon as the fetch completes, so the existing diagram is not wrong. As Paul noted, the benefit of async is that it doesn't block DOM construction (which current diagram captures also), and rendering.. could happen anytime after we have both DOM + CSSOM.

@ChathuminaVimukthi - can you address @igrigorik's comments.

@ChathuminaVimukthi - any updates on this?

I understood the whole async thing by referring to igrigorik's comment and I agree with @igrigorik. It seems that both diagrams are correct. I think it is not necessary to merge my updated diagram :)
And sorry for the late reply.


edited GDSC BIT

Fixes #
Proposed Changes

@todcru Linux is case-sensitive with files. Hence the build is failing. Your image extension is jpg, but your code says JPG.

still its showing some conflict…can you check on it
src/components/json/worldData.js

@todcru Linux is case-sensitive with files. Hence the build is failing. Your image extension is jpg, but your code says JPG.

still its showing some conflict…can you check on it
src/components/json/worldData.js

I just fixed it.

@todcru Linux is case-sensitive with files. Hence the build is failing. Your image extension is jpg, but your code says JPG.

still its showing some conflict…can you check on it
src/components/json/worldData.js

@todcru That's because you hadn't merged as @abhinavsri360 mentioned here: https://github.com/abhinavsri360/GDSC-Lead-Map/pull/11#issuecomment-817319797
When changes are made upstream, you got to fetch the changes to your fork as well. Anyways, @abhinavsri360 has fixed the merge conflict. You can read more about it here:

https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts
https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts

@todcru Linux is case-sensitive with files. Hence the build is failing. Your image extension is jpg, but your code says JPG.

still its showing some conflict…can you check on it
src/components/json/worldData.js

@todcru That's because you hadn't merged as @abhinavsri360 mentioned here: #11 (comment)
When changes are made upstream, you got to fetch the changes to your fork as well. Anyways, @abhinavsri360 has fixed the merge conflict. You can read more about it here:

https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts
https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts

@aravindvnair99 ossm.. thanks mate....yep ill chk into it


issue/support count for network_interface for cluster instances

I'm trying to attach a network interface to each ec2 instance in my cluster. From my understanding, one network interface can only be attached to one instance at a time. In the basic example, one network interface was attached to an ec2-instance with instance_count = 1. Is there any way to support count index in the ec2-instance module?
I was hoping something along the lines of this could be provided:
module "ec2_cluster" {
  source                 = "terraform-aws-modules/ec2-instance/aws"
  user_data              = "${data.template_cloudinit_config.worker.rendered}"
  name                   = "cluster"
  instance_count         = "${var.instance_count}"

  key_name               = "${aws_key_pair.ssh_key.key_name}"
  ami                    = "${data.aws_ami.ami.id}"
  instance_type          = "${var.instance_type}"
  monitoring             = true
  placement_group        = aws_placement_group.web.id
  network_interface      = [
    {
      count              = "${var.instance_count}" // Something like this
      device_index          = count.index
      network_interface_id  = aws_network_interface.workers[count.index].id
      delete_on_termination = false
    }
  ]
  root_block_device = [
    {
      volume_type = "gp2"
      volume_size = 100
    },
  ]

  tags = {
    Terraform   = "true"
    Environment = "dev"
  }
}

Terraform v0.12.5
+ provider.aws v2.46.0
+ provider.null v2.1.2
+ provider.template v2.1.2

hi @bitnahian - you can definitely attach multiple NICs to an instance. See the documentation here to see the maximum number of network interfaces permitted by instance types.
based on the example you started above, you could do something like this:
resource "aws_network_interface" "workers" {
  count = var.workers_network_interfaces
  ...
}

module "ec2_cluster" {
  source                 = "terraform-aws-modules/ec2-instance/aws"

  name           = "cluster"
  instance_count = var.instance_count

  key_name               = aws_key_pair.ssh_key.key_name
  ami                    = data.aws_ami.ami.id
  instance_type          = var.instance_type
  monitoring             = true
  user_data              = data.template_cloudinit_config.worker.rendered
  placement_group        = aws_placement_group.web.id
  network_interface      = [for nic_idx in range(var.workers_network_interfaces):
      {
      device_index          = nic_idx
      network_interface_id  = aws_network_interface.workers[nic_idx].id
      delete_on_termination = false
    }
  ]
  root_block_device = [
    {
      volume_type = "gp2"
      volume_size = 100
    },
  ]

  tags = {
    Terraform   = "true"
    Environment = "dev"
  }
}

@bryantbiggs how would I go about attaching multiple interfaces of different subnets?