fix: deploy vsi only to the vsi-zone-* subnets for null value

Description
Issue: https://github.ibm.com/GoldenEye/issues/issues/6951
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

@Aashiq-J I expect if we had an upgrade test for the "Existing VPC" VSI extension DA this change would actually fail the upgrade test because it will attempt to destroy VSIs from subnets that did not start with <prefix>-vsi-zone-*. Can we add an upgrade test and ensure that is the case? We also need to double check any documentation we may have published stating the DA deploy VSIs to all subnets, and maybe rename it to say all VSI subnets.

/run pipeline

@ocofaigh ,
Added upgrade test and it is failing as expected.
It is trying to recreate the vsi in the vsi-subnets and delete the ones in the other subnets.

@Aashiq-J I wasn't expecting any new creates to be seen in the upgrade test? I thought current code was creating VSI in every subnet, and then the new code would delete the VSIs in the non VSI subnets. Why is code trying to create new VSIs?

@ocofaigh ,
When updating the logic to deploy only on VSI subnet, the map structure changes which terraform sees it as a new different map entries and recreates the cluster.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

upgrade test is expected to fail because it is deleting VSIs not part of the vsi-subnets.
Also updated the override example and roks-quickstart example because these upgrade tests were also failing because it was trying to use a private endpoint for reset-api-key script.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

Manual upgrade test for VSI version update.
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_instance.vsi["nov20-vsi-management-vsi-zone-1-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02h7_188ec50c-8fdb-4f13-98f4-435becaef05c"
        name                             = "nov20-vsi-management-server-1887-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02h7-00c9d788-6215-4032-b0b9-6fa42e202444"
          ~ name          = "nov20-vsi-management-vsi-zone-1-eth0" -> "nov20-vsi-management-server-1887-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_instance.vsi["nov20-vsi-management-vsi-zone-2-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02i7_cfd93c44-869f-44f3-998e-bfe65272e2e3"
        name                             = "nov20-vsi-management-server-3601-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02i7-bbf1d3d9-209b-4645-ae3c-1caf76d829dc"
          ~ name          = "nov20-vsi-management-vsi-zone-2-eth0" -> "nov20-vsi-management-server-3601-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_instance.vsi["nov20-vsi-management-vsi-zone-3-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02j7_32fc29dc-0f22-4bda-8d8c-2d9fb451b0a7"
        name                             = "nov20-vsi-management-server-dfa6-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02j7-067bba04-bd7b-4e26-937d-d08dab35ca92"
          ~ name          = "nov20-vsi-management-vsi-zone-3-eth0" -> "nov20-vsi-management-server-dfa6-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-management-vsi-zone-1-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02h7-78b180f0-90c5-4321-9b3b-c87159754266"
      ~ name                          = "nov20-vsi-management-vsi-zone-1-0-vni" -> "nov20-vsi-management-server-1887-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-management-vsi-zone-2-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02i7-8a06eeab-5bbf-47bd-8e44-cbd58a542708"
      ~ name                          = "nov20-vsi-management-vsi-zone-2-0-vni" -> "nov20-vsi-management-server-3601-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-management-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-management-vsi-zone-3-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02j7-53735e44-5c99-4bdf-96c9-c66851251bec"
      ~ name                          = "nov20-vsi-management-vsi-zone-3-0-vni" -> "nov20-vsi-management-server-dfa6-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_instance.vsi["nov20-vsi-workload-vsi-zone-1-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02h7_ee43701f-05eb-4d3f-a60c-8d1bf1e5b0e5"
        name                             = "nov20-vsi-workload-server-c013-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02h7-c5545b3a-675b-459d-8dfc-acea8bf10f98"
          ~ name          = "nov20-vsi-workload-vsi-zone-1-eth0" -> "nov20-vsi-workload-server-c013-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_instance.vsi["nov20-vsi-workload-vsi-zone-2-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02i7_fb49d56c-a41f-4a75-9e8c-7340c8901447"
        name                             = "nov20-vsi-workload-server-7696-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02i7-7dce14c4-77fe-47a7-869a-cdea6b1d1d38"
          ~ name          = "nov20-vsi-workload-vsi-zone-2-eth0" -> "nov20-vsi-workload-server-7696-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_instance.vsi["nov20-vsi-workload-vsi-zone-3-0"] will be updated in-place
  ~ resource "ibm_is_instance" "vsi" {
        id                               = "02j7_86b0cb1b-dd75-4fea-affa-d2aff5727a60"
        name                             = "nov20-vsi-workload-server-bef9-001"
        tags                             = []
        # (35 unchanged attributes hidden)

      ~ primary_network_attachment {
            id            = "02j7-4d6256cf-2035-499d-b157-9536ed304cf6"
          ~ name          = "nov20-vsi-workload-vsi-zone-3-eth0" -> "nov20-vsi-workload-server-bef9-001-vni"
            # (3 unchanged attributes hidden)

            # (1 unchanged block hidden)
        }

        # (4 unchanged blocks hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-workload-vsi-zone-1-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02h7-9f06d58f-b054-430b-a6e1-f172c20c467c"
      ~ name                          = "nov20-vsi-workload-vsi-zone-1-0-vni" -> "nov20-vsi-workload-server-c013-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-workload-vsi-zone-2-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02i7-063259cf-22b8-455c-9c8a-1b72eebb5ff7"
      ~ name                          = "nov20-vsi-workload-vsi-zone-2-0-vni" -> "nov20-vsi-workload-server-7696-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.vsi_landing_zone.module.landing_zone.module.vsi["nov20-vsi-workload-server"].ibm_is_virtual_network_interface.primary_vni["nov20-vsi-workload-vsi-zone-3-0"] will be updated in-place
  ~ resource "ibm_is_virtual_network_interface" "primary_vni" {
        id                            = "02j7-0caa5aa7-2e0d-48be-9394-92e2d922a536"
      ~ name                          = "nov20-vsi-workload-vsi-zone-3-0-vni" -> "nov20-vsi-workload-server-bef9-001-vni"
        tags                          = []
        # (17 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 12 to change, 0 to destroy.

Changes to Outputs:
  ~ transit_gateway_data    = {
        id                      = "daccda9d-ada9-4335-911d-7a683f09a807"
        name                    = "nov20-vsi-transit-gateway"
        tags                    = []
      ~ updated_at              = "2024-11-20T09:43:59.072Z" -> "2024-11-20T09:44:03.950Z"
        # (12 unchanged attributes hidden)
    }

Only VNI names are renamed.

/run pipeline

:tada: This PR is included in version 6.3.1 :tada:
The release is available on:

GitHub release
v6.3.1

Your semantic-release bot :package::rocket:


:wrench: Add dotnet v6 to ci

Codecov Report

Merging #18 (a032f17) into main (3898d66) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #18   +/-   ##
=======================================
  Coverage   77.20%   77.20%
=======================================
  Files          35       35
  Lines        2694     2694
  Branches      345      345
=======================================
  Hits         2080     2080
  Misses        462      462
  Partials      152      152

Continue to review full report at Codecov.

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


Broken link in "Before you begin"

The link behind the text "Application Gateway v2 SKU" is incorrect. It has the character ">" at the end. If the character is removed, the link works.
Current link: https://docs.microsoft.com/azure/application-gateway/tutorial-autoscale-ps>

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

ID: 8e83f232-bd7f-e2d3-1ff7-b40dc1d12e49
Version Independent ID: 12ec7b33-fc00-0428-69cf-38d70ff46948
Content: Rewrite HTTP request and response headers with Azure Application Gateway - Azure portal
Content Source: articles/application-gateway/rewrite-http-headers-portal.md
Service: application-gateway
GitHub Login: @abshamsft
Microsoft Alias: absha

@sammeel , Thank you for your feedback. I did a PR and fixed the broken link. It will reflect shortly.


Line graph problem in the Dashboard

The graph is taking into account times without episodes, which cause it to be noisy and hard to interpolate

This functionality come directly from DeepRacer for Cloud, DOTS simply presents it via the link to the NGINX.  Please raise issue in DeepRacer for Cloud repo, thanks.


TDOA localisation in 3D

Hi,
I would like to use the TDOA localisation in 3D. The only information I measure is the time difference between blind node (tag) and reference nodes (anchors). I have tried algebraic and geometric localisation.
In algebraic localisation it only works well when I use 5 reference nodes. Are you using a linear method that involve the use of minimum 5 reference nodes?
In geometric localisation it only works well in 2D but not in 3D, even if I use 5 reference nodes.
Is it possible to have access to the theory used for the localisation, especially for algebraic localisation?
Thanks in advance.

I also opened issue #336 related to this. I was wondering if you maybe resolved your issue or came up with a workaround?

Hi,
Although Pylayers is very powerful and versatile, I gave up it because it is not enough supported and documented. I didn't resolved my issue but I'm using this library to do TDOA: https://github.com/AlexisTM/MultilaterationTDOA .


Recording Time on WebSocket Plugin

Is your feature request related to a problem? Please describe.
The lack of a variable of Recorded Time. Ex. Same as StreamTime [...]
Describe the solution you'd like
Update recording time when obs_recording value is true.
Describe alternatives you've considered
I have considered using the HeartBeat to get the TotalRecordTime
But since Hearbeat looks deprecated, Im kind of worried about losing this functionality.
*Functional Example using HeartBeat in the attached image.
Additional context
This is what I have done:

**I will be using Macro Deck to reduce waste of time during my game development journey, so Im taking some time to see how I can improve it doing little adjustments until next update.
Grateful for the attention,
Jean.

It is much better to go to the plugin repo and post the same issue there.

This is the wrong repository. Use the plugin's repository instead.
https://github.com/manuelmayer-dev/Macro-Deck-OBS-WebSocket-Plugin


Outputs video upside down

What's your platform?
Python Version: 3.10.2 64-bit
Platform: Windows 10 amd64
FFmpeg path: C:\Users\user\AppData\Local\Programs\Python\Python310\Lib\site-packages\auto_editor\ffmpeg\Windows\ffmpeg.exe
FFmpeg version: N-105325-g7512293cf9
Auto-Editor version 22w07a

What did you try?
auto-editor C:\Users\user\Downloads\video.MP4 -v 1.25

Bug description
Video was cut as intended, but the video was upside down. Input video was right side up.
What properties your input file(s)? (if applicable)
Finished. took 353.98 seconds (0:05:54)

Comments
No response

This should be fixed in the latest version. The latest copies the input video's metadata to the output, which should solve the problem.


BSplineInterpolation: Add support for higher order arrays

Checklist

[x] Appropriate tests were added
[x] Any code changes were done in a way that does not break public API
[x] All documentation related to code changes were updated
[x] The new code follows the
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
[x] Any new documentation only uses public API

Additional context
Add any other context about the problem here.

Interpolation looks good. Can you add the derivative methods as well?

I have added derivative methods and relevant tests.


Check that all tempdb files are the same size

Feature Request
I want a new tempdb check. This check should be to ensure that all tempdb files are the same size. Recently found a bug with our SQL install scripts where sometimes it could fail and create 3 files at 20gb and 1 file at 8mb as an example. 🤦♀

Thank you @garethnewman  I shall add this check -
Could please you also raise an issue on dbatools at https://github.com/sqlcollaborative/dbatools/issues for Test-DbaTempDbConfiguration and when it is added to there I will revert back to the dbatools version

Thanks for sorting this Rob, I did write this for DbaTools but I couldn't figure out how to make DbaChecks look at my version to test it. :(


Update the documentation to include the database name for the Craft install

Maybe I missed something, but the documentation didn't include the name of the database created during the Nitro setup. I figured out that it's the root folder name.

Sorry, but I don't think I'm following. nitro init won't create a default database at all.  We probably should update https://github.com/craftcms/nitro#connecting-to-the-database to say you'll need to manually create a database. Is that what you're referring to?

The name of the folder that I stored the craft install is "checkout" but I don't have a database named checkout. The only way I could install craft was to include checkout as the database name. I can connect to the database using my SQL client but I never created it.

@ConversioniaDev that makes sense, right now we do not create a database when you add a site, we certainly have talked about adding support for that use case.
In beta 3 you will be able to add databases easily with nitro db add.

Sounds like a nice feature to be added. Looking forward to it.

@ConversioniaDev we tagged beta 3 which will make it easier to add databases. When a new machine (or adding a MySQL engine) there is a default database called nitro.
I think we will eventually create a database during add but I’m not sure if will make it in 1.0.

Closing this out as the documentation discusses this here: https://craftcms.com/docs/nitro/usage.html#connecting-to-the-database


Per mapping/object options

Features like https://github.com/nvim-treesitter/nvim-treesitter-textobjects/pull/150 and https://github.com/nvim-treesitter/nvim-treesitter-textobjects/issues/125 would benefit from being per-mapping/objects instead of global options.
Our current settings look like this
      keymaps = {
        ["af"] =<EMAIL_ADDRESS>        ["if"] =<EMAIL_ADDRESS>        ["ac"] =<EMAIL_ADDRESS>        ["ic"] =<EMAIL_ADDRESS>      }

We could extend them to something like
-- Global options are defined here
-- lookahead = true,
keymaps = {
  ["af"] = {
    textobject =<EMAIL_ADDRESS>    -- If these options aren't given the global/default ones
    -- are used.
    lookahead = true,
    auto_expand = true,
  },
  -- This form is valid, and it uses the global options.
  ["if"] =<EMAIL_ADDRESS>}

I also think it is relevant for another use case : I added a custom @type to my custom files so I can the type of a declaration for example in int i = 8 I can select int. Here I clearly prefer lookbehind than lookahead but do not want to modify global settings.
I therefore made a PR #588


fix(exthost): Support full set of codicons

Thanks to @zbaylin 's idea to bundle the codicon set (and generate all the glyphs / names!) as part of his titlebar work in #1801 - we can now support the full set of icon-labels like $(alert),  - several extensions make use of in their custom status bar elements to show status of the language service (ie, the go extension uses an $(alert), the java extension uses a $(thumbsup), etc)
This introduces a small refactor to have a <Codicon /> component, and then uses it for the titlebar and for the statusbar. It's basically the <FontIcon /> with the font-family for codicons baked in, and then we use it in our statusbar labels.

/azp run


feature request: adding www.themoviedb.org support?

the website it more community oriented than the company owned imdb.
it is not as big and has less data but users can add the data themselves.
it has a open access api (which imdb doesnt have) and the data is community owned and can be accessed via api.
even though it is smaller right now I have seen some movies that have tmdb pages but not imdb pages.
can you add support for running this script on the tmdb pages too? or is this script too imdb oriented to be worth it?
right now the torrent sites that support tmdb that I know are the cinemaz family (privatehd and avistaz).

This script is for IMDb site, so you are asking for another script. TMDb ID's are supported by the script already.
IMDb data is added by users, same as TMDb, so you can add data yourself there too.
TMDb data is not owned by community.
IMDb doesn't need API because it shares it's database publicly, so you even don't need to connect to IMDb.
Now there's no point of the script for TMDb as only handful of sites use it, and its data is no match for IMDb yet.

1- I said that too.
2- yes and no. there are data added by user and there are data added by companies (which also dovetails in imdb pro)
3- it data is. as in they can not stop you from using all the data as you wish. kinda like a semi open source app. but databases are governed differently (even between USA and Europe). but imdb data is owned by imdb company, which mean the data that a user enters it not own by the user or owned by other but by imdb.
4- imdb shared its database publicly? where? if it did then tmdb would just download it and import it.
5- that is a valid point. and the whole point of this feature request was to see it a new script was possible.
1/5 tmdb ids in scirpt works  how if it doesnt run on tmdb and only on imdb?

No, you didn't.
Good to know that IMDb is twice better than TMDb. :)
Wrong.
Wrong.
3/4) Then where is TMDb data to download? Ah there is no such. TMDb is for "for personal and non-commercial use" too.
Everything is possible if it's not a fantasy.
1/5) Because these are two different websites.

