Can't retrieve results for DFC cards

Really amazing tool! One issue I've run into: Double-faced / transform cards seem to be ignored. For example, this command returns no output:
scry t=human c=u is:transform
While this returns output but silently skips over Grizzled Angler (32 results, vs 33 on scryfall.com:
scry t=fish c=u
Is there some parameter or option I'm missing to force-include DFCs in the results? I couldn't find any reference to transform or DFCs in the README file.

For most cards, the top-level object returned by the API contains all of the identifying info you need.
However, double-faced cards are formatted a bit differently. The top-level object has a name and type_line however, it lacks a mana_cost. Because of this, scrycall fails to output anything for these cards because the default print format is expecting a value for mana_cost:
--print='%{name} %| %{type_line} %| %{mana_cost}'

To access more properties of a double-faced card, you will need to dig into the card_faces container. This is a list of card_face objects which most likely contains the information you are after. The front face of the card can be accessed with %{card_faces.0} and the back can be accessed with %{card_faces.1}.
So, there are a few ways to solve your problem:

If you don't need the mana_cost in your output, you can just print the name and type_line instead and Grizzled Angler will appear in your results:

scry t=fish c=u --print='%n %| %y'

...
Fleet Swallower                       Creature — Fish
Grizzled Angler // Grisly Anglerfish  Creature — Human // Creature — Eldrazi Fish
Island Fish Jasconius                 Creature — Fish
...

You can create a separate query for double-faced cards and manually combine the outputs:

scry t=fish c=u --print='%n %| %y %| %{card_faces.0.mana_cost}'

Grizzled Angler // Grisly Anglerfish  Creature — Human // Creature — Eldrazi Fish  {2}{U}

You can use --else= to handle double-faced cards. Essentially, treat each card as single-faced by default. Then if we assume that any cards that "fail" to parse are double-faced, we can specify a different way to parse them in the --else= block:

scry t=fish c=u --print='%n %| %y %| %m' --else='%n %| %y %| %{card_faces.0.mana_cost}'

...
Fleet Swallower                       Creature — Fish                              {5}{U}{U}
Grizzled Angler // Grisly Anglerfish  Creature — Human // Creature — Eldrazi Fish  {2}{U}
Island Fish Jasconius                 Creature — Fish                              {4}{U}{U}{U}
...

Hopefully that solves your current issue for now. I think to prevent this sort of thing, I could add some "smart parsing" for double-faced cards. Adding some of the above info to the README would also be helpful I think.

@austin-schaefer
I've updated the way DFCs are handled. Now when a card property is not available on the top-level DFC object, Scrycall will automatically dig into the front-face object to look for that property (and then the back-face if it still didn't find it). I also added a flag to disable this feature, as well as flags for specifying if you only wish to look at one particular face of a DFC. Details are in the README.
Marking this issue as resolved. Also, here is the current output for the queries in your original message:
$ scry t:human c:u is:transform
Aberrant Researcher // Perfected Form                   Creature — Human Insect // Creature — Insect Horror                        {3}{U}
Baithook Angler // Hook-Haunt Drifter                   Creature — Human Peasant // Creature — Spirit                              {1}{U}
Civilized Scholar // Homicidal Brute                    Creature — Human Advisor // Creature — Human Mutant                        {2}{U}
Covetous Castaway // Ghostly Castigator                 Creature — Human // Creature — Spirit                                      {1}{U}
Daring Sleuth // Bearer of Overwhelming Truths          Creature — Human Rogue // Creature — Human Wizard                          {1}{U}
Delver of Secrets // Insectile Aberration               Creature — Human Wizard // Creature — Human Insect                         {U}
Dennick, Pious Apprentice // Dennick, Pious Apparition  Legendary Creature — Human Soldier // Legendary Creature — Spirit Soldier  {W}{U}
Devoted Grafkeeper // Departed Soulkeeper               Creature — Human Peasant // Creature — Spirit                              {W}{U}
Grizzled Angler // Grisly Anglerfish                    Creature — Human // Creature — Eldrazi Fish                                {2}{U}
Jace, Vryn's Prodigy // Jace, Telepath Unbound          Legendary Creature — Human Wizard // Legendary Planeswalker — Jace         {1}{U}
Jacob Hauken, Inspector // Hauken's Insight             Legendary Creature — Human Advisor // Legendary Enchantment                {1}{U}
Ludevic, Necrogenius // Olag, Ludevic's Hubris          Legendary Creature — Human Wizard // Legendary Creature — Zombie           {U}{B}
Malevolent Hermit // Benevolent Geist                   Creature — Human Wizard // Creature — Spirit Wizard                        {1}{U}
Overwhelmed Archivist // Archive Haunt                  Creature — Human Wizard // Creature — Spirit Wizard                        {2}{U}
Poppet Stitcher // Poppet Factory                       Creature — Human Wizard // Artifact                                        {2}{U}
Suspicious Stowaway // Seafaring Werewolf               Creature — Human Rogue Werewolf // Creature — Werewolf                     {1}{U}

$ scry t:fish c:u
Aboleth Spawn                         Creature — Fish Horror                       {2}{U}
Ancient Carp                          Creature — Fish                              {4}{U}
Blufferfish                           Creature — Fish                              {4}{U}{U}
Bounding Krasis                       Creature — Fish Lizard                       {1}{G}{U}
Breaching Hippocamp                   Creature — Horse Fish                        {3}{U}
Cloud Manta                           Creature — Fish                              {3}{U}
Coral Eel                             Creature — Fish                              {1}{U}
Dandân                                Creature — Fish                              {U}{U}
Deepglow Skate                        Creature — Fish                              {4}{U}
Devouring Deep                        Creature — Fish                              {2}{U}
Electric Eel                          Creature — Fish                              {U}
Elusive Krasis                        Creature — Fish Mutant                       {1}{G}{U}
Fleet Swallower                       Creature — Fish                              {5}{U}{U}
Grizzled Angler // Grisly Anglerfish  Creature — Human // Creature — Eldrazi Fish  {2}{U}
Island Fish Jasconius                 Creature — Fish                              {4}{U}{U}{U}
Jace's Mindseeker                     Creature — Fish Illusion                     {4}{U}{U}
Kapsho Kitefins                       Creature — Fish                              {4}{U}{U}
Manta Ray                             Creature — Fish                              {1}{U}{U}
Mer Man                               Host Creature — Human Fish                   {4}{U}
Moat Piranhas                         Creature — Fish                              {1}{U}
Mystic Skyfish                        Creature — Fish                              {2}{U}
School of Piranha                     Creature — Fish                              {1}{U}
Shipwreck Moray                       Creature — Fish                              {3}{U}
Skitter Eel                           Creature — Fish Crab                         {3}{U}
Sky-Eel School                        Creature — Fish                              {3}{U}{U}
Skyswimmer Koi                        Creature — Fish                              {3}{U}
Slipstream Eel                        Creature — Fish Beast                        {5}{U}{U}
Stinging Lionfish                     Enchantment Creature — Fish                  {1}{U}
Surge Mare                            Creature — Horse Fish                        {U}{U}
Tidal Barracuda                       Creature — Fish                              {3}{U}
Vivid Flying Fish                     Creature — Fish Lizard                       {1}{U}
Wavebreak Hippocamp                   Enchantment Creature — Horse Fish            {2}{U}
Windrider Eel                         Creature — Fish                              {3}{U}
Wormfang Behemoth                     Creature — Nightmare Fish Beast              {3}{U}{U}
Wormfang Manta                        Creature — Nightmare Fish Beast              {5}{U}{U}

Just wanted to say thanks a TON for fixing this! I'm not a particularly gifted scripter, and Scrycall has been a real gift for creating YouTube videos. I've been able to automatically convert my Magic-themed podcast into YouTube videos with the appropriate card image displayed using Scrycall and ffmpeg.
Really appreciate you first giving a good explanation, and then improving the underlying behavior!


Updating Vue Tsc link

"The original repository has been archived by the owner"

@asloan7 Thanks for your contribution, have a nice day :)


Feat set alarm notifications

 You should sign our Contributor License Agreement in order to get your pull request merged.

All is well.


Reuse the Janitor from Raiden - replace mirakuru

The current implementation is using a hot-loop to monitor the state of spawned Raiden processes.
https://github.com/raiden-network/scenario-player/blob/511a33ab6fbb234182184761ee44d1bf4e6912db/scenario_player/node_support.py#L547-L562
This is unnecessary since the gevent library provides an AsyncResult for the exit status of a Popen subprocess.
I'd recommend just reusing Raiden's Janitor implementation (instead of mirakuru and the current existing monitor), which has less code and implements the same functionality while handling corner cases (namely cleaning resources on exit):
https://github.com/raiden-network/raiden/blob/919115d4f140403e3b12e57bdf93bfcd80e7b5ff/tools/debugging/stress_test_transfers.py#L138-L218

So after looking into this a bit I'm torn if this is worth implementing.
The idea was to get rid of mirakuru all together.
We currently use it in three places:

In the SP to run and monitor Raiden nodes
In the integration tests to run Ethereum nodes
In the integration tests to run Matrix servers

We have two slightly different implementations in raiden and the SP, and it makes sense to unify them.
However, in order to get rid of mirakuru we'd basically reimplement the whole thing with some changes to process handling, which I don't think is useful.


Why no cpm data display on Topo ?

Why do you submit this issue?
[✓] Question
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
I want to know why the tomcat node does not have cpm data, because the service is requested from the topological diagram.

Bug

Which version of SkyWalking, OS, and JRE?
v8.x

Which company or project?
http://skywalking-ui.derunht.cn/topology

What happened?
If possible, provide a way to reproduce the error. e.g. demo application, component version.

Requirement or improvement

Please describe your requirements or improvement suggestions.

Duplicated.

Duplicated.


Change font and colouring for easier reading

This removes the Lato font, which seems oddly light (with Helvetica Neue becoming the first choice), and changes the text and link colours to a darker shade.
Resolves #61.

Done internally.


Custom class incorrectly decoded as Date object

Custom classes registered with the registerClassAlias method are incorrectly decoded as Date objects.
saveList.zip

Hey there. Could you try running this data through readObject in my library called ByteArray

Hey there. Could you try running this data through readObject in my library called ByteArray

That's going to be rather problematic, since I've never used node.js.

That's going to be rather problematic, since I've never used node.js.

this seems to be working again in 4.3.6

Can confirm, works for me now


diagnostics: refine the load information of memory

Signed-off-by: Lonng<EMAIL_ADDRESS>
What have you changed?
Please explain in detail what the changes are in this PR and why they are needed:
This PR refines the load information of memory and makes the result set consistent with https://github.com/pingcap/sysutil.
What is the type of the changes?

Improvement (a change which is an improvement to an existing feature)

