Turn sinkFhirServerUrl off by default but on in e2e

Description of what I changed

With #947 we have enabled sending FHIR resources to a sink server. Turning this on by default, requires an additional setup step of running a sink FHIR server which is not needed for most users (and also is an experimental feature). I am turning this off in the default config but turning it on in e2e since we have tests around it.
E2E test

TESTED:
Built and ran the docker image locally in the "off case"; relying on e2e for the "on case".
Checklist: I completed these to help reviewers :)

[x] I have read and will follow the review process.

[x] I am familiar with Google Style Guides for the language I have coded in.
No? Please take some time and review Java and Python style guides.

[x] My IDE is configured to follow the Google code styles.
No? Unsure? -> configure your IDE.

[ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

[x] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

[x] All new and existing tests passed.

[x] My pull request is based on the latest changes of the master branch.
No? Unsure? -> execute command git pull --rebase upstream master

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

Project coverage is 50.49%. Comparing base (c1dd688) to head (bf5d56e).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1075      +/-   ##
============================================
- Coverage     50.55%   50.49%   -0.06%
+ Complexity      674      673       -1
============================================
  Files            91       91
  Lines          5519     5519
  Branches        709      709
============================================
- Hits           2790     2787       -3
- Misses         2467     2470       +3
  Partials        262      262

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

Thanks @bashir2


Possibility to specify data storage in config.toml

Description
Possibility to specify data storage in config.toml
Fixes #65
Type of change

New feature (non-breaking change which adds functionality)

Codecov Report

Merging #314 into master will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #314      +/-   ##
==========================================
+ Coverage   80.49%   80.55%   +0.06%
==========================================
  Files          15       15
  Lines        1584     1589       +5
==========================================
+ Hits         1275     1280       +5
  Misses        224      224
  Partials       85       85

Impacted Files
Coverage Δ

controller.go
70.14% <100.00%> (+2.40%)
:arrow_up:

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 effa0d4...7e9de5e. Read the comment docs.


Create Article “epic-level”

Automatically generated by Netlify CMS

👷 Deploy Preview for 4shame processing.

Name
Link

🔨 Latest commit
1ee3457c5ee5b6f9cf002f731da25080d6fd2a6c

🔍 Latest deploy log
https://app.netlify.com/sites/4shame/deploys/646e39d556f6630008cccbb3


Documentation on how to use in FreeCAD ?

Does it exist and I'm just missing it ?

Hi @luzpaz. Right now, the only way to generate input files from FreeCAD is with a workbench which is being developed by Elemwave (www.elemwave.com). If you have interest, you could contact them to join the beta testers program.


British Accent Possible?

Hi, is it possible to change the accent of the speaker? I tried in the prompt but had to success.

Not yet, but it'll come really soon ;)

Not yet, but it'll come really soon ;)

singapore accent following ?

Controlling accents is possible with the latest update: https://x.com/yoachlacombe/status/1864222080637550759


Multi Core Channel Matrix Scalar Add Example Fails

From branch debugging_matrix_scalar_add, I am working on getting my example multi_core_channel working (this file). The single core version works in this branch, but when I increase the herd size from 1x1 to 2x2, the example does not work any more.
To be specific, to replicate run:
cd programming_examples/matrix_scalar_add/multi_core_channel
make

When I inspect programming_examples/matrix_scalar_add/multi_core_channel/build/air_project/npu.air.mlir, I notice that it looks like all of the data is only going to one core instead of being distributed to all of the cores.
      aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 0, 0][1, 1, 8, 16][0, 0, 32]) {id = 0 : i64, metadata = @airMemcpyId3} : memref<32x16xi32>
      aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 0, 0][1, 1, 8, 16][0, 0, 32]) {id = 1 : i64, metadata = @airMemcpyId4} : memref<32x16xi32>
      aiex.npu.sync {channel = 0 : i32, column = 0 : i32, column_num = 1 : i32, direction = 0 : i32, row = 0 : i32, row_num = 1 : i32}
      aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 0, 16][1, 1, 8, 16][0, 0, 32]) {id = 0 : i64, metadata = @airMemcpyId3} : memref<32x16xi32>
      aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 0, 16][1, 1, 8, 16][0, 0, 32]) {id = 1 : i64, metadata = @airMemcpyId4} : memref<32x16xi32>
      aiex.npu.sync {channel = 0 : i32, column = 0 : i32, column_num = 1 : i32, direction = 0 : i32, row = 0 : i32, row_num = 1 : i32}
      aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 16, 0][1, 1, 8, 16][0, 0, 32]) {id = 0 : i64, metadata = @airMemcpyId3} : memref<32x16xi32>
      aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 16, 0][1, 1, 8, 16][0, 0, 32]) {id = 1 : i64, metadata = @airMemcpyId4} : memref<32x16xi32>
      aiex.npu.sync {channel = 0 : i32, column = 0 : i32, column_num = 1 : i32, direction = 0 : i32, row = 0 : i32, row_num = 1 : i32}
      aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 16, 16][1, 1, 8, 16][0, 0, 32]) {id = 0 : i64, metadata = @airMemcpyId3} : memref<32x16xi32>
      aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 16, 16][1, 1, 8, 16][0, 0, 32]) {id = 1 : i64, metadata = @airMemcpyId4} : memref<32x16xi32>
      aiex.npu.sync {channel = 0 : i32, column = 0 : i32, column_num = 1 : i32, direction = 0 : i32, row = 0 : i32, row_num = 1 : i32}

It should now be possible to also replicate the failure in the minimal-matrix-scalar-add branch

I saw that the example was instantiating one air.channel (not broadcasting) is trying to access 4 different aie cores at different time phases via a for-loop nest. This is not going to work for now because air.channel lowers to circuit-switched routings using aie.flow ops, which are static connections. This might be enabled in the future when in the future we lower to dynamically routed packet-switched routing.
For now, I can only see the test to work by instantiating four air.channels (or a bundle of [2,2] air.channels), spatially parallelized via either hand unrolling or using a parent scf.parallel/forall loop.

https://github.com/Xilinx/mlir-air/pull/637 also contains some minor fixes.

Thank you for the fix ups!
I will go ahead and rewrite the example in a way that uses additional channels (one of the ways you suggested). However, because I can't pass parameters from the launch to the herd, I think I will also need to modify it to create 4 different 1x1 herds instead of a single 2x2 herd because I have no other way to tell each worker which channel to use otherwise.
I had to do something similar in https://github.com/Xilinx/mlir-air/pull/636. In sum, so far I have not found a correct way to use both channels and a herd larger than 1x1. If you have any ideas, let me know!

I believe I have a version that works here: https://github.com/Xilinx/mlir-air/pull/641

Working version merged in!


Dependencies need to be relaxed

The way the dependencies of Tach are defined is very strict (only using ==)
dependencies = [
    "pyyaml==6.0.1",
    "pydantic==2.7.1",
    "rich==13.7.1",
    "prompt-toolkit==3.0.43",
    "stdlib-list==0.10.0; python_version < '3.10'",
    "eval-type-backport==0.2.0; python_version < '3.10'"
]

This means that folks that want to install tach have to have these exact dependencies or it won't install.
As tach will most of the time not be installed in its own venv, this is problematic.
Could you be open to a PR that would relax the dependencies?

By the way, using a tool like poetry, rye or pdm could help in order to manage the runtime + dev dependencies...


"match may not be exhaustive" in macroRW for case class

Hello, I was hoping to use sbt-tpolecat in a project of mine that depends on upickle, but it seems that macroRW is causing this compiler warning, so I can't make warnings fatal.
Minimized example: https://scastie.scala-lang.org/Pk7pFpgzT16Nccuyb7JKCA
import upickle.default._
case class Foo(num: Int)
val rw: ReadWriter[Foo] = macroRW

build.sbt
scalaVersion := "2.13.5"
scalacOptions ++= Seq("-Xlint",  "-Xfatal-warnings")
libraryDependencies += "com.lihaoyi" %% "upickle" % "1.3.8"

Result:

match may not be exhaustive.
It would fail on the following input: (x: Int forSome x not in 0)

@raquo I also got this warning but I found that there is an option to suppress certain warnings since scala 2.13.2 (https://www.scala-lang.org/2021/01/12/configuring-and-suppressing-warnings.html), in my case I used annotations. This worked excellent for me with making warnings fatal.


你好，在react-native 0.62版本中，弹出的options无法点击，不知是不是和react版本兼容问题

弹出层无法点击，只能点击手机系统的返回

You should use the latest version react-native-root-siblings like mine:
 "react-native-root-siblings": "^4.1.0",

then reference it as follows:
import RootSiblings from '../node_modules/react-native-root-siblings';

Hope it works for you.

You should use the latest version react-native-root-siblings like mine:
 "react-native-root-siblings": "^4.1.0",

then reference it as follows:
import RootSiblings from '../node_modules/react-native-root-siblings';

Hope it works for you.


alternatives to bp.openssf.org

prefer to avoid an acronym, especially where overloaded and not common. is an alternative possible? e.g. best.openssf.org ?
mentioned in #161, but was off-topic

@ctcpip - thanks for creating this new issue so we can keep track of things!
Domain names are often best short so it's easy to se what it is. The WG discussion today accepted "bp.openssf.org" so that's what I set up. "bp" is pretty short :-). Of course "best" is isn't very long either.
It would be easy to change though, and if we're going to change it, now is the time to change it.
We can easily make improvements to the CSS, etc., in parallel while we discuss the domain name.

+1 on best over bp, since bp is not a known acronym.

++1 on 'best' over 'bp'

+1 on "best"

+1 on "best", there's a nice ring to it!

I think "best.openssf.org" can be misunderstood as a selection of good stuff from OpenSSF. While it's a cool name to book in the openssf namespace, I personally prefer "bp" for best practices.

I'm inclined to go with advice.openssf.org but since the project is pretty committed to "Best Practices" I like either option

NB: "bp.openssf.org" no longer works. The process for enabling "best.openssf.org" has begun. It'll take some time for this new name to work and propagate, but these are all one-time delays.

Okay, it's running at best.openssf.org, with https: (TLS) enabled. Also: if you prefer, you can omit the trailing ".html". You can try it out here:

https://best.openssf.org/Concise-Guide-for-Evaluating-Open-Source-Software
https://best.openssf.org/Concise-Guide-for-Developing-More-Secure-Software

These pages are using the draft OpenSSF font recommendations (those can be changed if desired).


RTL support

hi,
on one hand there is a support for hebrew/arabic.
on the the other hand, there is no support for RTL which make the hebrew/arabic support not so useful
can i make a pull request for RTL support?
thanks.

Sure, please go ahead @iliran11


Meshes created with MergeMeshesOptimization() are ignored by the Octree