No need to fantasize about things if you don't understand what the intellectual property is and how copyright or programs work.
And this is not a place to ask for the new scripts, learn programming and write one yourself.

sorry if I offended you.
I have read the data policy of both imdb and tmdb and there is differences between them that give more freedom to users.
https://developers.themoviedb.org/3/getting-started/daily-file-exports
this is just the first one I found for export.
adding data by companies is twice as good if you can then use it freely not if it is copyrighted.
4- just wrong? seriously ? did I anger you? did I insult you that you give this kind of answers?
I would have understood the "wrong" one word answer for point 3 based on difference understanding of the issue, but 4 too?
are you saying "wrong" as in tdmb CAN import imdn data legally? or are you saying not being able to import it is a .... good thing? a user freedom preserving thing?
maybe all got confused over wire and ( I have no idea why) you got insulted by me.
if so I apologize.
i will unsubscribe from this so that this issue wont fester more.

Sorry, but I can't understand what you are trying to say.
Let's start from simple question: How all that is relevant to this script?
If you don't like short answers then you should find appropriate places where you can get better answers. I have no interest in these topics and here is not a place to learn about laws or copyright nor programming.
I can't be offended by anything on internet, but it looks like you was offended by my sarcasm, don't be. :)
If I wanted to chat about random stuff on internet then I would have the reddit's account, definitively I wouln't do it on the GitHub's issues pages.


Wrap ShowDialog usages with using where it makes sense to better free resources

Middle-sized refactoring. Doesn't solve any problem, but former code was worse as it could keep some stuff in memory longer than really needed, as forms don't free resources when clicking on a "Close" button (unless we were manually calling Close in them) in modal mode.

@Neverbirth, could you check the conflicts?


Update README

What type of PR is this?
/kind documentation

What this PR does / why we need it:
Add new examples in README.

The ianvs V0.3 examples are updated in this pull request. This pull request would be completed if v0.2 examples are added.

/lgtm

/lgtm


deployment.md: Add instructions for Travis CI

Travis CI supports force-pushing to the gh-pages branch using a personal access token and the pages deploy provider.
It's simpler than using deploy.sh

Thank you for your work on this PR!
What do you think about placing this part into GitHub Pages deployment section as a chapter?

@NataliaTepluhina Good point, I put them under the same chapter. Let me know if you have any other concerns.

@terorie Thank you for the fix! Approved 👍


Karma child layouts

Fixes #32

Add Market screen layout
Add Challenge screen layout

@James-Sangalli This PR has Market and Challenge screen accomplished. This is pending with attestation and will be pushed shortly. Kindly review the PR and share your feedback.

@James-Sangalli Thank you for your review. I will push attestation once it is done today.

@ChintanRathod Have made the mods, please pull from master into your fork and then add in attestations


[ODST-139] Update app common package version

@stephenfuqua @vimayya @j-jordan
Please help review and merge the changes.
Thanks
https://tracker.ed-fi.org/browse/ODST-139
https://tracker.ed-fi.org/browse/ODS-4406
Accidently used wrong origin branch on PR - https://github.com/Ed-Fi-Alliance-OSS/Ed-Fi-ODS-Implementation/pull/113

Looks good, correct, and necessary.


Bug or maybe not

(0,CONCAT_WS(0x28,0x7e,(SELECT COUNT(*)FROM(INFORMATION_SCHEMA.TABLES)WHERE(TABLE_SCHEMA IN(0x65786368616e6765))),0x7e))
Title: MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)
why in error based
why it get tables from information schema ? if it is blocked why i don't get tables direct

you better google things related to SQL injection that should help you more.


How to parameterise tests depending on current partition?

Hi, wondering if you have a suggestion how to do this:
I want to run a parameterised test using:

all cores of the nodes
a geometric series of number of nodes: 2, 4, 8, 16, ... up to the maximum available.