How is the PR tested?

Unit test
Manually test

mysql> select * from CLUSTER_load where type='tikv' and device_type='memory';
+------+-----------------+-------------+-------------+--------------+------------+
| TYPE | ADDRESS         | DEVICE_TYPE | DEVICE_NAME | LOAD_NAME    | LOAD_VALUE |
+------+-----------------+-------------+-------------+--------------+------------+
| tikv | <IP_ADDRESS>:20160 | memory      | swap        | total        | 3145728    |
| tikv | <IP_ADDRESS>:20160 | memory      | swap        | used         | 1992704    |
| tikv | <IP_ADDRESS>:20160 | memory      | swap        | free         | 1153024    |
| tikv | <IP_ADDRESS>:20160 | memory      | swap        | used-percent | 0.63       |
| tikv | <IP_ADDRESS>:20160 | memory      | swap        | free-percent | 0.37       |
| tikv | <IP_ADDRESS>:20160 | memory      | virtual     | total        | 16777216   |
| tikv | <IP_ADDRESS>:20160 | memory      | virtual     | used         | 12937656   |
| tikv | <IP_ADDRESS>:20160 | memory      | virtual     | free         | 3839560    |
| tikv | <IP_ADDRESS>:20160 | memory      | virtual     | used-percent | 0.77       |
| tikv | <IP_ADDRESS>:20160 | memory      | virtual     | free-percent | 0.23       |
+------+-----------------+-------------+-------------+--------------+------------+
10 rows in set (0.29 sec)

/merge


an issue

wsg gang uh i don't got a bug frfr bridgy uh ima be real u can add like 4 cmds infact i did it for you gibe me like 20ish minutes

@tetizz care to explain more?
@BridgeSenseDev close this?

not to be rude, but if you want to give suggestions and an example, you should make it more clear. like telling what it does.
and this has been more than 20ish minutes.

not to be rude, but if you want to give suggestions, you should make it more clear. like telling what it does and giving other info.
and this has been more than 20ish minutes.

Id say we just close it

not to be rude, but if you want to give suggestions, you should make it more clear. like telling what it does and giving other info.
and this has been more than 20ish minutes.

Id say we just close it

the problem is we can't. we need bridgesense

@BridgeSenseDev


motor configs not uploading

Motor config parameter in category [limits] named [max velocity] is out of bounds!
none of the examples have this
what we are trying to upload.
scrubber.txt
readout from controller.
MD80 config.txt

got it to accept the config file but still have a setup error current config file is:
Uploading scrubberv2.txt…

Hello I'm unable to read the second file. Could you resend it? Also please use default configs from the mdtool  as a reference (from the devel branch).

I will have to send the file again when when im at work tomorrow.
I am using the the latest version.
We get a setup error and ask to resend the config.
We added every option from the config documentation

scrubberv2.txt

Could you also send me the "mdtool setup info " command output?

Inactive thread, closing


First abs build

No changes to the recipe needed, unless it is important to drop the python >=2.7 constraints.
Tested by temporarily adding an abs.yaml built on all platforms but s390x; but then again this is noarch.

Task 'compare_aggregate_ref': Exception encountered during task execution!
Traceback (most recent call last):
  File "/home/ec2-user/miniconda3/envs/prefect/lib/python3.9/site-packages/prefect/engine/task_runner.py", line 876, in get_task_run_state
    value = prefect.utilities.executors.run_task_with_timeout(
  File "/home/ec2-user/miniconda3/envs/prefect/lib/python3.9/site-packages/prefect/utilities/executors.py", line 467, in run_task_with_timeout
    return task.run(*args, **kwargs)  # type: ignore
  File "<string>", line 362, in compare_aggregate_ref
flows.exceptions.RefBranchNotFoundError: master not found as a tracking branch for submodule fuzzywuzzy-feedstock in aggregate


Autosizing / horizontal scrolling

Hello,
i want to integrate the react-big-scheduler on a page in a specific region.
As the page and the region can grow or shrink on different displays, i use the AutoSizer of react-virtualized to compute the width & height that is reserved for the scheduler.
this i pass to the scheduler.
In the result, the width is set correctly, but the height is ignored.
as a workaround, i put an additional div around the scheduler to restritct also its height (see my code snippet below).
But the result is not what i really want: when scrolling vertically either the scheduler-header is not to be seen or the horizontal scrollbar in the "footer" is missing.
What do i have to do, that the scheduler uses the given height and does vertical scrolling only for the table body?
Many thanks for your help!
Greetings
Ralf
render() {
const {schedulerData} = this.schedulerModel;
const {width, height} = this.props;
schedulerData.config.schedulerHeight = height;
schedulerData.config.schedulerWidth = width;

  <div style={{height: height, width: width, overflow: 'auto'}}>
    <Scheduler schedulerData={schedulerData}
      prevClick={this.prevClick}
      nextClick={this.nextClick}
      onSelectDate={this.onSelectDate}
      onViewChange={this.onViewChange}
      eventItemClick={this.eventClicked}
      leftCustomHeader={leftCustomHeader}
    />
  </div>
);

}

Hey unrelated to your issue, I'm having an issue with the styling did you have import Antd when you rendered the scheduler component? Here is a link to my issue if you want more detail https://github.com/StephenChou1017/react-big-scheduler/issues/161


[TVMScript] B2: match shape support

This PR features match_shape support, which contains:

MatchShape support for both var emitting and non-emitting cases
Allow TIR operators dtype broadcasting. (e.g. i64 * i32)

Co-authored-by: Ruihang Lai<EMAIL_ADDRESS>cc @yongwww @YuchenJin

Thanks @Hzfengsy and @MasterJH5574 for the implementation!


Adaptive Sampling example has both ExcludedTypes and IncludedTypes configured for same type

In the Add Application Insights manually section, step 3... there is contradicting configurations. Specifically, ExcludedType and IncludedType
Please update the example to comment one or the other out, or leave a detailed comment in that sample explaining not to have both with same Type.
<Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
         <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
         <ExcludedTypes>Event</ExcludedTypes>
       </Add>
       <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
         <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
         <IncludedTypes>Event</IncludedTypes>
       </Add>

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

ID: 225a3185-819c-9723-70cb-78cd95c9506f
Version Independent ID: 6f818cb1-5c1e-22a0-dbb5-cb065d880775
Content: Configure monitoring for ASP.NET with Azure Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/asp-net.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

Thanks for bringing this to our attention. We will investigate it further and update you shortly.

Thanks for your dedication to our documentation. This issue has been triaged and approved. The sample code has been updated and will go live in the next 24-48 hours. #please-close


A new tool for RNA modification analysis

Hi,
A new tool, DENA (https://github.com/weir12/DENA) (Qin, H., Ou, L., Gao, J. et al. DENA: training an authentic neural network model using Nanopore sequencing data of Arabidopsis transcripts for detection and quantification of N6-methyladenosine on RNA. Genome Biol 23, 25 (2022). https://doi.org/10.1186/s13059-021-02598-3), that was developed by our group, can be used  for RNA modification analysis. Perhaps you can add it to the corresponding list.
Best,
Hang

Hi @q1134269149,
Thanks for the contribution! I have merged the Pull Request with DENA into the list.
Best wishes,
Yuk Kei


mark zoom as not movable

moving $HOME/.zoom and setting $SSB_HOME doesn't really do anything since the next run of zoom re-creates the $HOME/.zoom dir with similar contents

Thank you!


Add Go support to Wallaroo in Docker

Currently, Wallaroo in Docker only supports running Python applications. Support should be added to build and run Wallaroo Go applications.
This update should include supporting documentation.

closing as we no longer support the Go API


Need to generate "diff" that has ALL nestsed properties

We'd like to just get the flattened diff list of all nested properties in one object
`
public class Title
{
public int ID {get;set;}
public string Name {get;set;}
}
public class Person
{
public string FirstName {get;set;}
public string LastName {get;set;}
public List Titles {get;set;}
}
var one = new Person{FirstName = "First", LastName = "Last", Titles = new List(){new Title{ID = 1, Name = "One"}}};
var c = new CompareLogic(new ComparisonConfig(){MaxDifferences = int.MaxValue}); // find all of them
var r = c.Compare(one, new Person()); // r.Differences should include all nested properties
`

See the ComparisonResult.Differences property


Update Losses Methods

This PR completes the work started by @dmulash to apply the ORCA losses. In addition, some validation methods have been added to make parts of the code easier to read and write.

This looks good to me, but please note the following caveat:
The total loss ratio cannot be applied with greater granularity than the "project" level (e.g., "month-year" or "annual") or the "windfarm" level (e.g., "turbine"). This is because the availability loss ratio calculation relies on the base potential energy production from WOMBAT, rather than the energy_potential used in WAVES for the wake loss ratio and net AEP calculations.


Add a generic end-point for deleting repository paths in the StoragesConfigurationController

Task Description
We need to create end-points for moving repository paths. The code should be located in the StoragesConfigurationController class and a separate form class should be created so that it is able to handle the JSON below. Be sure to check our How to write Spring Controllers guide to see how we return errors. There is some partial implementation of this in the MavenArtifactController which could be useful to speed-up the development of this feature. The existing implementation should be refactored as much as possible and made generic enough that it works for all layout providers.
Deleting a path in a storage/repository
Action:
Deletes recursively the content of path located under the defined storageId and repositoryId.
Form validation:

All fields are required.

DELETE /api/configuration/strongbox/storages/delete

{
   'storageId': 'storage0',
   'repositoryId': 'some-repository-id',
   'path': 'path/relative/to/the/a/directory/or/file',
   'force': true/false
}

The force field is used to determine if we should delete the files on the filesystem as well or not.
Use the BaseController#getSuccessfulResponseEntity and BaseController#getFailedResponseEntity (or if necessary BaseController#getBadRequestResponseEntity) to return the appropriate responses.
Tasks
The following tasks will need to be carried out:

[ ] Implement end-point for deleting paths
[ ] Add test cases checking the above for the following layout providers:

[ ] Maven
[ ] NuGet
[ ] Raw
[ ] PyPi

Task Relationships
This task relates to: #1399, #1400
Help

Our chat
Points of contact:

@carlspring
@fuss86
@sbespalov
@steve-todorov

Hey, can I give this a try ?

Sure, feel free to give it a go!

Thanks

@adithyaChander FYI - I've slightly updated the task description with some more details regarding what needs to be done. :)

Hi, if @adithyaChander is not working on this, can I pick this up?

Can I work on this?

Go for it! :)

is this issue still open?

Can I work on this?

@dreameral : This task is on hold. Perhaps you could look for another one? :)


Expand documentation

Should probably make the doc comments more explicit and link to :help when applicable