When running MergeMeshesOptimization(), the newly created meshes are not added to the current scene's SelectionOctree, thuse making them ignored when rendering the scene.
The only workaround I found is to run createOrUpdateSelectionOctree() while running the SceneOptimizer or before the rendering of each frame (which does not sound right).

hello this is by design. The octree is not dynamic

So I should run the createOrUpdateSelectionOctree() on each frame ?
Also, even without running createOrUpdateSelectionOctree() before running MergeMeshesOptimization(), the newly created meshes become invisible (are ignored).
Is this also by design ?

If you merge meshes (so creating new mesh) on each frame yes.
But you can also mark your meshes as dynamic (so always visible): scene._selectionOctree.dynamicContent.push(newMesh)

And what about the meshes created by a SceneOptimizer using MergeMeshesOptimization(), I don't want them to be always visible (I won't set them as dynamic as it's not counterproductive regarding optimization).
And I am not creating new meshes on each frames, but the SceneOptimizer does create new meshes while the scene is running, which are not taken into account until a new call to createOrUpdateSelectionOctree().
Which means that unless createOrUpdateSelectionOctree() is running in the background while running the SceneOptimizer is running, the new meshes won't be visible.
The best solution performance-wise seems like running createOrUpdateSelectionOctree() on both success and fail of the SceneOptimizer, but the meshes will still be invisible until the SceneOptimizer is done optimizing the scene...

For the sceneOptimizer, the best way is to call createOrUpdateSelectionOctree on success. Agree for the race condition between two, why not thinking about adding a custom step in the sceneOptimizer to call updateSelectionOctree for you? Or we can even think about adding it natively

Something like BABYLON.MergeMeshesOptimization.UpdateSelectionTree = true

That would be a cool way to do it, setting it to false by default of course, thuse keeping good performances.
I think I'll take an other dive into the BabylonJS source code to take a look at this and try to add it.

No worry it is almost done


radiation crashing

this one happened when i fell from space (galacticraft mod) right when i hit the ground, i had radiation shielded armor on if that matters
https://pastebin.com/5nNL7Brp
and this one happened when i destroyed a radiation scrubber in creative, i had a lot of them in the chunk and a custom config value D:radiation_scrubber_rate=0.75
https://pastebin.com/bfHXUMta

Pretty sure I've fixed the first issue, and kind of sure I've fixed the second. I'll close this for now, but let me know if the changes I made for the next version don't fix it :)


Upgrade to LLVM 14.0