The reframe partition has a slurm --partition directive in the access property to define the slurm partition to use.
Inside a test I can parse output from sinfo to get the number of nodes and number of cores, and reading self.current_partition.access allows me to limit this to the right slurm partition. This allows me to calculate self.num_tasks_per_node and self.num_tasks for reframe.
However the current reframe partition is only set during the setup() phase, whereas test parameterisation is done BEFORE even the test's __init__(). Which makes total sense from a python perspective but is problematic here.
The best approach I can think of so far is to just parameterise over a number of tests, say range(6), then inside each parameterised test calculate the number of processes/nodes to set, with e.g. __init__(1) meaning a single node and __init__(6) meaning all nodes. But that is not really ideal as I won't get that nice series which allows me to compare 2,4,... node results across e.g. slurm partitions.
The only other idea I have is to somehow launch subtests, e.g. the main test runs on all nodes, then I run multiple srun commands to run on subsets of those. But that doesn't fit into reframe's model, and is obviously inefficient on resources.
Any suggestions gratefully appreciated!

I have a working implementation of my first idea.
I define a ScalingTest class which has a @rfm.run_after('setup') function which looks at the child test classes attributes self.partition_fraction and self.node_fraction. These define the number of nodes to use and the number of tasks/processes/cores to use per node respectively. Both take either:

a -ve int which specifies an absolute number of nodes/tasks, or
a +ve float which specifies the factor to apply to the total number of nodes / physical cores per node.

It then queries the scheduler using info from the current reframe partition's access settings if provided, and sets the test's self.num_tasks and self.num_tasks_per_node appropriately.
Example of usage in a parameterised test where we want to use all physical cores of:

1 node
2 nodes
1/4 of the nodes in the scheduler partition
1/2 of the nodes ...
all of the nodes ...

ends up looking like this:
NODE_STEPS = [-1, -2, 0.25, 0.5, 1.0]

@rfm.parameterized_test(*[[n] for n in NODE_STEPS])
class MyTest(ScalingTest):

    def __init__(self, num_nodes):

        self.partition_fraction = num_nodes
        self.node_fraction = 1.0 # use all physical cores
        ...

So that's not too bad actually but interested if there's any better ways.

Hi @sjpb, one option that would fit more natural to ReFrame and to what you want to achieve, would be to write a utility function that you would call to parametrize your test. At the time the test is created, you do have access to the system configuration with all the available partitions. You can then return combinations of partitions and number of tasks, with which you would parametrize your test. Here is an example (not tested):
def scaling_config():
    curr_sys = rt.runtime().system
    for part in curr_sys.partitions:
        if part.scheduler.registered_name not in ['slurm', 'squeue']:
            # ignore non Slurm schedulers
            continue

        num_nodes, num_cores_per_node = sinfo_magic(part.access)
        n = 1
        while n <= num_nodes:
            yield (part.fullname, n, num_cores_per_node)
            n *= 2

@rfm.parameterized_test(*scaling_config())
class MyScalingTest(rfm.RegressionTest):
    def __init__(self, part, num_tasks, num_tasks_per_node):
        self.valid_systems = [part]
        self.num_tasks = num_tasks
        self.num_tasks_per_node = num_tasks_per_node

We used the exact same approach in #1417 for allow parameterization of tests based on the modules discovered. FYI, the API for the runtime, system and system partitions is described here in the documentation.

Ah thank you that is much neater. I'd missed the option of working at that level instead of the current test.

Hi @sjpb, I'm closing this. I've seen that you have implemented like that in your hpc-tests repo.


[Request] CI builds and push to Quay

Describe the feature
There should be Actions workflows for building each sample application, tagging it correctly with latest and the build timestamp, rebuilding on a regular schedule (weekly? monthly?), and pushing to quay.io.
Anything other information?
No response

See https://github.com/cryostatio/cryostat-agent/pull/397 . This workflow should be moved from the Agent's repo to this one, and similar jobs should be set up for the other sample applications, too.


Linux: Anime title not being sanitized

Describe the bug
So, with the newers versions, crunchy-cli fails to download some anime, since it tries to create the title with some characteres like : and ?
To Reproduce
Steps / command to reproduce the behavior:
$ crunchy-cli --lang pt-BR archive -a ja-JP -a pt-BR -s pt-BR -m audio -o "./Slime/{season_number} {episode_number} {title}.mkv"  https://www.crunchyroll.com/pt-br/series/GYZJ43JMR/[S2]

This command gaves me this output:
That Time I Got Reincarnated as a Slime Season 2 (That Time I Got Reincarnated as a Slime Season 2)
::      1. Divagação: Hinata Sakaguchi » S02E24.9
::      2. A vida ocupada de Rimuru » S02E25
::      3. Comércio com o Reino Animal » S02E26
::      4.  I'm sure it's the : after "Divagação" since if I try to download passing another name instead {title} it downloads, and it just fails in this ep (And others that also have special characteres)
Client (please complete the following information):

OS: Linux
Version crunchy-cli 3.6.2 (5279a9b 2024-05-14)

You can try and add the --universal-output flag to your command

WOW, this answer was fast XD
And yeah, it fixed, thanks!

Which linux distro (and version if it has any) are you running @ToMattBan? When I try to download it, ffmpeg works fine with the colon

@bytedream I'm running a debian 12
It is strange, before all that fuzz about the DRM, it wasn't a problem.
It started with the past versions


integ-cli: Skip some exec tests requiring same-host daemon

This skips the following exec tests:

TestRunExecDir
TestRunMutableNetworkFiles

Sorry they couldn't made #10995, you folks are fast at merging!
Signed-off-by: Ahmet Alp Balkan<EMAIL_ADDRESS>

LGTM

LGTM


MSI switches ignored during MDT Task Sequence

Hello,
Anybody else having trouble getting this MSI deployed in a task sequence. I had it working a week ago, however I redownloaded the MSI (for updates) and now when I drop it in my MDT task sequence, Teams installs, however it ignores msiexec /i Teams_windows_x64.msi OPTIONS="noAutoStart=true" switch. It works fine manually, however autostart will not disable from task sequence.

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

ID: b2f71d9c-6b35-72c9-dd94-7f62319c1656
Version Independent ID: 86172986-6cc8-eee5-1309-704d9de0dcd0
Content: Install Microsoft Teams using MSI via SCCM
Content Source: Teams/msi-deployment.md
Service: msteams
GitHub Login: @Lester-Hewett
Microsoft Alias: lehewe

@jwillenborg  - thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:  https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@officedocsbot close

I figured out the issue. When I was creating my image, i didn't know Microsoft had started to include Teams into the Office 365 ProPlus installer. I was essentially trying to install the Teams MSI on a device that already had Teams (doesn't work out). To fix, I just deleted the Teams that came with the ProPlus installer and now my deployments are working fine.


Release: v0.19.0

We will shortly be starting the next release. If there are any changes that you want included in this release, please add them to the v0.19.0 milestone.

This release has been finished


Add tests for Docker build

Monika Pull Request (PR)
What feature/issue does this PR add
This PR will solve #1306
How did you implement / how did you fix it

Add Docker build test in each OS (Linux, Windows, and MacOS)

How to test

Run workflow

Seems like we can't use windows-latest and macos-latest to build Monika.
It fails when using windows-latest:

Mentioned here:
https://github.com/docker/setup-buildx-action/issues/292
https://github.com/moby/buildkit/issues/616
It fails when using macos-latest:

Mentioned here:
https://github.com/docker/setup-qemu-action/discussions/137


How to get City township

Here example of how you get street, locality, city, state, country & postal-code.
latitude: locationResult.geometry.location.lat,
      longitude: locationResult.geometry.location.lng,
      fullAddress: locationResult.formattedAddress ?? '',
      street: locationResult.addressComponents
              .firstWhere(
                (element) => element.types.contains('street_number'),
                orElse: () => AddressComponent(
                  longName: '',
                  shortName: '',
                  types: [],
                ),
              )
              .longName +
          locationResult.addressComponents
              .firstWhere(
                (element) => element.types.contains('route'),
                orElse: () => AddressComponent(
                  longName: '',
                  shortName: '',
                  types: [],
                ),
              )
              .longName,
      placeId: locationResult.placeId,
      locality: locationResult.addressComponents
          .firstWhere(
            (element) => element.types.contains('sublocality_level_1'),
            orElse: () => AddressComponent(
              longName: '',
              shortName: '',
              types: [],
            ),
          )
          .longName,
      city: locationResult.addressComponents
          .firstWhere(
            (element) => element.types.contains('locality'),
            orElse: () => AddressComponent(
              longName: '',
              shortName: '',
              types: [],
            ),
          )
          .longName,
      state: locationResult.addressComponents
          .firstWhere(
            (element) => element.types.contains('administrative_area_level_1'),
            orElse: () => AddressComponent(
              longName: '',
              shortName: '',
              types: [],
            ),
          )
          .longName,
      country: locationResult.addressComponents
          .firstWhere(
            (element) => element.types.contains('country'),
            orElse: () => AddressComponent(
              longName: '',
              shortName: '',
              types: [],
            ),
          )
          .longName,
      postalCode: locationResult.addressComponents
          .firstWhere(
            (element) => element.types.contains('postal_code'),
            orElse: () => AddressComponent(
              longName: '',
              shortName: '',
              types: [],
            ),
          )
          .longName,


Fix stale portals added to manager and menus not focused

Fixes stale entries going into portal manager.
PortalConsumer issues
Current in some situations componentDidUpdate runs before the last line of componentDidMount because componentDidMount is async and has a await Promise.resolve() thrown in. This causes issues because this.props.manager.update can be called before a key is created for the PortalConsumer which leads to portals with undefined key hanging around in the manager. That breaks the isFocused setting of portals because if the undefined portal is active, it'll never be removed and the focus state will never be reset.

As discussed - let's close this and do it in the new seer medical repo instead!


vNEXT Basic Controller Pointers.

Feature port of Controller Pointers
Added the ability to easily setup pointers via Pointer Profile:

Pointer profile:

Assigning a pointer to a specific controller using the controller type.

If no controller type is assigned, then the pointer is assigned to every controller that supports spatial pointers.

Assigning a pointer to specific hands

Left & Right for assigning unique pointers per hand
Both for assigning a pointer to both hands

Doesn't support controllers that have no specific handedness

Any for assigning a pointer to both hands

Supports controllers that support spatial pointers but don't have a specific handedness (i.e. HoloLens hands & clicker)

How to create a new pointer:

create an empty game object in the scene view and name it
add a SimpleLineDataProvider to the new game object
add a MixedRealityLineRenderer to the game object
add a LinePointer to the game object.
customize all the components to your hearts desire
drag the game object into the project window to make it a prefab
delete the pointer from your scene
select or create a pointer profile
add a new pointer item in the pointer profile
drag your new pointer prefab into the game object field
select the controller type you want to use the prefab for

Keeping the type None will assign it to every controller type

choose the handedness of the pointer
save and play in editor

TODO

[x] Add option for selecting controller pointer vs grip attachment.
[x] Write up steps for pointer prefab creation

Additional Changes

updated default cursor and cursor scripts
updated input action property drawer to properly assign the axis constraint and description

@davidkline-ms sorry just a small update to make sure the WMR controller supports pointing. should be good now.

@davidkline-ms sorry just a small update

No apology required :)

Found an issue when working with multiple pointers. Fix in the worx

Fixed: #2541

The default for OpenVR controllers is the Generic controller NOT none. Generic covers any new device added that we haven't added a specific implementation for yet.

Yeah but that also includes controller's that aren't open VR controllers.

Okay guys, I think I'm done messing with this PR. One last review is in order.

In addition to the comments, do I have to do anything to get this PR to work? The pointer spawns but never moves.

What platform are you on? I didn't light anything up for Open VR


Add rules to lint baseline merging output + pretty print

This adds a simple representation of identified rules + includes their ruleIndex in the results JSON. This also configures kotlinx-serialization to pretty print it.

I think we have a flaky test, I've seen this before


feat(secrets) optional read all secrets from files

Instead of reading only specified values from files as secrets, this change will attempt to read all settings from a file. So any additional secrets besides the ones now in the list will also be configurable by file.
Adds KONG_PASSWORD specifically since that is not a regular Kong option.
Implements #488
The way the file is parsed can probably be improved, open to any suggestions @gszr @hutchic

Also; only updated Alpine, if deemed ok, I'll apply the same changes to the other images

the tests pass so I trust it's backward compatible 👍

@gszr there is one currently. The docker-compose stores the postgresql password in a file


Support exclusive constraints in schema

fixes https://github.com/frictionlessdata/specs/issues/856

Rationale
Although in the linked discussion there are valid arguments for using a hack instead of adding new constraints, I think that's just the right thing to do as the range and exclusive range are two standard constraints for numeric types (see JSONSchema - https://json-schema.org/understanding-json-schema/reference/numeric). New constraints are relatively simple to support in implementations

ACCEPTED by WG (7/9)


How to put linker flags in the back of the cc command

Hello,
Using the cc build command in build.rs like this:
    cc::Build::new()
        .compiler("g++-7")
        .cpp(true)
        .file("src/test.cpp")
        .include("...")
        .flag("-Llibrary_path")
        .flag("-llibrary")
        .compile("...");

this translates to roughly:
g++-7  -fPIC    -I ...   -Llibrary_path  -llibrary   src/test.cpp

Which errors with an undefined reference error, the same one that I have when compiling it via cargo.
It does compile when I but the -llibrary flag in the back:
g++-7  -fPIC    -I ...   -Llibrary_path    src/test.cpp -llibrary

A solution I found here:
https://stackoverflow.com/questions/50642574/how-can-i-specify-linker-flags-arguments-in-a-build-script
My question: can this be done via the cc::build command? How can I put it in the back?

Fixed it by adding the g++ -z rescan-now flag
 println!("cargo:rustc-link-arg=-z rescan-now");


BD-1023: Addressing compliance problems

Signed-off-by: Manigandan Gopalakrishnan<EMAIL_ADDRESS>

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/5123/ started

https://jenkins.code.rdkcentral.com/job/github-triggered/10317/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/35957/ started.

Smoke tests for ['build-tur-bb'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/90797/


made size() into a computed property

Thank you for your interest in contributing! However these kinds of changes won't be accepted. Refer to Contributing for future reference.


Update README with new MiniTest base class

Minitest 5.0 renamed MiniTest::Unit::TestCase to Minitest::Test.

Thanks, merged.


Issuing credits to James

Issue 30000 credits to @jamesallenevans

 Follow up
On Saturday, 09-Mar-24 19:50:56 UTC by Gov4Git dev
Issued 30000 credits to member @jamesallenevans.


Dashboard Settings: Google Analytics

Feature Description
The overarching work for this can be found here for context: https://github.com/google/web-stories-wp/issues/2747
Set up functionality in dashboard settings to read and update google analytics from wordPress settings API

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
(all of this is behind a feature flag)

[ ] Ability to read google analytics tracking ID from API and show in UI
[ ] If user has permissions ability to update tracking ID from UI
[ ] If user does not have permissions to update input should be disabled
[ ] Connect error handling to toaster
[ ] Unit Tests
[ ] Karma Tests

Implementation Brief

UI is already drafted behind feature flag, just need to add in functionality and state changes for permissions

Figma mentions adding a note to the analytics field if Site Kit is active, but it has no UI yet. Perhaps we should create a follow-up issue and assign it to Sam to track this?

If that is easier to do, absolutely. I think that this (and the publisher logos sister story 3483) are both going to serve as MVPs of the settings page since the more nuanced portions have no UI yet. I left the overarching Settings Page story in the UX needed column to essentially act as a safe guard to capture the outstanding work beyond MVP? I don't want to bog Sam down with tickets that are repetitive.
Thoughts?

Ah, I see, well then it can be tracked in the overarching Settings Page ticket 👍

Some clarity on this for testing:

When the flag is enabled and you are logged in as an admin, you should be able to navigate to settings from the dashboard and update the google analytics id. This Id update should persist when you return to the page.

The feature flag you want to flip to enable this is called enableSettingsView

@BrittanyIRL Curious, are we now doing QA for feature-flagged features too? I thought we do the QA part once the flag is removed

@BrittanyIRL Curious, are we now doing QA for feature-flagged features too? I thought we do the QA part once the flag is removed. Although I like that approach thanks to the new Experiments page, so not sure. Shall we revisit this & make it explicit?

@swissspidy -
Ah that makes sense - just habit to pass it to QA - thanks for calling this out. I think it makes sense to have it go through QA when the feature behind the flag is done as well as when a new flag is introduced to verify that it is showing/hiding properly.
Happy to revisit or do whatever makes the most sense to the team/pipeline.

Follow up ticket to address confusion in how to submit updates here: https://github.com/google/web-stories-wp/issues/3843

reassigning back - will QA when feature flag removed

Moving this to done. Feature work is complete and there's a separate ticket to enable feature flag after QA and UAT:  https://github.com/google/web-stories-wp/issues/4132


Repository needs to be moved to purescript organization.

This repository needs to be moved, anything that needs to be done to do so should end up
here.
/cc @paf31

And please add maintainer rights to me, as I agreed to take that role on twitter.

I really want to get this moved to the purescript org first. Please nudge @paf31 a bit as well. I've wanted to move the repo maybe a year ago but it never happened. This time I mean business ;)

I've sent you both invites to purescript-contrib.

@paf31 I need permission to create a repo, otherwise I cannot transfer this one.

Try now?

Seems to have worked :)


YJDH-461 | KS-Backend: Prevent activating multiple youth applications

Description :sparkles:
Prevent a person with the same social security number from activating
more than one youth application.
Add test test_youth_applications_dual_activate_unexpired_inactive.
Issues :bug:
YJDH-461
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #743 (d52a068) into develop (d83ad5b) will increase coverage by 31.61%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           develop     #743       +/-   ##
============================================
+ Coverage    63.39%   95.00%   +31.61%
============================================
  Files          777      110      -667
  Lines        19491     3867    -15624
  Branches      1883        0     -1883
============================================
- Hits         12357     3674     -8683
+ Misses        6770      193     -6577
+ Partials       364        0      -364

Impacted Files
Coverage Δ

backend/kesaseteli/applications/api/v1/views.py
94.19% <100.00%> (+0.15%)
:arrow_up:

.../applications/tests/test_youth_applications_api.py
100.00% <100.00%> (ø)

...nd/shared/shared/service_bus/service_bus_client.py
33.33% <0.00%> (-57.58%)
:arrow_down:

backend/shared/shared/yrtti/yrtti_client.py
37.50% <0.00%> (-53.13%)
:arrow_down:

...rror-notification/EmploymentsErrorNotification.tsx

backend/benefit/companies/tests/conftest.py

.../benefit/applications/services/ahjo_integration.py

...esaseteli/youth/src/utils/youth-form-data.utils.ts

...ntend/shared/src/components/pages/PageNotFound.tsx

...saseteli/employer/browser-tests/utils/url.utils.ts

... and 661 more

Continue to review full report at Codecov.

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


SSR: Allow matching of whole macro calls

Matching within macro calls is to come later and matching of macro calls within macro calls later still.

bors r+


Link to documentation in Read me document is not working

The link to documentation in the section
https://github.com/microsoft/PowerBI-visuals-tools#how-to-build-a-visual
is not working

bump

Fixed in the new version


Question(Editor): how do you customize Editor to do these things...

Which class is this unit test associated with?
in the editor view, the enter key inserts a paragraph but i want it to change it to insert something else, maybe something like \n
 but im not sure if i can? im aware that using shift+enter will do this, but I want just the enter key to do this.
Also is it possible to change the theme of the codeview? summernote has the possibility of doing this, i just dont know how to do it in bootstrapblazor or if its possible.