Hey, I've been looking to start contributing to nvim and this seems like a good first issue. What sort of additional documentation are you looking for? Would the following style be too verbose?
-- nvim-cmp acts as our autocompletion engine, which displays completions from sources
-- like nvim-cmp-lsp and nvim-cmp-lua incrementally while editing. See ':help cmp-config'
-- for more info on configuration options, and see the following link for more cmp sources:
-- https://github.com/hrsh7th/nvim-cmp/wiki/List-of-sources
local cmp = require 'cmp'
cmp.setup {
...

Maybe a bit :) I was thinking more adding a cross-reference to :help when applicable, such as:
https://github.com/nvim-lua/kickstart.nvim/blob/fd7f05d872092673ef6a883f72edbf859d268a2e/init.lua#L64
Maybei nthis case :help nvim-cmp or whatever it is. Basically as much information as can fit on a single line that conveys the meaning of what is to come, and where to seek further help, preferably avoiding URLs which take up a lot of space.

Sure thing! Glad I asked haha. I'll flesh out the docs and put together a PR in the next few days.


Oversight in "init.lua"

At line 111 of init.lua, non-MCL2 will try to access mcl_core items, breaks compatibility with nonMCL2 game.
Probably an oversight. =)

Just tested it out with a non-Mineclone2 game and this seems to be working, and the MCL2 recipes around line 111 look correctly gated with a if minetest.get_modpath("mcl_core") check. Is this still a problem for you with latest code?

@FaceDeer  Yes, of course - the non-MCL2 game will crash on crafting any orb, because in init.lua at line 91 mod tries to detect wither its MCL2 ("if minetest.get_modpath("mcl_core") then") which is correct, and at line 109 ("else") there is fallback default block which is correct, however in that block at lines 113-115 and 122-124 it calls items from "mcl_core", which only exist in MCL2 game.
I think that somewhere you guys overwrote default recipes with recipes from MCL block.
You can fix it by looking up commit history to fish the old default recipe out and then restore recipe for default block. It should only use "default" items.
Best regards.

There. I actually tweaked the original recipe a bit, it seemed weird to me that an orb of day took a whole mese crystal whereas the orb of night only needed an obsidian fragment, so I made them both require fragments. If that's too cheap I could swap them to use a whole obsidian block and a whole mese crystal.


added test_fileMetadata.py

Description
This PR introduces the file test_fileMetadata.py, which contains unit tests for the insert_file method in the FileMetadata class. These tests ensure that:

A new file path can be successfully inserted into the metadata.
Duplicate file paths are not added to the list

Fixes #7: Added unit tests for the insert_file method in the FileMetadata class to ensure that new files can be added correctly and that duplicates are not inserted.
Type of change

[x]  Tests update

Checklist

[x]  My code follows the style guidelines of this project
[x]  I have performed a self-review of my own code
[x]  I have commented my code, particularly in hard-to-understand areas
[x]  My changes generate no new warnings
[x]  New and existing unit tests pass locally with my changes
[x]  I have maintained a clean commit history by using the necessary Git commands
[x]  I have checked that my code does not cause any merge conflicts

So what I have done is I have created 4 dummy files to test the behavior of the  insert_file method and tested based on that.

@Sai-ganesh-0004
delete this file twinTrim/dataStructures/test_fileMetadata.py

Can you check it once

@Sai-ganesh-0004 We will check this as soon as we can!

@Sai-ganesh-0004 LGTM!


Deprecate in favor of date.toLocaleString?

I’m currently considering the long-term plan for this library.
JavaScript’s native support for localized date and time formatting has improved dramatically since D3 was first created (and pv.Format.time in Protovis before that). In particular, the fact that date.toLocaleString automatically uses the browser’s current locale is such a huge improvement (less en-US-centric) that I feel promoting d3-time-format’s continued use is harmful.
https://observablehq.com/@mbostock/date-formatting
There is also a nice standard for relative time format, Intl.RelativeTimeFormat:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat
It hasn’t made it to Edge and Safari yet, but Edge will eventually be Chromium, and Safari will hopefully come around. I expect therefore it would be better to encourage adoption of the standard and perhaps offer a polyfill than to compete with the proposed standard.

I have noticed that date.toLocaleString is extremely slow, but perhaps browser vendors haven’t realized that and will make performance improvements as it is adopted by web developers.

Since there is no standard for parsing dates (yet), it probably makes sense to retain part of this library as an optional D3 module that only implements parsing (not formatting).
But we also probably want a strict ECMAScript IEEE 8601 date parser, and possibly shorthand formatter as well, since browser support for that is not quite where it should be and there is still an active TC39 proposal to standardize the behavior of Date.parse.

Here are the relevant bits from d3-dsv to parse and format ECMAScript dates strictly:
https://github.com/d3/d3-dsv/blob/master/src/autoType.js
https://github.com/d3/d3-dsv/blob/master/src/dsv.js

FWIW, date.toLocaleString seems to have pretty good coverage - everything except Android webview.

Unfortunately date.toLocaleString is far too slow for many applications (e.g., when formatting thousands of dates for static tooltips). But I haven’t yet tested whether creating an Intl.DateTimeFormat instance would be faster. If it is, that may be a viable replacement for this library.

A benchmark would be good to have on hand, so we could easily check if browser vendors make performance improvements. Is there an example you know of that demonstrates or measures the slowness?

I think this library still serves a purpose, at least as far as parsing goes, and it’s nice to have symmetry with formatting. Therefore closing this issue.


Reduce gem package size

This pull request reduces the gem package size.
Currently this gem is 2.5MB.
$ cd path/to/installed/dir/lib/ruby/gems/2.7.0/gems
$ du mimemagic-0.3.5/ --summarize -h
2.5M    mimemagic-0.3.5/

But it contains unnecessary files for the package users, which are under tests/ and script/ directory.
Especially script/ directory is large, but it isn't necessary for the users.
So this pull request removes them from the package.
It reduces 2.3MB.
# after this pull request
$ cd path/to/installed/dir/lib/ruby/gems/2.7.0/gems
$ du mimemagic-0.3.5/ --summarize -h
184K    mimemagic-0.3.5/

Is it a good idea to distribute gems without tests? Is this common practice? The gem us quite mature and no one complained before, so I don't see a pressing reason to change it.

It is a common practice because Bundler generates a gemspec with a similar setting.
https://github.com/rubygems/rubygems/blob/ff86ba494d54db5a9d52f13b1adf672e5669b010/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt#L25-L29
In my case, I found some large packages when I'm trying to reduce build time on CircleCI for my Rails app.
I use a cache mechanism of CircleCI for bundler. https://circleci.com/docs/2.0/caching/#bundler-ruby
And restoring cache spends 20~30s on average, for 322MB cache. it is not fast and small enough, so I'd like to reduce the build time by reducing the package size.


Dimension Validation

When we create a vector column we specify the number of dimensions, and this should match the number of dimensions being generated by the embedding model.  If we attempt to insert an embedding with the wrong number of dimensions, we get an error Neighbor::Error: Expected X dimensions, not Y.
I'd like to understand how we can validate the record's attribute prior to this exception being raised.  If I add something like this:
  EMBEDDING_DIMENSIONS = 768
  validate do
    unless self.embedding&.count == EMBEDDING_DIMENSIONS
      errors.add(:embedding, "must contain exactly #{EMBEDDING_DIMENSIONS} dimensions, not #{self.embedding&.count.to_i}")
    end
  end

it doesn't help, because calling the embedding method attempts to cast the value to the Array it still triggers the Neighbor::Error.  I'm not sure how to access the value that was passed when the instance was initialized without attempting to cast and raise this error?
Is there a better way to deal with the case of invalid dimensions on the vector?
Thanks in advance!

Hi @moracca, I've updated the dimensions check to use Active Record validations in the commit above.


Request

Add a black amoled theme.

Dynamic Themes is planned after the migration to Jetpack Compose :)

+1 for black theme, quite useful as these days AMOLED devices are popular and in vast usage.


[BUG] fvm config --cache-path <CACHE_PATH> does not set cache directory

Describe the bug
fvm config --cache-path <CACHE_PATH> does not set cache directory
To Reproduce
Steps to reproduce the behavior:

Go to terminal..
Run fvm config --cache-path <CACHE_PATH>
Check...
See error

Expected behavior
Cache directory is changed to CACHE_PATH
Logs
Cache Path: null
Desktop (please complete the following information):

OS: macOS 10.15.7
FVM Version 1.3.6

Additional context
Setting FVM_HOME manually works

@eingress I think there is some confusion on the instructions you actually have to pass your path into the command. <CACHE_PATH> is just a placeholder

Clearly I replaced the placeholder!!!

Mentioning that FVM_HOME works after saying you expected to be set to CACHE_PATH is confusing

You've literally assumed someone is stupid enough not to replace the placeholder; apparently you're also easily confused.
Way to go.
Please ignore this erroneous issue with your package.

You seem pleasant.
It seems like you are having a bad day, or is going through some personal issues so I will let this slide, but I do recommend you drop the attitude when trying to get people to help you on an open-source project.
I do get a lot of issues that are caused by simple user mistakes. There are a lot of new devs, and junior devs getting involved in Flutter, so these are more common than you think.
There is a reason why I did not close the issue, which was so I could get back to it later.
I will reopen it so I can actually keep track of it.

.

Just tested and could not replicate your issue. Let me know if there is any other information you would like to share.


Make CI-step build_no_std mandatory for PRs

This arises from #101.
TL;DR: require no_std-builds to pass in CI for newPRs
@IsaacWoods  I do not have admin rights to change this.

@phip1611 I've added a branch protection rule for main that should enforce this.
 Thank you for your work on the project!


Separate server response from controllers

Continuing on my theme of testability, another item to think about and possibly implement. Your controllers will do one of two things:

Echo HTML to standard output
Use header() to perform a redirect and exit

I would suggest that instead you:

Return a Laconia\WebResponse object

You can call this whatever you like, but to wire it in, I'd do this in your controller:
public function setWebResponse(Laconia\WebResponse $webResponse) {
    $this->webResponse = $webResponse;
}

I'd then modify view to inject the HTML it generates into the WebResponse (to capture HTML in a variable rather than printing it immediately, use output buffering).
The web response could look a bit like this:
namespace Laconia;

class WebResponse {
    protected $isOutput = false;
    protected $isRedirect = false;
    protected $output;
    protected $redirect;

    public function setOutput($output) {
        $this->isOutput = true;
        $this->output = $output;
    }

    public function setRedirect($redirect) {
        $this->isRedirect = true;
        $this->redirect = $redirect;
    }

    public function execute() {
        if ($this->isOutput) {
            echo $this->output;
        } elseif ($this->isRedirect) {
            header($this->redirect);
        }
    }
}