LLVM 14.0.0 was released recently (https://github.com/llvm/llvm-project/releases/tag/llvmorg-14.0.0) and as such the repo should be updated to support it.
As part of this effort, additional care should be taken to ensure new dependencies such as libclang-cpp are available via the default NuGet package.

This was completed and packages are on NuGet.


FIx random gamma and space to depth tests.

Fix random gamma tests to use deprecated v1 graph mode so
that test is executed in both CPU and accelerator because in eager
mode, same device will be be only selected irrespective of use_gpu
flag. Remove loop of use_gpu where not required.
Space to depth testBatchSize0 verification fixed with common
code.
Signed-off-by: puneeshkhanna<EMAIL_ADDRESS>

Please review !

Also on a separate note, can someone guide me to correct forum or people with whom I can discuss about the usage of use_gpu flag in tensorflow/python/framework/test_util.py.

Any updates on review ? Can this be merged ?

Any updates ?

Regarding use_gpu, I recommend not using it at all (that means you modifications look good here) - the test suites run on CPU and GPU separately, and in general the same code should produce identical results, irrespective of what device it runs on.

Hi @mdanatg - Updated files ready for review. Avoided unnecessary loop of use_gpu where not required and the current code will run all the tests on whatever device is connected.
Regarding testCPUGPUMatch specific test - for now lets have @test_util.run_deprecated_v1 for now because graph mode will correctly constrain devices between CPU (when use_gpu is False) and any other device (when use_gpu is True). Moving to tf function seems to be breaking other tests. But will try to take that up in another pull request in near future.

Btw on same lines, I will try to raise some more pull requests soon where we can avoid unnecessary loops of use_gpu of False, True. It will further speed up the execution time overall.

Any updates ? Can this be merged now ? Locally ran all the tests on CPU too and they are passing after all the changes.

Sorry for the delay, this slipped through the cracks.
I'm curious about the error you get when using tf.function - happy to help debug it down. But no need to block this PR on that. I forgot to double check, are you using e.g. self.evaluate(diff) instead of diff.eval(). The former is expected to work.

Yes got that but didn't want to confuse tf function with the intend of this pull request. Will surely take it up soon. Hope you saw the changes which will make the execution faster too of the tests by ensuring to not run the test twice where not required. How will this be merged now ?

@mdanatg  - I got it what needs to be done for tf function. But didn't want to mix those changes with the intend of this pull request. Will surely take it up in near future. Hope you saw the changes to avoid execution of same test twice and test execution time will be further faster now. How will this be merged now ?

Thanks, we just need to wait for the merge process to complete now.

Some checks were not successful
13 successful and 1 errored checks
@mdanatg  - can you please help ? I am not sure what is this error.

Looks like a tool failure, I started a retry - @gbaned might be able to help getting it unstuck.

Looks like a tool failure, I started a retry - @gbaned might be able to help getting it unstuck.

@mdanatg, @puneeshkhanna  This PR is merged. Thank you.


Task: Design the method of gamification for the application extension

This task is more related to the overall game design of the "deeper gamification" mentioned in Iteration 2: Deeper Gamification. The overall design of how the game should operate and what new parameters the new system will have to handle will have to be made.
If character stats are being added:

What will these stats be?
What will they represent?
What role do they play in the overall scheme of things?
How do these stats affect each other and the game mechanics?
How might these be represented within the code as data?
How would a character be created with stats?

If a battle system is being considered:

What interactions would be possible?
How would this be tracked in an application made primarily for text messaging?
How would a battle be represented in the data? How would this data be tracked?
How would this be initiated within the command system?

These are opening considerations to think about while coming up with the overall ideas and game mechanics. Initiate discussions below to identify and refine any mechanics that are being considered throughout the development of this project.

Character Stats and Stat Calculation Formulas
The following is a basic rundown and definition of a potential system that can be used to gamify the system. This section will deal with the character stats and formulas and will document the inner workings of each stat and each formula within the system.
Character Stats
These stats split the different types of attacks into two different types of attacks: Magic and Physical. Strength and Defense primarily deal with physical attacks while Magic and Resistance represent the more ethereal aspects of the proposed battle system. Agility and Luck apply to both types of attacks, not in terms of damage, but in terms of the chance of the attack hitting.

Stat
Description

Strength (STR)
The amount of strength a character has represents the amount of physical strength they have, and is applied to any physical-based move that may be in the game

Magic (MAG)
The amount of magic prowess a character has, is determinate of the amount of damage done by magic-based and non-physical attacks

Defense (DEF)
A value used to reduce the amount of damage done by physical attacks

Resistance (RES)
A value used to reduce the amount of damage done by magical attacks

Agility (AGL)
A value used to determine the hit rate and dodge rate of the character

Luck (LUK)
A value used to slightly influence the chance to hit and dodge on a small scale. Additionally, it should also factor into any RNG-based decisions that may occur during battle

Potential Calculation Formulas
The following are various calculations regarding the battle system, mostly dealing with damage calculation and hit rate generation:
Proposed Damage Calculation Formulas
The following are potential damage calculation functions for both physical and magical damage. They essentially perform the same calculation, but with their respective physical and magical values. Each calculation also uses a random factor in which it introduces a variation in possible damage outputs from a multiplier of 1.0 to 1.1. The higher the user's Luck, the higher chance they will have to roll a higher multiplier.
The damage calculation formula uses a variation of a common multiplicative damage formula that is used in a lot of games, such as SMITE. Defense and Resistance serve as ways to dampen the amount of damage done to the player. This allows for higher damage and HP values when compared to simpler subtractive implementations where the attack is subtracted by defense to get the difference between them.
$$
Physical \ Damage: DMG = Random(1.0f + (LUK / 100), 1.1f) * (\frac{(Base Power + STR)^2}{(Base Power + STR) - DEF})
$$
$$
Magical \ Damage: DMG = Random(1.0f + (LUK / 100), 1.1f) * (\frac{(Base Power + MAG)^2}{(Base Power + MAG) - RES})
$$

I am going to move this into a GitHub Wiki page for now since it's probably crowding the discussion for this issue. From now on, please reference the page in the GitHub Wiki for review of the design proposals. Please let me know if anyone has any additional comments on the overall design.

The Character Stats and Stat Calculation Formulas documentation is comprehensive and detailed. Great work on putting this together and keeping the GitHub wiki up-to-date. I'll close this issue.


Flow battery output capacity seems to be capped below specified output capacity

Issue
In this scenario, there is 4500 MW of input capacity installed for energy_flexibility_flow_batteries_electricity. Given that the electricity output capacity as specified by the node is 50% lower than the typical input capacity, the output capacity is 2250 MW:
V(energy_flexibility_flow_batteries_electricity,"number_of_units * electricity_output_capacity")

2,250.0

Throughout the year, there are hours where the maximum input capacity is used:
MAX(V(energy_flexibility_flow_batteries_electricity,electricity_input_curve))

4,500.0000000000655

However, when I look at the output curve of the battery, the maximum output capacity is never used:
MAX(V(energy_flexibility_flow_batteries_electricity,electricity_output_curve))

1,102.5000000000355

The strange thing is that the 1102 MW isn't a sporadic event, based on the output curve it seems like a hard cap on the output capacity. Below the charging behaviours is visualised for the first few hours in the year:

Question
@antw would you able to look into this issue and find out what is happening here? I thought it might be related to the distribution of electricity between multiple storage technologies with the forecasting algorithm on, but if I remove the installed capacity of the other storage technologies, the maximum output capacity of the flow batteries does not change.

Two questions that I also have in this regard is about the distribution of electricity across multiple storage technologies with the forecasting algorithm enabled. If I remember correctly, the electricity charged and discharged is distributed across all storage technologies proportionately to their installed capacities.

Does this proportionate distribution take input capacity for charging and output capacity for discharging? The difference between input and output capacity for flow batteries is rather large and only looking at input or only at output capacity might distort behaviour.
Does this proportionate distribution change when storage technologies are full? In the screenshot of the scenario below, you can see that in the beginning of the year, the batteries in households are fully charged. Does the proportionate distribution take into account that no charge can be supplied to households when calculating the shares?

If I remember correctly, the electricity charged and discharged is distributed across all storage technologies proportionately to their installed capacities.

This is not the case. Each battery runs one after the other.
Battery 1 runs with the initial residual load curve. The battery load is then used to produce a new residual curve, which is the basis for battery 2, and so on...

Thanks for this @antw, that's good to know. How is the order of storage technologies determined, alphabetically ascending using node names?

Indeed, they're just sorted by key. Would you prefer to change this to be sorted some other way?

At the moment I don't see a better way to sort the order. Perhaps in the future this is something that we would want to allow users to set themselves, or do some testing to determine a logical order, but that would have to be part of an improvement project.

@noracato If you still want to investigate this, here are some hints for where to start.

ETEngine sends data to Merit, and reads data from Merit after the calculation is complete, through MeritFacade.
Most of the code in the facade belongs to adapters. These tend to represent "types" of technology. We originally started with basic adapters for generic consumers and producers, but this has grown over the years.
Battery parks are handled by AlwaysOnBatteryParkAdapter which inherts some of its behaviour from ProducerAdapter.
Most of the code you see in these adapters is to do with setting up the participants in merit with the correct values. However, methods with inject in their name are usually for reading data from Merit and assigning values to the graph after Merit has run.

The AlwaysOnBatteryParkAdapter is probably a good place to start. You can check its producer_attributes.
The battery part is unusual in that most of the calculation for the technology is not actually performed in Merit. Rather, we have a class in ETEngine – AlwaysOnBatteryPark – that calculates the load of the park before Merit runs. For that reason, it's unlikely that Merit itself is broken.
My approach would be to:

Add a battery park to a scenario.
Put a binding.pry statement in the adapter's producer_attributes method.
Inspect whether the attributes assigned make sense.
Play around with the AlwaysOnBatteryPark (which is assigned to @park in the adapter). Call its methods and try to see if anything looks incorrect.

The output capacity is assigned in the adapter. Perhaps this capacity is incorrect somehow?
Alternatively, maybe the park is doing something wrong with the capacity.

Test coverage of MeritFacade is generally quite poor, but fortunately the battery park does have fairly thorough tests. It might be worth having a glance at those to better understand how the park works.

It does not only apply to the forecasting algorithm. When I set the electricity_output_capacity of the flow batteries equal to the input capacity of 380 MW, open a blank scenario and add the following user_values:
capacity_of_energy_flexibility_flow_batteries_electricity: 500.0
wtp_of_energy_flexibility_flow_batteries_electricity: 32.0
wta_of_energy_flexibility_flow_batteries_electricity: 37.0
capacity_of_energy_power_solar_pv_solar_radiation: 15000.0
capacity_of_energy_power_wind_turbine_inland: 15000.0

I get the following results:
EACH(
  V(energy_flexibility_flow_batteries_electricity,"number_of_units * electricity_output_capacity"),
  MAX(V(energy_flexibility_flow_batteries_electricity,electricity_output_curve))
 )

[
<PHONE_NUMBER>0000006,
<PHONE_NUMBER>080365,
]

Even while:
EACH(
  V(energy_flexibility_flow_batteries_electricity,"number_of_units * typical_input_capacity"),
  MAX(V(energy_flexibility_flow_batteries_electricity,electricity_input_curve))
 )

[
<PHONE_NUMBER>0000006,
<PHONE_NUMBER>0000006,
]

For MV batteries with the same settings (in terms of wtp and wta and installed renewables), this behaviour does occur.

Level in merit order
Ratio between input and output capacity
Attributes specific to the flow batteries
Check other batteries for similar behaviour

I have tested some more, see this scenario, which is II3050 National governance on PRO, but with the capacity of large scale batteries set to 10000 MW.
Installed output capacities of storage technologies:

Large scale batteries: 12500 MW
OPAC: 11000 MW
Household batteries: 17600 MW

For all these storage technologies, hours occur where the value of the electricity output curve exceeds the installed output capacity. This issue therefore not only applies to flow batteries. The issue only becomes more apparent when the storage volume relative to the capacity increases. You can view the results in Flow batteries testing.xlsx.
At the 16th of January, each storage technology consecutively exceeds its predetermined installed output capacity (hour 377, 378 and 380). This happens to be during hours when there is not other flexible electricity supply and the only flexible electricity demand is export.

Conclusions

The issue with output capacity of storage technologies is not limited to flow batteries: all tested storage technologies (large-scale batteries, OPAC and household batteries) show undesirable behaviour
It seems to occur mainly in hours when there is no other flexible supply than electricity storage discharge and no other flexible demand than export: however, I have not tested this extensively
The II3050 scenario has price curve for the interconnector, so that may be related

@noracato is this a suitable basis from which you can start a more focussed search into the problem?

A component to check might be the roundtrip efficiency: this should not affect the input or output capacity. Let me know if you need to discuss this further.

In quintel/merit@7b3685db63a03fb811936c92637c14f8cab90329 I fixed that the battery was possibly discharging too much when entering the price senstive merit calculation after already joining the "normal" dispatchable one. You can see compared to your chart @mabijkerk that these little bumps are now gone:

Maybe we can check together if that was the full issue, or if there is more. For instance the other pink and green bumps next to them, they are correct right?

Thanks for the clear analysis @mabijkerk!
Just to add: the realized output capacity seems to be equal to the installed output capacity times the efficiency squared:
0.7*0.7*5000 = 2450. Hope that helps!


alphametics: Fast example solution?

Does anyone have a super-fast alphamentics solution?
We need an example solution that can solve this test: https://github.com/exercism/ruby/blob/83bf92aca108ae548673f1573887c9fddce384b7/exercises/alphametics/alphametics_test.rb#L76 in a reasonable amount of time.
TODO:
Update the example solution: https://github.com/exercism/ruby/blob/master/exercises/alphametics/.meta/solutions/alphametics.rb
With a faster one.

From a Travis CI run:
running tests for: alphametics
/home/travis/.rvm/rubies/ruby-2.1.2/bin/ruby -I lib -r disable_skip.rb /tmp/alphametics20180827-4172-n6z3u4/alphametics_test.rb
Run options: --seed 14874
# Running:
.........
Finished in 582.287082s, 0.0155 runs/s, 0.0155 assertions/s.
9 runs, 9 assertions, 0 failures, 0 errors, 0 skips

I can say that https://travis-ci.org/petertseng/exercism-problem-specifications/builds/421220966 tells me that https://github.com/petertseng/exercism-problem-specifications/blob/verify/exercises/alphametics/verify.rb solves alphametics in 2.5 seconds on travis (the line 2.51user 0.00system 0:02.52elapsed)
Sorry I don't really have time to make a PR soon, so I don't object if someone else takes a better solution.
I can describe my solution in words:
I found that working from right-to-left was too slow and doesn't eliminate possibilities fast enough since the rightmost column is fully populated. Work left-to-right instead; the leftmost columns are sparsely populated.

Performance notes in https://github.com/exercism/problem-specifications/pull/1024#issuecomment-353418326
Can cut the runtime down to about 1/4 of what I had by stopping immediately when you find ONE solution rather than finding them all.

Performance discussion in https://github.com/exercism/problem-specifications/pull/1024#issuecomment-353418326 and all subsequent topics.
Can cut the runtime down from 2.5 seconds (on Travis) to 0.5 seconds (on an unspecified computer, did not test myself) by stopping immediately when you find ONE solution rather than finding them all.
I refuse to stop at one solution (this is verification code, it needs to make sure the solution is unique), so if you want that speedup you will have to do it yourself, or experiment with a port of https://github.com/exercism/python/pull/1119 to see whether it does the claimed speedup.

EBWODP:
"and all subsequent topics" -> "and all subsequent comments"

EBWODP:

I refuse to stop at one solution

That makes it sound like I hate performance and refuse to do things for no reason. It's not like that all. Rather, it's that it's against the purpose of my code (verification code), so I cannot do it in the context of the problem-specifications repo.

Great! thanks @petertseng
Hopefully someone else will be able to make a Ruby PR. for this.

I guess 53.421492s is not a reasonable amount of time.

It's better than 582.287082s (although it will also depend on how much faster your machine is than the Travis CI machine)

14.894647s, still an order of magnitude slower than @petertseng, on a Dell Inspiron 580 (about 2010 vintage?)
class Alphametics
  def self.solve(input)
    input.upcase!
    keys = input.gsub(/[^A-Z]/,"").chars.to_a.uniq
    words = input.scan(/[A-Z]+/)
    final_letters = words.map {|x| x.slice(-1)}
    first_letters = words.map {|x| x.slice(0)}

    uniqlast = final_letters.uniq
    uniqfirst = first_letters.uniq
    firstnotlast = uniqfirst-uniqlast
    uniqrest = (keys - final_letters - first_letters).uniq
    sum_last_letter = final_letters.pop

    (0..9).to_a.permutation(uniqlast.length) do |lasts|
      table = Hash[[uniqlast, lasts].transpose]
      next if uniqfirst.any? {|first| table[first] == 0}
      next if (final_letters.map {|x| table[x]}).sum % 10 != table[sum_last_letter]
      ((1..9).to_a-table.values).permutation(firstnotlast.length) do |firsts|
        table2 = table.merge(Hash[[firstnotlast, firsts].transpose])
        ((0..9).to_a-table2.values).permutation(uniqrest.length) do |rest|
          table3 = table2.merge(Hash[[uniqrest, rest].transpose])
          expression = input.tr table3.keys.join, table3.values.map(&:to_s).join
          return table3 if eval(expression)
        end
      end
    end
    {}
  end
end

@n8chz If you want to make that a pull request to update  https://github.com/exercism/ruby/blob/master/exercises/alphametics/.meta/solutions/alphametics.rb that would be great.

Note that although #883 created https://github.com/exercism/ruby/blob/master/exercises/alphametics/.meta/solutions/alphametics_compact.rb, it's my belief that the Ruby track doesn't support multiple examples. This belief is rooted in the code https://github.com/exercism/ruby/blob/master/lib/tasks/exercise.rb#L26 . Therefore the https://github.com/exercism/ruby/blob/master/exercises/alphametics/.meta/solutions/alphametics.rb is still the solution that is being run in Travis CI.
A person who wants to close this issue would want to rectify this. It cannot fairly be recommended that this issue be closed until then.

Is this still slowing down the builds? (as it should according to @petertseng's comment above)???

According to the Travis logs for #964 a faster version of alphametics must be running:

running tests for: alphametics

/home/travis/.rvm/rubies/ruby-2.5.5/bin/ruby -I lib -r disable_skip.rb >/tmp/alphametics20190613-6208-1txufb/alphametics_test.rb

Run options: --seed 47251

Running:

.........

Finished in 3.092617s, 2.9102 runs/s, 2.9102 assertions/s.

9 runs, 9 assertions, 0 failures, 0 errors, 0 skips

Should this issue be closed?

Everything I said is still true. There are two solutions, and the track doesn't support having two solutions, so it is not possible to predict which solution is being run. I will create a new issue for that.
Since the track doesn't test the 10 letters case anymore because of https://github.com/exercism/ruby/pull/853, the fact that the solution remains slow is no longer visible.

Thank you for the clarification 😁

I forgot to answer the question.

Should this issue be closed?

Yes, because

Since the track doesn't test the 10 letters case anymore because of #853, the fact that the solution remains slow is no longer visible.

and because I made the issue I said I was going to make (#986)

Cool, well I don't have the permissions to close this issue, but maybe someone will do it.

🙇

Finished in 3.092617s, 2.9102 runs/s, 2.9102 assertions/s.

3 seconds is still slow.

Finished in 6.686005s on my Dell i5 rust bucket
class Alphametics
  def self.solve(puzzle)
    letters_used = puzzle.gsub(/\W/, "").chars.uniq
    words = puzzle.scan(/[A-Z]+/)
    first_letters = words.map{|w| w[0]}.uniq
    last_letters = words.map{|w| w[-1]}
    uniq_last_letters = last_letters.uniq
    last_not_first = uniq_last_letters-first_letters
    neither_end = letters_used-first_letters-last_letters
    digits = (0..9).to_a
    digits.drop(1).permutation(first_letters.count).each do |df|
      table = first_letters.zip(df).to_h
      (digits-df).permutation(last_not_first.count).each do |dl|
        table.merge!(last_not_first.zip(dl).to_h)
        last_digits = last_letters.map {|let| table[let]}
        sum_last_digit = last_digits.pop
        next unless last_digits.sum % 10 == sum_last_digit
        (digits-df-dl).permutation(neither_end.count).each do |dn|
          table.merge!(neither_end.zip(dn).to_h)
          equation = puzzle.chars.map {|c| table[c] || c}.join
          return table if eval(equation)
        end
      end
    end
    return {}
  end
end


AWS Fargate deployment

Added an option to be able to deploy the ACME Fitness Shop to AWS Fargate

This looks good to me and does not appear to effect normal operation of the app in standard k8s clusters. I'm good to merge pending feedback from @ishrivatsa

@retgits Looks good to me. Will Merge to master. Thanks


Prove something is busted with new babel/jest setup

For some reason after upgrading to Babel 7 and Jest 24, process.cwd() isn't the same as path.resolve('.') after changing directories during a test.
The directory change is needed so we have a safe sandbox to run a test that writes to the filesystem. I'd really like to get this working so we aren't stuck on old dependencies.
If anyone who knows this stuff better than me has time to pull down this branch and get it working they would be my hero 😍

Was able to reproduce the issue on my system (Latest Ubuntu LTS) but it went away after a few tries :thinking:

rm -rf node_modules, problem solved.


connection-string  has deprecated rust code

FYI in PRQL we get this for our builds:
 1  warning: the following packages contain code that will be rejected by a future version of Rust: connection-string v0.1.13
 note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 17`

...which I think is from Tiberius...
 cargo tree -i connection-string
connection-string v0.1.13
└── tiberius v0.12.1
    [dev-dependencies]
    └── prql-compiler v0.8.1 (/Users/maximilian/workspace/prql/prql-compiler)

FYI it does look like there are newer versions available: https://crates.io/crates/connection-string/versions
(I'm triaging atm so won't make the PR myself, hope it's still helpful to put the issue in...)

0.12.2 of tiberius upgraded connection-string to 0.2 - so maybe that is already enough?

My apologies @janpio ! I should have checked whether we'd upgraded. Thank you.


Bootstrap And Typos

bootstrap added to support smaller screens and to beautify the site
index.html and index_style.css has fixed picture face cutting in the
meet the team section

fix: #15

README.md still has typos. Please review all English files

Done.
This PR is only for style change on the main site.
See a new PR for typos  #17

@YaelD @ravidbro @danninon @Yarboa @RonHachmon
can you please write a code review on this pull request,
see what has changed, and if there is a need to add or modify anything.
Thanks


Winston not creating any output when running in a Docker container

Please tell us about your environment:

winston version?

[ ] winston@2
[X] winston@3

node -v outputs: v14.5.0
Operating System? (Windows, macOS, or Linux) macOS + Alpine Linux
Language? (all | TypeScript X.X | ES6/7 | ES5 | Dart) ES6/7

What is the problem?

Winston does not print any log output when running inside a Docker container, either to the Console or to a file (it does create the file, just doesn't put any output there.)
Here is my Winston config.
import winston from 'winston'
import config from '../config'

const transports = []

transports.push(
  new winston.transports.Console(),
  new winston.transports.File({
    filename: 'test.log'
  })
)

const LoggerInstance = winston.createLogger({
  level: config.logs.level,
  levels: winston.config.npm.levels,
  format: winston.format.combine(
    winston.format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    winston.format.errors({ stack: true }),
    winston.format.splat(),
    winston.format.json()
  ),
  transports
})

export default LoggerInstance

This is my Dockerfile
FROM node:current-alpine

WORKDIR /usr/src
RUN apk --no-cache add --virtual builds-deps build-base python
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm install
COPY . .
ENV NODE_ENV production

CMD ["npm", "run", "start"]

Here is where I'm logging
import expressLoader from './express'
import databaseLoader from './database'
import dependencyLoader from './dependencies'
import modelLoader from './models'
import Logger from './logger'

export default async ({ expressApp }) => {
  const conn = databaseLoader
  Logger.info('✅ Database loaded')

  try {
    await conn.authenticate()
    Logger.info('🔌 Database connected')
  } catch (e) {
    Logger.error('🔥 Error connecting to database: %o', e)
    process.exit(1)
  }

  Logger.info('➕ Injecting dependencies')
  dependencyLoader()
  Logger.info('✅ Dependencies injected')

  Logger.info('➕ Injecting models')
  modelLoader()
  Logger.info('✅ Models injected')

  expressLoader({ app: expressApp })
  Logger.info('✅ Express loaded')
}

I get the following output when running locally

And when I run from my Docker container, I get the following

If I change all of the Logger.info to console.log, I get output.
The log level (and all other config) is the same, and is currently set to silly.
Any ideas?

Have same problem. my config.

const logger = winston.createLogger({
  level: "info",
  format: winston.format.json(),
  defaultMeta: { service: "mail-service" },
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({
      filename: "/var/logs/access.log",
    }),
  ],
});

logger.configure({
  level: "error",
  format: winston.format.json(),
  defaultMeta: { service: "mail-service" },
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({
      filename: "/var/logs/error.log",
    }),
  ],
});

export { logger };```

I had a similar problem, which is not related to winston. Solution was to create a symlink to the container's STDOUT process. I believe you can also create a symlink to /dev/stdout. Here's how I did it:
RUN mkdir -p /path/to/logdir
RUN touch /path/to/logdir/app.log
RUN ln -sf /proc/1/fd/1 /path/to/logdir/app.log

@mrosendin  was your logger configured for Console also? Or, was it exclusively to File? If the former, then I can understand, why it would work. In case of latter, it is surprising that winston would output to console which would then redirect to file via a symbolic link.

Hey @chainhead, yes it was configured for both.

Have the same problem with docker file FROM node:14-alpine and winston   "winston": "^3.3.3"
I added @mrosendin  `s config to docker file
in my docker file^
RUN mkdir -p /usr/src/logs
RUN touch /usr/src/logs/access.log
RUN touch /usr/src/logs/error.log
RUN ln -sf /proc/1/fd/1 /usr/src/logs/access.log
RUN ln -sf /proc/1/fd/1 /usr/src/logs/error.log
...

But nothing get in those files.
locally all is ok
my winston configuration:
const options_access = {   level: "info",   filename:${log_dir}/access.log`,
handleExceptions: false,
json: true,
maxsize: 5242880, // 5MB
maxFiles: 5,
colorize: false,
exitOnError: true,
emitErrs: false
};
const options_error = {
file: {
level: "error",
filename: ${log_dir}/error.log,
handleExceptions: true,
json: true,
maxsize: 5242880, // 5MB
maxFiles: 5,
exitOnError: false,
colorize: false
},
console: {
level: "error",
handleExceptions: true,
json: false,
colorize: true,
emitErrs: true
}
};
const ignoreError = format(info => {
if (info.level === "error") {
return false;
}
return info;
});
export default function apiLoggerInit(app) {
if (process.env.NODE_ENV !== "production") return;
if (!fs.existsSync(log_dir)) {
fs.mkdirSync(log_dir);
}
const info_logger = winston.createLogger({
level: "info",
transports: [
new transports.File({
format: winston.format.combine(ignoreError(), winston.format.json()),
...options_access
})
]
});
const error_logger = winston.createLogger({
level: "error",
transports: [
new transports.File({
format: winston.format.combine(
winston.format.printf(error => error.message)
),
...options_error.file
})
],
exitOnError: false
});
const info_stream = {
write: message => {
info_logger.info(message);
}
};
const error_stream = {
write: message => {
error_logger.error(message);
}
};
app.use(
morgan("combined", {
skip: function(req, res) {
return res.statusCode > 400;
},
stream: info_stream
})
);
app.use(
morgan("combined", {
skip: function(req, res) {
return res.statusCode < 400;
},
stream: error_stream
})
);
}
`

Also just hit this issue using node:16-alpine image.
Using<EMAIL_ADDRESS>My code:
import winston from 'winston';

// Setup logger
const logger = winston.createLogger({
  level: 'error',
  format: winston.format.combine(
    winston.format.timestamp({
      format: 'DD-MM-YYYY HH:mm:ss'
    }),
    winston.format.colorize(),
    winston.format.json(),
    winston.format.splat()
  ),
  transports: [
    new winston.transports.Console(),
  ],
  exitOnError: false
});

...

logger.log('info', 'I should be logged but I'm not :(');

Same error using node:lts-alpine

Can you please suggest what is the best solution to write logs into files using docker containers.
I am using node Nest.js typescript  server using winston 3.7.2 version to write logs into FILES and CONSOLE.
In local the files and console logs created and working fine.
So could you please suggest how to achieve the same with DOCKER file to write logs into respective files.
If winston not able to create files in DOCKER how FILE-ROTATE can implement to create files based it's SIZE on RUN time.
I would truly appreciate it if anyone could provide some inputs. Thanks.

Can you please help me how to write logs into winston file transports using docker container.
using docker able to create logs file and console logs printing in server using docker image.
But the logs are not saved into log files.
So can you please suggest how to write logs into winston  file transports using docker image.

In local environment without docker image  it's working as expected.
Please suggest me how to write & save logs into files using docker image.

We seem to be writing locks in Docker without a problem, to a persistent volume.  Are your logs going to a persistent volume?

YES. We are going with persistent volume to access among different docker containers.
After implementing the shared persistent volume to access to write logs, if any issues, will update here
thank you so much for support.

Using node:alpine and winston ^3.8.2 and nothing is coming out when using docker logs <mycontainer>.  My code is using the Console transport.  Works fine with console.log

hi there,
same for me :(
FROM node:18.12-alpine and winston 3.8.2
error.log file is filled like it used to, but now console logs :( console.log is showing like expected.
`const winston = require('winston');
const Sentry = require('winston-transport-sentry-node').default;
const isProdEnv = () => {
return process.env.NODE_ENV === 'production';
};
const levels = {
error: 0,
warn: 1,
info: 2,
http: 3,
verbose: 4,
debug: 5,
silly: 6
};
const level = () => {
return process.env.LOG_LEVEL ? process.env.LOG_LEVEL : '' || !isProdEnv() ? 'debug' : 'info';
};
const getTimestamp = () => {
return !isProdEnv() ? 'HH:mm:ss:SSS' : 'YYYY-MM-DD HH:mm:ss:SSS';
};
const colors = {
error: 'red',
warn: 'yellow',
info: 'green',
http: 'magenta',
verbose: 'brightBlue',
debug: ['brightCyan', 'bgGrey'],
silly: 'gray'
};
winston.addColors(colors);
const format = winston.format.combine(
winston.format.prettyPrint(),
winston.format.splat(),
winston.format.timestamp({ format: getTimestamp() }),
winston.format.label({ label: 'MY-SUPER-DUPER-LOGGER' }),
winston.format.printf(
(info) => {
// Check for splat and append to message if no String interpolation is present
const checkSplat = info[Symbol.for('splat')];
if (checkSplat !== undefined) {
const checkInterpolation = info[Symbol.for('message')].match(/%[a-z|A-Z]/gm);
if (checkInterpolation === null) {
info.message += ' ' + JSON.stringify(checkSplat[0], null, 3);
}
}
  const checkForStack = info.stack;
  if (checkForStack !== undefined) {
    info.message = checkForStack;
  }

  if (typeof info.message === 'object') {
    info.message = JSON.stringify(info.message, null, 3);
  }

  return `[${info.label}] ${info.timestamp} ${info.level}: ${info.message}`;
}

)
);
const transports = [
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize({
all: true
})
)
}),
new winston.transports.File({
filename: 'logs/error.log',
level: 'error',
handleExceptions: true,
maxsize: 1000000,
maxFiles: 10,
tailable: true
}),
new winston.transports.File({
filename: 'logs/all.log',
maxsize: 1000000,
maxFiles: 10,
tailable: true
})
];
const exceptionHandlers = [
];
if (process.env.LOG_DSN) {
const options = {
sentry: {
dsn: process.env.LOG_DSN
},
level: process.env.LOG_MONITOR_LEVEL || 'info'
};
transports.push(new Sentry(options));
exceptionHandlers.push(new Sentry(options));
}
const logger = winston.createLogger({
level: level(),
levels,
format,
transports,
exceptionHandlers
});
module.exports = logger;
// could be used as a middleware for express
// module.exports.dtsLogger = (req, res, next) => {
//   req.logger = logger;
//   next();
// };
`

Might be related to #2175

Hey @lukeberry99
I have just solved this problem for myself.
I launch my app node in a container with a docker-compose and in the description of my service "api", I have an environment flag.
In this flag I have several values listed with dashes and I was putting the names in plain text and the value in quotes. I just realized that in the docker-compose, the env var values are taken as is and they add simple quotes around them. So if you put :
LOG_LEVEL="debug"

in reality it will give:
LOG_LEVEL='"debug"'

To solve this problem, in my docker-compose I define my variable like this
LOG_LEVEL=debug

Winston: 3.8.2
Node: 16.17.1
Operating System? Alpine Linux via Docker node:16.17-alpine
Language: Typescript

I'm encountering a similar issue in my project.  I can get Winston to save to logs in my container as long as I use __dirname (eg. /dist/) as the base directory.  I cannot get Winston to save outside of the __dirname directory.
Working configuration
const logger = winston.createLogger({
    level: process.env.LOG_LEVEL || 'info',
    format: combine(errors({ stack: true }), timestamp(), json()),
    transports: [
        new winston.transports.File({
            dirname: `${__dirname}/logs`, // evaluates to '/dist/logs/`
            filename: `all.log`,
        }),
    ],
});

