Unnecessary INNER JOIN When Preloading in a Many to Many with join_through

Environment

Elixir version (elixir -v):

Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
Elixir 1.11.1 (compiled with Erlang/OTP 21
)

Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.):  PostgreSQL 12.4
Ecto version (mix deps): 3.5.3
Database adapter and version (mix deps): postgrex 0.15.7 with Ecto.Adapters.Postgres
Operating system: Linux [HOSTNAME] 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Current behavior
Hi everyone! I believe there is an inner join in the generated SQL for preloading many to many relationships. The setup is that I have a products table with a many to many association to a traits table. The join table is called products_traits. I've defined the schemas as follows
  schema "products" do
    ...

    many_to_many :traits, Trait, join_through: "products_traits"

    timestamps()
  end

  schema "traits" do
    field :name, :string

    many_to_many :products, UniqueShop.Shop.Product, join_through: "products_traits"
  end

Selecting products and preloading traits generates the following SQL.
from(p in Product) |> limit(10) |> preload(:traits) |> Repo.all
[debug] QUERY OK source="products" db=1.7ms queue=1.9ms idle=982.7ms
SELECT p0."id", p0."inserted_at", p0."updated_at" FROM "products" AS p0 LIMIT 10 []
[debug] QUERY OK source="traits" db=1.2ms queue=1.1ms idle=994.5ms
SELECT t0."id", t0."name", p1."id" FROM "traits" AS t0 INNER JOIN "products" AS p1 ON p1."id" = ANY($1) INNER JOIN "products_traits" AS p2 ON p2."product_id" = p1."id" WHERE (p2."trait_id" = t0."id") ORDER BY p1."id" [[12, 11, 10, 9, 8, 7, 6, 5, 3, 2]]

The preloading query is first inner joining on products using p1.id=ANY(list_of_ids) then joining on products_traits. The same thing is happening when going from traits to products:
[debug] QUERY OK source="products" db=1.3ms queue=1.2ms idle=1401.5ms
SELECT p0."id", p0."title", p0."handle", p0."long_description", p0."page_visits", p0."price_cents", p0."short_description", p0."labels", p0."inserted_at", p0."updated_at", t1."id" FROM "products" AS p0 INNER JOIN "traits" AS t1 ON t1."id" = ANY($1) INNER JOIN "products_traits" AS p2 ON p2."trait_id" = t1."id" WHERE (p2."product_id" = p0."id") ORDER BY t1."id" [[2]]

Expected behavior
I would expect the following query to be both equivalent and more efficient since it involves 1 less join and thus less index lookups and IO. Since we only require the primary key of the product to we should only need to join from the associated table to the join table.
SELECT t0."id", t0."name", p1."product_id" FROM "traits" AS t0
INNER JOIN "products_traits" as p1 ON p1."trait_id" = t0."id"
WHERE p1."product_id" = ANY($1) ORDER BY p1."product_id" [[12, 11, 10, 9, 8, 7, 6, 5, 3, 2]]

When using the join table pattern in other frameworks / projects I typically create a unique index on my join table on [:product_id, :trait_id] and an index on [:trait_id] so that joining from either side can efficiently use the index.
Let me know if there's any reason that I'm missing for why the current behavior should be kept. I'd be happy to submit a PR for this!

I'll also note that the current behavior is necessary if the join table is not joined using the primary key of the source table. In other words any solution would need to reflect on the join_keys options and check whether the source table is joined using :id.

I'll also note that the current behavior is necessary if the join table is not joined using the primary key of the source table.

We also need to guarantee there is a full match on the unique index, otherwise we may return entries that no longer have an associated product because the product has been removed? Remember preloads may happen at any moment after the data is loaded and this change could open up spaces for inconsistencies. Thoughts?

Actually, my argument above is wrong. We don't do the check above for other associations, so we shouldn't do it here either. Therefore, I think we can go ahead with this and skip the original table if the join key is the primary key of the source table. PR is welcome. Note the PR should apply to the Ecto repo though and not this one!

Thanks @josevalim. I will work on a PR over the next few days.


Table deletes items under your cursor when you uncraft if your inventory is full and also deletes items if you quick move an item into the table when it's part of the result of something already in there

Thanks for your reporting


Aswathy/Hyperlink learn more

Changes:

...

Type of change

[ ] Bug fix
[ ] New feature
[ ] Update feature
[ ] Refactor code
[ ] Translation to code
[ ] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