i made a project, its not the best code ill admit, but basically it creates a summernote editor, and for some reason it creates it within the editor? i dont know why, but anyway if you delete the code in the first summernote editor by editing it in the code view then switch into editormode, then type, press enter, and just play with it to get the idea of the functionality then you'll see the effect that i want, its basically the same as pressing shift and enter, but at least you can see the code, not sure if that helps.
summernoteEnter.zip

actually I think this one works better, basically it works like this:

when checking text, only check in the same line of text, use newlines to verify
ignore html tags when checking if there is text
if there is text before the cursor and text after the cursor then use one br element
if there is no text after the cursor, but there is text before the cursor then use two br tags
if there is no text after or before the cursor then only use one
 element
put the cursor after the second generated
 element if there is a second one, if not use the first
 element

I used claude.ai to generate the code I'm not gonna lie. still the generated

 are getting in the way and   characters are annoying
summernoteEnter.zip

@celadaris thank you for submit issue.

custom action
So far there is no code or design to provide custom behavior functionality like convert enter to br.

theme
not yet. this can be put on the next milestone

Would it be possible to add that kind of functionality? Because if not, then there is a good chance it won't work for my project getting the spacing right is very important 🙇♂

@celadaris sure. Let's try it

@celadaris To be honest, this issue should be fixed by summernote

@celadaris
add dark theme for editor. does it meet your needs?

it looks good, but i was wondering if there was a chance you could implement a light mode for the code editor itself, kind of like how it appears in:
https://summernote.org/examples/
when you click the code eitor button, it has that white background and black text, with text highlighting the code is green, but a white background with black text is okay if its possible.
and as for switching enter to function as  maybe ill ask summernote, im not too sure what to ask for but ill give it a try.

@celadaris hi. i had bump 9.0.0-beta04 for support onEnter callback.
summernoteEnter.zip
window.BootstrapBlazor.SummerNote.callbacks.push({
    id: 'testEditor',
    onEnter: onEnter
});

this is a new feature for handler summernote callbacks. for now. i only support the onEnter callback. If you need more callbacks, you can submit a PR.

its not so much about the theme choices, while it would be nice to choose different themes im more focused on having the white background and black text when pressing on the code editor button, its available on the default theme in summernote, so i think it can be used in bootstrapblazor maybe?

@celadaris The example on summernote's official website uses the bootstrap3 style. Our component uses bootstrap5 so it looks different. It is also difficult for us to create a separate 3 style for this component. If you really want the style of their official website, I personally suggest you put the style into your own project

ah, gotcha. Thank you


JCL - Validation of JCL by "JCL Submit" with "TYPRUN=SCAN"

Description of the enhancement requested
In addition to our suggestion #173, Z Open Editor could offer a JCL validation function.
For that, Z Open Editor would have to submit the JCL after adding a TYPRUN=SCAN parameter to the JOB card, (or replacing TYPRUN=HOLD if present).
Z Open Editor should wait (in a non-blocking way for VS Code, possibly blocking for the JCL file being edited) the end of the execution of the submitted job, and display the job execution report.
If the submission was carried out by means of a task, see if it would be possible to associate a "problem matcher" with the execution report to raise the anomalies at the level of the source code of the JCL.
That said, the checks performed by TYPRUN=SCAN are very limited and do not guarantee an error-free JCL.
See the interest / cost ratio ...

Hi,
Maybe offer interface with IBM JCL Expert and SSH call mode to USS or using Zowe component for IBM JCL Expert form IBM Z Distribution for Zowe.
Of course, this requires having a license for the IBM JCL Expert product.
https://www.ibm.com/docs/pl/z-jcl-expert/1.1.0?topic=overview
https://docs.zowe.org/stable/web_help/docs/zowe_zjcl-expert.html
https://www.npmjs.com/package/@ibm/jcl-expert-for-zowe-cli
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/domenico-dalterio1/2023/03/03/zjclexpert


The playground debugging tool can be opened, and the Altair-client request always returns 400

Describe the bug
ALTAIR
Seems like something is broken. Please check that the URL is valid, and the server is up and running properly.
Introspection request failed with: 400
To Reproduce
Steps to reproduce the behavior:
Enter the request address, click the button to get the document in the client, and display request 400
Expected behavior
I have compared it several times, and the request address and syntax are correct, but the request always returns this errory
Screenshots

Desktop (please complete the following information):

OS: Mac

Hey @TiAmo126 the error points to a 400 status code, which indicates something wrong with your query. Looking at your screenshot, you have a syntax error in your GraphQL query in line 3. Also the response message also says the same thing.

@imolorhe Sorry, I didn't notice this section when I took the screenshot. Caused to mislead you, I went to reproduce the problem just now, it has nothing to do with the query statement on the left, I was the 400 status code that appeared when the document was reloaded.

@imolorhe I can use the playground to connect to my graphql service, but when I use Altair-client to connect, I get an error 400

Can you send a different screenshot?

@imolorhe I have changed the screenshot of the question again, and the place in the red box is where I clicked. Get the same error

Can you open the developer tools (Cmd + Opt + I) and check the network tab to see what request is being sent? Secondly, can you try sending an actual query request and seeing the response? Finally, can you try opening a new window and trying the same thing?

Thank you for your help. I think it should be related to the back-end framework I am using. I sent two requests that I don’t know about when getting the document

Is it related to the typescript and prisma2 that I use?

Thank you again for your help, I think I found the problem, it should be because the framework I use wraps the statement requesting graphql documents, which is not consistent with the request statement in Altair-client

@TiAmo126 I'm not sure I understand what you mean. Did you manage to fix the issue?

@imolorhe Yes, thanks for your help. I roughly understand where my problem is

Awesome. Going to close this issue then.


Repo with examples

There's a Redux example in the wiki but that's not really a proper place for code as we can't do code reviews, suggest improvements etc. Would it make sense to have a "next-examples" repo similar to the now-examples? Or having an examples folder within this repo? Nextgram could move there too.

We acknowledge that. @rauchg is prepping a repo with examples like nextgram or the auth one

Any reason to prefer a repo over this directory?

@Florian-R maybe for being able to fix things on those examples repos without the need of updating next.js lib

As mentioned all examples are being added to the examples folder which I think is nice.
I just still wonder then why Nextgram is in a separate repo, shouldn't it move to the examples folder too?

@sedubois Nextgram is an example of a more complex app. Same with next-news. Closing this one ❤.


Spatial special web services

NGA-14: Add support for non-admin users to submit new services to add to Voyager

Current coverage is 19.99%

Merging #11 into spatial-special will decrease coverage by -0.01% as of 8d86e2b

@@            spatial-special     #11   diff @@
===============================================
  Files                   104     105     +1
  Stmts                  6599    6611    +12
  Branches                903     903
  Methods                   0       0
===============================================
+ Hit                    1320    1322     +2
  Partial                 111     111
- Missed                 5168    5178    +10

Review entire Coverage Diff as of 8d86e2b

Uncovered Suggestions

+0.30% via ...taskrunner/status.js#256...274
+0.28% via ...r/task-controller.js#27...44
+0.27% via ...r/task-controller.js#177...193
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Pan on hover

Can you help me to make the pan action with simple hover (mousemove) instead of drag (ie pan without clicking)?
Thanks

I'd say this is out of scope.


[TypeSpec CI] Test dev versions of TypeSpec packages

Closing in favor of https://github.com/Azure/azure-rest-api-specs/pull/24194


Allow using the filesystem api by providing a session token

Besides password and username it would be better for security purposes if the fs-api would also work with an irods session token.

This might work well with the irods: protocol (see #10).  Sessions could be registered in a weak-keyed dictionary. One could then do this sort of thing
  fs.open_fs('irods:///tempZone/home/rods/myfile.dat&session=MY_SESSION_KEY')

Not sure if this were the kind of thing you were thinking/planning ?


304 properties as array fix

fixes #304

Coverage increased (+0.01%) to 97.647% when pulling 5c664c0893b7eb0d1b09b70e39695e862cf3c41c on IRCraziestTaxi:304-properties-as-array-fix into 0f0a2980b3db5366b3d50e4d0da422cb7af100c9 on Leonidas-from-XIV:master.


math.atan2 function does not adjust degrees when called

Expected behaviour: calling $.math.atan2(y, x) should return the angle from two points, adjusted for 0 degrees being the top

Current behaviour: result returned is 90 degrees clockwise off what it should be, resulting in unexpected behaviour

quick work around is to wrap the atan2 (yes there is a spelling mistake currently there) in $.math.adjustDegressSoTopIsZero()

This is actually an issue with how our library is forcing degrees to be 0. Atan2 is built around assuming 0 is to the right, while I could then offset it. It'd mean if someone checked the atan2 output it'd always be off by 90 which would look silly.
I may have to remove the atan2 method and instead give the collider or maths a .faceTo method  or a .getFacingAngle method or similar something that lets students achieve the "I want to get the number for this direction from where I am".

I would definitely not rewrite atan2 or hide it, atan2 is a maths function and is used from the x axis. Write your own from the top sure, but don't block actual atan2, it's important for lots of things.

I more meant remove our degree oriented version from maffs.js and instead give colliders a .getFacingAngle method or similar.

Problem has been worked around by adding getAngleToPoint as a method on Entities to achieve the usecase :)


Drafts: Implement ability to rehydrate detached container

Scenario:
OWA / Teams:  user created a message draft (detached container) and moves away, closing browser.
User needs to come back and continue working on draft.
To implement it, Fluid framework needs to provide a way for host to

capture state of detached container at any moment in time (snapshot, saving drafts on a timer)
Allow user to continue editing
rehydrate container from that state later on
repeat 1-3 any number of times.
attach container to storage.