Broken configuration
const logger = winston.createLogger({
level: process.env.LOG_LEVEL || 'info',
format: combine(errors({ stack: true }), timestamp(), json()),
transports: [
new winston.transports.File({
dirname: /logs,
filename: all.log,
}),
],
});

I'm having the same problem logging with winston and next in a node:18-alpine container. Is there really no way to get winston to log properly in a container? Does pino handle this better?

Hi @edwardstumpf / everyone ,
We recently switched nest js logger to winston logger because we need log files as a file in docker container . here is my winston config  =>
new winston.transports.File({
filename: 'debug.log',
level: 'debug',
format: winston.format.combine(
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
nestWinstonModuleUtilities.format.nestLike('', {
colors: false,
prettyPrint: false,
}),
),
}),
===============
even we tried as suggested by @edwardstumpf  dirname: ${__dirname}/var/logs, // evaluates to '/dist/logs/`
still no luck if any one resolved recent time please post your response or else please suggest any other npm libs ?
Thanks & Best Regards,
Prabu Lakshmanan

@vasanthprabu I have switched to pino and it works really well.    The maintainers don't seem to care that it can't log in a docker container.  I tried everything and couldn't get it to work.  It should be a fundamental thing

Had the same problem. For me using a more explicit path fixed it. I went from
new transports.File({ filename: 'logs/info.log', level: 'info' }),
to
new transports.File({ filename: './logs/info.log', level: 'info' }),
Full command:
export const logger = createLogger({
  level: 'info',
  format: combine(
    timestamp(),
    logFormat
  ),
  transports: [
    new transports.Console(),
    new transports.File({ filename: './logs/info.log', level: 'info' }),
    new transports.File({ filename: './logs/errors.log', level: 'warn' }),
    new transports.File({ filename: './logs/errors.log', level: 'error' })
  ]
});