Woop! That is much better for testing. It is, specifically, better for mocking, so we can pass a fake object during testing, to see what things get called on it.

I'm going to close these tickets and handle any testing related optimizations in the testing issue.

No worries. I think I might have promised to do some examples, and never got around to it - if so, apologies! I promise more than my time management skills will allow ;-)
Hope your current projects are going well.

Haha, no worries! I appreciated the input and help. I've just shifted my focus to other projects and don't think I'll get around to those optimizations so it was better to close them.

No problem. I am still doing PHP, but I am trying to learn JavaScript now. I'm building a little microservices project with React and Express, and there is fair bit to juggle...


MLVPN across different link bandwidths (new version)

I've recently discovered a very interesting finding, I would appreciate other people replicating to make sure it's not just me!
By installing MCTCP on both the client and server, and using a different re-ordering algorithm, I have achieved extremely good bonding, with very different underlying bandwidths. UDP has always been fine, but the addition of the MCTCP kernel means that TCP is handled 'nicely', and is responsive.
please try is out the branch :  new-reorder
I believe that a lot of the bandwidth issues reported in e.g. #112  #106 etc could be due to the poor performance with TCP connections. Using a combination of a new re-order mechanism and MCTCP, this issue SEEMS to have gone away.... Milage may vary, I would love your feedback !
Some things to note:
1/ There is a 'quota' mechanism included. This ay answer #82 in some ways too. In the config, you can specify a quota in Bytes per second. A 120GB/month limit I believe is 300 bytes per second.
quota = 300
As traffic increases (over a 3 second averaging period), more tunnels are added. All tunnels with no quota are 'fairly' used no matter the bandwidth required. Subsequently tunnels listed lower in the conf file are chosen first.
The algorithm allows about a headroom on a tunnel, this can mean that you see steady download streams under-using slower speed channels if the faster channels themselves are not fully utilised.
2/ The reorder mechanism is dynamic, you should add
reorder_buffer = yes
to your (global) conf. There is no need to specify a size.
The reorder mechanism cap's at 64 entries, this could be changed, but it seems a reasonable upper limit. It uses 4 as a lower limit. The re-order buffer is not flushed when tunnels go down/up, I dont know if this is optimal or not.
The current reorder algorithm uses a packet count to decide when to ignore 'holes' in the steam. Another idea may be to use a time window (which is already used as a backup). It would be good to experiment with this.
Clearly the quota averaging period, max reorder buffer etc should be made into config param's at some point.
Please let me know if this helps.

Hey Mark,
Thanks so much for continuing to help with MLVPN! I gave your new-reorder a try, and while it provided good upstream aggregation, the reorder value value isn't changing from 1 (while watching debug).
Links are:
50/10Mbps VDSL
500/20Mbps Cable EuroDOCSIS3
We have been using reorder buffer values under debian-stable between 128 and 256. The global conf setting (above) is on both client/server.

This is what I see in the debug log:

2018-06-05T18:49:06 [ DBG/net] < VDSL-C2 recv 108 bytes (type=3, seq=1496231, reorder=1) 2018-06-05T18:49:06 [ DBG/net] > VDSL-C2 sent 1420 bytes (size=1392, type=3, seq=0, reorder=1) 2018-06-05T18:49:06 [ DBG/net] < Cable-C1 recv 92 bytes (type=3, seq=1496187, reorder=1) 2018-06-05T18:49:06 [ DBG/net] > Cable-C1 sent 1420 bytes (size=1392, type=3, seq=0, reorder=1) 2018-06-05T18:49:06 [ DBG/rtt] (VDSL-C2) No timestamp added, time too long!<PHONE_NUMBER>275 > 1000) 2018-06-05T18:49:06 [ DBG/net] > VDSL-C2 sent 1420 bytes (size=1392, type=3, seq=0, reorder=1) 2018-06-05T18:49:06 [ DBG/rtt] (Cable-C1) No timestamp added, time too long!<PHONE_NUMBER>275 > 1000) 2018-06-05T18:49:06 [ DBG/net] > Cable-C1 sent 1420 bytes (size=1392, type=3, seq=0, reorder=1)
Upon restarting both server and client, we briefly see speeds above 115Mbps. But during iperf tests like the below, all subsequent tests yield 114-115Mbps (49-51Mbps on the VDSL and the remainder on the Cable link)

iPerf download

[ ID] Interval       Transfer     Bandwidth [  3]  0.0- 2.0 sec  64.5 MBytes   271 Mbits/sec [  3]  2.0- 4.0 sec  44.5 MBytes   187 Mbits/sec [  3]  4.0- 6.0 sec  25.8 MBytes   108 Mbits/sec [  3]  6.0- 8.0 sec  27.5 MBytes   115 Mbits/sec [  3]  8.0-10.0 sec  27.1 MBytes   114 Mbits/sec [  3] 10.0-12.0 sec  27.2 MBytes   114 Mbits/sec
Any suggestions?
I am able and willing to test every bit of your updates, I really want to see MLVPN mature, and this is the way to do it :)
The only missing critical feature is 'bindtodev' for port selection over binding to the interface IP address, I thought @zehome did this in 2015, but I don't think it was integrated.

F.Y.I. - One important item @zehome made for Linux systems (which I noticed was missing) is the<EMAIL_ADDRESS>modification to include the Configuration file name (--name %i) in the 'ps -ax' process title: ExecStart=/usr/local/sbin/mlvpn --config /usr/local/etc/mlvpn/%i.conf --name %i --user mlvpn

Forgot to mention, with reorder_buffer_size between 64-256 I can get good aggregation at right around 500-520Mbps downstream.

Thanks for testing this, and sorry it doesn't seem to be working out, but - maybe - it might help find out whats going on...
So:
When you say the 'reorder-value' - what do you mean? There is an internal variable called list_size_av which indicates the current list size... but the (old) reorder-value isn't used.. It would be very interesting to see how this list_size_av changes for you over time.
In this implementation, there is a notion of the size of the list when (finally) a packet arrives that allows things to be removed. That gives us some sort of measure of the list size you need to re-order stuff. It's crude, and I dont know if it works :-).
I then average over time. multiply the number by 2 (again, totally arbitrary), and use it to keep the re-order buffer 'trimmed'.
It would probably be better to base this number on the maximum RTT time, but - I have not done that yet....
What I have found is that a re-order buffer thats too large (in my case, more than about 10), TCP streams seem to suffer, and the bandwidth drops. Too small (less than about 10 in my case), and I end up dropping too many packets, and, bandwidth drops....
Hence the plan is to be 'dynamic' - increase the size of the reorder buffer when it's needed, and drop it back again when it's not needed.
(BTW, a reorder buffer of 256 seems huge? If we assume that one end sends things into all it's channels 'in order' and the channels themselves (generally) deliver in order, then - theoretically I assume - the maximum buffer size would be the number of packets that can be sent in the difference in the RTT's - something like that. Is that really 256 in your case?)
One thing to check, you could hack the reorder buffer, and hard-wire it to e.g. 256 to see what effect that had for you (see line 178, replace the b->list_size_av with e.g. 256)
BTW - a little point on the quota.
The quota has 2 effects - it causes the weighting algorithm to TRY not to use the link, and secondly it prevents from 'overspending' on a link. The number is the number of kilobits (to be consistent with the rest of the file) that we will add (per second) to a notional 'quota' (spending limit) of allowable throughput on a link. In other words, if you have a 120GByte/month 4g SIM card, this mechanism stops you using 'too much'.
In your case, if the link is 'unlimited', then, you can remove the quota, you should still "benefit" (or perhaps not) from the re-order mechnaims.

Hey Mark!
Thanks for your response :)

When you say the 'reorder-value' - what do you mean? There is an internal variable called list_size_av which indicates the current list size... but the (old) reorder-value isn't used.. It would be very interesting to see how this list_size_av changes for you over time.

I was talking about the reorder_buffer_size, we had been playing with values between 64 and 256 and found that 128 was a good fit, 64 seemed to limit speeds to around 350-390Mbps. More detail on the links and their RTT is definitely important here:
Cable: 500/23 @ 12-15ms
VDSL: 50/10 @ 5-7ms

In this implementation, there is a notion of the size of the list when (finally) a packet arrives that allows things to be removed. That gives us some sort of measure of the list size you need to re-order stuff. It's crude, and I dont know if it works :-).

Copy that, do you see any performance/stability issues with using reordering always? i.e. putting it in place @ 64 (even for links that are evenly matched in speed and paired in RTT/JIT)

I then average over time. multiply the number by 2 (again, totally arbitrary), and use it to keep the re-order buffer 'trimmed'.
It would probably be better to base this number on the maximum RTT time, but - I have not done that yet....

I wish I could help you here! :)

What I have found is that a re-order buffer thats too large (in my case, more than about 10), TCP streams seem to suffer, and the bandwidth drops. Too small (less than about 10 in my case), and I end up dropping too many packets, and, bandwidth drops....
Hence the plan is to be 'dynamic' - increase the size of the reorder buffer when it's needed, and drop it back again when it's not needed.

At 128 (reorder_buffer_size) I didn't see a huge TCP performance drop (testing on iperf), but did notice a significant reduction in performance with it off/0 (115Mbps Max downstream) and with it at 64 (290-350Mbps Max downstream)

(BTW, a reorder buffer of 256 seems huge? If we assume that one end sends things into all it's channels 'in order' and the channels themselves (generally) deliver in order, then - theoretically I assume - the maximum buffer size would be the number of packets that can be sent in the difference in the RTT's - something like that. Is that really 256 in your case?)

I know :) It didn't seem to impede or make performance suffer though, at least from what I saw during testing. I keep it at 128 for this link pair, it hits up to 520Mbps (with 49Mbps on the VDSL, rest on the Cable link)

One thing to check, you could hack the reorder buffer, and hard-wire it to e.g. 256 to see what effect that had for you (see line 178, replace the b->list_size_av with e.g. 256)

Sounds like a plan, I'll give it a shot today :)

BTW - a little point on the quota.
The quota has 2 effects - it causes the weighting algorithm to TRY not to use the link, and secondly it prevents from 'overspending' on a link. The number is the number of kilobits (to be consistent with the rest of the file) that we will add (per second) to a notional 'quota' (spending limit) of allowable throughput on a link. In other words, if you have a 120GByte/month 4g SIM card, this mechanism stops you using 'too much'.

Right on, it is a necessary feature for certain link types today. When I tested it however, I noticed speed on the VDSL was always between 8-9.5Mbps downstream whether I had 300/3000/6000/12000 quota value set.

In your case, if the link is 'unlimited', then, you can remove the quota, you should still "benefit" (or perhaps not) from the re-order mechnaims.