Container representation should be mostly opaque to host (i.e. it's either a string, or jsonable object, likely later is preferred).
Implementation wise, we should heavily rely on snapshots, but ensure that capturing snapshots does not change container state (see # 2 above - we should not assume that capturing snapshot transitions container to attached state - these are two different actions).

Closing with: https://github.com/microsoft/FluidFramework/pull/3572


refactor: updated some deprecated vscode stuff.

Small tidy up to stop using deprecated vscode.workspace.rootPath (plus stylistically bad merge conflict resolution by me for the previous version...).

Needs a rebase, then should be good to go


Fixed the Folder path description

The description used 'direct' instead of the 'directory' in the description

@kromerm
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Use Jupyter notebook for explanation

If there is a Jupyter notebook available for an algorithm, use this library to show it as an explanation for an algorithm.
For performance reasons, the render should be done at build time.

23ef94b9760c22e6f3ab2d76f161b0d391dbaf0c


No visible @interface for 'TFLInterpreter' declares the selector 'copyData:toInputTensorAtIndex:error:'

Hello, I have a little problem with the tensorflow documentation.
I would like to use tensorflow lite with Objective C by following this documentation
URL(s) with the issue:
https://www.tensorflow.org/lite/guide/inference
Description of issue (what needs changing):
Apparently this function is not declared:
[interpreter copyData:inputData toInputTensorAtIndex:0 error:&error];
I got this following error:
No visible @interface for 'TFLInterpreter' declares the selector 'copyData:toInputTensorAtIndex:error:'
Am I missing something, how can I fill a tensor with objective C ?

@yyoon could you take a look?

I think I have it.
We need to apply copyData on a TFLTensor object, not the TFLInterpreter like this:
NSMutableData *inputData;  // Should be initialized
TFLTensor *inputTensor = [interpreter inputTensorAtIndex:0 error:&error];

//Feed data
[inputTensor copyData:inputData error:&error]

Am I correct ?

@Fedour Thanks for reporting! You are correct on that.
Will update the inference guide doc.


Fix undefined memory allocation functions on Mac OSX

Fixes #361, thanks @chenrui333 for reporting.
Edit: In addition to my comment on that issue, I should add that this should have been caught in Travis CI's OSX build - we should probably see if we can get this reproduced in CI to prevent regression.

Coverage remained the same at 99.132% when pulling 95ea0e046662a063d7cdc4d025aa1fe592702aa8 on mac-fix-undefined-memory-allocators into f06072f704126d317ed68cf51c10f0d5314fadeb on master.


Update virtual-network-manage-peering.md

#review

#sign-off

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


Need help for web dashboard

i'm just getting started with mainflux,i have installed it.i thought i will get a web console but i didn't get one . can anyone please give me a suggestion how can i get a web console

dashflux is still not functional and not released. Use at your own risk/knowledge.
Start with official documentation: http://mainflux.readthedocs.io/en/latest/


Radix Sort added in C, C++, Java

Have you read the Contributing Guidelines on Pull Requests?
(Yes)
Description
(WoC)
Checklist

[Y] I've read the contribution guidelines.
[Y] I've checked the issue list before deciding what to submit.
[Y] I've edited the README.md and link to my code.

@HarshCasper can you pls have a look at this request and suggest changes? I will accordingly structure all my future PRs. Thanks!!

I resolved all the suggestions. I will follow all of them from my next PR as well. I will surely make all my future PRs atomic, @HarshCasper Thanks!!

Merge conflicts  to be reolved @YASH01009

I resolved the conflicts @shraddhavp


Namespace cookies to support multiple instances simultaneously

Holy cow, we have a major security issue. It seems as though our cookies are not instance-specific, and therefore if you sign in with your NetID in one instance, it simply stores your user ID in the cookie and switching to another instance will log you in as the user with the same ID, not the same NetID (see screenshot). Granted, since most users don't use multiple instances, this isn't as urgent as it could be, but we should get this patched by the end of the week. Essentially, we need a way to make cookies specific to each subdirectory... I'll look into it.

Here's an example:

looks like we might be able to pass in a path to config.session_store: http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html

Wait a sec, shouldn't this be handled by have different secret_key_base values? I'm going to ask ITS to look into this...

Yup, all of the secrets for all instances were sent to the same values :anguished:. This is being corrected - in the meantime I updated the wiki to be clearer about the fact that these should be instance-specific. I'll close this once we've pushed the new configs to production and verified that the issue has been resolved.

Note that as currently implemented, switching instances ends up logging you out (of Reservations, not of CAS). We could try to namespace cookies with the Rails relative root moving forward so that you stay logged in across all instances but that's not urgent.

Ok, this has been resolved. I'm repurposing this issue to investigate namespacing cookies so we can stay logged in to multiple instances (and retain independent carts) on the same computer. Bumping to v6.1.0.

all of the secrets for all instances were sent to the same values

wow

Yea I totally freaked out when I first identified this issue, it was terrifying.


add SIGINT handler to prevent stack trace spew

fixes #87

So this addresses #87 but not #66, is that right?

I think @dankegel should take a look at this. My only comment is that installing a global signal handler gives me the willies, especially in the presence of multiprocessing (thanks, fabric).

bumped @dankegel

Seems plausible to me.  I trust fabric is used to this.

Meaning, you feel comfortable @dankegel ?

This approach does not play well with fabric's use of multiprocessing. Many processes are spawned and they each receive the interrupt and produce spew.


Does this support classes and not just ID?

Does this support classes and not just ID?

Yes, it support any element. How you retrieve the element is up to you.


Add ability to invite a user to all rooms in the conference space, including spaces

This feature would be useful for ensuring that guest previews work across federation.
eg. for FOSDEM we would want to invite @bot:attendees.fosdem.org to every conference room on fosdem.org

related: #111


Add support for GraphiQL initial tabs

Is your feature request related to a problem? Please describe.
I would like to add example queries and mutations for our project. GraphiQL has support for setting default tabs which is ideal for this use case. Unfortunately I don't see this option exposed in Yoga's options.
Describe the solution you'd like
I would like for defaultTabs to be added to the graphiql options.
Describe alternatives you've considered
I tried to add defaultTabs to the graphiql options when creating the Yoga server and ignore the TS errors, however that didn't work. The option doesn't seem to thread through to the GraphiQL component.

This should be now possible with latest version :-)

@EmrysMyrddin Awesome! I confirmed it working in the latest version. Thank you very much.


🚀 Feature: Improve auth handling in the proxy

🔖 Feature description
The incoming end of the proxy-backend plugin currently allows unauthenticated access. In the new backend system, we have the opportunity to improve this.
🎤 Context
The proxy backend currently adds a blanket auth policy of allow: 'unauthenticated'. This is possibly surprising in a backend ecosystem that wants to be secure by default.
✌ Possible Implementation
Add an auth option on proxy endpoints.
 proxy:
   endpoints:
     '/sentry/api':
       target: https://sentry.io/api/
       allowedMethods: ['GET']
+      auth: require
       headers:
         Authorization: ${SENTRY_TOKEN}

Some ideas for possible values below. Not all are possibly relevant; they're just ideas. Could probably be shortened to just two or three options.

require: Require any type of valid Backstage user or service token. The token is not passed through to the upstream. Ideally made the default in a breaking change.
require-user: Require a Backstage user token specifically where you don't want to allow services to generally call it.  The token is not passed through to the upstream.
passthrough: Require any type of valid Backstage user or service token. The token is forwarded to the upstream.
dangerously-allow-unauthenticated: Like before; ignore incoming auth entirely.

👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Yep makes sense 👍
I'd argue that we might not need require-user? Or do you have a specific use-case in mind?
And yep, require or w/e we call it would be the default.
Regarding naming, passthrough could also be forward.

No, require-user was just because I had a gut feeling that there are some cases where you really want to just drive user flows and aren't interested in "accidentally" letting your entire backend flora make accesses too via some static secret that you happen to have configured. Happy to keep it slim and not introduce anything unnecessary at all for starters.
forward sounds like the batter choice 👍


Include/exclude isochrones with BART affects ferry route options

I'm looking at include/exclude operators and routes, and am finding some interesting behavior regarding BART.
Here's all transit from Oakland during a weekday morning commute hours:

Here's when I exclude BART. It looks like BART is the operator for all the ferries in this area because they disappear from the map. Similarly, if you include only BART, you get some ferry routes.

Perhaps something is strange with the use_ferries value of 0 here, which is an attempt to avoid ferries. (The API default is 0.5) I'm still investigating this, but wanted to get started on an issue somewhere.

@rmglennon can we close this issue now?

Yes, issues were with the service.


Get appstatus.html page working with data

Story
Parent Issue
Finished StreamingDag retrieval of data and populate scope.charts data array for echarts

merged to #952


Fix the link to Compose file in setup

Fix the link in https://github.com/docker/labs/blob/master/developer-tools/java/chapters/ch01-setup.adoc from https://github.com/docker/labs/blob/master/developer-tools/java/scripts/docker-compose-pull-images.yml to https://raw.githubusercontent.com/docker/labs/master/developer-tools/java/scripts/docker-compose-pull-images.yml
#DockerCon

@arun-gupta

Fixed in PR #289

PR merged and the issue can be closed.


Error loading audio file

Hi, I am running recipes/Librispeech/Transformer, I got error loading audio file. while loading train-clean dataset it works fine, but when loaded dev-clean datasets, the error happened, I think this was because the path of the file, but I already cek at the hparams transformers.yaml file the datafolder is : data/Librispeech, and the dev_splits : dev-clean, so I think the path to dev-clean dataset will refer to data/Librispeech/dev-clean, right? but it couldn't load the data like in that picture, do you know what I supposed to do? thank you

Hi!
How did you corrected this error?

Hi, try not using a relative path ;) depending on where your script starts, it will fail.


How to print log in the foreground mode?

Describe the issue:
When I use nnictl command, the log will be showed in the terminal, like this
nnictl create --config config.yml --foreground

But when I use python API to launch a experiment, I cannot print any log about experiment information. I add "print("xxxx")" code in the main.py, but this only is showed in the log file. I only want to print some log in the terminal, how can I achieve this?
Environment:

NNI version: 2.5
Training service (local|remote|pai|aml|etc): local
Client OS:
Server OS (for remote mode only):
Python version: 3.6
PyTorch/TensorFlow version: 1.7.0
Is conda/virtualenv/venv used?:
Is running in Docker?: yes

Configuration:

Experiment config (remember to remove secrets!):
Search space:

Log message:

nnimanager.log:
dispatcher.log:
nnictl stdout and stderr:

How to reproduce it?:

In v2.5 when you create an experiment with Python API, there will be 3+ Python processes running concurrently:

manager process where you run Experiment.run()
your trial code
the tuner

For manager process, printing should just work normally.
For trials, you can only view output with web UI or nnictl. Because they are running in a somewhat sandboxed environment, their outputs are designed to isolate from manager process.
For tuner, we are still thinking about how to integrate it with Python experiment APIs. If you are using your own tuner, please let us know more about your use case.

In v2.5 when you create an experiment with Python API, there will be 3+ Python processes running concurrently:

manager process where you run Experiment.run()
your trial code
the tuner

For manager process, printing should just work normally. For trials, you can only view output with web UI or nnictl. Because they are running in a somewhat sandboxed environment, their outputs are designed to isolate from manager process. For tuner, we are still thinking about how to integrate custom tuners with Python experiment API. If you are using your own tuner, please let us know more about your use case.

Thank you for your reply.

When I launch an experiment with Python API, I just get the output in the terminal as follow.

How can I display the content ins {log_dir}/{experiment_id}/log/nnimanager.log to the terminal?

Yes, I find that whatever I add the print code, the output is written into the log file, instead of display in the terminal.

I just use the builtintuner, sorry cannot to provide some custom tuners case.

Oh so you want logs of NNI manager service?
This feature is expected to be added in next release.
For a quick hack you can add 'foreground': 'true' here.

Oh so you want logs of NNI manager service? This feature is expected to be added in next release. For a quick hack you can add 'foreground': 'true' here.

Thank you! This temporarily solved my problem. Looking forward to the next release.

Closing the issue as the question has been answered, feel free to reopen if you have question with the answer.


time.RFC3339 does not even parse with time.Parse

Version: Latest: go version go1.8.3 darwin/amd64
Also reproducible on Go Playground.
What did you do?
https://play.golang.org/p/QvAVXmVMoR

import (
	"fmt"
	"time"
)

func main() {
	if time.RFC3339 == "2006-01-02T15:04:05Z07:00" {
		fmt.Println("These time.RFC3339 == '2006-01-02T15:04:05Z07:00'")
	}
	t, err := time.Parse(time.RFC3339, "2006-01-02T15:04:05Z07:00")
	if err != nil {
		panic(err)
	}
	fmt.Printf("t: %#v\n", t)
}

Result?
The date should parse correctly, but there is an error:
These time.RFC3339 == '2006-01-02T15:04:05Z07:00'
panic: parsing time "2006-01-02T15:04:05Z07:00": extra text: 07:00

goroutine 1 [running]:
main.main()
	/tmp/sandbox164093353/main.go:14 +0x1e0

Closing as dup of #9346.  Please comment if you disagree.


Cant open ticket detail page from gantt tool

Hello.
cant open ticket detail page from gantt tool.

Hi,
From what I have checked clicking there doesn't do anything, you must click on the ticket ID (that orange part in your example).


Makefile: change default target to include check_assets

The CI has only to execute "make" to run all necessary checks.

@SuperQ friendly ping.

@SuperQ ping again :-)


Sync gui of step-seq demo app with sequencer

Draw function syncs via requestAnimationFrame(). A callback (updateFrame) that has to be overridden by the application does the actual work.


Unit tests

We have to write unit tests for each service and components.

I think we can keep this issue in low priority, let's have a better version of app, basically on the UI part which we are thinking of, localStorage change & showing GPT results word by work would be good.

Yes, I am agree with you this issue is low priority.

Yes, I am agree with you this issue is low priority.

Cool, i am thinking over the chat components, add new chat in the sidebar.
I will see how it can be implemented and start with it.
Let me know if you have thoughts.


Why no model.eval() in test code?

thanks for your code!
but a problem confuse me. why didn't you use feature_encoder.eval() and relation_network.eval() in your test code? it actually has an impact on the results.

Yes, I tried and interestingly I have a better result when not using eval()

@floodsung You need to use eval(), otherwise you won't fix the BachNorm statistics. See this

@floodsung If you do not use eval() in test phase, you will determine the BatchNorm statistics through seeing other query images. This is cheating to some extent, because each query image only see the support images in each episode. Determining the BatchNorm statistic through a big batch of query images will trun few-shot learning task into a many-shot learning task.

@IbsenChan BUT why the degradation happens when using eval()? Theoretically Relation Net should behave better than ProtoNet, i.e. performance over 65% (training protonet with 5-way 5-shot), according to its novel idea of learning a metric in the paper. But with eval() I only get performance no higher than 60%.
Do you have any ideas about the degradation? Is it the problem of implementation or the idea itself?

@tlittletime @Bigwode  @IbsenChan @itongworld I haven't tested the code yet, but I believe that is because the authors wrongly set momentum=1 for all batch norm layers, which makes the BN layers always save the current batch's stats and discard all previous stats. This might be the possible reason why do not use eval will yield better results.

@tlittletime @Bigwode  @IbsenChan @itongworld I haven't tested the code yet, but I believe that is because the authors wrongly set momentum=1 for all batch norm layers, which makes the BN layers always save the current batch's stats and discard all previous stats. This might be the possible reason why do not use eval will yield better results.


Disallow DELETE and UPDATE in many cases without FILTER

This patch errs on the side of disallowing, since it is pretty easy to
workaround.
We allow DML when the source is filtered, comes from a query that is
not a set reference, when it is a FOR iterator, and when it is the set
being inserted in the ELSE clause of INSERT ... ELSE.
(FOR is allowed because the meaning seems to clearly imply applying to
everything ...and because it made the implementation easy.)
Most of the test cases for things we allow are existing ones.
I can follow up with a documentation update if there is agreement on
this one.
Closes #1742.

@elprans Please review

I'm finding the implementation of the rule somewhat fuzzy.  For example this is allowed:
WITH foo := (SELECT User UNION User2) DELETE foo;

But this isn't:
WITH foo := (SELECT User) DELETE foo;

IMO, we should only error on DELETE Foo if Foo is a direct reference to a universal set of Foo, since the intent of this change is to catch cases of unintentional DELETE/UPDATE in a quick REPL scenario rather than in an elaborate query scenario.

That particular case doesn't feel that fuzzy; foo is basically just a direct alias to User. Disallowing DML of direct aliases to types seems potentially helpful and not potentially hurtful, so my inclination is to keep it, though I don't feel strongly.

Disallowing DML of direct aliases to types seems potentially helpful and not potentially hurtful

Well, semantically foo := (SELECT User UNION User2) is also a direct alias, albeit to a union type.  Why is it different?

Well, semantically foo := (SELECT User UNION User2) is also a direct alias, albeit to a union type. Why is it different?

I'd say for exactly that reason, which is that its a union type and not a base type. But I also wouldn't really expect any users to think about it that way instead of as the documented "merge two sets" operation. Moreover, union types I don't think are a concept we talk about in the documentation at all

I'm going to go ahead and suggest the most straightforward and stupid-simple option: always disallow DELETEs and UPDATEs without FILTER.
Cons: will be annoying to the few users who really know what they're doing and writing relatively complex queries with WITH-aliases and subqueries.
Pros: easy to implement; we can start relaxing the rule after 1.0.

I am inclined to agree with @1st1. In an ideal world I prefer a more purist approach and would want the rule to be semantically consistent and rigorous. However, since this is meant to curb an accidental catastrophic [REPL] error, I'm fine supporting a rule that is brain-dead simple and worry about how to refine it later.
As far as invalidating previous (dumped) expressions, well, we can inject the FILTER True clause to all UPDATE and DELETE expressions that lack a FILTER when restoring the dump. Basically, the user has already decided that the expression was OK, so we should just roll with it.

That seems fine with me. It's a little unfortunate for UNLESS CONFLICT but otherwise mostly fine. I went ahead and implemented it, but can make other changes instead if we want.

It's a little unfortunate for UNLESS CONFLICT but otherwise mostly fine.

Can you please clarify?

It's a little unfortunate for UNLESS CONFLICT but otherwise mostly fine.

Can you please clarify?

The set already gets bound to the existing object, but then we still need to add a FILTER, so we end up with
INSERT Person {name := "Emmanuel Villip"} UNLESS CONFLICT
ON .name ELSE (UPDATE Person FILTER true SET { tag := "redo" })

The set already gets bound to the existing object, but then we still need to add a FILTER, so we end up with

That's indeed unfortunate. Can we make one exception from the rule, and allow filter-less UPDATE when they're directly in the rhs of UNLESS CONFLICT?

I have pondered on this issue for a while, and I don't think the syntactic solution is the best approach.
Even if we implement the "is-universal-set" inference, there would still remain a big issue with requiring an explicit FILTER false: it breaks composability.  It is no longer safe to write a query composer that does DELETE $foo, where $foo is determined dynamically, or even DELETE foo(), where foo() is a function that returns some set.  And so, query builders and other pieces of code that construct queries dynamically would be forced to always inject FILTER false, which defeats its purpose to a large extent.
Considering that the original motivation here is to prevent accidental unbound deletion or update, I propose a different solution: report the "unfiltered DML" as a special lint condition (or a warning) in the query descriptor that is returned by the Prepare message.  The REPL can then use the warning to prompt the user to confirm their action, and language bindings can emit the warning into a log, or, optionally, turn it into an error.  The FILTER false would still be a way to avoid the issuance of the warning.  The advantage of such a lint/warning system is that it is generic and can be extended to cover other dubious query situations (e.g. use of volatiles, bad correlation etc).
We've had some discussion about this with the team on Monday and there seems to be agreement that the lint/warning solution is better.  It would also avoid the need for the introduction of backwards-incompatible syntax changes, and so we don't have to rush this in right now.