Hey @andrelung , thanks for sharing your proposed solution!  Tbh I'm not sure why this would result in different behavior in Docker (I wonder if it causes different behavior outside a container?).  If you're down to investigate, we'd be more than happy to review any PR that improves this behavior and/or documents things better.
That being said, the original issue mentioned logging to a file transport as well as to a console transport - I wonder if in the intervening time, the console transport is working now inside containers?  If not, would be amazing to fix both... but at least we could get the File transport in good shape first and reduce the scope of the issue... thanks so much either way!

I have tried absolute, relative path, nothing worked in docker, I kind of get embarassed not being able to find how to sort this. I use node:20-alpine base image.

I also solved it, replacing LOG_LEVEL=DEBUG to LOG_LEVEL=debug
Took me a bit more than a day to find out....

This might be a good thing to document (case-sensitivity) too, or to potentially fix/change (make them case-insensitive / .toLower() everything...)


Add traverse_errors fixes from upstream

Particularly commits

fix traverse_errors
test traverse_errors

Pull Request Test Coverage Report for Build 470b52f72e84544e3d332f26cf2107e0e1370f7c-PR-12
Details

25 of 28 (89.29%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 78.571%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/polymorphic_embed.ex
25
28
89.29%

Totals

Change from base Build 999237ba052309d4a6d78dffea856a744c1a2bca:
0.4%

Covered Lines:
154

Relevant Lines:
196

💛  - Coveralls

Verified that pipeline works https://gitlab.com/remote-com/employ-starbase/tiger/-/merge_requests/33378


rich output, console logging, printing, warnings

There is currently a "logger" implemented all over the code, which I guess spits out to a txt file. It would be a good two-for-one to implement the rich console logger (link here), to write to console and to file every time the logger is called in the current code. We should also log to file every time we raise a warning.
Currently, we sometimes print things to console, sometimes log things to file, sometimes warn things, and sometimes a combination of the three. We should make this consistent based on the verbose flag. relates to #40

PR #54 took care of most of this (we have to keep up good practices about logging and printing and warnings though!!).
What's left is to implement the rich printing as suggested on slack.  I think this should be pretty straightforward: https://rich.readthedocs.io/en/latest/logging.html
I'm going to rename the issue to reflect this remaining focus.


Alpha not working for certain colors in Firefox 50

Reported on the forum: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/lmPHhYxMd7c
In the example below, the wall should be transparent gray but shows up solid in Firefox.  Red.withAlpha(0.5) works fine.
var viewer = new Cesium.Viewer('cesiumContainer');
var entities = viewer.entities;

var cartesianPositions = Cesium.Cartesian3.fromDegreesArrayHeights( [-71.4178416666667, 43.5730416666667, 50000, -72.3041944444444, 43.6261111111111, 50000] );

entities.add( {
    wall: {
        positions: cartesianPositions,
        material: new Cesium.Color.GRAY.withAlpha(0.5)
    }
});

viewer.zoomTo(viewer.entities);

The GREEN.withAlpha(0.5) in this example is also not working: http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Rectangle.html&label=Geometries

@pjcozzi should this be labeled next release?

Also here: https://github.com/AnalyticalGraphicsInc/cesium/issues/4658

@lilleyse Thanks, I missed that issue.  Should we close this as a duplicate or is it a different issue?

It's the same issue, we either one can be closed.


maybe: change type of S.Nothing from ‘-> Maybe a’ to ‘Maybe a’

Initially, S.Nothing existed both to create the Nothing value and to support R.is(S.Nothing). S.Nothing is no longer a constructor function, and we now have S.isNothing to answer the question of whether a given value of type Maybe a is Nothing. This means S.Nothing can now be the Nothing value, improving Haskell correspondence:

Nothing
Just

Sanctuary, before
S.Nothing()
S.Just(42)

Sanctuary, after
S.Nothing
S.Just(42)

Haskell
Nothing
Just 42

Can anyone think of a problem with this change?

This evening I realized for the first time that “nothing” is comprised of “no” and “thing”. I now think Haskell should have gone with data Maybe a = Thing a | Nothing. ;)

LGTM.


Fix: NPE is thrown when without is called on a base class's field.

I'm not sure if this is desired behavior, but it looks like an exception is raised by EqualRequestSpecification when using Without on a field that exists in a class's base class.
Here's the simplified example demonstrating this behavior:
public class CoolPerson : CoolPersonality
{
}

public class CoolPersonality
{
    public bool IsCool = true;
}

[Fact]
public void ThrowsNullPointerException_WhenWithoutIsCalledOnABaseClassesField()
{
    Fixture f = new Fixture();
    Assert.Throws<ArgumentNullException>(() => f.Build<CoolPerson>().Without(x => x.IsCool).Create());
}

Since the NodeComposer doesn't check that the reflected type could potentially be a field, null is passed down the line to EqualRequestSpecification where a NPE is raised.
This was discovered when I was trying to 'mock out' a statically assigned field in a base class to see if AutoFixture + Moq could help me out.
Sorry for the lack of tests but since I don't understand the architecture of Autofixture that well, it was hard for me to gauge how this change would impact other classes.
I just wanted to quickly put up this merge request so that I wouldn't forget about it; I'll try to write some tests this weekend!