Closing this PR as another PR is created for the same.Please refer [https://github.com/binary-com/deriv-com/pull/5170]

Closing this PR as another PR is created for the same.Please refer [https://github.com/binary-com/deriv-com/pull/5170]


Plugin Installation is borked

Cookbook version
4.0.1
Chef-client version
12.13.37
Platform Details
jenkins-plugin-install-ubuntu-1404
Scenario:
jenkins_plugin 'github-oauth' do
  version '0.21.1'
  install_deps true
  notifies :restart, 'service[jenkins]', :immediately
end

should install github-api 1.67 but it does install updatecenter latest (https://github.com/jenkinsci/github-oauth-plugin/blob/e804d0b7d454b066ba016561fe7a1ca3804771dd/pom.xml#L82)
Steps to Reproduce:
include_recipe 'java::default'
include_recipe 'jenkins::master'

jenkins_plugin 'github-oauth' do
  version '0.21.1'
  install_deps true
  notifies :restart, 'service[jenkins]', :immediately
end

Expected Result:
plugin github-api 1.67 ist installed
Actual Result:
plugin version from update center is installed (at the time of writing 1.69

this definitely includes #527 and #528 were there is more to it. dependencies should be honoured depending on the actual manifest of the plugin you want to install. and latest is definitely not the best strategy for 'least surprise'

But this is a >= dependency, isn't it? Don't you agree that it should always install the newest dependencies? Otherwise we probably end up with many conflicts, if the exactly specified version is installed by the plugin.
Nevertheless, I'm also sitting here and debugging the same issues..

What I especially see is that at this place, the 'MANIFEST.MF' never exists in the extracted, but only the .jpi files. I'm just digging into, if we could just read the file from the zipped .jpi.

@StephenKing I'll push a WIP MR for discussion which does this. But I'm super unsure if we are on the right track with that.
what I found is that a lot of people struggle with the automation of a consistent jenkins install.

https://groups.google.com/forum/m/#!topic/jenkinsci-issues/m_3ZQxGl89Y
https://issues.jenkins-ci.org/browse/JENKINS-31094

especially this one looks interesting:

https://issues.jenkins-ci.org/browse/JENKINS-31094?focusedCommentId=266134&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-266134

which leads to a completely different way of doing it (not the current jenkins-cli plungin-install

@ehaselwanter I admit that I didn't read all of this, but while it sounds nice, I think that's nothing that can help us immediately. Certainly, it will better fit with our way of thinking.
I tried to track down the issue mentioned above a bit (METADATA.MF is not available). It didn't lead me to correctly installed dependencies, yet, but I guess, we need to fix that we read correct dependencies also before the plugin is deployed (extracted) by Jenkins). The WIP can be found here: https://github.com/StephenKing/chef-cookbook-jenkins/tree/read-metadata-from-jpi

I think I made good progress. Now, plugin installation checks versions of currently installed plugins and upgrades them if needed.
I only end up with one single issue, with the log output here. It seems as Jenkins or the cookbook isn't aware that there is a version 2.5 of the plugin.

my WIP is here: https://github.com/infralovers/jenkins/tree/GH-534
especially: https://github.com/infralovers/jenkins/commit/5eaaa1a612781d774ff1d20a1cbddcfba4925efe
which is a super ugly but working implementation.
I basically reversed the plugin install. read the new plugin MANIFEST.MF and install the exact version of the mentioned plugins, since I think it is not safe to just pull in the latest from update-center

I think the main thing to do right now is to define the install strategy(ies) we want to have.
My fallback for now will be to install jenkins to get a list of plugin + version and put that list with a no-deps install in a wrapper cookbook. still I would love to get a update strategy working.

I think that's pretty close to what I've done.

How to proceed?

@ehaselwanter do you happen to be at Chef Summit in Seattle this week?

no. I've been to ChefConf and Chef Summit London.

Ahh ok. Was curious to see if we could meet up in person to chat about this. It's cool, I'll take a look and update either this week or next week. Thanks so much!

Hey - Just wanted to check in and see if there were any plans in this issue or elsewhere to do more "holistic" plugin management. Specifically, right now the resource assumes you pass it a single plugin name and optionally a version, etc. From my own usage, looping over a not-trivial set of plugins we want and choosing to install dependencies, it seems to pick older versions of dependent plugins and use those. So if two plugins I want to install mark the same dependency with different versions, it will be a "last one installed wins" situation which may not satisfy the version constraints of both. In effect I've had to manually list out all the plugin dependencies and add them to my set and turn off installing dependencies to get around it. Not to mention installing multiple versions of the same plugin wastes time and bandwidth since only one will "win".
Can a batch "plugins" resource be used where you pass along the full set of plugins and versions and then it effectively attempts to resolve the minimal set of dependencies that satisfy all the criteria, opting for the dependency versions that will match? (perhaps even pass in a strategy value whereby you choose to take the minimum version of a dependency that satisfies all requirements, or the latest version)

Both, @ehaselwanter's and my suggestions fix that (without offering a batch functionality). I'd also be happy to see a progress here.

@sgtcoolguy for now I ended up with:

install jenkins and the plugins you want to have somewhere. let jenkins do the dependency resolution
get the list of plugin + version
put that list with a no-deps plugin_install in a wrapper cookbook.

this gives you a consistent install of jenkins + plugins.
the downside is the manual first step + the somewhat hidden way to get 'old' plugins working. this is due to the fact that jenkins itself has no native way (dashboard) to select non-latest versions. to counter that you can (once again a semi manual way) install plugin+version top level deps with the patched way we propose here and then get the list plugin:version for the wrapper cookbook.

How can we proceed here? I would say that both @ehaselwanter's and my patches solve a couple of annoying issues (falsely calculated dependencies, incredible slow installation). Without that, the cookbook is not usable for me.

Hey folks, one of the other chef cookbook engineers may be able to jump in here for now, but I'm on maternity leave until mid-Januaryish so I won't be working on this until then. Thanks for understanding!

Have a good time, @iennae!

@iennae have a good time :-)
@StephenKing I would really like to see a 'final' solution here too. I'm just not sure if we should go for the manage dependencies in chef route. from my stand point: the jenkins plugin install is not really designed for a point in version dependency installation. and the only thing working to be consistent with this is to reach a sort of .lock file or information. like with berks/gem ...
and that is exactly what I'm doing right now: I do a whatever automated/manual installation of jenkins. get it to a know to work state and export the plugin 'name:version' list. this gives me the sort of lock file-ish approach were I'm able to bump my jenkins wrapper cookbook to a new version.
the inspection of manifest files and bootstrap a fresh jenkins to get to a new starting point for the scenario above could indeed be improved with our ideas about patching the current plugin install algorithm.
what do you think?

I'm just running into this and working through this at the moment.   I've read this thread, but admittedly, not all the back up links, so maybe this has already been addressed.
If there is a way to let Jenkins handle the dependencies?  Jenkins obviously knows how to resolve plug-in dependencies when installing through the GUI, so maybe there is a way to leverage that.
That would seem ideal, rather than having any cookbook resolve dependencies (lock file or otherwise), so that we're only specifying what we care about.
I CARE about plug-in 'XYZ' - ver 1.2.3.  The fact that it needs ABC- 0.1.5 & DEF -2.1.1 is irrelevant, let Jenkins handle that.  And later when I add QRS - 1.0.0 which needs DEF - 2.1.0, it won't be downgraded and will be satisfied with the DEF already installed.
my $.02

the problem with that is that jenkins does a kind of >= to the dependencies. and not = so consider a workflow test -> staging -> prod with the same top level pinning. if you let jenkins doing the dependency resolution it fetches the newest possible.
I got burned by that behaviour with some plugins. especially in the pipeline area, which have a lot of updates.

@ehaselwanter while pinning each and every version of a plugin is definitely a good idea, I would still expect the cookbook to correctly handle dependency resolution (@chazzly Jenkins does not handle dependencies when installing plugins via the API).
To further proceed, I think it would be good to have feedback from the maintainers (ping @tas50 ?) regarding the points in which @ehaselwanter and my WIP suggestions differ.

We need to unzip the .jpi file. Would it be preferred to install the ark cookbook as dependency, or chef_gem rubyzip in the master recipe?

To be able to update my own cookbook, I gave @ehaselwanter's approach a try (to explicitly list all plugins and their versions, see this code here).
As expected, it dramatically speeds up provisioning (by 20min in my case, build no 8 vs 11).
The same would be possible by fixing the cookbook's plugin resolution.

@StephenKing Nice— I wound up doing the same thing, but I left off the versions and let the metadata choose the most recent plugin versions.

What's the status on this bug? I was trying to debug some broken plugins on a fresh Jenkins installation, and this bug ended up being the cause.  I would really prefer not to have to specify an exact version of all of my plugins in order to guarantee that they all work.

It would be great if this got fixed.

You can use this as a workaround if you only need the latest plugins. I saw someone mention somewhere that installing via the CLI does not install deps, but empirically this does not seem to be the case, i.e deps are installed.
remote_file '/tmp/jenkins-cli.jar' do
  source 'http://<IP_ADDRESS>:8080/jnlpJars/jenkins-cli.jar'
  mode '0755'
end

plugins.each do |plugin|
  execute "Install #{plugin}" do
    live_stream true
    command "java -jar /tmp/jenkins-cli.jar -s http://<IP_ADDRESS>:8080 install-plugin #{plugin}"
    not_if "java -jar /tmp/jenkins-cli.jar -s http://<IP_ADDRESS>:8080 list-plugins | grep #{plugin}"
  end
end

There is now https://github.com/jenkinsci/plugin-installation-manager-tool


It would be nice if sort by tests is made as optional before generating the html report

I don't want the tests to be sorted by name before generating a report. Is it possible to do sort only if provided by flag?
I see that the tests are sorted here
https://github.com/vakenbolt/go-test-report/blob/master/main.go#L421

Implemented --no-sort as a part of:

https://github.com/vakenbolt/go-test-report/pull/63

Actually the tests still need to be sorted, but by their input order instead of by package name.
Otherwise they would be displayed in a random order, since they are kept in a map structure...


"Confounding Example: Finding causal effects from observed data" replication failing (DoWhy 0.7 installed from conda-forge)

Dear @amit-sharma,
Thank you very much for DoWhy and all your contributions to the research community on causal inference!
I installed DoWhy 0.7 from conda-forge this morning, and have been facing some problems in replicating the results in the documentation. I would very much appreciate it if you could throw some light.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import math
import dowhy
from dowhy import CausalModel
import dowhy.datasets, dowhy.plotter
then followed by
rvar = 1 if np.random.uniform() >0.5 else 0
data_dict = dowhy.datasets.xy_dataset(10000, effect=rvar, sd_error=0.2)
df = data_dict['df']
print(df[["Treatment", "Outcome", "w0"]])
and
dowhy.plotter.plot_treatment_outcome(df[data_dict["treatment_name"]], df[data_dict["outcome_name"]], df[data_dict["time_val"]])
So far, so good.
However, the causal graph that is generated with the following syntax (again copied from the documentation) is missing the unknown confounders, and identification is failing consequently.
model= CausalModel(
data=df,
treatment=data_dict["treatment_name"],
outcome=data_dict["outcome_name"],
common_causes=data_dict["common_causes_names"],
instruments=data_dict["instrument_names"])
model.view_model(layout="dot")
Could you please help me to figure out the problem? Thank you very much!
I am having similar problem with the identification failing on another dataset, which had earlier been reported by another user as well. I have attached the notebook if you would like to take a look. I greatly appreciate the help.
Causal_Analysis_Do_Why.zip

Are you referring to this notebook on confounding variable example?
There is no unobserved confounder in this example. Do you get the same graph as shown in this notebook?
I also had a look at your attached notebook. In your graph, there is an unobserved confounder U that directly causes both treatment (high limit) and outcome (churn). Theoretically, there is no backdoor estimand that can deconfound the causal estimate, that's why you are not obtaining the identification result.

Dear Amit,
Thank you very much for taking the time to get back to me!
I was referring to the notebook here (
https://microsoft.github.io/dowhy/dowhy_confounder_example.html) which is
fundamentally the same as this notebook
https://microsoft.github.io/dowhy/example_notebooks/dowhy_confounder_example.html
that
you have mentioned.
I am getting the graph below, which is the expected graph according to this
link
https://microsoft.github.io/dowhy/example_notebooks/dowhy_confounder_example.html
[image: image.png]
But, the graph shown in the link
https://microsoft.github.io/dowhy/dowhy_confounder_example.html here is
generating a different graph (as shown in the page) with the unobserved
confounders and I am not sure from where they are being generated since the
framing of the causal model seems to be exactly the same in both the links
and there is no reference to the unobserved confounders.
[image: image.png]
I will carefully read the code in the other email that you have sent me.
Once again, thank you so much for the great work!
On Sat, Mar 12, 2022 at 10:16 PM Amit Sharma @.***>
wrote:

Are you referring to this notebook
https://microsoft.github.io/dowhy/example_notebooks/dowhy_confounder_example.html
on confounding variable example?
There is no unobserved confounder in this example. Do you get the same
graph as shown in this notebook?
I also had a look at your attached notebook. In your graph, there is an
unobserved confounder U that directly causes both treatment (high limit)
and outcome (churn). Theoretically, there is no backdoor estimand that can
deconfound the causal estimate, that's why you are not obtaining the
identification result.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/dowhy/issues/396#issuecomment-1066012855,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJLVQH6ZQ42G4FGRZRHVXPDU7VMZHANCNFSM5QSHYOPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>


Error: Module not found: Error: Can't resolve '@babel/runtime/helpers/builtin/extends'

Module not found: Error: Can't resolve '@babel/runtime/helpers/builtin/extends'
Support required. Thanks.

@jaganaath Please create a codesandbox example with a reproduction of your issue.

@jaganaath I ran yarn install instead of npm, it worked for me

I have just done a fresh install npm i --save react-big-calendar and received this error.

@karltaylor v20 removed that API thats why it doesn't exist, check the getting started docs for the new setup

@jquense Quite a big change no? Does this repo not use semver?


Issue for connecting the addon on Pterodactyl panel

Describe the bug
Hello, i tried many configuration with pterodactyl to make this addon work, i've ports opened on both proxy and spigot but it didn't want to connect. I tried all IP, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS> and the IP of my VPS.
Has you advises on how you can connect ?
I'm on bungeecord/waterfall and paper, tried with latest (0.8.0)
I can send you screenshots of differents configurations if you need.

Could you turn on debug mode on the Spigot, send me the output and also your plugin config for both the Bungeecord and Spigot?
I have had issues with Pterodactyl in the past, so hopefully I can find out what causes this!

Just wanna check - guessing you are running Pterodactyl yourself and know how to configure it?
What addresses have you configured for the Spigot servers in the Bungeecord config?

Yes i installed it myself on my vps, i have full access on it.
Spigot :
[ClientListenerManager/INFO]: [ZulfBungee] Thread has arrived: ClientListenerManager
[DataIn/INFO]: [ZulfBungee] Thread has arrived: DataIn
[ClientConnection/INFO]: [ZulfBungee] Thread has arrived: ClientConnection
[DataOut/INFO]: [ZulfBungee] Thread has arrived: DataOut
[ClientListenerManager/WARN]: [ZulfBungee] Connection lost with proxy, attempting to connect every 2 seconds...
[ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Invalid argument (connect failed)
[ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Invalid argument (connect failed)
[ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Invalid argument (connect failed)
[ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Invalid argument (connect failed)
Also got this on another try :
[21:17:50] [ClientConnection/INFO]: [ZulfBungee] Thread has arrived: ClientConnection
[21:17:50] [DataIn/INFO]: [ZulfBungee] Thread has arrived: DataIn
[21:17:50] [DataOut/INFO]: [ZulfBungee] Thread has arrived: DataOut
[21:17:50] [ClientListenerManager/WARN]: [ZulfBungee] Connection lost with proxy, attempting to connect every 2 seconds...
[21:17:52] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:17:54] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:17:56] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:17:58] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:18:00] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:18:02] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[21:18:04] [ClientListenerManager/INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
Currently i don't have any firewall turned on iirc.
bungee_config.txt
spigot_config.txt

Do you mind showing me your Pterodactyl allocations?
https://pterodactyl.io/community/games/minecraft.html
I think that might have something to do with it. What

Depending what distro you use, also make sure your firewall is configured using the guide I linked just in case a firewall is automatically in place :)

If you use ufw, try this:
ufw allow in on pterodactyl0 to <IP_ADDRESS> port 25500 proto tcp
ufw allow in on pterodactyl0 to <IP_ADDRESS> port 25570 proto tcp

If you need further help with this, I could do a Discord call to help you configure if it still doesnt work.

I dont have ufw on my vps, but iptables with this settings : https://pastebin.com/pesQ5x1p
Concerning this : https://pterodactyl.io/community/games/minecraft.html it's what i followed, so my allocations looks like that :

And on the spigot :

On bungee config.yml, i have my spigot setuped this way :

On your spigot server's server.properties, what do you have as the address in there? Just wanna get an idea of what goes where basically.

On spigot server's server.properties, it is set to <IP_ADDRESS>, and server port is the primary in allocations tab so 25566.

Can you try these configs?
bungee_config.txt
spigot_config.txt

These ones print me this on the spigot :
[16:33:42 INFO]: [ZulfBungee] Thread has arrived: ClientListenerManager
[16:33:42 INFO]: [Skript] Loading variables...
[16:33:42 INFO]: [Skript] Loaded 81 variables in 0.0 seconds
[16:33:42 INFO]: [Skript] All scripts loaded without errors.
[16:33:42 WARN]: [Skript] No scripts were found, maybe you should write some ;) (config.sk, line 188: databases:')
[16:33:42 INFO]: [Skript] Finished loading.
[16:33:42 INFO]: [ZulfBungee] Thread has arrived: ClientConnection
[16:33:42 INFO]: [ZulfBungee] Thread has arrived: DataIn
[16:33:42 INFO]: [ZulfBungee] Thread has arrived: DataOut
[16:33:42 WARN]: [ZulfBungee] Connection lost with proxy, attempting to connect every 2 seconds...
[16:33:44 INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[16:33:46 INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)
[16:33:48 INFO]: [ZulfBungee] Error while creating socket: java.net.ConnectException: Connection refused (Connection refused)

That's really odd... my only suggestion at this point is to try different combinations.
<IP_ADDRESS> always used to work with Pterodactyl for me, but I believe those ports were open to the Internet, so not sure.

Okay so with your config file, I tried to replace server-host with <IP_ADDRESS>, and it lead me to that :
Spigot side :

Bungeecord side :

Awesome! This means that it appears that at least they can talk to eachother.

Is your Bungeecord server still defined like this with the same address? If it is, just disable port whitelisting and the plugin should work!

On bungeecord's config.yml, it's like this :

But the port whitelisting is already disabled :

On bungeecord's config.yml, it's like this :

Try replacing <IP_ADDRESS> with <IP_ADDRESS>

Well I can't replace this line, every time i start the bungee, it's automaticly replaced with <IP_ADDRESS> (probably due to the way that ptero/docker works).

Oh okay. I'm gonna release an update soon which hopefully allows Pterodactyl to work, thanks for providing info :)

Okay, I'm gonna wait it with impatience, I hope it will work. If not, I will probably have to think about removing pterodactyl panel I guess

Hi! Have just released an experimental build which might fix the issue.
https://github.com/Zulfen/ZulfBungee/releases/download/v0.8.2-TEST/ZulfBungee.jar
Tell me if it works!

Seems good, but the port whitelist doesn't works if turned on. On proxy i got this :
https://pastebin.com/4hVYt4uk

And the test.sk skript seems to not really work :

What does the Spigot's console look like with debug mode on?

I'm just gonna remove the security system I think - it's been causing loads of problems and I only understand now that it's not needed. Will release a new update very soon to hopefully fix it

I'm hoping this works - done a couple of fixes:
https://github.com/Zulfen/ZulfBungee/releases/download/v0.8.2-TEST/ZulfBungee.jar

Everything seems good, thanks alot !
I only noticed one thing :

Idk if this line doesn't works or not, but I tried to add that but doesn't change alot of thing :

One more thing, has you tested your addon on a network with dozens of peoples ? Or is there a limit where it can start to be a little lagguy ?

I also maybe have a little improvement for global scripts, its a really good feature, but it can be nice to send them into a folder in Skript/scripts like we can have our scripts on each server on Skript/scripts/ZulfBungee/* and our skripts we only want in a specific server on Skript/scripts/*
Idk if you wanted me to add this on a new issue or not, so let me know :)

And one little little more thing, it seems that it sometimes "connect" 2 times the server, so that means it reload 2 times all the scripts :

It could lead to 2x more time to reload all the global scripts (this is a bug i guess).

Thanks for the suggestion, glad to hear everything is working! :D

Everything seems good, thanks alot ! I only noticed one thing :  Idk if this line doesn't works or not, but I tried to add that but doesn't change alot of thing :

It should be event-text instead of event-string. My bad - think I put the wrong thing on SkriptHub!

One more thing, has you tested your addon on a network with dozens of peoples ? Or is there a limit where it can start to be a little lagguy ?

Not really sure performance wise - I know network variables can get a little slow, but planning on adding some new syntax to get around a limitation.

I also maybe have a little improvement for global scripts, its a really good feature, but it can be nice to send them into a folder in Skript/scripts like we can have our scripts on each server on Skript/scripts/ZulfBungee/* and our skripts we only want in a specific server on Skript/scripts/*
Idk if you wanted me to add this on a new issue or not, so let me know :)

Good suggestion, will definitely consider this!


[4979] Add funding rules for 2023/24

Context
https://trello.com/c/lRyQNdvc/4979-m-update-register-for-23-24-funding-rules
Changes proposed in this pull request

Adds the funding rules for 2023/24 in line with this spreadsheet
Data migration to seed environments with new values

Guidance to review

Create a trainee in the next academic cycle by setting the itt start date correctly (eg 11/9/2023)
Assert the correct funding information is shown for relevant route (after completing course details)

Notes
Language specific funding will be handled via copy in the UI, we're treating these under the general Modern Languages allocation subject to simplify things

 [M] Update Register for 23/24 funding rules

@carlosmartinez
we do indeedy - think it's both these tickets:
https://trello.com/c/TDeRAXWs/1302-update-funding-ui-page-for-2023-2024
https://trello.com/c/vldxYAhS/1317-funding-23-24-update-course-picker-ui-to-account-for-language-scholarships - this one I just wrote as it looks like Ed and John finished the design work and merged to prototype, but didn't write the ticket. Because of my limited time at the moment, it's not the best ticket ever, but hopefully the PR attached for the prototype will be enough to help with this when picked up by devs.

Looks good David! I used Sau's PR to test this at his advice.
I found a bug when testing this PR. I don't think it's the result of this ticket, it's just when we're changing the ITT start dates on a trainee who started in 2022-2023, to an ITT start date in 2023-2024, we don't seem to be resetting the start_academic_cycle_id properly, which means the trainee card on the draft trainees or registered trainees page shows incorrectly, but also the funding questions and content we show is incorrect.
Bug ticket written up here: https://trello.com/c/6MDc75VS/5592-when-a-trainees-itt-start-date-is-changed-its-not-resetting-the-start-academic-year-this-means-that-the-questions-we-ask-them-fo
Maybe a good ticket to go through for your triage idea @carlosmartinez ?


ReEmphasize Align Cicero Server API with Cicero CLI #508

Feature Request 🛍
Martin started this request over a year ago and it is still open. Martin did some work and endpoints for; draft, parse and trigger. The CLI has numerous options for validation, deploying contracts etc. The CLI is not very useful in developing applications but having and API to work with contracts would be a huge benefit
Use Case
A developer could set up the server and use it as a service within their main application
Possible Solution
Set up a full Documented API for Cicero, Concerto and Markdown Transform
Context
I am developing an application on the JVM - the javascript API does not fit well with my platform -- I could use serverless functions but it would be much nicer to simply be able to call and API to do things like parse or draft contracts. A Full rest API with nice Swagger style documentation would be awesome
Detailed Description

Hi @tbrooke, This is still ongoing work for us and we have added some additional methods to align the API with the CLI. We can discuss on the next Tech WG call if you like? Watch this space.


Should security group rules implicitly allow inbound from self?

This follows up on #13.
The pattern from the Vault cluster module which that PR emulates adds an implicit "inbound from self" block, which allows for Vault request forwarding within the Vault security group:
https://github.com/hashicorp/terraform-aws-vault/blob/8d093d05c0a0d6c8861eea79c054cb7274628dc6/modules/vault-security-group-rules/main.tf#L27
I believe something similar is necessary for the security group rules in this module, in order to make sure the Consul instances can talk to each other.
If I try to allow inbound traffic just from our intended clients (a Vault cluster), the Consul cluster never selects a leader (probably because the instances cannot talk to each other).
A workaround fix is to add another instance of the security rules module explicitly:
module "consul_cluster" {
  source = "github.com/hashicorp/terraform-aws-consul//modules/consul-cluster?ref=v0.1.0"
  allowed_inbound_security_group_ids = ["${module.vault_cluster.security_group_id}"]
  allowed_inbound_cidr_blocks = []
  <snip>
}

module "consul_self_access_sg_rules" {
  source = "github.com/hashicorp/terraform-aws-consul//modules/consul-security-group-rules?ref=v0.1.0"
  security_group_id = "${module.consul_cluster.security_group_id}"
  allowed_inbound_cidr_blocks = []
  allowed_inbound_security_group_ids = ["${module.consul_cluster.security_group_id}"]
}

It's likely that not all the different inbound security rules need to be applied for intra-cluster communication - just the protocols actually used for chatter between instances.

Ah, that's a good point. Our cluster works without this because we typically configure allowed_inbound_cidr_blocks to allow inbound connections from all IPs within the same set of subnets, but that won't work for everyone.
Probably the best solution is to add another aws_security_group_rule to the consul-security-group-rules module that sets the self param to true for the gossip port. A PR for that would be very welcome :)

I'm happy to assemble a PR :-)
Can you advise on which ports + protocols are used for inter-server gossip, which are used by client agents/other clients, and which are used for both? I'm not super familiar with Consul internals, and there are a lot of different ports/protocols configured.
As an aside, I'm having difficulty using the security groups feature in practice because of a "value of 'count' cannot be computed" error on the security group ID list (I think https://github.com/hashicorp/terraform/issues/10857 / https://github.com/hashicorp/terraform/issues/12570 is to blame).
Since security group IDs seem very likely to be resolved from another resource, having them passed as a list and subject to the count issue is unfortunate.
Would it make sense to expose a dedicated module for adding a single security group as an allowed client? That would avoid the count problem and allow adding a dynamic security group.

I'm happy to assemble a PR :-)

Wonderful, thanks!

Can you advise on which ports + protocols are used for inter-server gossip, which are used by client agents/other clients, and which are used for both? I'm not super familiar with Consul internals, and there are a lot of different ports/protocols configured.

I'm not 100% sure, but based on the architecture diagram, almost all the ports may be used, except perhaps the HTTP and DNS ones, depending on the use case. That said, it seems reasonably safe to allow the cluster to talk to itself across all ports, so adding a self = true security_group_rule for each port should be fine.

As an aside, I'm having difficulty using the security groups feature in practice because of a "value of 'count' cannot be computed" error on the security group ID list (I think hashicorp/terraform#10857 / hashicorp/terraform#12570 is to blame).

Yup, this is a known and unfortunate limitation of Terraform. count can be computed from static values, variables, and data sources, but not the outputs of other resources.
Until it's fixed, the most common scenario is to pass in a num_xxx param (e.g., num_security_group_ids) and use that in the count parameter. This means the code isn't DRY and is quite error prone, but there aren't too many better options right now.
I'm not sure this is a concern for this particular bug though?

Would it make sense to expose a dedicated module for adding a single security group as an allowed client? That would avoid the count problem and allow adding a dynamic security group.

Not sure I follow. Could you give an example?


Expose SchemaStore as a referencing.Registry.

This makes e.g.:
    import jsonschema
    import schemastore
    jsonschema.validate(
        instance={},
        schema={
            "$ref": "https://json.schemastore.org/github-action.json",
        },
        registry=schemastore.registry(),
    )

work with no additional twiddling.
@ssbarnea I mentioned briefly wanting to do something with this package ages ago but completely got tied up with other things. How involved do you want to be?
I think you added me to this repo, are you OK with me simply refactoring things even beyond this PR, or do you want to look at them? Are you willing to add me to PyPI as well? And/or are you OK with moving this to the python-jsonschema org?

Going to assume you're good with anything here! Will be making a few more changes, and doing the transfer -- if you have any ideas/preferences always feel free to mention!


Cannot find FFI library

Having troubles running the generator (or requiring the gem):
$ bundle exec rails generate planetscale:install --organization $ORG_NAME
/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open library '/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/proxy/planetscale-darwin.so': dlopen(/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/proxy/planetscale-darwin.so, 5): image not found (LoadError)
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:99:in `map'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:99:in `ffi_lib'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:30:in `<class:Proxy>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:14:in `<module:PlanetScale>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:6:in `<main>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:66:in `block (2 levels) in require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:61:in `each'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:61:in `block in require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:50:in `each'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:50:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler.rb:173:in `require'
        from /Users/adc/Developer/ayrton/careerwatchlist/config/application.rb:26:in `<top (required)>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `preload'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:157:in `serve'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:145:in `block in run'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `loop'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `run'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application/boot.rb:19:in `<top (required)>'
        from <internal:/Users/adc/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/Users/adc/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from -e:1:in `<main>'

Some debug info:
$ pscale --version
pscale version 0.38.0 (build date: 2021-05-20T17:55:50Z commit: 1bd7252)

$ bundle list | grep  planetscale
  * planetscale (0.1.0)

$ bundle list |grep  ffi
  * ffi (1.15.1)

Here's a tree of a bundle open:
../
planetscale-0.1.0/
| bin/
| lib/
| | generators/
| | planetscale/
| | planetscale.rb
| vendor/
| | github.com/
| | go.uber.org/
| | golang.org/
| | google.golang.org/
| | modules.txt
| Gemfile
| LICENSE
| README.md
| Rakefile
| controller.go
| go.mod
| go.sum
| planetscale.gemspec
| proxy.go
| tags

Is it possible bin/setup isn't called before the gem was published? Looks like this changed as of https://github.com/planetscale/planetscale-ruby/commit/d908cf6c844dc003f9933ff91784169948718276

Hey @ayrton!
Pardon the late reply, I'll take a look at this today. It does seem possible that there was a mistake when publishing the Gem, as it looks like the shared libraries are missing from the looks of that bundle open.
Are you installing the version from rubygems, or the version from GitHub packages (https://github.com/planetscale/planetscale-ruby/packages/775007)?

Are you installing the version from rubygems, or the version from GitHub packages (https://github.com/planetscale/planetscale-ruby/packages/775007)?

Installed from rubygems via a bundle add planetscale

Thanks @ayrton, I can definitely confirm that the rubygems version doesn't contain the compiled shared libraries. I'm not sure how that happened, but we'll get that updated (cc @mscoutermarsh).
For now, if you install the Gem from GitHub Packages, it should contain everything that's needed. I will follow up here as soon as we get it fixed on rubygems as well.

Seems to have similar issues when installed through the GH registry:
diff --git a/Gemfile b/Gemfile
index 77a0e81..baadb91 100644
--- a/Gemfile
+++ b/Gemfile
@@ -15,7 +15,6 @@ gem 'faraday_middleware'
 gem 'mysql2', '~> 0.5'
 gem 'oj'
-gem 'planetscale', '~> 0.1.0'
 gem 'puma', '~> 5.0'
 gem 'rack-timeout'
 gem 'rails', github: 'rails/rails', branch: '6-1-stable'
@@ -30,6 +29,10 @@ gem 'stripe_event', '~> 2.3'
 gem 'turbo-rails', '~> 0.5'
 gem 'webpacker', '6.0.0.beta.7'

+source 'https://rubygems.pkg.github.com/planetscale' do
+  gem 'planetscale', '~> 0.1.0'
+end
+
 group :development, :test do
   gem 'byebug'
   gem 'rubocop', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 91621f8..73145ec 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -181,8 +181,6 @@ GEM
     parallel (1.20.1)
     parser (<IP_ADDRESS>)
       ast (~> 2.4.1)
-    planetscale (0.1.0)
-      ffi (~> 1)
     public_suffix (4.0.6)
     puma (5.3.2)
       nio4r (~> 2.0)
@@ -305,6 +303,12 @@ GEM
       nokogiri (~> 1.8)
     zeitwerk (2.4.2)

+GEM
+  remote: https://rubygems.pkg.github.com/planetscale/
+  specs:
+    planetscale (0.1.0)
+      ffi (~> 1)
+
 PLATFORMS
   ruby

@@ -324,7 +328,7 @@ DEPENDENCIES
   minitest-spec-rails
   mysql2 (~> 0.5)
   oj
-  planetscale (~> 0.1.0)
+  planetscale (~> 0.1.0)!
   puma (~> 5.0)
   rack-timeout
   rails!

$ rails c
/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open library '/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/proxy/planetscale-darwin.so': dlopen(/Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/proxy/planetscale-darwin.so, 5): image not found (LoadError)
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:99:in `map'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.1/lib/ffi/library.rb:99:in `ffi_lib'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:30:in `<class:Proxy>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:14:in `<module:PlanetScale>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.1.0/lib/planetscale.rb:6:in `<main>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:66:in `block (2 levels) in require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:61:in `each'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:61:in `block in require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:50:in `each'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler/runtime.rb:50:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/lib/bundler.rb:173:in `require'
        from /Users/adc/Developer/ayrton/careerwatchlist/config/application.rb:26:in `<top (required)>'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `require'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `preload'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:157:in `serve'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:145:in `block in run'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `loop'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `run'
        from /Users/adc/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/spring-2.1.1/lib/spring/application/boot.rb:19:in `<top (required)>'
        from <internal:/Users/adc/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/Users/adc/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from -e:1:in `<main>'

Hey @ayrton - I've gone ahead and bumped the version to 0.2.0 and pushed a new Gem up to Rubygems. That shows as >11 MB instead of under a megabyte, and gem unpack shows the appropriate shared libraries on my end.
Let me know if that works for you, otherwise I will be very confused!

@nickvanw working now 🎉🎉

Happy to hear it! If you come up with anything weird while you're using it, please do open up issues; the more feedback the better!

I just installed 0.2.1 on an M1 laptop and I'm seeing the same problem as before.
/Users/nettofarah/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/ffi-1.15.3/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open library '/Users/nettofarah/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.2.1/proxy/planetscale-darwin.so': dlopen(/Users/nettofarah/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.2.1/proxy/planetscale-darwin.so, 5): no suitable image found.  Did find:
        /Users/nettofarah/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.2.1/proxy/planetscale-darwin.so: mach-o, but wrong architecture
        /Users/nettofarah/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/planetscale-0.2.1/proxy/planetscale-darwin.so: mach-o, but wrong architecture (LoadError)

It seems like the gem can find the binary, but the architecture doesn't seem to match

Thank you @nettofarah, re-opening!


Export-dbauser creates many files but only the last one has everything

Export-dbauser creates multiple files, many times the same but sometimes different. The only file that includes everything, consistently, is the last file.
I had a user who existed in 2 dbs, in 3 roles, but had an extra db level perm. before i put the -excludeGoBatchSeparator in i got a file with just GO in it for every database on the system. Then, i got 1 empty file, 3 files for the first database, and 3 files with both databases.
Using 1.0.50, because i downloaded via zip and that's what was offered.
syntax: Export-dbauser -SqlInstance MyInstance -User Domain\user -ExcludeGoBatchSeparator

Fairly sure we had this reported... May not be exact.

Hey, I already digged on this and the problem is on the output file path generation.
https://github.com/sqlcollaborative/dbatools/blob/development/functions/Export-DbaUser.ps1#L177
This is being calculated for each database. If -Database is not being used or used but more than one value this will probably end in more than one output file.
In my opinion we can output just one file per instance (will include all/specified databases). We can always run multiple times, 1 per database if we want 1 file per database (the other way around would not be possible).
@potatoqualitee @wsmelton do you agree?

I would prefer we match the logic used in Export-DbaLogin to make them all consistent.

The focus on what file is created should be based on the object the command is processing, which are users and not databases. I would say if only Path is provided then you create one for each user (not database) and then if FilePath is provided it all goes into one file.
This is the logic I thought Export-DbaLogin was following but it is not applying correctly either.

PR #6350 fix this one. Will be available on next release.
If you find something wrong let us know.


Draft: Add explanation for setLabel attribute in pluggable widgets API (10.5)

IMPORTANT: This PR is currently in the process of internal review by WTF team.
The PR includes:
New Feature: WTF-1671

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Ali Haydar Sümer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@alihcsumer looks good, I'll make sure it has a RN in 10.5 and merge when that release occurs.


any other CDNs available? Seeing a bunch of odd errors with the module version right now

ninja keys uses lit-html and lit-reactive. this has been working for a while and all our users started seeing module errors today.

I ultimately found the unpkg CDN so unreliable that now I install ninja-keys with npm and bundle it using esbuild. You can see an example here in case it helps:

https://github.com/jonsterling/forest/blob/main/package.json
https://github.com/jonsterling/forest/blob/main/javascript/forester.js
https://github.com/jonsterling/forest/blob/main/bundle-js.sh


During refine selection workflow, if the original selection is removed, the notification list gets removed

During refine selection workflow, if the original selection is removed but still have selection from the Refine workflow process, msg "there is no selections to refine, Go to My lists to create list of features" shows up
Repro Steps:

Create a list by searching an address without any buffer.
Go to the Refine tab and add few features and remove the searched feature, in this state you will not have the original selection but you still have features added through refine workflow.
Notice the message that there is no selection to refine.
in this state user should still have the notification list and the newly added features to work with
Test App: https://sg-em-qaext.mapsqa.arcgis.com/apps/instant/notification/index.html?appid=3b3e80d082c04bf18489bbd848ff699c

The refine selections are maintained much like the other selection sets. We previously showed the refine set in the selection set list and download lists. However, we decided to go away from that (would have to look back to notes to try and recall all the details...could do so if necessary). So in a few places we just basically ignore the refine selection set in regards to its display.
We could easily remove the code that ignores the refine set in the refine page and when you get to the state as outlined above we would still be able to interactively add/remove.
A couple of things will need to think through. What if anything shows in the main list and download pages? Should a user be able to "Refine" at any point regardless of having any standard selection sets? If they have no standard selection set as is the case above and they add a feature to refine and then remove that feature so the refine set is empty should they be allowed to continue refining?
Should we consider not removing a standard selection set if all of its features have been removed from refine? In this case just show the list with 0 features. Right now if you create a selection set...then remove some features with refine...then reopen the selection set to edit (when it re-opens the same geometry that was originally used to create the selection set is used to re-apply the same original selection...this is not saved unless you click Done again...I thought this would be helpful if you got to some weird place with refine and actually just wanted to go back to the original selection but not sure how apparent that is)
We can talk more...just wanted to jot down a few notes while it was on my mind.

This should be handled when we fix #171

Completed


Is there a way to map current session userid with websocketid

Sorry i am new to this, and bit confused is there a way i can map the current php session id with websocketid ? please help me out here

I'm not quite sure what you're asking. WebSocket's don't have an id and each connection is transient. If you configure your sessions accordingly (see the documentation on Sessions) your WebSocket connection will pass your domain cookies which can be used to fetch the user's session data.


Use DateTime scalars for createdAt updatedAt fields

The current way we have implemented this is very hacky. Once Graphback supported date/time scalars have been added, the hack is to be removed from code and refactoring needed to be done.
Blocked by #1095

With https://github.com/aerogear/graphback/pull/1749, we added support for DateTime scalars i.e GraphbackDateTime.


Sanitation of dimensions for select of a HoloMap not correct yet

The select does nothing.
test = lambda x: hv.Curve(np.random.rand(x), kdims=['Superconducting gap'])
hv.HoloMap({1: test(10), 2: test(10)}, kdims=['x']).select(Superconducting_gap=(0.1, 0.2))

This also true for Path and Contour, haven't tried others.

I've got a commit to fix this outstanding. Will push it tonight.

Should be fixed by 00b5a665a. Had to fix your example since it doesn't actually match any points in the Curve, using .select(Superconducting_gap=(0, 3)) does it. It does reveal a separate issue though, since the upper bound isn't inclusive but the extents are this happens:

Can this issue be closed? It sounds like it, even if a new issue regarding the bounds needs to be opened.

The problem I had is solved at least.

I've opened another issue for the problems with setting extents when slicing Elements. So I'll close this one now.


Fixed Footer Alignment

Signed-off-by: chinmaym07<EMAIL_ADDRESS>Description
This PR fixes #42
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Good, good.

Chrome (windows):

There is a second vertical scroll bar coming up, can you kindly check that.

Try adding
overflow: hidden;

to the body of the container of the footer.


"Băbana" is listed in the drop-down menu

Description:
"Băbana" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Băbana" in the search bar.

Expected results
The location is listed in the drop-down menu as "Băbana, Argeș (Băbana)".


integrations-onchain-identity

Onchain Identity

First Place: $7,500 in SOV
Runner up: $5,000 in SOV
Both winners eligible for post-hackathon grants for continuing to develop the project for deployment.

Challenge Description
Bitocracy allows stakers to delegate their voting power to someone else. In the future delegates should be rewarded for their service, which should incentivize engaged community members to offer themselves as delegates to the public. For this purpose it would be great to have a (pseudonymous) identity linked to an address, so it can be shown and verified on the bitocracy interface.
Submission Requirements

Participants need to be at least 18 years old by June 4th, 2021.
Participants from everywhere can participate in this online event
You need to register online as a team or as an individual.
You can submit individually, or as a team. Teams should include no more than ten people.
All of your team participants will need to register here
Partners and their affiliates are not eligible for participation in Sovrython.

What makes a submission complete?

A presentation (PDF,  Slidedeck etc) describing the project
Link to a public Github repository containing the code, team members, presentations, demo and documentation
Link to a video demo (YouTube only) is advisable, but not strictly required
The submission must be released under a GPLv3 compatible license
Projects cannot be edited after submission.

Judging Criteria
Submissions will be judged by a panel of experts based on their technical merits as well as the likelihood of implementation in a manner adding to the functionality of the Sovryn Protocol / Platform.
Winner Announcement Date
Sunday, July 18th
Useful Links:
Sovryn Code Repo

Hi I have done my researches about this bounty but somehow I thought the deadline is 18 july but now I see it's in 2 days. Can I still work on it if no submission becomes on this project? I think there is no way that I can complete my submission in 2 days but I think I can create a prototype in 4 days.

Submit in whatever state you are in by the deadline, Ajand, and if not finished, submit a roadmap.


Different default rotation for horizontal and vertical plane

While doing some tests for another issue just reported, I saw this effect:
the rotation of the nodes is different when dropped on a horizontal plane or a vertical plane. Is there something basic wrong with the code, or is it just necessary to always initialize the rotation of objects? Any ideas?
Please let's assume for a moment that everything is fine with ARCore.

I realized that this was already discussed at #65, which is closed but the issue still exists.
While there seems to be a reason for the rotation (which explanation I didn't understand), but to me it looks pretty much arbitrary. Everytime I attach mit objects to the plane, they are rotated differently, even when standing in the exact same location.
The mentioned workaround in the ticket mentioned above worked for me.

Looks like you've already found the info you need for this one, but to add a little bit more info:
We use ArCore's rules for hit testing which are described here: https://developers.google.com/ar/reference/java/com/google/ar/core/HitResult#getHitPose()  Anchors are typically created from these results.
The rules for hit result is the same for vertical and horizontal planes.  When placing a poster or image you actually will want a different orientation than this default one however.


feat: Support bytestream in Unstructured API

Related Issues

fixes #1075

Proposed Changes:

Unstructured API can also be called with Bytestream now in addition of Path.
How did you test it?

Added extra unit tests
Notes for the reviewer

Checklist

I have read the contributors guidelines and the code of conduct
I have updated the related issue with new insights and changes
I added unit tests and updated the docstrings
I've used one of the conventional commit types for my PR title: fix:, feat:, build:, chore:, ci:, docs:, style:, refactor:, perf:, test:.

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

@alperkaya can you please sign the CLA? Otherwise we can't merge this. :)

@alperkaya can you please sign the CLA? Otherwise we can't merge this. :)

done ;)

Hi @silvanocerza,
I try to address your comment by checking the existing converters.
This version covers these cases without losing meta fields.
Case 1: Files with Meta as None
Case 2: ByteStreams with Meta as None
Case 3: Files with Meta as a Dictionary
Case 4: ByteStreams with Meta as a Dictionary
Case 5: Files with Meta as a List
Case 6: ByteStreams with Meta as a List
Case 7: Directory with Meta as a Dictionary
Case 8: Directory with Meta as a List (Should Fail)
Case 9: Combination of File Paths, ByteStreams, and Directory with Meta as a Dictionary

This is still not working as expected, I strongly suggest you copy the implementation from core.

This is still not working as expected, I strongly suggest you copy the implementation from core.

Hi, in the core repo, the solution handles either file paths or bytestreams. However, in this PR, I’m managing not just file paths and bytestreams, but also directories, where I need to fetch all files without entering subfolders. Given these additional requirements, could we explore how to modify the core solution to meet this use case, or would an alternative approach be better suited here?


Save rollup-plugin-commonjs in package.json

This is solved by specifying the following in package.json as a dependency, then running npm install:
    "rollup-plugin-commonjs": "^ 10.0.1",

Originally posted by @seeARMS in https://github.com/jofftiquez/vue-stripe-checkout/issues/66#issuecomment-525568618

Ref: https://github.com/egoist/bili/issues/221

https://github.com/jofftiquez/vue-stripe-checkout/pull/70

After testing out some few "fixes" related to this issue, I decided to remove bili and use rollup again. Try 3.0.0-beta.7


I sent my HBAR off of binance.us to a testnet wallet. Need help

I sent HBAR to a test net wallet and was directed to here. I know nothing about coding, and the migration article https://hedera.com/blog/migrating-tokens-on-hts-from-testnet-to-mainnet is no help at all.
Thank you

I'm not sure what to say here. What is the issue?

There is nothing we can help you with here unless you own the ID on the main network where the tokens ended up. It's not possible to send tokens to a testnet wallet. If you sent the tokens to a wallet that you own that is testnet, the same ID on mainnet now has the tokens.


Specs: JUnit formatter

This PR adds the option to enable JUnit xml output to a file while running specs. This allows more detailed reporting of tests and API access to results in CircleCI. See:
https://circleci.com/blog/announcing-detailed-test-failure-reporting/
https://circleci.com/docs/test-metadata/
Usage:
# circle.yml
test:
  override:
    - mkdir "$CIRCLE_TEST_REPORTS/crystal"
    - crystal spec --junit_output "$CIRCLE_TEST_REPORTS/crystal/junit.xml"

This will displayed as:

Also, this could be useful to integrate with other CI services in the future, since this format seems to be a de facto standard for reporting test results.

Could this be done as --formatter junit instead of a custom parameter? I think we will see more requests for other formatters that will add too many configuration flags.
As for the XML escape/substitution, perhaps the HTML ones can be reused instead?
https://github.com/crystal-lang/crystal/blob/master/src/html.cr

--formatter junit looks great. One thing though: this formatter takes an output_directory as paremeter.
We could add a second --output/-o option, but (for now) it would only make sense when this formatter is used.
Future formatters might also take custom parameters too. I'm not sure what is the most extensible and consistent way of handling this.

Regarding XML escaping: I'm not an expert on this but most of the substitutions used for HTML.escape don't seem to be necessary when escaping XML.
I don't think it's harmless to perform those extra substitutions... how would the program/person reading the escaped text know we made those transformations?
Am I missing something?

More important: I don't think it's harmless to perform those extra substitutions

You're correct, for a moment I thought that the substitution list looked lot like HTML one, but seems is very specific to HTML than the XML counterpart. My apologies.
As for the formatter, perhaps an standard can be defined? say the formatter requires a parameter/directory, so:
$ crystal spec --formatter junit=path/ --formatter other

And path/ is extracted and used when initializing the formatter. But of course that depends on how many formatters with these options will be required (YAGNI).
Cheers.

I think the current option is fine, especially since it's something that should happen additionally, not replacing the current formatter. We can look into cleaning up the options once we do have some formatters and a better overall picture on their needs.
Could you please rebase?

@jhass I agree. I wanted to think of a better way to integrate this, like using --formatter, but we can merge this now and later improve it.

Rebased :)

Cool, could you squash (git rebase -i master) the last two commits into 6cdf65592fd9bd1b3eec0e3471f13e31ccd6f49e?

Done!

Unfortunately not, make sure to pass -i to git rebase, then move the two lines for the last two commits below the one for (now) 2d5c10e241533547f5102a197bdefb15042d4724, then change for the two ones pick to fix or squash.

Sorry, I thought you just wanted me to update instead of cleaning up the history :)
It should be done now.

Uh, I liked the separate commits for the separate stuff, I just wanted the last two go into the one introducing what they're fixing :(

Perfect, thank you!

I almost sure I got it right this time :-P


Added dot after days and [kl.] on time formats for "nn" locale

@mechuwind Date and time format more in line with official guide lines http://www.sprakradet.no/sprakhjelp/Skriveregler/Dato/

@mechuwind what do you think.

Merged in 1d7599f81a51bac4d936b2186e954dfa0139ec2e


Add EtcdStore as Storage backend

Support remote key-value stores, prioritizing etcd.

+1, distributed configuration is a must-have for our deployments.


Exclude Rails 4 tests on truffleruby-head

truffleruby-head targets Ruby 2.7 now, and Rails 4 is also excluded on CRuby 2.7.

@coorasse Could you merge this trivial PR? :)

Thank you Benoit!


Extract connection-info from server's stdout - not ready for merge

This doesn't work with show_gui, I also need to test in linux.

Closing till we plan further on this


Feature/postgresql

Description
Adds support for migrating PostgreSQL databases.
Type of change
Please delete options that are not relevant.

[ ] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Nice you did ton of the work, im gonna do in the next few days a few more commits on Appveyor support for the build server and i think it could get merge.


Combination of Integers and strings

"all Integers with single string " - string is taken as NA
"all Integers with more than one string " - throwing mean not in index error.
"single Integer with single string " - throwing mean not in index error.
"all strings with single integer " - throwing mean not in index error.
"two strings with single integer" - displaying

Mean not in index was just fixed with the most recent release https://github.com/paddymul/buckaroo/issues/52.
Try upgrading with pip install -U buckaroo, restart jupyter lab
All integers with single string... Buckaroo autoClean is converting the column to integers, discarding values that aren't integers.
This behavior though confusing is as designed.  There are other issues detailing each bug here.  I will add another issue about another approach to autocleaning afforadnaces to make the autocleaning functionality more clear.


Do not add an empty line at EOF if the PHP tags have been closed

When a PHP file has content at the end of the file outside of PHP tag (?>) do not add a single line break.

:+1:

What do we do if files contain other whitespace like spaces before the end. Do we need tests for those cases too?

What do we do if files contain other whitespace like spaces before the end. Do we need tests for those cases too?

Maybe; do you have example code in mind that needs to be added to the test? I'm happy to ad it.
(PS. the code on master has been diverted in a way that this PR might not be merged upstream, I can work on a similar for master as well if this one is OK'ed)

Updated, I hope I got all the feedback right :)
(will rebase & squash and come up with a fix for master if needed as this is PR is OK'ed so I won't loose the feedback from people till then)

will rebase & squash

you don't need to ;)

:+1:

ready to be squashed?

Yes, there is one cool commit by @1emming ;)

oh lol, that the result from doing open source stuff during office hours :P

@GrahamCampbell could you review this (https://github.com/SpacePossum/PHP-CS-Fixer/commit/78f7c1cc41befa098ce9e4b683ba862dbd30f742) to see if this fixes the issue with Windows/Mac EOL you reported?

BTW, is this PR now fixes #1092 as well ?

Yes, I hope so :)
Waiting for @GrahamCambell 's opinion.

ping @GrahamCampbell
do you see any problems here ?

Looks good to me. :)

Thank you @SpacePossum.

Thanks reviewers @GrahamCampbell @keradus @gharlan @stof @tiemevanveen  :+1:


[release-1.12] Fix issue where gRPC app channel cannot recover from no connection.

Description
I modified the MethodInvokeIT in Java SDK to use a slow gRPC app startup combined with App Health Check and it failed consistently after runtime commit 0fdab70eb32a63dd2630c39c4b1bc623212cd099. This change allows the gRPC app
channel to recover. The modified integration test mentioned here shows that the channel never recovers from a bad connection without this change, even with a parallel app probe coming from the test code to succeed calling the app's health endpoint.
Related to https://github.com/dapr/java-sdk/pull/917
This issue is in 1.12 only and does not reproduce in 1.11. I used the modified version of MethodInvokeIT for grpc in the Java SDK PR above.
Issue reference

Please reference the issue this PR will close: endgame
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@artursouza it looks like unit tests are failing consistently

OK. I will look into it tomorrow.

/ok-to-test


No videos (no errors in console)

Hello,
Here's what I've done so far:
Cloned and ran npm install. After a while, no errors we reported and it successfully completed.
node server.js /mnt/TeslaCam (a mount point local on the pi)
I've also tried this on my Windows machine and pointed the path to:
node server.js C:\Tools\Videos\TeslaCam\ (along with a few other various folder locations with the proper directory structure underneath)
In both cases I can successfully view the main page and select the folders but no videos get loaded or displayed. Selecting the days the events occurred shows 0 days found. No errors reported in console.

I feel I am missing something here. Any help is greatly appreciated!

Does the console backend show anything in that log (as it would be doing the most for the path).  What does the structure under that folder look like?

No errors there as well.

Using git bisect I was able to pinpoint that it's the latest commit that causes it to stop working for me. The previous commits work just fine for me.
Commit in question:
https://github.com/BobStrogg/teslacam-browser/commit/9ed15107e4e5afc9a4ce052d4b6e96cbd5df6e68

Specifically, removing the quotes brings back the videos and allows me to select the date but console reports the regex group is invalid:
https://github.com/BobStrogg/teslacam-browser/commit/9ed15107e4e5afc9a4ce052d4b6e96cbd5df6e68#diff-9539354d35e1c6c1fa65496aaba008ccR8-R9

I have this exact problem with same reproduction steps

deleting empty folders allowed videos to display again for me

is this fixed yet?

is this fixed yet?

Not for me. Haven't had time to tinker with it though.
What's weird to me is that the regex for the folder structure seems to work fine, but it finds zero actual video files in any folder.
The regex is basically the same, except for the camera.

Is it true older version works?

Haven't tried that. I just recently started using this and landed on the current version.

As @SimplyMinimal suggested I tried removing single quotes that fixed the issue. It seems like a coding issue as Regular Expressions in JS is a special type and won't require a string notation.

It's seems this problem is still up to date.
Videos are still empty. Fresh install done today.

Hello
It's seems this problem is still up to date.
Videos are still empty. Fresh install done today.

The regex issue should be fixed in latest source. It should also show the rear camera view.

Note the HEVC / H265 issue still exists.  Chrome (which Electron uses internally) doesn't support HEVC / H265 -encoded video because Google.  Clicking the "Browse" button will open the UI in your default browser, but if that doesn't work you'll need to copy the URL into Safari or an older version of Edge (the latest Edge versions are based on Chromium... which doesn't support HEVC / H265...)

So I cloned the latest version.
Tried again without tinkering.
Get the regex error immediately.

Then I add the quotes to the clipRegex and folderRegex in the helper.js file and it seems to run.

From there I open up Safari (not Chrome) and browse to the IP and port.
Once I browse to the page, Terminal adds an error to the running process and quits.

teslacam-browser is running on Ubuntu 18.04.4 LTS.
I'm accessing it via Terminal/ssh on macOS 10.14.6 and using Safari here to access the teslacam-browser webpage.
So I went from seeing the browser in Safari without video's to not being able to run in anymore.
I checked out the error and found that changing
var mime=require('mime');
to
var mime=require('mime-types');
in
node_modules/send/index.js
fixes this.
Not sure why I would be the only one with this issue/error though.
So the browser works now, but showing 0 video's.


docs: Make plots look normal in docs/widgets section.

This PR aims to better fit sample data for plot widgets in order to get natural-looking plot shapes.
https://user-images.githubusercontent.com/64769322/159261642-ea2dfb86-edca-497c-97c0-fc10233243e9.mov
Needs discussion
As part of this PR, I also found a few subtle bugs that are already fixed in the most recent g2 version. Here are the most notable ones (left - current, right - upgrade):
Seems like angling is no longer supported.

Polar coordinate plots do not render text ellipsis, but correct axis values instead.

Smooth path curves have changed a bit, but nothing serious.

https://github.com/h2oai/wave/discussions/1041 - This might be a problem as well although I suspect that an incorrect plot type was chosen for the underlying data rather than a bug.
@lo5 lmk if we are good with upgrading.

Okay, will make the update in another PR so that we can easily revert in case of trouble.


--limits unlimited is limiting at least the contractDataKeySizeBytes limit

What version are you using?
docker run --rm -i \
    -p "8000:8000" \
    --name stellar \
    stellar/quickstart:latest \
    --local \
    --limits unlimited \
    --enable-soroban-rpc \
    --enable-soroban-diagnostic-events

As of the time of this ticket open.
What did you do?
// the limit is 300 but a key includes more than _just_ the data. 248 works, 249 fails.
env.storage().persistent().set(&Bytes::from_array(&env, &[0u8; 249]), &true);

What did you expect to see?
When invoking the function which calls the above on the unlimited local network I would expect the function to pass.
What did you see instead?
I get an error during submission
{
  errorResultXdr: "AAAAAP/////////vAAAAAA==",
  status: "ERROR",
  hash: "a063178e27b6e812d6c2bf9e8cd41723373bf7448c189d274a4aa0aad5e9f10c",
  latestLedger: 1446,
  latestLedgerCloseTime: "1709310433",
}

Other tx limits besides CPU and memory can be exceeded, such as the number of reads and writes as well as the number of bytes which can be read or written. At least this contractDataKeySizeBytes however seems to not be able to be exceeded.
This is important to resolve in order to allow folks to test extreme cases past live network phased limits in order for devs to get a full picture of all their contract invocation costs. Especially given the AAAAAP/////////vAAAAAA== gives zero clues as to the nature of the exceeded limit.

Looking at https://stellar.expert/explorer/public/protocol-history for Soroban runtime configs we need to “unlimitize” all these values.
{
    "contractDataEntrySizeBytes": 65536,
    "contractCompute": {
        "txMaxInstructions": "100000000",
        "txMemoryLimit": 41943040
    },
    "contractMaxSizeBytes": 65536,
    "contractLedgerCost": {
        "txMaxReadLedgerEntries": 40,
        "txMaxReadBytes": 133120,
        "txMaxWriteLedgerEntries": 25,
        "txMaxWriteBytes": 66560
    },
    "contractEvents": {
        "txMaxContractEventsSizeBytes": 8198
    },
    "contractDataKeySizeBytes": 200,
    "contractBandwidth": {
        "txMaxSizeBytes": 71680
    }
}

Solved via https://github.com/stellar/quickstart/pull/579


Support SCSS map

Input:
$breakpoints:(small: 767px,medium: 992px,large: 1200px);

Expanded  output:
$breakpoints: (
  small: 767px,
  medium: 992px,
  large: 1200px
);

Nesting:
$map: (
    key1: value1,
    key2: (
        key-1: value-1,
        key-2: value-2,
    ),
    key3: value3
);

@include:
@include map(
  $dribble: #ea4c89,
  $facebook: #3b5998,
  $github: #171515,
  $google: #db4437,
  $twitter: #55acee
);

Any progress on this? Would love SCSS map support, so they don't end up all on one line.

@rwwagner90 Would you like to send a pull request for this? I can provide support via https://gitter.im if you have any questions. 😄

@ben-eb I don't have any idea where I would even start, unfortunately 😞 .

OK, no problem. My offer's still open. 😄


Beautify RiotJS Tags

RiotJS's .tag worked well until this update. It looks like this (both on prettydiff and in Atom):
<card-list>

<li <a class{disabled: page<2}> href="#!"> chevron_left

1

2

3

4

5

  chevron_right

</card-list>

This might be a prettydiff issue. Will post there.

https://gist.github.com/anonymous/f6c56177ee3e2775453a35d2304d0b46 is the debug log, I fixed some HTML issues to.

The problem is the < in the page<2 portion.  I need to add this to my unit tests.  This is likely a regression defect from enhanced support to JSP tags.

I am looking at the code sample provided in the debug.md.  I added { and } as attribute delimiters, but the result still doesn't look right.  I see a closing  tag, but I don't see its start tag.  Would you mind taking a look?  I put up the latest change at the following address
http://prettydiff.com/ignore/testlocation/?m=beautify

@prettydiff I had the opening tag, but when I "beautified" it the tags got messed up. I must've forgotten to put it back.

That site, @prettydiff, didn't have an option for Riot tags and presumed it to be XML.

Yeah, don't worry about that.  Pretty Diff only has three parsers and only differentiates just enough to pick the right parser.  All other language options are just there in the case of syntax conflicts (if any).  In this case RiotJS only appears to conflict with JSX format, but I can distinguish between these two languages without additional configuration.

I can see this issue is still open.  @20zinnm could you provide a code sample that isn't corrupted by Pretty Diff so that I can see what Pretty Diff is doing to the original code?


Collect and describe user stories and cases

First story collection
done on Nov 08 by @zorp and @janhalen

[ ] As a municipal user of a os2product i want to be able to use my municipal account to sign in (e.g<EMAIL_ADDRESS>, to be able to collaborate with other OS2 members via chat, videomeetings and documentsharing.

[ ]  As a member of a working group, I want to be able to create and edit documents in my products specific folder in Nextcloud so that I can collaborate with the other members.

[ ] As a Product Coordinator i want to be the only one able to delete irrelevant documents in my products specific folder, to avoid dataloss.

[ ] As a central secretariat operator, I need to be able to add and remove members from the Productcoordinators (PC) role to be able to delegate control to the PC.

As a member of a working group, I want to be able to create and edit documents in my products specific folder in Nextcloud so that I can collaborate with the other memebers.
As a Product Coordinater i want to be the only one able to delete irrelevant documents in my products specific folder, to avoid dataloss.
As a central secretariat operator, I need to be able to add and remove memebers from the Productcoordinater role, to enable?

TODO:
Audit
Automation

As a municipal user of a os2product i want to be able to use my municipal account to sign in, to be able to work.
As a regional user....
As a government agency user...

Second User Story Collection
Styring af adgang til kanaler
Gruppe af brugere:

Produktkoordinatorer
Medlem af centralt sekretariat
Koordinationsgruppemedlem
Produktanvender
Bidragsyder - contributor
Leverandør

Som Leverandør af et OS2produkt vil jeg...

@zorp : Could you prioritize and sum op the most important user stories to deliver in the "Production Ready" milestone


BUG: Navbar has dark background when on light mode

Description
The background color of the navbar should be (bg-ash) when the site is in light mode
Screenshots
No response

This was added on purpose. if there is say, some UX issue then we can see reason to change it.

oh, cool


Update Node engine to 14

Checklist

[x] Tick to sign-off your agreement to the Developer Certificate of Origin (DCO) 1.1
[x] Added tests for code changes or test/build only changes - no test needed
[x] Updated the change log file (CHANGES.md|CHANGELOG.md) or test/build only changes
[x] Completed the PR template below:

Description

Fixes #471
Update minimum node engine requirement from 12 to 14 and Node.js versions in test matrix.
Approach
Update engine requirement to "node": ">=14"
Made the changes based on the previous node engine update: https://github.com/cloudant/couchbackup/pull/364

Schema & API Changes
No change

Security and Privacy
No change

Testing
Test with Node.js supported LTS versions 14 and 16 and current version 18.

Monitoring and Logging
No change

There is a travis config file in this repo, but my commit has not started Travis. This state a little concerns me. Shall the travis config be removed?
Found cloudant/couchbackup project in Travis, but what I see, it was executed last time 5 years ago.

We've turned off Travis so we can remove the yml config file.  This can be done in a separate PR.  If you want to do it in this PR just keep the commit separate when merging.

Thank you for reviewing! I am about to merge this.
I will create a new PR for removing Travis config and we can continue the discussion there.


Add note that apps must be registered in a directory to identity platform updates reference

Note: update in progress, should be done by EOD today

@rwike77

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Update: I will instead have this content ready for review by ~EOD tomorrow (5/15), not today (5/14)

@aricrowe57  Thanks for the update.  Your text looks incomplete, though.  Thanks.
This could be an existing organization that
Benefits
If you don't

#sign-off

@rwike77 , sorry, the content is complete now.  Would really appreciate if you're able to review and merge this.  Thank you!

@aricrowe57  Thanks, looks good.  #sign-off


Save preset products

Being able to save presets and load them leads to less work for the user.

Introduced bug.
Adding a timer sends it instantly to zero seconds.


Proposal: Actions workflow for docs branches

Changes:
I think that it might be useful to have a workflow for testing changes to the docs to make sure everything looks good. This would also mean that we should start using docs/ instead of feature/ for docs branches, which I think is reasonable.
Currently, this just uploads an artifact, but we could look into options for hosting these test builds.
Reviewers:
@XaverianTeamRobotics/senior-programmers

Whoops, I should rename this branch to docs/ so that it actually runs the workflow.


Visualise masks only ignoring other files

This is just a small fix to filter out SimpleITK images which aren't masks before visualisation (I store other probability maps etc alongside mask files which can cause issues otherwise).

looks good!


test: remove irrelevant test

Since the migration on lifecycle events, the websockets are no longer
taken into account to detect navigation success with networkidle events.

@JoelEinbinder: this is because websockets are no longer accounted for in networkidle events.


type.getFields strikes again

I know there have been several issues on this in the past (I've been through this before!) and all had been fixed. But it appears that Graphql 0.13 may break this again
I'm on version 1.4.1 of gql2ts and all was working. But upon upgrading relay-compiler to version 1.5 everything started breaking. On further inspection, relay-compiler 1.4.0requires graphql^0.11.3and version1.5ups that to version^0.13.0`.
If I downgrade relay to 1.4, all works again.

makes sense, i'll loosen the version restriction in gql2ts

Thanks for the quick reply!

@voxmatt can you try installing 1.5.0-alpha.90415fad and see if that works?

Just tried, still getting:
/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118
        if (isInputField(field) || !field.args.length) {
                                               ^

TypeError: Cannot read property 'length' of undefined
    at generateArgumentsDeclaration (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118:48)

@voxmatt ahh that's a bug in master that i'm fixing right now. let me cherry-pick that into an earlier version and publish.

@voxmatt ok, can you try 1.5.0-alpha.51c55d43, which is v1.4.3 + https://github.com/avantcredit/gql2ts/pull/152

Sorry @brettjurgens, still errors:
$ GRAPHQL_NO_NAME_WARNING=true gql2ts -n ISchema -i Node -o src/declarations/schema.d.ts build-util/schema.json --legacy
/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118
        if (isInputField(field) || !field.args.length) {
                                               ^

TypeError: Cannot read property 'length' of undefined
    at generateArgumentsDeclaration (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118:48)
    at filteredFields.map.field (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:170:44)
    at Array.map (<anonymous>)
    at typeToInterface (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:170:31)
    at typeArr.filter.filter.map.type (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:198:10)
    at Array.map (<anonymous>)
    at typesToInterfaces (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:197:14)
    at run (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:204:12)
    at Object.exports.schemaToInterfaces (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:206:73)
    at Object.exports.generateNamespace (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:209:85)

@voxmatt can you make sure that @gql2ts/from-schema is at 1.5.0-alpha.51c55d43? that code shouldn't exist in that release (see: https://unpkg.com/<EMAIL_ADDRESS>

yep, verified. node_modules/gql2ts/package.json
{
  "_from"<EMAIL_ADDRESS>  "_id"<EMAIL_ADDRESS>  "_inBundle": false,
  "_integrity": "sha512-QVLePajCPyVEEUXy808/VD9SvjeEEnQMt6MxD9CxAtaCHsHnJwG8l8BEwd1ITD2tvQny3DIBNRq7SZFDgqU+Qw==",
  "_location": "/gql2ts",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw"<EMAIL_ADDRESS>    "name": "gql2ts",
    "escapedName": "gql2ts",
    "rawSpec": "1.5.0-alpha.51c55d43",
    "saveSpec": null,
    "fetchSpec": "1.5.0-alpha.51c55d43"
  },

Error is:
> GRAPHQL_NO_NAME_WARNING=true gql2ts -n ISchema -i Node -o src/declarations/schema.d.ts build-util/schema.json --legacy

/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118
        if (isInputField(field) || !field.args.length) {
                                               ^

TypeError: Cannot read property 'length' of undefined
    at generateArgumentsDeclaration (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:118:48)
    at filteredFields.map.field (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:170:44)
    at Array.map (<anonymous>)
    at typeToInterface (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:170:31)
    at typeArr.filter.filter.map.type (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:198:10)
    at Array.map (<anonymous>)
    at typesToInterfaces (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:197:14)
    at run (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:204:12)
    at Object.exports.schemaToInterfaces (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:206:73)
    at Object.exports.generateNamespace (/Users/mtm/clockwise/src/client-web/webapp/node_modules/@gql2ts/from-schema/dist/index.js:209:85)

@voxmatt that's for gql2ts, can you check @gql2ts/from-schema which is a dependency of gql2ts

sorry, yes, there is a mismatch.
In my package.json I have "gql2ts": "1.5.0-alpha.51c55d43",
But diving into @gql2ts/from-schema shows "version": "1.5.0-alpha.cec79414",

makes sense, can you clear that old version and install the later one?

okay, sorry about that, there was a little weirdness with yarn holding onto the old packages, but all seems to work now. Thanks!!

cool, just published 1.4.4 which is identical 51c55d43

awesome, thanks for the quick work