Agreed, though it is still nice to use it when deficient links (with common spikes of LAT/JIT/Loss) to avoid their use unless absolutely necessary (during large packet ingress or egress)
Once again, thanks for your contribution! I am really hoping MLVPN is seen as production-ready in most engineers eyes, you are a big driver here for that continued development.

(I'm not sure I'm anything more than a dirty hacker, @zehome knows a lot more about this stuff than me, but, I have a vested interest, living in the countryside :-) - and I love MLVPN, because it's so hackable :-))
The issue with the quota system is that, over a 3 second period, I look to see what sort of traffic I have, and then base the 'weighting' on the requirement (with a descent overhead). Net result (I think) TCP connections see a slowly increasing bandwidth, which they are slow to respond to, all in all, this seems to peg bandwidth lower than it could. So, it may be a good idea to remove the quota system while your testing (for now).
One other thing to check - is MLVPN eating up loads of CPU for you?
(especially this new version, it could.... it may be 'slow' to re-order the packets)
Do you ever see this printout:
log_debug("reorder", "got old (insert) consider increasing buffer (%d behind)\n",(int)(b->min_seqn - TAILQ_LAST(&b->list,list_t)->pkt.seq));
Cheers
Mark.

(I'm not sure I'm anything more than a dirty hacker, @zehome knows a lot more about this stuff than me, but, I have a vested interest, living in the countryside :-) - and I love MLVPN, because it's so hackable :-))

Same here, although as you can tell from the link speeds, I am trying to achieve 500Mbps+ speeds with MLVPN. The problem we face in North America is lopsided links, it's not uncommon to find a 150/2Mbps circuit. Symmetrical speeds are rarely found for consumer and SMB locations, unless you're in an American metro area, which has Verizon FiOS. I don't expect to push my luck much farther on the downstream, but upstream bonding of disparate links is the ultimate advantage and goal.

The issue with the quota system is that, over a 3 second period, I look to see what sort of traffic I have, and then base the 'weighting' on the requirement (with a descent overhead). Net result (I think) TCP connections see a slowly increasing bandwidth, which they are slow to respond to, all in all, this seems to peg bandwidth lower than it could. So, it may be a good idea to remove the quota system while your testing (for now).

Sadly, if I remove the quota rule for the VDSL link (using your new-reorder branch), speeds ceiling at 115Mbps, and the auto_reorder doesn't appear to 'kick-in', I tried running it for over 60secs to see if it would adjust, but no luck.

One other thing to check - is MLVPN eating up loads of CPU for you?
(especially this new version, it could.... it may be 'slow' to re-order the packets)

I haven't noticed a difference, though I can assume the 'auto re-ordering' isn't functioning correctly, as speeds do not grow past 115Mbps. On an i7 4500u (w/HT) I have never seen utilization pass 70% on one of the four cores @ 500Mbps+. On the server end there is an ungodly amount of CPU power: new twin Xeon E5's, and utilization never goes past 30% @ 500Mbps+.

Do you ever see this printout:
log_debug("reorder", "got old (insert) consider increasing buffer (%d behind)\n",(int)(b->min_seqn - TAILQ_LAST(&b->list,list_t)->pkt.seq));