Thank you for reporting this :+1: That's quite a surprising omission :flushed:
I agree that we should also have at least one test that reproduces the defect, but I'd be perfectly happy with a Facade Test like the one sketched in the PR comment.

I can see that you've pushed new commits to this pull request. I will commence a review shortly.
TIP: Contrary to most other activities, GitHub doesn't send out notifications when pull requests are updated. This means that it's easy for me (and other maintainers) to forget about it.
Another time, in order to ensure that the reviewer gets a notification about updates to a pull request, you are welcome to leave a comment to that effect. Adding a comment will trigger a notification to all subscribers.

Thank you for your contribution! It's now live as AutoFixture 3.44.1.

Much appreciated!  :smile:


Setting memory reservation

What are you trying to do and what's not working?
Im trying to set the memory reservation. You can set the ram with the option
--cram 4
I would like to set the memory reservation aswell. Maybe something like:
--cram_reservation 2
Can this be done?

I think so... Look for memoryAllocation at the Config Spec documentation. There are a few things we can set in that structure. What would be helpful?

Seems like the reservation can indeed be set with:
https://www.vmware.com/support/developer/converter-sdk/conv50_apireference/vim.ResourceAllocationInfo.html
Can it already be done with a featue of knife-vpshere (like something knife vsphere vm config set ... )?

Not as-is, as config doesn't support nested attributes.

This is now merged, can be closed?

Yes, thanks for the reminder!


fix kwargs usage

ref #7

Coverage remained the same at 58.803% when pulling 31cf8676e9c5e45001d4361b3ed41966789f66dc on tanmaykm into 9546465e9e2dd6ddff42658adc425982c6ee512a on master.

Current coverage is 58.80% (diff: 93.10%)

Merging #8 into master will not change coverage

@@             master         #8   diff @@
==========================================
  Files             8          8
  Lines           284        284
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            167        167
  Misses          117        117
  Partials          0          0

Powered by Codecov. Last update 9546465...31cf867


Valid vehicles's profile

Can I set a custom profile for vehicles? I found out that there are some values like "car", "truck"
I want to set something like this
 vroom.Vehicle(
          profile=vehicle["provider"],
          id=vehicle["id"],
          start=0,
          time_window=time_window,
          capacity=[vehicle["capacity"]],
)

for provider, matrix in cost_matrices.items():
        problem_instance.set_costs_matrix(profile=provider, matrix_input=matrix)

Currently, it returns the error:

VroomInputException: Missing coordinates for routing engine.

It should be supported, yes. But I am unsure what is going on in your example. Do you mind creating a runnable minimal example that evoke the error?


BeatLeader Song Filters Don't Show in BetterSongList on BS 1.37.0

BeatLeader 0.9.17 and Better Song List 0.40.
Under the "Sort" dropdown there used to be BeatLeader Plugins listed, but they seem to be broken now.

Fixed.


Relay triggers every time board reboots.

After upgrading to 2.3.3 both garage door & siren turn on if board reboots. It’s working fine otherwise. Only momentary switch for garage door and siren connected to board. D5 momentary switch for garage door & D6 is set for Siren. It was all fine before upgrade. Low level trigger is checked in app for both devices. Has something changed in the firmware or file system?

Did some more troubleshooting, why are the pins getting initialized on boot? This is what's causing the garage door to open & Siren to sound.
Heap:	38272	HTTP Call:	200	state	1	pin	6
Heap:	38208	Initialized actuator Pin:	6	Trigger:	0	Initial state:	1
Heap:	37768	HTTP Call:	200	state	1	pin	5
Heap:	37704	Initialized actuator Pin:	5	Trigger:	0	Initial state:	1

What type of relay are you using? Make sure the the relay trigger is also set to L(ow)

What type of relay are you using? Make sure the the relay trigger is also set to L(ow)

I had the same issue, flashed the board to 2.3.3 and both relays activated after the reboot. Using a DIY Kit and a 5V-2 Channel relay with the trigger set to Low. Just to test it out, I cycled power to the board and the same thing happened on restart.

Make sure you have re-synced device settings after flashing

Yep, did that. The relays triggered after that...
Fortunately the Konnected Smart Home app still has 2.3.1. After I reverted, the issue went away.
I have the relays running my garage doors, so I can't have them opening every time the board reboots...

hmm, will try to reproduce this

Thanks!!!

I've also come across this today - the relay triggers every time I restart HomeAssistant or reboot the Konnected board.
I'm using the relay as a momentary switch to arm and disarm my alarm, meaning that this is a major issue in my case.
Unfortunately I'm completely unable to downgrade my firmware from 2.3.3 - I've tried 7 different known good USB cables, and 5 different sets of drivers.
Is there an alternative method available to force a downgrade?

After trying 2 Windows 10 laptops, 7 usb cables and 5 different driver sets I managed to revert back to 2.3.1 using
curl -X POST -H "Content-Type: application/json"  -d '{"uri":"https://konnected-io.s3.us-east-2.amazonaws.com/esp8266-lfs/lfs-2.3.1.img"}'  http://<konnectedip>:<port>/ota
Rolling back the firmware has completely resolved the issue.

I was able to reproduce and confirm that this is a bug.
It's fixed here: https://github.com/konnected-io/konnected-security/commit/d52b64983ae9bfbfe859766095cb314be00fe40e
This will be released in 2.3.4 within a few days.
The bug affects only low-level trigger relays, and causes them to momentarily trigger when the device is restarted.

Hi,
My relay continues to trigger when rebooting the Konnected v2 add-on board and when restarting HomeAssistant.
Happening both with release 2.3.4 and release 2.3.5, and HA version 107.x and (current) version 108.6

@TazUk Please confirm the trigger setting in the Konnected configuration matches the trigger on your relay. The easiest way to view the Konnected device's configuration is to download the Konnected app from the Apple / Google Play store, scan your network for the device, and then tap on "View device status". The trigger setting is shown in the actuators section of the status page.
0 = low
1 (or empty) = high
Make sure that your relay is configured accordingly. The relay modules that we sell have jumper to configure, but some relays may be fixed low or high.
Also -- what pin/zone do you have your relay connected to? Not all pins are compatible with high and low triggers.

@heythisisnate
Nate, you were spot on.
Relay was jumpered to High, but my configuration was set to low.
After some messing around, I've reconfigured to 'High' in HA and checked that it passed through to the board from the app and ran a few restarts and all now behaves (relay triggers when board is first powered but I would expect that).
Interestingly trying to jumper the relay as low prevented the board from being accessible at all (from app or HA), so clearly high is the way to go for my setup.
I'm using the "OUT" terminal to fire the relay and using zones 1 to 3 to read some programmable outputs from the Texecom alarm panel it's wired to.

Apologies for my mistake and thanks again for the assist.


Changing sha for proxy in istio/istio.deps

For release 1.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utka
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
If they are not already assigned, you can assign the PR to them by writing /assign @linsun 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

@utka: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
bd37f29a743919720d105ecef56ba6a4f34e886f
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@utka: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
bd37f29a743919720d105ecef56ba6a4f34e886f
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
bd37f29a743919720d105ecef56ba6a4f34e886f
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Please add a open source license

Thanks for your code. Is there a chance that you can add a open source license? May be like the one from E4S(CVPR2023) or STIT?
Thanks a lot

Also, Can I use the model in MIT license?

We now add an MIT License following STIT.


PowerShell.OnIdle seems not to fire in PSReadline 2.0 beta (repro)

Environment data
PS version: 5.1.17134.228
PSReadline version: 2.0.0-beta3
os: 10.0.17134.1 (WinBuild.160101.0800)
PS file version: 10.0.17134.1 (WinBuild.160101.0800)
Steps to reproduce or exception report
Further to #773, I think I can repro this pretty reliably now. It seems that the OnIdle event isn't fired when another event subscriber already exists.
PS> powershell -noprofile
PS> Register-EngineEvent -SourceIdentifier PowerShell.OnIdle -Action {Write-Host '*idle*'} -MaxTriggerCount 1
PS> *idle*
PS> $timer = New-Object System.Timers.Timer -Property @{ Interval = 1000; AutoReset = $false }
PS> Register-ObjectEvent $timer Elapsed -Action { Write-Host '*timer*' } -MaxTriggerCount 1
PS> Register-EngineEvent -SourceIdentifier PowerShell.OnIdle -Action {Write-Host '*idle*'} -MaxTriggerCount 1
PS> # nothing...
PS> Get-EventSubscriber

SubscriptionId   : 3
SourceObject     : System.Timers.Timer
EventName        : Elapsed
SourceIdentifier : 6ac2a48b-3498-47af-b32b-f82652dda9f5
Action           : System.Management.Automation.PSEventJob
HandlerDelegate  :
SupportEvent     : False
ForwardEvent     : False

SubscriptionId   : 4
SourceObject     :
EventName        :
SourceIdentifier : PowerShell.OnIdle
Action           : System.Management.Automation.PSEventJob
HandlerDelegate  :
SupportEvent     : False
ForwardEvent     : False

PS> Remove-Module PSReadline
PS> *idle*

any progress on this bug?

thanks, hopefully this can be pushed to a beta release soon


Error in Makefile: recipe for target 'build/pkg/linux_amd64/python/test/test_bisect.a' failed

While executing make I am facing following error.
build/src/__python__/test/test_bisect/module.go:7: can't find import: "__python__/test"
Makefile:262: recipe for target 'build/pkg/linux_amd64/__python__/test/test_bisect.a' failed
make: *** [build/pkg/linux_amd64/__python__/test/test_bisect.a] Error 1

OS : Fedora release 25 (Twenty Five) 64 Bit
Python Version : 2.7

Thanks for a reporting. That was caused by a recent change by me. Basically, the pydeps tools was marking all direct imports as dependencies of the module being scanned, but it was missing the root packages for imports of the form import foo.bar. So the module importing foo.bar would depend on bar, but not foo.
I think I've fixed it in 10001917d8eac7b22b697b764cb43e87a673a7ae. Let me know if you have any more trouble.


refactor: remove never used coments

The description of all the parameters within conf.py are either self explainatory or they require much more than a small comment to be understood. I kept the link to Sphinx doc at the top and this is where people should seek information. The excessive comments have been dropped in the latest version of Shpinx-quickstart

I've overlooked that master_doc = "index" is removed. This is not a comment. What does this do and why is it removed?

It's showing sphinx where the documentation landing page is. it's only useful if the master_doc is different from index so in this case it is not necessary.

Ok, but please in the future don't make changes that are not covered by the PR title.

I promise I'm working on it