OK, that seems reasonable. What's the path forward for building that--how much engineering/design effort is it likely to take?
I'm not sure if it exactly makes sense to use for my volatile stuff--or at least, we'd have to be willing to say that if you have volatile warnings then we don't  really give any semantics for what happens with them.

OK, that seems reasonable. What's the path forward for building that--how much engineering/design effort is it likely to take?

We'll need to update the https://github.com/edgedb/edgedb/discussions/1849 document to include a spec for warnings. And settle on how we are going to encode warnings/errors in binary.
We'll then need to decide how exactly we attach warnings to the Prepare response message: every warning would use its own header, or we combine all warnings in one.
As for the implementation, we can approach it in several stages. We don't need the throw syntax day one, we can start with implementing just the exception hierarchy and warnings.
Overall I'd say we can do the entire thing in about a week.

I'm not sure if it exactly makes sense to use for my volatile stuff

I don't think so either, it was just an example of a possible case where the semantics is consistent with the model, but the apparent intent is wrong.

Closing this as we decided to not pursue this idea. Instead we'll implement a warnings system to confirm if the user actually wants to execute a FILTER-less DELETE or UPDATE. Here's an issue for that https://github.com/edgedb/edgedb/issues/3137


help

hi i added the plugin to my server and its not working i would do /plugins and its not on the list

it might be out of date.

Are you getting any error message? Updating the plugin to the latest version can help.

ok thanks


Fix block compaction failed when shutting down

Required to solve https://github.com/grafana/mimir/issues/4564, cherry-picked PR from prometheus https://github.com/prometheus/prometheus/pull/12179

*LeveledCompactor.Compact doesn't handle the context.Canceled errors properly for two reasons:

err is never == context.Canceled: it's wrapped through errors.Wrap() and sometimes wrapped through tsdb_errors.NewMulti(err).
That tsdb_errors.NewMulti(err) is opaque to errors.Is(...) call.

This causes multiple issues:

We mark block compaction as failed, which isn't the case.
We log some extra wrong errors here and there.
Downstream projects extending Prometheus get an error that can't be checked to be errors.Is(err, context.Canceled) so they misinterpret compaction as failed rather than a normal shutdown.

👍 Remember to merge with merge commit.

Cherry-picking creates independent commit already, so this is not a merge of upstream project, and merge-commit was not necessary here.


Improve documentation

Closes #65

@juliasloan25 could you have a look and let me know if I addressed #65?


Precision error when store in numeric column

When I store in a numeric column, the value is wrong:
CREATE TABLE NumericTest(
value NUMERIC)
INSERT INTO NumericTest VALUES(6.3)
When I retrieve data from NumericTest with db.all it gives me 6.300000190734863

Floating point numbers in most programming languages include JavaScript are approximate values IEEE 754; a good article about this is: https://modernweb.com/what-every-javascript-developer-should-know-about-floating-points/

I should probably say; there is two ways to store "exact" numbers.

as a string.  So you store "6.3" rather than 6.3
As a whole number.   630 then you move the decimal point  two over when display it.  But all numbers are handled as whole numbers.


QR Version 33 bit errors

Entry for QR Version 33 bitstream is incorrect generating 3 bit errors. The entry should be hex 216F0 not 216FD.

Thanks.


Development Tasks from Rob

Main page README file comments

[x] Can include a title on this readme file like:

# ESS-DIVE Reporting Format for Soil Respiration

Adding the title will give your landing page for the GitBook a title.

[x] The getting started section: I suggest linking to both instructions.md and metadata_guide.md and reporting_format_guide.md. Could the quickstart_guide.md and instructions.md be combined?  Since the instructions markdown file is concise, it might be OK to just combine these two.

[x] We have been switching recommended citation subheading on all readmes to "related references." Under there you can include the data package citation (that you already have) as well as the citation for your manuscript when you have it.

CONTRIBUTING.md

[x] I've set up some issue templates for your github page, so this file is no longer needed on your Github repo.  Now users are able to visit your issues page, and select one of these issue templates to get them started on creating an issue: https://github.com/ess-dive-community/essdive-soil-respiration/issues/new/choose  I recommend modifying the section 'how to contribute' on your readme file so it links to the templates, and then you can also add in the citation for Darwin Core that you have in contributing.md. You can see the CSV repo to see how they worded this new way to ask for contributions.

methods narrative file

[ ] This is the google doc I sent around in the zoom chat. It shows an example of what Deb was describing for a methods narrative: https://docs.google.com/document/d/1YhOPyt8vlUEwjjp7pE7jGcMFrKyPIttu78VSYJlE1eA/edit. This will not go on the GitHub page, it gets uploaded as part of the metadata when you submit the whole data package to ESS-DIVE.

[ ] Is a crosswalk part of your deliverables? The file "Rs Database Standards" on your google drive seems like a crosswalk to me. If so, some version of that should also go on GitHub.

Readme file that is part of templates folder

[ ] I think visuals like this are super helpful, and other groups are embedding images in their repos like you did. A bit more context for this image and contents of this folder would be helpful in this readme file. Alternatively,  you could move this readme file and the .png of the excel spreadsheet into the 'instructions.md' file just to keep everything a bit more self contained since you link to the templates from that instructions.md file anyways.

instructions.md

[x] Under #1 in the list on this page you say: "Assemble the data table, using the standard [variableNames and variableUnits]."  If I'm understanding this right, it might be clearer to word it something like: "Assemble the data table, using field names and units provided by the data reporting format (then link to data_reporting_format_guide.md). I wasn't sure where to find variableNames and variableUnits.  (basically links to the guides still need to be put in

[x] Under #2, I don't see the methods or instrument metadata templates on github yet, but will you also have examples for these--I think the example you put together for data_reportingformat_template.xlsx is really helpful.
I remember creating a guide for the chamber level metadata should I create a similar one for the sitelevel-metadata? do we want to add sit level metadata now? if so i can send you the template

[ ] Lastly, in the instructions you say that people can use their own variables, and that they should be machine readable.  The ORNL team created what they call a data dictionary where people who create their own variables can define them, provide units etc. You may want to direct readers to that since they provide a template for that.

@bpbond could you work on the last three tasks under instructions.md

@bpbond could you work on the last three tasks under instructions.md

@stephpenn1 I'm confused 😕

do we want to add sit level metadata now? if so i can send you the template

How do I help or what do I do? Is the question whether we want to say to Rob "yes please send us the template for site level metadata"?

You may want to direct readers to that since they provide a template for that.

Do we know where this is?

@stephpenn1 I'm confused 😕

do we want to add sit level metadata now? if so i can send you the template

How do I help or what do I do? Is the question whether we want to say to Rob "yes please send us the template for site level metadata"?

You may want to direct readers to that since they provide a template for that.

Do we know where this is?

@bpbond my question to you is that last sentence: do we want to add site level metadata now? if so i (steph) can send you the template. We can send that to Rob to format and put on github.

no, but i can look for it

@bpbond my question to you is that last sentence: do we want to add site level metadata now? if so i (steph) can send you the template. We can send that to Rob to format and put on github.

no, but i can look for it

Oh, sorry, got it. To question: NO  😆   That's my vote anyway!
To second, ok, thanks. I didn't see anything obvious in the ess-dive-community org repos.

Oh, sorry, got it. To question: NO  😆   That's my vote anyway!
To second, ok, thanks. I didn't see anything obvious in the ess-dive-community org repos.

Lmk if I can do anything else k

Lmk if I can do anything else k

Alright. I'll check on the data dictionary. Do we have a crosswalk, and if we do can you upload it in some form?

Alright. I'll check on the data dictionary. Do we have a crosswalk, and if we do can you upload it in some form?

What we have is the COSORE crosswalk that @dschristianson put together. Hi Danielle, do you have link to that Google Sheet handy? Thanks.

What we have is the COSORE crosswalk that @dschristianson put together. Hi Danielle, do you have link to that Google Sheet handy? Thanks.

Hi! We are not ready to make the crosswalk publicly available as our standard is not finalized. Happy to share with Rob internally. LMK.

Hi! We are not ready to make the crosswalk publicly available as our standard is not finalized. Happy to share with Rob internally. LMK.

@robcrystalornelas where is this "data dictionary" you mentioned in the last task? We are having a hard time trying to find it

@robcrystalornelas where is this "data dictionary" you mentioned in the last task? We are having a hard time trying to find it

Here's a link to the data dictionary that the ORNL team created. They also provide a template for the dictionary: https://github.com/ess-dive-community/essdive-file-level-metadata/tree/master/CSV_dd

Here's a link to the data dictionary that the ORNL team created. They also provide a template for the dictionary: https://github.com/ess-dive-community/essdive-file-level-metadata/tree/master/CSV_dd

Thanks @robcrystalornelas! @bpbond could you add a sentence in instructions.md about the data directory based on the description in the task and link to it (https://github.com/ess-dive-community/essdive-file-level-metadata/tree/master/CSV_dd)

Thanks @robcrystalornelas! @bpbond could you add a sentence in instructions.md about the data directory based on the description in the task and link to it (https://github.com/ess-dive-community/essdive-file-level-metadata/tree/master/CSV_dd)

Data dictionary link added in this commit. Thanks everyone for your feedback and work. Closing this issue now as everything on the list has been incorporated / addressed.

Thanks SP! Sorry I dropped your request above.

Thanks for the update Stephanie!
Rob
On Mon, Feb 8, 2021 at 8:42 AM Ben Bond-Lamberty<EMAIL_ADDRESS>wrote:

Thanks SP! Sorry I dropped your request above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ess-dive-community/essdive-soil-respiration/issues/1#issuecomment-775278887,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADTX7SI6G56WKTX5OHSJ55LS6AH7ZANCNFSM4WI77WOQ
.

--
Rob Crystal-Ornelas, PhD
Postdoctoral Scholar
Lawrence Berkeley National Lab | ESS-DIVE
Pronouns: he/him/his