Absolutely:
[ DBG/reorder][0m got old (insert) consider increasing buffer (9 behind)
[ DBG/reorder][0m got old (insert) consider increasing buffer (54 behind)
[ DBG/reorder][0m got old (insert) consider increasing buffer (208 behind)
... lots more where those came from :)
If there is anything you want to peek at, or if you want to compare actual/complete configs feel free to shoot me an email<EMAIL_ADDRESS>Very best!

Hey Mark,
One final note for testing today, I upped the quota value on just the server side to 30000 (for VDSL), and commented out the quota (VDSL) from the client-side, and with this configuration the auto-reorder appears to be functioning, bit of a head scratcher ;)
Line 178 (from above) is unmodified, and this is basically your new-reorder with a modified updown.sh.
I can happily report that CPU util. is nearly identical on the client device, but has risen from 30% to 50% on the server-side, not outrageous, but understandable given the overhead of an additional inspection routine.
From the below, you can see there is a refactoring or recalculation hit, and the traffic drops to `380ish during those intervals, which very-much looks like set intervals of about 5-6seconds:
[  3] 72.0-74.0 sec  89.0 MBytes   373 Mbits/sec
[  3] 74.0-76.0 sec   135 MBytes   565 Mbits/sec
[  3] 76.0-78.0 sec   121 MBytes   509 Mbits/sec
[  3] 78.0-80.0 sec  91.1 MBytes   382 Mbits/sec
[  3] 80.0-82.0 sec   133 MBytes   559 Mbits/sec
[  3] 82.0-84.0 sec   121 MBytes   508 Mbits/sec
[  3] 84.0-86.0 sec  90.0 MBytes   377 Mbits/sec
[  3] 86.0-88.0 sec   137 MBytes   574 Mbits/sec
[  3] 88.0-90.0 sec   124 MBytes   522 Mbits/sec
[  3] 90.0-92.0 sec  87.9 MBytes   369 Mbits/sec
[  3] 92.0-94.0 sec   132 MBytes   556 Mbits/sec
[  3] 94.0-96.0 sec   143 MBytes   600 Mbits/sec
[  3] 96.0-98.0 sec  91.0 MBytes   382 Mbits/sec
[  3] 98.0-100.0 sec   136 MBytes   571 Mbits/sec
total:
[  3]  0.0-100.0 sec  5.67 GBytes   487 Mbits/sec
During these dips I don't see any drop in bandwidth on the VDSL, if there is anything I should keep an eye on to troubleshoot, just let me know.
The big improvement here is I have never before seen TCP performance (on iperf, w/default options) above 520Mbps, I am routinely hitting all the way up to 600Mbps with the VDSL doing a steady 45Mbps of work (right where it should be, without incurring any drop-tail) :)

So, if I understand where you are:
1/ With some 'fiddling' you get 'good' results (did I understand right?)
(So we should keep going!)
2/ CPU usage has increased, I should look at ways of optimising things
(My idea is to 'guess' at where the packet will land in the buffer, and search from there)
3/ setting no quota should be working for you, and isn't.
(presumably a bug....)
4/ The current '64' packet limit for the reorder buffer is too small.
Setting that 64 to e.g. 1024 or something would make the buffer bigger, at the cost of extra CPU. But, I really think I should base the size on Current RTT. Indeed, my feeling is that I should drop packets that are older than "current largest RTT", rather than counting packets in the buffer.... Will need to be careful about CPU usage again :-)

(BTW, forgot to mention, you can pre-set the permitted 'quota' for a tunnel, so you can give yourself some 'headroom' from when you start.
-p, --permitted :[bkm]      Preset tunnel initial permitted bandwidth (Bytes - Default,Kbytes or Mbytes)
e.g. -p tun1:10m

I've pushed an update to 'new-reorder' with the following fixes:

I've changed the weighting algorithm, I hope this fixes the issue with not setting a quota.
I've changed the reorder buffer itself to be limitless (!), but to remove things after the RTT time.

(This is similar to @zehome's algorithm I think, but it prunes things even if there are still packets coming in. Of course, the role of the reorder algorithm is not just to re-order, but to 'drop' a missing packet as soon as possible, using RTT gives me good results so far, and better results that the packet count....)
Let me know your millage :-)

So, if I understand where you are:
1/ With some 'fiddling' you get 'good' results (did I understand right?)
(So we should keep going!)

Absolutely! Performance on TCP tests had dramatically improved to the max ceiling speeds of the links, the 500/20 occasionally goes up to 600Mbps, as the ISP uses bit-bucket bursting (with an unknown traffic allotment for the bucket)

2/ CPU usage has increased, I should look at ways of optimising things
(My idea is to 'guess' at where the packet will land in the buffer, and search from there)

Correct, after this new update, the usage looks a little bit lower (between 38-45% @ 490-570Mbps iperf TCP)

3/ setting no quota should be working for you, and isn't.
(presumably a bug....)

Feels a bit like it :)

4/ The current '64' packet limit for the reorder buffer is too small.
Setting that 64 to e.g. 1024 or something would make the buffer bigger, at the cost of extra CPU. But, I really think I should base the size on Current RTT. Indeed, my feeling is that I should drop packets that are older than "current largest RTT", rather than counting packets in the buffer.... Will need to be careful about CPU usage again :-)

Agreed, an upper limit like 256 would be fine for almost all circumstances/scenarios. As you said earlier, a 256 buffer size is massive, especially in my case of a link RTT delta of 10-12ms. This weekend I'll do some more tests in rural areas with line of sight wireless circuit pairing/aggregation. The RTT of those links are usually absurd and jump around a lot, this would help show the true colours of you techniques here :)

-p, --permitted :[bkm] Preset tunnel initial permitted bandwidth (Bytes - Default,Kbytes or Mbytes)
e.g. -p tun1:1000m

Right on, I'll start playing with this, always nice to see a new option for MLVPN ;)

I've pushed an update to 'new-reorder' with the following fixes:

I've changed the weighting algorithm, I hope this fixes the issue with not setting a quota.

Sadly it doesn't, removing the quota (on the VDSL) from just the server causes traffic to tabletop at 115Mbps - very odd :)
What's also odd is that when I put a quota of 3200 on the VDSL, the link is capped to 6.8Mbps, when I double it to 6400 it stays at 6.8Mbps, same 6.8Mbps at 12800, but when I set the quota to 32000, I end up getting the full 48.5Mbps of speed out of the VDSL

I've changed the reorder buffer itself to be limitless (!), but to remove things after the RTT time.
(This is similar to @zehome's algorithm I think, but it prunes things even if there are still packets coming in. Of course, the role of the reorder algorithm is not just to re-order, but to 'drop' a missing packet as soon as possible, using RTT gives me good results so far, and better results that the packet count....)

Let me know your millage :-)

Hopefully some of the above will prove useful to continuing the troubleshooting of the quota :)
The only big caveat I have with MLVPN currently is the missing 'bindtodev' instead of binding to the IP-address of the link/port.
Thanks again!!

For the Quota, I wonder if it's to do with different RTT's.
For the dev-bind, I'll rebase at some point...
@industrial64 could you get in touch direct, It might be easier to debug 1-1. mark at helenandmark dot org.

(Note to self as much as anything else. Sorry to hijack this thread :-) )
Turns out that I have been battling against a really dirty ADSL line. I have updated my implementation to count loss better. (sorry for the noise on my repo, you shouldn't try to follow, as I'm testing between 2 machines, and using git to sync (not a good idea, dont do it!)).
Anyway- I have 2 conclusions:
1/ the current algorithms collapse with any noise on any tunnel, as it has a negative impact on all tunnels.
2/ The re-order algorithms can try to recover, but its not going to be good. Indeed, at this point, I dont see a good way of making use of 'noisy' bandwidth....

(Note to self as much as anything else. Sorry to hijack this thread :-) ) Turns out that I have been battling against a really dirty ADSL line. I have updated my implementation to count loss better. (sorry for the noise on my repo, you shouldn't try to follow, as I'm testing between 2 machines, and using git to sync (not a good idea, dont do it!)).
Anyway- I have 2 conclusions: 1/ the current algorithms collapse with any noise on any tunnel, as it has a negative impact on all tunnels. 2/ The re-order algorithms can try to recover, but its not going to be good. Indeed, at this point, I dont see a good way of making use of 'noisy' bandwidth.... 3/ Turns out - all my 'clean' ADSL's ALWAYS deliver ALL traffic IN ORDER! I'd very much like to know if other people, around the world, have connections that deliver out of order.

My WISP provider is using Mikrotik equipment with VLAN and PPPoE server, the packets are always out of order unfortuantely and there is no bufferbloat at all.


Add configurability for precompiled deps usage

Hi!
This one is similar to https://github.com/membraneframework/membrane_opus_plugin/pull/52

@mat-hek

done in https://github.com/membraneframework/bundlex/pull/113


[Apply-SPOProvisioningTemplate] Could not load file or assembly 'Newtonsoft.Json, Version=<IP_ADDRESS>, ..'

I've just had following error message, by trying to apply an existing template file, with cmdlet in subject:

Apply-SPOProvisioningTemplate: Could not load file or assembly 'Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
At C:\Scripts\ApplyTemplate.ps1:17 char:1

Apply-SPOProvisioningTemplate -Path $tempFile *

However everything seems applied correctly. I'm wondering if this error can be ignored, or what is the source of this error

Please fully install the powershell cmdlets and reinstall the latest version from https://github.com/officedev/pnp-powershell/releases. It seems you're missing the required newtonsoft.json which was by mistake omitted from the package a few releases ago.

ok, thanks as usual Erwin. I'm pretty sure it was just downloaded (today) from the master branch. I'll make use of releases page in the future.
If I understand correctly, you're saying that current version in master branch shouldn't have this issue.
P.S. The procedure to correctly update an already installed version requires to uninstall previous versions first?

The current released version includes that DLL indeed. The current version in the master branch is also up to date.
Please fully uninstall the package first and then reinstall it. If the uninstall does not clear out the installation folder, remove the folder manually. There has been a release which is refering to version 7.0 of the NewtonSoft.Json assembly, and we reverted to version 6.0 recently. It might be that version 7.0 is installed on your machine instead in the PnP PowerShell installation folder..

I'm quite sure a previous version was installed on that machine indeed.
Your explanation is crystal clear. I'll close the issue.
Cheers
Massimo


Base Class.extend() on native es class syntax

The extend mechanism, which we inherited from Ember pre-dates the advent of native ES class syntax. Among other things, this meant manually constructing the prototype chain when expressing the inheritance.
This change lets the class syntax do the heavy lifting of prototype wiring while making the code more clear as to its intent.
As a bonus, instances created with this class show up in development tools as class Child instead of
function () {
  return parent.apply(this, arguments);
}

Still not ideal, but better than the alternative.
Finally, the __super__ property was removed since it's of dubious value and did not cause any tests to fail.

I would love to use ES class systems, the current extend module is not actually from Ember, it's copied from Backbone's source.
At the origin of Mirage we had classes, but I was unwilling to adopt them because we had no class fields. I wanted Mirage's API to "feel like" Ember so it relies heavily on these sorts of things:
import { Model, hasMany } from 'ember-cli-mirage';

export default Model.extend({
  users: hasMany()
});

I didn't want (and still don't want) folks to have to do something like
export default Model.extend({
  constructor() {
    super();
    this.users = hasMany();
  }
});

However it is my understanding that class fields gives us something like this
export default class extends Model {
  users = hasMany();
}

which is more tolerable. Is that true? (What will Ember Data's API look like once Ember moves over to ES classes?)

Also super is a much-wanted feature in things like route handlers, so this would be a benefit from moving to ES classes.

However it is my understanding that class fields gives us something like this
export default class extends Model {
users = hasMany();
}
which is more tolerable. Is that true?

Yup, though it's currently stage-2.
This change won't make a difference for end users, but it did make both understanding and debugging a lot clearer.

Yep, sorry @cowboyd for co-opting your PR. 🌪


Updating the UI of the content of the Index.

What changes does this PR do?
Updating the UI of the content of the Index.
Screenshots (If any)
Before Change -

After Change-

Questions

Actually at the beginning UI was like the same you have suggested and someone suggested new UI and that PR was merged.
So you are literally reverting an earlier PR ;)

I think That Ui is more accessible and better user experience, That's why I have pulled the request But we can also stay with the current UI as well thanks
@E-fais

I think That Ui is more accessible and better user experience, That's why I have pulled the request But we can also stay with the current UI as well thanks @E-fais

let's see what maintainers think...

What changes does this PR do?
Updating the UI of the content of the Index.
Screenshots (If any)
Before Change -
After Change-
Questions

We appreciate your suggestion, but we previously used the same layout which you are referring.


Problem creating web parts for ON-PREM 2019

I am trying to create SPFx web part FOR ON-PREM 2019 but facing issues on running the gulp serve command following creating a basic helloworld web part (no coding).
OS - Windows 10
Node version - 8.15.1
NPM version - 6.9.0
SPFx version - 1.8.0
I followed everything as per Microsoft documentation, which I have done successfully for ONLINE many times. However, when trying to create same but for ON-PREM 2019 the yoman generator doesn't create something that builds. gulp serve throws an error.
With some investigation I note that package.json dependancies are "~1.4.0" and devdependancies are "~1.4.1". The error complains about "@microsoft/sp-property-pane" which is in the header of the main web part (HelloWorldWebPart.ts).
With a little reading up, isn't "@microsoft/sp-property-pane" a SPFx 1.8.0 thing? Shouldn't the generator for ON-PREM 2019 be outputting 1.4 compatible code?
I build ONLINE web parts too so may well be that my environment is too 'latest/greatest' for On-PREM?
Can anyone provide the ideal node/npm/yo/SPFx etc. versions required to build ON-PREM 2019 SPFx web parts?

See #3621  for more information and a workaround.


Accessibility issues: Form elements must have aria-label and aria-roles must contain particular children

Hi,
I am using the Google Chrome extension aXe to analyse and find any accessibility defects in the web application that I am developing. Unfortunately, the application finds a few accessibility violations linked to the autosuggest component. I have taken a screenshot of the two issues that I am currently stuck on and which are quite critical.
1. Form elements must have aria-label:

2. ARIA-roles must contain particular children:

react-autosuggest/dist/standalone/autosuggest.js. I tried to locate it at this location but was unable to.

Seems to me that the autosuggest component is missing aria-label and listbox child role from the source code. Since I cannot pass these in as a parameters or add to my divs, would you be so kind to add them to the autosuggest code ? I would really, really appreciate it.
Thank you very much.
Ligia

For the first issue, try to add a <label> outside of the Autosuggest, and set its htmlFor to be equal to the Autosuggest's inputProps.id.
For the second issue, could you provide the "Learn more" link to see details. I'm not sure at this point what the requirement is.

Thank you so much for your response @moroshko . Your suggestion worked and it fixed the second issue I was seeing as well.
Thanks again.

Adding label didn't work for me. The error remains the same that autosuggest container does not have an aria-label. Is there any other way to approach this?


Storage: Consider custom volume snapshot creation date when refreshing

Consolidates several slightly different implementations of the same logic.
Now both local and remote refresh of instances and custom volumes use the same function for comparing snapshots.
This in turn fixes the issue with custom volume refreshes only using snapshot name (and not snapshot creation date) for the comparison.
Fixes #10436

jenkins test this please

jenkins: test this please

jenkins: test this please


Disk null setting does not work as intended

Description
Leaving disk -setting as null will not result into intended behavior. For example my default disk is s3 in filesystems.php and files appear in my local filesystem instead. If you set the tenancy disk to s3 in tenancy.php the file upload to S3 as intended.
/**
* Specify the disk you configured in the filesystems.php file where to store
* the tenant specific files, including media, packages, routes and other
* files for this particular website.
*
* @info If not set, will revert to the default filesystem.
*/
'disk' => null,
..

Information

hyn/multi-tenant version: 5.0.17
laravel version: 5.5
php version: 7.1

Much has changed since 5.0. If anyone can confirm this is still an issue, I'll reopen.


[WIP] feat(ext-taquito): add basic structure && create basic test

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:

Also pls add the link here


port tests for RandomPhotometricDistort

cc @vfdev-5

Thanks for the PR @pmeier
Do we have existing tests for the adjust_contrast, adjust_saturation, and adjust_hue kernels?

Do we have existing tests for the adjust_contrast, adjust_saturation, and adjust_hue kernels?

Not yet. They are added in #7954.


How to stabilize training of keypoint detector?

Due to random initialization, keypoints at the initial epochs can sometimes be evenly distributed or concentrated if I restart the experiment with the same configuration a few times.

Will different random initialization eventually converge to evenly distributed keypoints like the pre-trained models?
Are there better ways to initialize the keypoint detector so that the initial locations of the learned keypoints are evenly distributed?

It should, but may stuck in some local minimum. So beeter to initialize evenly distributed.
This would certainly help, but I don't know simple way to do it.

@AliaksandrSiarohin
About the keypoint detector, i would like to know if more keypoints or pre-trained keypoint detector model will improve the final results (in vox dataset)?
I tried to initilize the network with a pretrained face kp detector network with 36 points, but the network diverged after several epoches; I also tried to freeze the parameters of pretrained kp detector, but the loss will stuck at a high value. would like to know if you have tried similar methods, or if you have any idea about it.
Thank you very much for your nice work!

@AliaksandrSiarohin
About the keypoint detector, i would like to know if more keypoints or pre-trained keypoint detector model will improve the final results (in vox dataset)?
I tried to initilize the network with a pretrained face kp detector network with 36 points, but the network diverged after several epoches; I also tried to freeze the parameters of pretrained kp detector, but the loss will stuck at a high value. would like to know if you have tried similar methods, or if you have any idea about it.
Thank you very much for your nice work!

I did not try this for faces, I tried for Taichi both freezing and additional supervised Loss was working pretty good.

I did not try this for faces, I tried for Taichi both freezing and additional supervised Loss was working pretty good.


Feature Review :: Add dashboard to manage Sling vanity paths

Currently, there are 2 features that allow content authors to manage redirects

Redirect Manager
Redirect Map Manager

The first one uses a Sling filter while the second one writes Apache config files. That makes this one not compatible with AEMaaCS. These two features are good in their own ways. There is a third option with the Vanity Path Configuration.
With these page properties, redirects can be done. i.e. 301/302 or internal. They have one shortcoming. They are at the page level and AFAIK there is no global dashboard to bulk-edit them.
Before I get started on some serious research and a POC; can anyone think why a dashboard to manage these properties would be a bad idea? Or is there anything out there already that I've missed?

Vanity paths at scale will severely degrade AEM startup.
Another concern is around the universality of sling vanities, that is tougher to combat since it's baked into sling. Meaning that each vanity path should be unique for all of AEM regardless of number of tenants, else resolution of the resource will appear random.
that said, I think a dashboard helps alleviate both of these issues as it provides visibility into the vanities which other wise requires looking at a bunch of page properties.

The sling:vanityPath property seems to be indexed. Writing a servlet or whatever to generate dashboard data should not be a problem. Do you know of anything else in the Sling or JCR API that would let me get the vanity mappings?

I'm not aware of any APIs to pull them - a bloom filter is populated on startup, but that's not necessarily complete.
I think just querying on it would be the way to do it, and as you note the there's an index for it it should be fine if you paginate results or filter by the path they resolve to (aka the path they're set on).


Is there any trick in training?

I tried to train the model by myself but it can not get the experiment results as you released no matter how I altered parameters.
Is there any trick in training? Or how to set the parameters?
Thank you!

There is no other trick for training. If you use 4 gpus and following our steps to train, you could exactly reproduce our results, no other modification needed.

I used 4 V100s and followed the steps to train, but the loss was fluctuating at 0.0012 and the mAP equaled to 0. Have you ever seen this phenomenon before?

Please follow the steps to disable cudnn of batchnorm.

@leoxiaobin could you please explain why cudnn BN disabling is so important?

@Scitator ，for my understanding, I think that is a bug of cudnn. But we do not have the source code of cudnn, I can point which part cause the bug.

Okay, but how have you get to the idea of cudnn BN disabling?
I mean, it quite unusual operation and if it does not work without it... it is just strange, you know. Have you tried to ask nvidia for help?

I found the mean variance of BN is not normal when I trained our net using cudnn, so I tried disabled BN of cudnn, then everything was normal.
I have not tried to ask NVIDIA for help now.


display issue well using powerhshell 6.0 alpha14

Please use the following bug reporting template to help produce actionable and reproducible issues. Please try to ensure that the reproduction is minimal so that the team can go through more bugs!

A brief description
the powershell inside the WSL does not display correctly

Expected results
it works...

Actual results (with terminal output if applicable)

this happens both on the default host and conemu

Your Windows build number
Version 1607 build 14393.576

Steps / All commands required to reproduce the error from a brand new installation

sudo apt-get install libunwind8
sudo dpkg -i powershell_6.0.0-alpha.14-1ubuntu<IP_ADDRESS>_amd64.deb
powershell

Strace of the failing command

Required packages and commands to install

See our contributing instructions for assistance.

Hi @chantisnake , thanks for reporting this!
Would you consider joining the Insider program and trying out an Insider build?  Either on your own machine, or by downloading a Preview VM.
A lot of console issues have been fixed in recent Insider builds.  Those fixes will make it to stable Windows in a few months, when the next stable release comes out.

I can confirm on 14986 that when entering a command the cursor resets back to the top of the screen overwriting the output of the previous command.
p.s. what is the best way to capture the GIFs of Bash?

screen to gif

Thanks for the report. Looks related to console. @zadjii-msft or @bitcrazed should be able to provide some information around this.

This is a pretty well known issue - see #988, #980, #933. This comes down to a quirk in the dotnet core's linux implementation that didn't play well with conhost. The bug was opened up on them (I can't find the thread ATM), and IIRC they resolved it and should be coming in a future dotnet release.

From the Powershell/.NET Linux  side there is no movement on this. I've switched to using Token2Shell/MD Windows 10 Application which solves this and many many other problems with conhost.

Thanks for the discussion.
Closing this issue since:

This issue is very old and has likely been fixed in recent Win10 builds
This is the WSL issues repo, but this is an issue in Console which has its own Console GitHub Repo
GitHub doesn't allow issues to be moved between repos, preserving posters' identity :(

If you have further asks/issues, please file new issues on our Console GitHub Repo.


Can round-robin connection pool logic be smarter?

Currently, as I read it and have tested, it appears that the pool logic is doing a simple round robin approach. This works well if you don't have a mix of slow and fast queries.
When you have some slow queries, you can easily end up with many fast queries stuck behind a connection that is processing a slow query.
It appears there is already support for the pool to grow to a maximum size of connections, but even using a large connection pool max size doesn't solve the problem. If you have hundreds or thousands of queries or commands executing, at some point, you will still get backed up unnecessarily behind a slow query, regardless of whether you have a max pool size of 10 or 100.
Would it be possible to refactor the pool mechanics to queue up items to the connection with the lowest amount of commands queued up?
You'd probably have to maintain a count of pending commands for each connection, but I believe the benefit would be substantial for anybody who is using the driver with a connection pool > 1 and has a mix of slow and fast queries.
Thank you for considering my suggestion!

@bompus sounds like a very interesting idea! Unfortunately we are in a push right now to get 3.6 features out the door, so I don't suspect there will be any active work on this, but I would love to collaborate and would definitely be willing to review any contributions you might have in the meantime.

@mbroadst It's been a while, but I think this is still relevant. Submitted a PR.

+1

Hey @bompus and @Ijmir, we've completely redesigned the connection pool and will be merging it in shortly (see this PR for the initial steps: https://github.com/mongodb/node-mongodb-native/pull/2047). This project has been merged into the main driver, and will soon be outright deprecated. I'm disabling GitHub issues within the week, so please reach out to us through JIRA for further discussion if the new pool design doesn't address your needs.


Feature 152 nco packages

Pull Request Testing

[x] Describe testing already performed for these changes:
created the conda environment on 'seneca', metcalcpy_py38 and ran all tests in the METcalcpy/test
directory

[x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
on 'seneca', use the metcalcpy_py38 conda environment (conda activate /home/met_test/.conda/envs/metcalcpy_py38)
run pytest on all the tests in the METcalcpy/test directory:

cd to METcalcpy/test

pytest <----this will run all the pytest tests

[x] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]

[x] Do these changes include sufficient testing updates? [NA]

[X] Will this PR result in changes to the test suite? [No]
If yes, describe the new output and/or changes to the existing output:

[x] Please complete this pull request review by  At your earliest convenience.  I am using these packages to build upon to create the METplotpy packages.

Pull Request Checklist
See the METplus Workflow for details.

[x] Review the source issue metadata (required labels, projects, and milestone).
[x] Complete the PR definition above.
[x] Ensure the PR title matches the feature or bugfix branch name.
[x] Define the PR metadata, as permissions allow.
Select: Reviewer(s)
Select: Organization level software support Project or Repository level development cycle Project
Select: Milestone as the version that will include these changes
[x] After submitting the PR, select Linked issues with the original issue number.
[ ] After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
[ ] Close the linked issue and delete your feature or bugfix branch from GitHub.

So strangely when I conda activate the metcalcpy_py38 as fisherh I am missing the pyyaml package.
When I activate it as met_test I am missing the matplotlib package.
I am guessing that pyyaml was installed via pip and has permission issues when fisherh uses the environment.

I managed to create the conda environment for METcalcpy to omit the
matplotlib package (by starting "fresh"), so I wouldn't worry about
matplotlib not being present in the metcalcpy_py38 environment.  I did not
install the pyyaml or yaml packages- they aren't needed for the "core"
METcalcpy.   They should be present for the metplotpy_py38 environment.
Minna Win
Pronouns: she/her
National Center for Atmospheric Research
Developmental Testbed Center
Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
On Wed, May 4, 2022 at 9:55 AM Hank Fisher @.***> wrote:

So strangely when I conda activate the metcalcpy_py38 as fisherh I am
missing the pyyaml package.
When I activate it as met_test I am missing the matplotlib package.
I am guessing that pyyaml was installed via pip and has permission issues
when fisherh uses the environment.
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METcalcpy/pull/177#issuecomment-1117522336,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4UJHR4S6ECIY365YLE6NLVIKMWXANCNFSM5UNE6GLQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I stand corrected, I looked at my notes and I did indeed explicitly install
pyyaml (5.4.1, yaml 0.2.5).  I didn't use pip for any installation to avoid
these issues.  I wonder if I should try mamba.
-M
Minna Win
Pronouns: she/her
National Center for Atmospheric Research
Developmental Testbed Center
Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
On Wed, May 4, 2022 at 10:55 AM Minna Win-Gildenmeister @.***>
wrote:

I managed to create the conda environment for METcalcpy to omit the
matplotlib package (by starting "fresh"), so I wouldn't worry about
matplotlib not being present in the metcalcpy_py38 environment.  I did not
install the pyyaml or yaml packages- they aren't needed for the "core"
METcalcpy.   They should be present for the metplotpy_py38 environment.
Minna Win
Pronouns: she/her
National Center for Atmospheric Research
Developmental Testbed Center
Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
On Wed, May 4, 2022 at 9:55 AM Hank Fisher @.***>
wrote:

So strangely when I conda activate the metcalcpy_py38 as fisherh I am
missing the pyyaml package.
When I activate it as met_test I am missing the matplotlib package.
I am guessing that pyyaml was installed via pip and has permission issues
when fisherh uses the environment.
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METcalcpy/pull/177#issuecomment-1117522336,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4UJHR4S6ECIY365YLE6NLVIKMWXANCNFSM5UNE6GLQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Just to not complicate things. I ran this as user met_test and everything ran perfectly so I am approving this pull request and we will deal with transferring conda environments later.


Bug report: spfx project upgrade fails when .yo-rc.json & package.json are out of sync

Description
The spfx project upgrade command returned a message that project doesn't need to be upgraded despite the package.json references to old versions of @microsoft/sp* packages
Steps to reproduce
In an spfx project, the .yo-rc.json file contained current spfx version:
{
  "@microsoft/generator-sharepoint": {
    "isCreatingSolution": true,
    "environment": "spo",
    "version": "1.10.0",
    "libraryName": "library",
    "libraryId": "db85a7f3***",
    "packageManager": "npm",
    "componentType": "extension",
    "extensionType": "ApplicationCustomizer"
  }
}

The package.json file contained references to older versions
{
       "dependencies": {
                "@microsoft/sp-application-base": "1.9.1",
                "@microsoft/sp-core-library": "1.9.1",
                "@microsoft/sp-dialog": "1.9.1",
    }
}

Expected result
I expected a report of changes to make to upgrade the project.
Actual result
"Error: Project doesn't need to be upgraded"
Environment
Win10, PWSH
o365 version: 2.8.0-beta.ee3c531

Good catch @pschaeflein. I'd suggest we change detecting the project version to use the package version instead of .yo-rc.json which is more reliable. Agreed @VelinGeorgiev @garrytrinder?

Agreed, package.json is the source of truth here so we should check versions here first.
It maybe worth considering returning a message in the upgrade output to state that the .yo-rc.json SPFX version does not match the installed dependencies.

I am ok with this.

So this seems to be harder than it seems to do correctly.
Some versions of SPFx use different versions of the core packages, eg.:
1.3.2
"@microsoft/sp-core-library": "~1.3.0"
"@microsoft/sp-webpart-base": "~1.3.0"

1.1.3:
"@microsoft/sp-core-library": "~1.1.0"
"@microsoft/sp-webpart-base": "~1.1.1"

1.1.1:
"@microsoft/sp-webpart-base": "~1.1.1"
"@microsoft/sp-core-library": "~1.1.0"
"@microsoft/sp-build-web": "~1.1.0"

1.0.2
"@microsoft/sp-core-library": "~1.0.0"
"@microsoft/sp-webpart-base": "~1.0.0"
"@microsoft/sp-build-web": "~1.0.1"

1.0.1
"@microsoft/sp-build-web": "~1.0.1"
"@microsoft/sp-core-library": "~1.0.0"
"@microsoft/sp-webpart-base": "~1.0.0"

Right now, we use the @microsoft/sp-core-library package to determine the version but based on the two examples above, it would return wrong version in multiple cases.
Event by looking at multiple packages and adjusting the order to something like this:
@microsoft/sp-application-base
@microsoft/sp-webpart-base
@microsoft/sp-build-web
@microsoft/sp-core-library

It would still return incorrect version v1.0.1 where sp-webpart-base is v1.0.0 as well as some other version that don't have corresponding package versions.
With such inconsistencies in place, I'd say that we keep what we have because it seems like the most reliable way of detecting project version.
We could extend the upgrade process with a check if .yo-rc.json and package.json are in sync, but again, for some versions it would lead to an error/message.
What do you think @pschaeflein @garrytrinder @VelinGeorgiev?

Great analysis @waldekmastykarz 👏🏻
I agree that we should keep the current check in place based on your findings.

If I run the job today, do I care if the project is 1.1.1 or 1.1.3? I mean, it ends up as 1.10 afterwards, right? Not sure if these old, incremental differences matter.

They actually might. The way upgrade guidance is done is that v1.8 only knows how to upgrade v1.7 project. It doesn't know what's been done in the previous versions. So theoretically, if there is anything relevant done between v1.1.1 and v1.1.3 the upgrade guidance wouldn't contain these changes and you could end up with a broken project. That's theory. I've never looked at what's the reality of this because the mechanism worked so far, until you get to an issue like you mentioned :)
How about an alternative: before we start the upgrade logic, we add extra logic to verify the project's integrity and if there is anything out of the ordinary, we communicate that first. Would that address the issue you mentioned @pschaeflein?


move calculate_intrinsic_gas_after_merge to txpool eth validator

Describe the feature
this is only used in the eth validator:
https://github.com/paradigmxyz/reth/blob/main/crates/primitives/src/revm/compat.rs#L31-L43
and should be moved there, this means the txpool would need the revm-interpreter dep
Additional context
No response

would like to work on this!

only used here
https://github.com/paradigmxyz/reth/blob/2219d7d23e3b68118652ad5764005b56bb0dd1f3/crates/transaction-pool/src/validate/eth.rs#L718-L718
we can simply remove the function and inline it in there


[Bug]: On sharing app with dev rights, deploy modal from the shared user does not have new info text

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I Share app with me-qa2 user with developer rights - on logging in with me-qa2, Deploy modal does not have the new information text that is part of ME
Steps To Reproduce

Login as me-qa1, Share an application["multienv with git"] from share modal inside the app, by giving me-qa2 user developer rights
Login as me-qa2 in incognito mode and open the same app
Click on Deploy
Note that the deploy modal does not have the new info text that is part of ME

Public Sample App
No response
Environment
Deploy Preview
Issue video log
No response
Version
Cloud

Discussed with Ayush - Non issue. Hence closing.


consumer: maintain GRPC connections to all PRIMARY endpoints

Even if they're not explicitly listed in ConsumerState.Endpoints. This
allows clients to talk to PRIMARY shards hosted by members in the
process of shutting down. That shut-down could take a while, as shards
are recovered by other processes, and clients should be able to access
shards in the meantime.
Issue #50

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

pkg/consumer/client.go, line 204 at r1 (raw file):

		prepare(ep)
	}
	// TODO(johnny): At present, shards can have primary replicas which are not

Should this be a NOTE instead of a TODO?

Comments from Reviewable

Thanks!

Review status: all files reviewed at latest revision, 1 unresolved discussion.

pkg/consumer/client.go, line 204 at r1 (raw file):
Previously, julianvmodesto (Julian V. Modesto) wrote…
Should this be a NOTE instead of a TODO?

Generally yes, except that I think this behavior is incorrect and am planning to tackle it as part of my current work on consensus allocation (issues #47 / #49)

Comments from Reviewable


Python 3.x + Django-CMS 3.3 + Mailchimp API V3.0 ready

Changes:

fix for python 3.x compatibility
use python mailchimp3 in place to pyrate to use V3.0 API
fix app hook for django-cms >=3.3
fetch_campaigns: now get campaigns in place of lists
campaign admin view: added list_name, list_id associated to campaign
keywords: added list_name to filter auto categories when fetch_campaigns
added Subscription Advanced form that include firstname/lastname (FNAME, LNAME)
complementary info in README
remove mc_language plugin form option (no more need, auto detected by Mailchimp)
template fix for Campaign Archive and Selected Campaign plugin template to work with django-cms 3.x
add optional subscription opt-in to plugin forms
version incremented to 0.4.2

My test migration/installation, seams good!

@Chive In my last changes, I re-worked the mailchimp api v3 error handling in views.py. Plus main of change feedback you requested.

Hello guys!
Any updates regarding the progress on this PR?
In any case, I am available for any kind of help needed in order to close this PR, as I am looking forward to use it in production :)

Hi @koslibpro , I will provide a other PR will less fondamental changes, but with the compatibility needs: Python 3, cms 3.3+ and API mailchimp 3. Thx for your patience.

@matinfo that's great! Do you have a time estimate about this?

@koslibpro max a week, I hope :-)

Awesome @matinfo, I'll keep an eye on this matter then! As I said also earlier, don't hesitate to reach out to me if you need any help!
Cheers!

new PR #22 ready to be accepted by maintainer

This PR no more need, see PR #22

thanks @matinfo :)


Extension host did not start in 10 seconds, it might be stopped on the first line and needs a debugger to continue.

VSCode Version: 1.52.1
OS Version: macOS Catalina  10.15.5 (19F101)

Steps to Reproduce:

Use yo code  to create a simple template
Use F5 to start debugging. It can work at first, but it won’t work later. I didn’t do anything in the middle, I just shut it down

Does this issue occur when all extensions are disabled?: Yes/No yes

sudo rm -rf $HOME/Library/Application\ Support/Code
sudo rm -rf $HOME/.vscode

I tried #20581
#72607
Still not working

Version: 1.53.0-insider
Commit: 6dc779565e1e4a26104002fde340b68c157c3bc5
Date: 2021-01-12T06:35:35.239Z
Electron: 11.1.0
Chrome: 87.0.4280.88
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.5.0
I tried this, still the same problem

Version: 1.53.0-insider
Commit: 6dc779565e1e4a26104002fde340b68c157c3bc5
Date: 2021-01-12T06:35:35.239Z
Electron: 11.1.0
Chrome: 87.0.4280.88
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.5.0
I tried this, still the same problem

After restarting the computer, the proxy service is not closed.

After restarting the computer, the proxy service is not closed.


CVE-2024-5206 - Scikit-learn minimum version

Currently, the minimum version for scikit-learn is set to 1.0, and it would need to be set to 1.5 in order to mitigate the vulnerability in CVE-2024-5206.  Latest version of sklearn is 1.5.2 which no longer supports python 3.8 but that's nigh end of life.

If it's as 'simple' as updating the minimum version in the min-dependencies and pyproject.toml,  and removing py3.8 references (or if there's more to consider and someone can point me in the direction of what else that might be) I'd be happy to make a PR.

Thanks for raising this issue -- a PR is very welcome!
You're spot on about what's needed to update the minimum version and removing Python 3.8 references/support.
The one additional task would be to clean up backward-compatible code that supported older versions of scikit-learn. There are a number of details here, so I'd be happy to lend a hand as well. But this includes the documentation (here), the model parameters (here, here, and here), the docstrings (here and here), the parse version try-except (here), and the parameter validation check (here) along with the corresponding conditionals, since it should now always import successfully.

I opened a PR
A couple of things I came across:

I didn't see a dev environment, so I wound up just creating a local conda environment with the min dependencies and pytest. Otherwise I couldn't run thepython setup.py build_ext --inplace step in the build.  Not sure If I missed a step that I should/could document for a dev environment
I didn't make any changes with the sklearn utils stuff because they either seemed like they were still needed to me or, in the case of the fixes file, it seemed needed until the scipy and numpy min versions were raised. I didn't make those changes in favor of keeping this PR minimal as mentioned in the contribution file

Let me know what your thoughts are

Ah, thanks for the note on the build issues. One problem here is that CONTRIBUTING.md is out-of-date; I have been keeping the development instructions updated in the documentation here. That said, you may still be right that including additional instructions for setting up a dev environment would be helpful. Thanks for pointing out the issues here, the instructions should be updated and consolidated.

no worries.  Your test coverage is inspirational


0.8.7 not compatible with Sketch v47.x

Hello,
Since the 0.8.7 update, the following message pops up at Sketch launch:

Since major Sketch updates are very often full of bugs, user shouldn't be forced to update just to keep the plugin to work… or, at least, it would be useful to advertise the new plugin version is not back-compatible.
Thanks a lot for your work!

Hey there!

Support of multiple Sketch versions is out of scope for me right now, sorry.
You can always roll back to previous Keys version via the Releases page.

Please consider that this is my very side free of charge project that I'm not really interested to develop right now, so all I'm going to do is maintain its capability with current release Sketch version to keep it afloat.
Hope you understand.
Cheers,

Yeah, maybe so when I'll figure out how to show it in good sight. :)
Thanks for the report.


Does OHIF provide support for React native(Mobile App)

I want to know can I used this library for React native mobile development? If yes, can you help me out with documentation or any demo application regarding it.

through cross-platform framework  OHIF will work as mobile App.

yes,I. want to do that too.any ideas?anyone could help?

Have you tried? not a react native expert, but give it a go and let us know about the limitations and we can work towards fixing them