I know it can be frustrating, these minor things you can quickly fix when you find them, so why not?
But 2 years from now, we might struggle to find the reasons for changes, and we have been bitten by those cases where we don't know why we changed something, and sometimes it is important.
Thank you 🙏


@JuliaRegistrator register()

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/114543
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.1 -m "<description of version>" 146dab661394c6279a1eeb9272fd183018794f10
git push origin v1.0.1


javax.annotation-api vulnerabilities

The dropwizard-core current released version(1.3.8) is using javax.annotation-api-1.2.jar, which is having vulnerabilities CVE-2015-2808, CVE-2013-2566.
Is there any plan to handle these vulnerabilities in the latest release of dropwizard? Please suggest.

@harpreet86 You can suppress false positives in the OWASP Dependency-Check plugin:
https://jeremylong.github.io/DependencyCheck/general/suppression.html

@joschi, I have suppressed it as of now but is there any list of false positives documented by dropwizard like such scenarios because this vulnerability is getting introduced in my project by dropwizard and excluding it is not helping.

@harpreet86 You can use the configuration used by Dropwizard in your own projects:
https://github.com/dropwizard/dropwizard/blob/816b4d53e24c12b4355429508179593f27a379ef/suppressed-cves.xml

@joschi I am not able to find any reference for CVE-2015-2808, CVE-2013-2566 in suppressed-cves.xml
Please suggest


Update hu.coffee

Hello, @KisgadoB! Thank you for contributing. Could you sign our CLA so that I can merge your pull request?


Species ID missing from an observation but community ID remains

Thanks to Erwin for finding this:
http://www.inaturalist.org/observations/1991340#activity_comment_436201
Note that the community ID is there but all the identifications including my own are gone. Several more for that day too - maybe all of them
If I recall correctly, this was that day where i was testing a new version of the app that inadvertently deteted these observations.. Patrick restored them but maybe it didn't restore the IDs. if this is a one-off thing maybe not necessary to do anything about, but thought you might want to be aware just in case.

This was an issue with the iOS app that has been resolved right?


accessible/accessable option removed?

Hi guys,
Just wanted to check with you if you got rid of the accessible option? I have some form element I'd like to have accessible for user when walkthrough is displayed and I wonder if there's a way to do that with current version?
Thanks

This was probably removed in #35 but please confirm.
I'd love to have such option back if possible.

We actually removed this in 05e8d9fa, to fix a couple of other bugs (#30 and #21).  In that commit, we simplified the plugin and removed alot of complicated logic for "boxing in" the highlighted element (we fitted a transparent overlay over the highlighted element, and used box-shadows combined with a fullscreen dark overlay).
The intention was to re-introduce the accesibility feature at some point (see #42), but we never got around to it.  We've also been planning to do a full rewrite (v3) of the project for a while, but again, haven't got round to it.
With the way it's setup now, there's no way for us to re-implement this feature without changing most of the plugin's code, so we'd probably be better off doing the full rewrite and implementing it at that point.

I understand, that's what I thought.
Anyway, thanks for the response and for the ongoing development of this plugin.

No worries, sorry I can't help any further at this point in time.


are bqplot and VSCode-Python compatible, under Jupyterlab-3-only new world ?

hi,
Trying to use now Bqplot as a pure "jupyterlab-3" plugin",  I have issues when trying to use it in VSCode-Python.
Does anyone knows if it is suppose to work well ? (I only do pip install bqplot now)

Hello.
The example in your screenshot is not using bqplot. Could it be the wrong screenshot?

Oups! Will recheck this week-end

Actually, they do support custom widgets, but you need to install the Jupyter plugin to have it working. See this issue for bqplot screenshots in vscode: https://github.com/microsoft/vscode-jupyter/issues/995

ok, retesting:

the above problem is  something related to another library,
the problem with bqplot, is now that I'm 100% jupyterlab, it seems VSCode wants to download something from internet

I don't know how to pre-load that, how it wsa not a problem with legacy Jupyter notebook

hum, If I launch it slowly in VSCode, it seems I don't have the issue anymore


Create multiple actors from multiple stat blocks.  Very useful for Hero Lab users.

I'm able to use your importer successfully with stat block text output from Hero Lab.  Hero Lab will give me multiple stat block entries in one file.  It would be nice to be able to use that to create multiple actors at once.

This would also greatly improve test ability.

If you'll implement this feature, I'll help test Bestiary 2 through 6.  Took me about 6 hours to import all the NPCs from the Bestiary book (Bestiary 1) from Hero Lab because I had to do each individually.


Add "garden publish" command

Implements the bulk of #53.
Overview
This PR lays down most of the work to implement the garden-ai garden publish command. It also adds garden-ai garden add-pipeline. Publishing a garden creates a new record in Globus Search for that garden, including any child pipelines.
There are some refactoring changes too:

Local "db" operations are now in a separate module instead of being methods on GardenClient.
Some old first drafts of publication have been deleted or repurposed.

Discussion
There are a few smells and TODOs here. The biggest smell is using JSON metadata dictionaries instead of Garden and Pipeline models. As I note in this comment, we can't currently go from serialized garden or pipeline JSON back to Garden or Pipeline Pydantic models. We'll need to address that soon, likely in this sprint. It seemed like overkill to work that out in this PR, but we should go back and clean this up soon.
There are some TODOs remaining:

~There was a backend error on DOI minting for Gardens so I punted on that for this PR. I intend to address it in a follow-up PR this sprint.~ Figured it out. Included it.
We'd like to be able to refer to gardens and pipelines by DOI. Maybe even title. I intend to include selecting by DOI in a follow-up PR.
~I need to make the dev Search index publicly writable or at least add all the Garden devs to it. (I couldn't write to the one Eric set up but I had an endpoint lying around that I subbed in.)~ @ericblau  added me as admin to the old index and I invited the Garden devs to it. We can't make it publicly writeable (which is a good and sane constraint) so we'll just have to invite people to the "Garden Dev Search" Globus group until we move ingest to the backend.

Testing
Two new CLI tests exercise the new commands. Running end-to-end by invoking the CLI, I was able to confirm that the JSON I intended to upload to the search index got there with globus-search query 8386583d-e1cf-4b2f-ae66-b335ab5c9a21 "*"

:books: Documentation preview :books:: https://garden-ai--109.org.readthedocs.build/en/109/

Thanks! Just committed the suggestions you made.


Clear cargo audit critical vuln.  Update test-cert-gen version

This deals with the cargo audit issue where a critical vuln, RUSTSEC-2023-0018 comes up.
Updating the test-cert-gen issue fixes it :)
This vulnerability causes other libraries to fail the audit, such as reqwest

Why would cargo-audit care about a dev dependency of one of your dependencies?

I was wondering why it cared about a dev dependency too.  but for example, this comes up now when running cargo audit on my project,
Dependency tree:
remove_dir_all 0.5.3
└── tempfile 3.3.0
    └── native-tls 0.2.11
        ├── tokio-native-tls 0.3.0
        │   └── hyper-tls 0.5.0
        │       └── reqwest 0.11.14
        ├── reqwest 0.11.14
        └── hyper-tls 0.5.0

That tree doesn't contain test-cert-version.
Run cargo update.

It just skipped that level of the printout it seems. If you run cargo audit from the rust-native-tls directory, this is the output
❯ cargo audit
Fetching advisory database from https://github.com/RustSec/advisory-db.git
Loaded 516 security advisories (from /home/chris/.cargo/advisory-db)
Updating crates.io index
Scanning Cargo.lock for vulnerabilities (61 crate dependencies)
Crate:     remove_dir_all
Version:   0.5.3
Title:     Race Condition Enabling Link Following and Time-of-check Time-of-use (TOCTOU)
Date:      2023-02-24
ID:        RUSTSEC-2023-0018
URL:       https://rustsec.org/advisories/RUSTSEC-2023-0018
Solution:  Upgrade to >=0.8.0
Dependency tree:
remove_dir_all 0.5.3
└── tempdir 0.3.7
└── test-cert-gen 0.7.0
└── native-tls 0.2.11

I did try cargo update, that had no effect.
Updating test-cert-gen seems to resolve the issue

I added updating tempfile to 3.4.0. < 3.3.0 used remove_dir_all which is where the original vuln came from.  3.4.0 removes that dependency.
This should eliminate all cargo audit errors

I cannot reproduce these audit failures:
Cargo.toml
[package]
name = "foo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
reqwest = "0.11"

$ cargo audit
    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
      Loaded 516 security advisories (from /Users/sfackler/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (108 crate dependencies)
$ cargo tree -i -p tempfile
tempfile v3.4.0
└── native-tls v0.2.11
    ├── hyper-tls v0.5.0
    │   └── reqwest v0.11.14
    │       └── foo v0.1.0 (/Users/sfackler/foo)
    ├── reqwest v0.11.14 (*)
    └── tokio-native-tls v0.3.1
        ├── hyper-tls v0.5.0 (*)
        └── reqwest v0.11.14 (*)

Please provide a self contained example of a project with a fully updated lockfile that encounters these errors.

I did as such and I came to a similar conclusion... no cargo audit issues..
I rm Cargo.lock and re-ran the audit.  No issues.
I feel bad for the fuss now, my apologies.  I have learned something new today


fix site url metadata

sharing the site via mobile etc sends the wrong link , this fixes it

Merged, thanks


Esc 263 amend undertaking

ticket details -> https://jira.tools.tax.service.gov.uk/browse/ESC-263
The attached image in the ticket has four fields in the amend undertaking screen but that is old, now we have only three
undertaking name, sector and contact.
I have added a new link called amen-undertaking details, which is the new screen where user can edit the details already entered.
I have created a new isAmend flag, which take care of the previous and next pages. Since we are reusing the same pages we had while creating undertaking, this time we check the isAmend flag. If yes then the previous and next of the pages is amend screen details only.
There is some code refactoring as well with test cases(only for those controllers methods which are used in this ticket)

@sam-miele @carwynellis I have made changes as per your suggestions and fixed test cases
here


feat(api): Add delete current user functionality

Another PR that also includes this was opened. This one will be closed


Issue during package build

I get an error after running stack install that stops the project build. Here's the log:
ghc: loadArchive: Neither an archive, nor a fat archive: /nix/store/a76n8l1caynyyngdpnyihlrgyr9k9ilg-clang-wrapper-7.1.0/bin/clang++'
ghc: panic! (the 'impossible' happened)
(GHC version 8.6.5 for x86_64-apple-darwin):
loadArchive "/nix/store/a76n8l1caynyyngdpnyihlrgyr9k9ilg-clang-wrapper-7.1.0/bin/clang++": failed
Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug`
Any idea on how to fix this?

I'm not getting this on linux. @rabbitonweb or @dzajkowski could you give stack install a go on mac OS?

@d4nielhdz does the issue persist after switching https://github.com/frost-org/frost/blob/38e1660400e0d0e2421a7d08c65cdedf88cd03ce/stack.yaml#L15 to false?

I have the same issue on my Mac. I've disabled nix integration for now, but this has to be resolved asap. Updating channels to the most recent ones did not help.

Hi @d4nielhdz  I've finally managed to fix the issue on the OSX. Those are two known issues in the Haskell community that have not been resolved o_0. Anyway, workarounds that I found on the web seem to work.
Could you please please check that it works on your machine as well?

@EncodePanda do you remember the workaround?

@EncodePanda do you remember the workaround?

this https://github.com/symphony-org/frost/pull/68


Cut release

:tada: This PR is included in version 5.0.0-rc.13 :tada:
The release is available on:

npm package (@rc dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Jasmine test failing out of the box

I did a fresh checkout out the Coco repo, and when I ran npm run jasmine one test failed. FYI I'm running Ubuntu 16.04.
1) DELETE /db/prepaid/:handle/redeemers works if the user has not migrated from coursePrepaidID to coursePrepaid
  Message:
    Failed: Cannot read property 'length' of undefined
  Stack:
    TypeError: Cannot read property 'length' of undefined
      at Object.<anonymous> (/home/codecombat/codecombat/spec/server/functional/prepaid.spec.coffee:475:26)
      at [object Generator].next (native)
      at onFulfilled (/home/codecombat/codecombat/node_modules/co/index.js:65:19)
      at tryCatcher (/home/codecombat/codecombat/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/codecombat/codecombat/node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (/home/codecombat/codecombat/node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromise0 (/home/codecombat/codecombat/node_modules/bluebird/js/release/promise.js:614:10)
      at Promise._settlePromises (/home/codecombat/codecombat/node_modules/bluebird/js/release/promise.js:693:18)
      at Promise._fulfill (/home/codecombat/codecombat/node_modules/bluebird/js/release/promise.js:638:18)
      at Request._callback (/home/codecombat/codecombat/node_modules/bluebird/js/release/nodeback.js:45:21)
      at Request.self.callback (/home/codecombat/codecombat/node_modules/request/request.js:188:22)
      at emitTwo (events.js:100:13)
      at Request.emit (events.js:185:7)
      at Request.<anonymous> (/home/codecombat/codecombat/node_modules/request/request.js:1171:10)
      at emitOne (events.js:90:13)
      at Request.emit (events.js:182:7)
      at IncomingMessage.<anonymous> (/home/codecombat/codecombat/node_modules/request/request.js:1091:12)
      at IncomingMessage.g (events.js:273:16)
      at emitNone (events.js:85:20)
      at IncomingMessage.emit (events.js:179:7)
      at endReadableNT (_stream_readable.js:913:12)
      at _combinedTickCallback (internal/process/next_tick.js:74:11)
      at process._tickDomainCallback (internal/process/next_tick.js:122:9)

Issue still present as at cacb7fa56ecddadca98b92966b909cebea00d5ce

Fixed in https://github.com/codecombat/codecombat/commit/51c2a79


Removing CMS and theme detail from footer

Theme and CMS details in the footer will increase more vulnerability chances to the site so these details should be removed from the front end. I would like to make this enhancement. Please @himanshu007-creator allow me t work on this and assign it to me with gssoc label.

@himanshu007-creator  please assign this issue to me. I would like to work on this.

sorted


Don't include .min.js files as part of ExternalProjects

Fixes #14693

Can you also add a unit test.

Going another direction with this one


experiment with an abstract VerbatimPath datatype

It'd be pretty nice to have normalization (see #1) enforced automatically by an abstract datatype. That way you could take any path, convert it to an equivalent VerbatimPath, and know for sure you'd get all the usual conveniences without running into 260-character path-length restrictions.
Users would still need to understand that the path's string representation was a verbatim path, e.g. for serializing or passing to OS API's.

I was literally just musing about this exact thing. It would be great to have a type to enforce this. AFAIK it's safe to pass these paths to all Windows APIs, so it should be OK to use them liberally and have the type implement Deref<Path> and AsRef<Path>.


Namespace-style outputs?

For older browser-based projects that use the namespace keyword (or module still), it can be inconvenient to interact with AMD/CommonJS/etc. style code.
It would be great if TypeScript could natively compile modern-style modules into the traditional namespaces. This would allow these older projects to interact near-natively with newer code without having to add an additional compilation step or including requirejs.
Here's a proposal for how it would look for a single-file output, where src/Base.ts and src/Children/Child.ts are written in the import style and compiled to a single file dist/Compiled.js:
src/base.ts
Original Import Style:
export const Base = true;

Equivalent Namespace Style:
namespace MyProject {
    export const Base = true;
}

src/Children/Child.ts
Original Import Style:
import { Base } from "../Base";

export const Child = Base.toString();

Equivalent Namespace Style:
/// <reference path="../Base.ts" />

namespace MyProject.Children {
    // Optionally:
    // import Base = MyProject.Base;
    export const Child = Base.toString();
}

dist/Compiled.js
Output JS in Namespace Style:
var MyProject;
(function (MyProject) {
    MyProject.Base = true;
    var Children;
    (function (Children) {
        Children.Child = MyProject.Base.toString();
    })(Children || (Children = {}));
})(MyProject || (MyProject = {}));

Equivalent Namespace Style:
namespace MyProject {
    export const Base = true;

    namespace Children {
        export const Child = Base.toString();
    }
}

Errata

This system assumes that file system directory path === namespace name & path.
You could make the argument that this would encourage users to stay with this old namespace approach. I would make the counter-point that this would help spread TS adoption, and the benefits of moving to a require-style usage (more modular code, asynchronous loading, etc.) still hold true.
The motivation for this is the pain of making browser-style distribution versions of a project that both work with requirejs and can be embedded in namespace-y sites.

this example is rather simple and has no external dependencies. you can not remove all the dependencies on module system and emit all code as global.
We have recently added support for UMD module declaration using export as namespace. see https://github.com/Microsoft/TypeScript/issues/7125. i would say this allows you to write modules and chose to expose them as globals if you so choose.

I'll add that you can add a module that tacks on a property to whatever the runtime considers the global object, export it to a single AMD file, and then synchronously call require on that global module. That's what I would think to do in conjunction with the export as namespace foo syntax.
I'm going to close this because I think the transform would be too complex and I think we are moving away from that model of JS development anyway.

FWIW, I started this as a project here: https://github.com/JoshuaKGoldberg/Typespace
It is useful in very specific scenarios, but I agree with the decision to not include it as a part of TypeScript.


macOS: Add proxy icon

I use the proxy icon quite a lot for dragging/dropping and opening the directory tree.

https://github.com/Microsoft/vscode/issues/17664


New Kibana package, that supports the usage of plugins

This PR enables a new Kibana package option for specifying a Kibana plugin, which then will be downloaded, installed and activated during the deployment process.

Can somebody please tell me, why all the checks are failing? What do i need to fix or modify for the checks to pass?

Hi @devpie, unfortunately this package is owned entirely by Mesosphere.  If you'd like to contribute to it, please submit a change to the framework upstream (in mesosphere/dcos-commons).  But first, it's probably a good idea to file a ticket in JIRA so our Product Manager can weigh in on whether or not this feature is something we want to support long term.  You can find it here:  https://jira.mesosphere.com/projects/DCOS_ELASTIC/issues
Looking forward to your PR there!

Ok, thank you for the info.


docs(storybook): sentence case story names

Related Ticket(s)
#6996
Description
This PR updates react and web-components story names and documentation across the repo to use sentence case story names
Changelog
Changed

storybook story names and documentation examples

@emyarod looks like the snapshot file needs to be rebuilt.

Thanks @emyarod , looks like there are still merge conflicts.


refactor: vue takes precedence over js in pages and layouts

Thanks @clarkdo
Could you add a test for this behavior?

@Atinux Sure

@Atinux Done

Codecov Report

Merging #2377 into dev will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #2377      +/-   ##
==========================================
+ Coverage   99.91%   99.91%   +<.01%
==========================================
  Files          20       20
  Lines        1148     1153       +5
==========================================
+ Hits         1147     1152       +5
  Misses          1        1

Impacted Files
Coverage Δ

lib/builder/builder.js
100% <100%> (ø)
:arrow_up:

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 a4e2a7c...bc3bcac. Read the comment docs.

Perfect!


Add Github action

Hmm this takes quite a long time to complete

Hmm this takes quite a long time to complete

Unfortunately, it does. Specially when the cache has not been pumped.


netstandard20 not compatible with Microsoft Surface Hubs

Do you want to request a feature or report a bug?
It's not a bug.
It's an observation that Microsoft Surface Hub hardware isn't netstandard20 compatible.
The device I'm testing with is running the latest Fast Ring Insider build.
What is the current behavior?

Other information (e.g. stacktraces, related issues, suggestions how to fix)
https://github.com/ghuntley/Netstandard20Hub

yo @terrajobst I've found some issues with `netstandard20` and these devices over at https://t.co/hj5mZgQUl8. Can you route me (and this issue) to their product managers?— 𝓖eoffrey 𝓗untley (@GeoffreyHuntley) May 14, 2018

The Surface Hub has traditionally been behind on Win10 OS updates as is the case here as well. Even if the Surface Hub us running the very latest Windows 10 build available it's still way behind what's required for netstandard20 support.
From your screenshot above the Hub is running a 15063 build. netstandard20 support only comes with 16299. Guess it's a matter of waiting for the FCU on Surface Hub and things should start working.

Yup

any update on this? @ghuntley


Inpatient Length of Stay

Adjusts modules to tune inpatient length of stay. See #1169
Some outpatient encounters were incorrectly classified as inpatient.
Many inpatient encounters were modified so that length of stay follows an exponential distribution.

I'm going to mark this PR done and ready-for-review.
There is more work that can be done on inpatient LOS, but the "encounter leak" issue (#1221) makes further improvement challenging -- so I have switched over to that and may come back to this issue later with a follow-up PR.

Current status


Question regarding the output from motion_representation.ipynb

Hi,
I found the following output from the motion_representation.ipynb script. I wonder is this an issue or we can just ignore it?

This is normal. You can ignore it.

Ok, thanks. Closing this issue.


Error: Call to a member function getSitesForEntity() on null in Drupal\next\Render\MainContent\HtmlRenderer->prepare()

When I attempt to configure an Next entity type for an on demand revalidation for certain entity types, I receive the error: Call to a member function getSitesForEntity() on null in Drupal\next\Render\MainContent\HtmlRenderer->prepare().
I see the interface defines the return type as ?SiteResolverInterface indicating the return value could be null. The HtmlRenderer should handle null values from the method getSiteResolver.
This is reproduced by configuring a revalidation on a redirect entity type.

We're experiencing this, too, as I described in #495.
#480 + #481 are essentially the same issue and fix.